瀏覽代碼

tools: use nthen from npm

Lars Gierth 8 年之前
父節點
當前提交
59cdcca686

+ 1 - 1
tools/cexec

@@ -15,7 +15,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 var Cjdns = require('./lib/cjdnsadmin/cjdnsadmin');
-var nThen = require('./lib/cjdnsadmin/nthen');
+var nThen = require('nthen');
 
 var cjdns;
 nThen(function (waitFor) {

+ 1 - 1
tools/dumpLinks

@@ -15,7 +15,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 var Cjdns = require('./lib/cjdnsadmin/cjdnsadmin');
-var nThen = require('./lib/cjdnsadmin/nthen');
+var nThen = require('nthen');
 
 var getLinks = function (cjdns, callback) {
     var links = [];

+ 1 - 1
tools/dumpRumorMill

@@ -15,7 +15,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 var Cjdns = require('./lib/cjdnsadmin/cjdnsadmin');
-var nThen = require('./lib/cjdnsadmin/nthen');
+var nThen = require('nthen');
 
 var dump = function (millName) {
 

+ 1 - 1
tools/lib/cjdnsadmin/cjdnsadmin.js

@@ -17,7 +17,7 @@ var UDP = require('dgram');
 var Bencode = require('./bencode');
 var Crypto = require('crypto');
 var Fs = require('fs');
-var nThen = require('./nthen');
+var nThen = require('nthen');
 var Semaphore = require('../Semaphore.js');
 
 var TIMEOUT_MILLISECONDS = 10000;

+ 0 - 78
tools/lib/cjdnsadmin/nthen.js

@@ -1,78 +0,0 @@
-/*
- * Caleb James DeLisle
- * Sat Mar 23 01:42:29 EDT 2013
- * Public Domain
- */
-;(function() {
-var nThen = function(next) {
-    var funcs = [];
-    var timeouts = [];
-    var calls = 0;
-    var abort;
-    var waitFor = function(func) {
-        calls++;
-        return function() {
-            if (func) {
-                func.apply(null, arguments);
-            }
-            calls = (calls || 1) - 1;
-            while (!calls && funcs.length && !abort) {
-                funcs.shift()(waitFor);
-            }
-        };
-    };
-    waitFor.abort = function () {
-        timeouts.forEach(clearTimeout);
-        abort = 1;
-    };
-    var ret = {
-        nThen: function(next) {
-            if (!abort) {
-                if (!calls) {
-                    next(waitFor);
-                } else {
-                    funcs.push(next);
-                }
-            }
-            return ret;
-        },
-        orTimeout: function(func, milliseconds) {
-            if (abort) { return ret; }
-            if (!milliseconds) { throw Error("Must specify milliseconds to orTimeout()"); }
-            var cto;
-            var timeout = setTimeout(function() {
-                while (funcs.shift() !== cto) ;
-                func(waitFor);
-                calls = (calls || 1) - 1;
-                while (!calls && funcs.length) { funcs.shift()(waitFor); }
-            }, milliseconds);
-            funcs.push(cto = function() {
-                for (var i = 0; i < timeouts.length; i++) {
-                    if (timeouts[i] === timeout) {
-                        timeouts.splice(i, 1);
-                        clearTimeout(timeout);
-                        return;
-                    }
-                }
-                throw new Error('timeout not listed in array');
-            });
-            timeouts.push(timeout);
-            return ret;
-        }
-    };
-    return ret.nThen(next);
-};
-
-if (typeof(define) == 'function') {
-    // AMD (require.js etc)
-    define([], function() { return nThen; });
-} else if (typeof(window) !== 'undefined') {
-    // Browser global var nThen
-    window.nThen = nThen;
-}
-if (typeof(module) !== 'undefined' && module.exports) {
-    // Node.js
-    module.exports = nThen;
-}
-
-})();

+ 0 - 8
tools/lib/cjdnsadmin/package.json

@@ -1,8 +0,0 @@
-{
-  "name": "cjdns-ctrl",
-  "description": "Cjdns controller library, ported from python cjdnsadmin",
-  "version": "0.1.0",
-  "dependencies": {
-    "bencode": "x"
-  }
-}

+ 1 - 1
tools/pathfinderTree

@@ -15,7 +15,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 var Cjdns = require('./lib/cjdnsadmin/cjdnsadmin');
-var nThen = require('./lib/cjdnsadmin/nthen');
+var nThen = require('nthen');
 
 var getAddresses = function (cjdns, callback) {
     var addresses = [];

+ 1 - 1
tools/ping

@@ -15,7 +15,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 var Cjdns = require('./lib/cjdnsadmin/cjdnsadmin');
-var nThen = require('./lib/cjdnsadmin/nthen');
+var nThen = require('nthen');
 var Dns =  require('dns');
 
 var WAIT_TIME = 5000;

+ 1 - 1
tools/pingAll

@@ -15,7 +15,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 var Cjdns = require('./lib/cjdnsadmin/cjdnsadmin');
-var nThen = require('./lib/cjdnsadmin/nthen');
+var nThen = require('nthen');
 
 Cjdns.connectWithAdminInfo(function (cjdns) {
 

+ 1 - 1
tools/search

@@ -15,7 +15,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 var Cjdns = require('./lib/cjdnsadmin/cjdnsadmin');
-var nThen = require('./lib/cjdnsadmin/nthen');
+var nThen = require('nthen');
 var PublicToIP6 = require('./lib/publicToIp6');
 var Dns =  require('dns');
 

+ 1 - 1
tools/sessionStats

@@ -16,7 +16,7 @@
  */
 
 var Cjdns = require('./lib/cjdnsadmin/cjdnsadmin');
-var nThen = require('./lib/cjdnsadmin/nthen');
+var nThen = require('nthen');
 
 var printSession = function (session) {
     var state = session.state.replace(/CryptoAuth_/,'');

+ 1 - 1
tools/traceroute

@@ -15,7 +15,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 var Cjdns = require('./lib/cjdnsadmin/cjdnsadmin');
-var nThen = require('./lib/cjdnsadmin/nthen');
+var nThen = require('nthen');
 var PubToIp6 = require('./lib/publicToIp6');
 var Dns = require('dns');