You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by za...@apache.org on 2015/04/01 16:22:46 UTC
[19/52] [abbrv] [partial] cordova-firefoxos git commit: CB-4548
Install new node-firefox-* dependencies in node_modules
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/promisify.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/promisify.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/promisify.js
new file mode 100644
index 0000000..a550fd0
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/promisify.js
@@ -0,0 +1,278 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+module.exports = function(Promise, INTERNAL) {
+var THIS = {};
+var util = require("./util.js");
+var es5 = require("./es5.js");
+var nodebackForPromise = require("./promise_resolver.js")
+ ._nodebackForPromise;
+var withAppended = util.withAppended;
+var maybeWrapAsError = util.maybeWrapAsError;
+var canEvaluate = util.canEvaluate;
+var notEnumerableProp = util.notEnumerableProp;
+var deprecated = util.deprecated;
+var roriginal = new RegExp("__beforePromisified__" + "$");
+var hasProp = {}.hasOwnProperty;
+function isPromisified(fn) {
+ return fn.__isPromisified__ === true;
+}
+var inheritedMethods = (function() {
+ if (es5.isES5) {
+ var create = Object.create;
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
+ return function(cur) {
+ var original = cur;
+ var ret = [];
+ var visitedKeys = create(null);
+ while (cur !== null) {
+ var keys = es5.keys(cur);
+ for (var i = 0, len = keys.length; i < len; ++i) {
+ var key = keys[i];
+ if (visitedKeys[key] ||
+ roriginal.test(key) ||
+ hasProp.call(original, key + "__beforePromisified__")
+ ) {
+ continue;
+ }
+ visitedKeys[key] = true;
+ var desc = getOwnPropertyDescriptor(cur, key);
+ if (desc != null &&
+ typeof desc.value === "function" &&
+ !isPromisified(desc.value)) {
+ ret.push(key, desc.value);
+ }
+ }
+ cur = es5.getPrototypeOf(cur);
+ }
+ return ret;
+ };
+ }
+ else {
+ return function(obj) {
+ var ret = [];
+ /*jshint forin:false */
+ for (var key in obj) {
+ if (roriginal.test(key) ||
+ hasProp.call(obj, key + "__beforePromisified__")) {
+ continue;
+ }
+ var fn = obj[key];
+ if (typeof fn === "function" &&
+ !isPromisified(fn)) {
+ ret.push(key, fn);
+ }
+ }
+ return ret;
+ };
+ }
+})();
+
+function switchCaseArgumentOrder(likelyArgumentCount) {
+ var ret = [likelyArgumentCount];
+ var min = Math.max(0, likelyArgumentCount - 1 - 5);
+ for(var i = likelyArgumentCount - 1; i >= min; --i) {
+ if (i === likelyArgumentCount) continue;
+ ret.push(i);
+ }
+ for(var i = likelyArgumentCount + 1; i <= 5; ++i) {
+ ret.push(i);
+ }
+ return ret;
+}
+
+function parameterDeclaration(parameterCount) {
+ var ret = new Array(parameterCount);
+ for(var i = 0; i < ret.length; ++i) {
+ ret[i] = "_arg" + i;
+ }
+ return ret.join(", ");
+}
+
+function parameterCount(fn) {
+ if (typeof fn.length === "number") {
+ return Math.max(Math.min(fn.length, 1023 + 1), 0);
+ }
+ return 0;
+}
+
+function propertyAccess(id) {
+ var rident = /^[a-z$_][a-z$_0-9]*$/i;
+
+ if (rident.test(id)) {
+ return "." + id;
+ }
+ else return "['" + id.replace(/(['\\])/g, "\\$1") + "']";
+}
+
+function makeNodePromisifiedEval(callback, receiver, originalName, fn) {
+ var newParameterCount = Math.max(0, parameterCount(fn) - 1);
+ var argumentOrder = switchCaseArgumentOrder(newParameterCount);
+
+ var callbackName = (typeof originalName === "string" ?
+ originalName + "Async" :
+ "promisified");
+
+ function generateCallForArgumentCount(count) {
+ var args = new Array(count);
+ for (var i = 0, len = args.length; i < len; ++i) {
+ args[i] = "arguments[" + i + "]";
+ }
+ var comma = count > 0 ? "," : "";
+
+ if (typeof callback === "string" &&
+ receiver === THIS) {
+ return "this" + propertyAccess(callback) + "("+args.join(",") +
+ comma +" fn);"+
+ "break;";
+ }
+ return (receiver === void 0
+ ? "callback("+args.join(",")+ comma +" fn);"
+ : "callback.call("+(receiver === THIS
+ ? "this"
+ : "receiver")+", "+args.join(",") + comma + " fn);") +
+ "break;";
+ }
+
+ function generateArgumentSwitchCase() {
+ var ret = "";
+ for(var i = 0; i < argumentOrder.length; ++i) {
+ ret += "case " + argumentOrder[i] +":" +
+ generateCallForArgumentCount(argumentOrder[i]);
+ }
+ ret += "default: var args = new Array(len + 1);" +
+ "var i = 0;" +
+ "for (var i = 0; i < len; ++i) { " +
+ " args[i] = arguments[i];" +
+ "}" +
+ "args[i] = fn;" +
+
+ (typeof callback === "string"
+ ? "this" + propertyAccess(callback) + ".apply("
+ : "callback.apply(") +
+
+ (receiver === THIS ? "this" : "receiver") +
+ ", args); break;";
+ return ret;
+ }
+
+ return new Function("Promise", "callback", "receiver",
+ "withAppended", "maybeWrapAsError", "nodebackForPromise",
+ "INTERNAL",
+ "var ret = function " + callbackName +
+ "(" + parameterDeclaration(newParameterCount) + ") {\"use strict\";" +
+ "var len = arguments.length;" +
+ "var promise = new Promise(INTERNAL);"+
+ "promise._setTrace(" + callbackName + ", void 0);" +
+ "var fn = nodebackForPromise(promise);"+
+ "try {" +
+ "switch(len) {" +
+ generateArgumentSwitchCase() +
+ "}" +
+ "}" +
+ "catch(e){ " +
+ "var wrapped = maybeWrapAsError(e);" +
+ "promise._attachExtraTrace(wrapped);" +
+ "promise._reject(wrapped);" +
+ "}" +
+ "return promise;" +
+ "" +
+ "}; ret.__isPromisified__ = true; return ret;"
+ )(Promise, callback, receiver, withAppended,
+ maybeWrapAsError, nodebackForPromise, INTERNAL);
+}
+
+function makeNodePromisifiedClosure(callback, receiver) {
+ function promisified() {
+ var _receiver = receiver;
+ if (receiver === THIS) _receiver = this;
+ if (typeof callback === "string") {
+ callback = _receiver[callback];
+ }
+ var promise = new Promise(INTERNAL);
+ promise._setTrace(promisified, void 0);
+ var fn = nodebackForPromise(promise);
+ try {
+ callback.apply(_receiver, withAppended(arguments, fn));
+ }
+ catch(e) {
+ var wrapped = maybeWrapAsError(e);
+ promise._attachExtraTrace(wrapped);
+ promise._reject(wrapped);
+ }
+ return promise;
+ }
+ promisified.__isPromisified__ = true;
+ return promisified;
+}
+
+var makeNodePromisified = canEvaluate
+ ? makeNodePromisifiedEval
+ : makeNodePromisifiedClosure;
+
+function _promisify(callback, receiver, isAll) {
+ if (isAll) {
+ var methods = inheritedMethods(callback);
+ for (var i = 0, len = methods.length; i < len; i+= 2) {
+ var key = methods[i];
+ var fn = methods[i+1];
+ var originalKey = key + "__beforePromisified__";
+ var promisifiedKey = key + "Async";
+ notEnumerableProp(callback, originalKey, fn);
+ callback[promisifiedKey] =
+ makeNodePromisified(originalKey, THIS,
+ key, fn);
+ }
+ util.toFastProperties(callback);
+ return callback;
+ }
+ else {
+ return makeNodePromisified(callback, receiver, void 0, callback);
+ }
+}
+
+Promise.promisify = function Promise$Promisify(fn, receiver) {
+ if (typeof fn === "object" && fn !== null) {
+ deprecated("Promise.promisify for promisifying entire objects is deprecated. Use Promise.promisifyAll instead.");
+ return _promisify(fn, receiver, true);
+ }
+ if (typeof fn !== "function") {
+ throw new TypeError("fn must be a function");
+ }
+ if (isPromisified(fn)) {
+ return fn;
+ }
+ return _promisify(
+ fn,
+ arguments.length < 2 ? THIS : receiver,
+ false);
+};
+
+Promise.promisifyAll = function Promise$PromisifyAll(target) {
+ if (typeof target !== "function" && typeof target !== "object") {
+ throw new TypeError("the target of promisifyAll must be an object or a function");
+ }
+ return _promisify(target, void 0, true);
+};
+};
+
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/properties_promise_array.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/properties_promise_array.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/properties_promise_array.js
new file mode 100644
index 0000000..85f5990
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/properties_promise_array.js
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+module.exports = function(Promise, PromiseArray) {
+var util = require("./util.js");
+var inherits = util.inherits;
+var es5 = require("./es5.js");
+
+function PropertiesPromiseArray(obj, caller, boundTo) {
+ var keys = es5.keys(obj);
+ var values = new Array(keys.length);
+ for (var i = 0, len = values.length; i < len; ++i) {
+ values[i] = obj[keys[i]];
+ }
+ this.constructor$(values, caller, boundTo);
+ if (!this._isResolved()) {
+ for (var i = 0, len = keys.length; i < len; ++i) {
+ values.push(keys[i]);
+ }
+ }
+}
+inherits(PropertiesPromiseArray, PromiseArray);
+
+PropertiesPromiseArray.prototype._init =
+function PropertiesPromiseArray$_init() {
+ this._init$(void 0, -3) ;
+};
+
+PropertiesPromiseArray.prototype._promiseFulfilled =
+function PropertiesPromiseArray$_promiseFulfilled(value, index) {
+ if (this._isResolved()) return;
+ this._values[index] = value;
+ var totalResolved = ++this._totalResolved;
+ if (totalResolved >= this._length) {
+ var val = {};
+ var keyOffset = this.length();
+ for (var i = 0, len = this.length(); i < len; ++i) {
+ val[this._values[i + keyOffset]] = this._values[i];
+ }
+ this._resolve(val);
+ }
+};
+
+PropertiesPromiseArray.prototype._promiseProgressed =
+function PropertiesPromiseArray$_promiseProgressed(value, index) {
+ if (this._isResolved()) return;
+
+ this._promise._progress({
+ key: this._values[index + this.length()],
+ value: value
+ });
+};
+
+PromiseArray.PropertiesPromiseArray = PropertiesPromiseArray;
+
+return PropertiesPromiseArray;
+};
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/props.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/props.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/props.js
new file mode 100644
index 0000000..3cdba43
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/props.js
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+module.exports = function(Promise, PromiseArray) {
+ var PropertiesPromiseArray = require("./properties_promise_array.js")(
+ Promise, PromiseArray);
+ var util = require("./util.js");
+ var apiRejection = require("./errors_api_rejection")(Promise);
+ var isObject = util.isObject;
+
+ function Promise$_Props(promises, useBound, caller) {
+ var ret;
+ var castValue = Promise._cast(promises, caller, void 0);
+
+ if (!isObject(castValue)) {
+ return apiRejection("cannot await properties of a non-object");
+ }
+ else if (Promise.is(castValue)) {
+ ret = castValue._then(Promise.props, void 0, void 0,
+ void 0, void 0, caller);
+ }
+ else {
+ ret = new PropertiesPromiseArray(
+ castValue,
+ caller,
+ useBound === true && castValue._isBound()
+ ? castValue._boundTo
+ : void 0
+ ).promise();
+ useBound = false;
+ }
+ if (useBound === true && castValue._isBound()) {
+ ret._setBoundTo(castValue._boundTo);
+ }
+ return ret;
+ }
+
+ Promise.prototype.props = function Promise$props() {
+ return Promise$_Props(this, true, this.props);
+ };
+
+ Promise.props = function Promise$Props(promises) {
+ return Promise$_Props(promises, false, Promise.props);
+ };
+};
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/queue.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/queue.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/queue.js
new file mode 100644
index 0000000..bbd3f1b
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/queue.js
@@ -0,0 +1,135 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+function arrayCopy(src, srcIndex, dst, dstIndex, len) {
+ for (var j = 0; j < len; ++j) {
+ dst[j + dstIndex] = src[j + srcIndex];
+ }
+}
+
+function pow2AtLeast(n) {
+ n = n >>> 0;
+ n = n - 1;
+ n = n | (n >> 1);
+ n = n | (n >> 2);
+ n = n | (n >> 4);
+ n = n | (n >> 8);
+ n = n | (n >> 16);
+ return n + 1;
+}
+
+function getCapacity(capacity) {
+ if (typeof capacity !== "number") return 16;
+ return pow2AtLeast(
+ Math.min(
+ Math.max(16, capacity), 1073741824)
+ );
+}
+
+function Queue(capacity) {
+ this._capacity = getCapacity(capacity);
+ this._length = 0;
+ this._front = 0;
+ this._makeCapacity();
+}
+
+Queue.prototype._willBeOverCapacity =
+function Queue$_willBeOverCapacity(size) {
+ return this._capacity < size;
+};
+
+Queue.prototype._pushOne = function Queue$_pushOne(arg) {
+ var length = this.length();
+ this._checkCapacity(length + 1);
+ var i = (this._front + length) & (this._capacity - 1);
+ this[i] = arg;
+ this._length = length + 1;
+};
+
+Queue.prototype.push = function Queue$push(fn, receiver, arg) {
+ var length = this.length() + 3;
+ if (this._willBeOverCapacity(length)) {
+ this._pushOne(fn);
+ this._pushOne(receiver);
+ this._pushOne(arg);
+ return;
+ }
+ var j = this._front + length - 3;
+ this._checkCapacity(length);
+ var wrapMask = this._capacity - 1;
+ this[(j + 0) & wrapMask] = fn;
+ this[(j + 1) & wrapMask] = receiver;
+ this[(j + 2) & wrapMask] = arg;
+ this._length = length;
+};
+
+Queue.prototype.shift = function Queue$shift() {
+ var front = this._front,
+ ret = this[front];
+
+ this[front] = void 0;
+ this._front = (front + 1) & (this._capacity - 1);
+ this._length--;
+ return ret;
+};
+
+Queue.prototype.length = function Queue$length() {
+ return this._length;
+};
+
+Queue.prototype._makeCapacity = function Queue$_makeCapacity() {
+ var len = this._capacity;
+ for (var i = 0; i < len; ++i) {
+ this[i] = void 0;
+ }
+};
+
+Queue.prototype._checkCapacity = function Queue$_checkCapacity(size) {
+ if (this._capacity < size) {
+ this._resizeTo(this._capacity << 3);
+ }
+};
+
+Queue.prototype._resizeTo = function Queue$_resizeTo(capacity) {
+ var oldFront = this._front;
+ var oldCapacity = this._capacity;
+ var oldQueue = new Array(oldCapacity);
+ var length = this.length();
+
+ arrayCopy(this, 0, oldQueue, 0, oldCapacity);
+ this._capacity = capacity;
+ this._makeCapacity();
+ this._front = 0;
+ if (oldFront + length <= oldCapacity) {
+ arrayCopy(oldQueue, oldFront, this, 0, length);
+ }
+ else { var lengthBeforeWrapping =
+ length - ((oldFront + length) & (oldCapacity - 1));
+
+ arrayCopy(oldQueue, oldFront, this, 0, lengthBeforeWrapping);
+ arrayCopy(oldQueue, 0, this, lengthBeforeWrapping,
+ length - lengthBeforeWrapping);
+ }
+};
+
+module.exports = Queue;
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/race.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/race.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/race.js
new file mode 100644
index 0000000..82b8ce1
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/race.js
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+module.exports = function(Promise, INTERNAL) {
+ var apiRejection = require("./errors_api_rejection.js")(Promise);
+ var isArray = require("./util.js").isArray;
+
+ var raceLater = function Promise$_raceLater(promise) {
+ return promise.then(function Promise$_lateRacer(array) {
+ return Promise$_Race(array, Promise$_lateRacer, promise);
+ });
+ };
+
+ var hasOwn = {}.hasOwnProperty;
+ function Promise$_Race(promises, caller, parent) {
+ var maybePromise = Promise._cast(promises, caller, void 0);
+
+ if (Promise.is(maybePromise)) {
+ return raceLater(maybePromise);
+ }
+ else if (!isArray(promises)) {
+ return apiRejection("expecting an array, a promise or a thenable");
+ }
+
+ var ret = new Promise(INTERNAL);
+ ret._setTrace(caller, parent);
+ if (parent !== void 0) {
+ if (parent._isBound()) {
+ ret._setBoundTo(parent._boundTo);
+ }
+ if (parent._cancellable()) {
+ ret._setCancellable();
+ ret._cancellationParent = parent;
+ }
+ }
+ var fulfill = ret._fulfill;
+ var reject = ret._reject;
+ for (var i = 0, len = promises.length; i < len; ++i) {
+ var val = promises[i];
+
+ if (val === void 0 && !(hasOwn.call(promises, i))) {
+ continue;
+ }
+
+ Promise.cast(val)._then(
+ fulfill,
+ reject,
+ void 0,
+ ret,
+ null,
+ caller
+ );
+ }
+ return ret;
+ }
+
+ Promise.race = function Promise$Race(promises) {
+ return Promise$_Race(promises, Promise.race, void 0);
+ };
+
+ Promise.prototype.race = function Promise$race() {
+ return Promise$_Race(this, this.race, void 0);
+ };
+
+};
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/reduce.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/reduce.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/reduce.js
new file mode 100644
index 0000000..e9ef95b
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/reduce.js
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+module.exports = function(
+ Promise, Promise$_CreatePromiseArray,
+ PromiseArray, apiRejection, INTERNAL) {
+
+ function Reduction(callback, index, accum, items, receiver) {
+ this.promise = new Promise(INTERNAL);
+ this.index = index;
+ this.length = items.length;
+ this.items = items;
+ this.callback = callback;
+ this.receiver = receiver;
+ this.accum = accum;
+ }
+
+ Reduction.prototype.reject = function Reduction$reject(e) {
+ this.promise._reject(e);
+ };
+
+ Reduction.prototype.fulfill = function Reduction$fulfill(value, index) {
+ this.accum = value;
+ this.index = index + 1;
+ this.iterate();
+ };
+
+ Reduction.prototype.iterate = function Reduction$iterate() {
+ var i = this.index;
+ var len = this.length;
+ var items = this.items;
+ var result = this.accum;
+ var receiver = this.receiver;
+ var callback = this.callback;
+ var iterate = this.iterate;
+
+ for(; i < len; ++i) {
+ result = Promise._cast(
+ callback.call(
+ receiver,
+ result,
+ items[i],
+ i,
+ len
+ ),
+ iterate,
+ void 0
+ );
+
+ if (result instanceof Promise) {
+ result._then(
+ this.fulfill, this.reject, void 0, this, i, iterate);
+ return;
+ }
+ }
+ this.promise._fulfill(result);
+ };
+
+ function Promise$_reducer(fulfilleds, initialValue) {
+ var fn = this;
+ var receiver = void 0;
+ if (typeof fn !== "function") {
+ receiver = fn.receiver;
+ fn = fn.fn;
+ }
+ var len = fulfilleds.length;
+ var accum = void 0;
+ var startIndex = 0;
+
+ if (initialValue !== void 0) {
+ accum = initialValue;
+ startIndex = 0;
+ }
+ else {
+ startIndex = 1;
+ if (len > 0) accum = fulfilleds[0];
+ }
+ var i = startIndex;
+
+ if (i >= len) {
+ return accum;
+ }
+
+ var reduction = new Reduction(fn, i, accum, fulfilleds, receiver);
+ reduction.iterate();
+ return reduction.promise;
+ }
+
+ function Promise$_unpackReducer(fulfilleds) {
+ var fn = this.fn;
+ var initialValue = this.initialValue;
+ return Promise$_reducer.call(fn, fulfilleds, initialValue);
+ }
+
+ function Promise$_slowReduce(
+ promises, fn, initialValue, useBound, caller) {
+ return initialValue._then(function callee(initialValue) {
+ return Promise$_Reduce(
+ promises, fn, initialValue, useBound, callee);
+ }, void 0, void 0, void 0, void 0, caller);
+ }
+
+ function Promise$_Reduce(promises, fn, initialValue, useBound, caller) {
+ if (typeof fn !== "function") {
+ return apiRejection("fn must be a function");
+ }
+
+ if (useBound === true && promises._isBound()) {
+ fn = {
+ fn: fn,
+ receiver: promises._boundTo
+ };
+ }
+
+ if (initialValue !== void 0) {
+ if (Promise.is(initialValue)) {
+ if (initialValue.isFulfilled()) {
+ initialValue = initialValue._settledValue;
+ }
+ else {
+ return Promise$_slowReduce(promises,
+ fn, initialValue, useBound, caller);
+ }
+ }
+
+ return Promise$_CreatePromiseArray(promises, PromiseArray, caller,
+ useBound === true && promises._isBound()
+ ? promises._boundTo
+ : void 0)
+ .promise()
+ ._then(Promise$_unpackReducer, void 0, void 0, {
+ fn: fn,
+ initialValue: initialValue
+ }, void 0, Promise.reduce);
+ }
+ return Promise$_CreatePromiseArray(promises, PromiseArray, caller,
+ useBound === true && promises._isBound()
+ ? promises._boundTo
+ : void 0).promise()
+ ._then(Promise$_reducer, void 0, void 0, fn, void 0, caller);
+ }
+
+
+ Promise.reduce = function Promise$Reduce(promises, fn, initialValue) {
+ return Promise$_Reduce(promises, fn,
+ initialValue, false, Promise.reduce);
+ };
+
+ Promise.prototype.reduce = function Promise$reduce(fn, initialValue) {
+ return Promise$_Reduce(this, fn, initialValue,
+ true, this.reduce);
+ };
+};
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/schedule.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/schedule.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/schedule.js
new file mode 100644
index 0000000..ae2271e
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/schedule.js
@@ -0,0 +1,121 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+var global = require("./global.js");
+var schedule;
+if (typeof process !== "undefined" && process !== null &&
+ typeof process.cwd === "function" &&
+ typeof process.nextTick === "function" &&
+ typeof process.version === "string") {
+ schedule = function Promise$_Scheduler(fn) {
+ process.nextTick(fn);
+ };
+}
+else if ((typeof global.MutationObserver === "function" ||
+ typeof global.WebkitMutationObserver === "function" ||
+ typeof global.WebKitMutationObserver === "function") &&
+ typeof document !== "undefined" &&
+ typeof document.createElement === "function") {
+
+
+ schedule = (function(){
+ var MutationObserver = global.MutationObserver ||
+ global.WebkitMutationObserver ||
+ global.WebKitMutationObserver;
+ var div = document.createElement("div");
+ var queuedFn = void 0;
+ var observer = new MutationObserver(
+ function Promise$_Scheduler() {
+ var fn = queuedFn;
+ queuedFn = void 0;
+ fn();
+ }
+ );
+ observer.observe(div, {
+ attributes: true
+ });
+ return function Promise$_Scheduler(fn) {
+ queuedFn = fn;
+ div.setAttribute("class", "foo");
+ };
+
+ })();
+}
+else if (typeof global.postMessage === "function" &&
+ typeof global.importScripts !== "function" &&
+ typeof global.addEventListener === "function" &&
+ typeof global.removeEventListener === "function") {
+
+ var MESSAGE_KEY = "bluebird_message_key_" + Math.random();
+ schedule = (function(){
+ var queuedFn = void 0;
+
+ function Promise$_Scheduler(e) {
+ if (e.source === global &&
+ e.data === MESSAGE_KEY) {
+ var fn = queuedFn;
+ queuedFn = void 0;
+ fn();
+ }
+ }
+
+ global.addEventListener("message", Promise$_Scheduler, false);
+
+ return function Promise$_Scheduler(fn) {
+ queuedFn = fn;
+ global.postMessage(
+ MESSAGE_KEY, "*"
+ );
+ };
+
+ })();
+}
+else if (typeof global.MessageChannel === "function") {
+ schedule = (function(){
+ var queuedFn = void 0;
+
+ var channel = new global.MessageChannel();
+ channel.port1.onmessage = function Promise$_Scheduler() {
+ var fn = queuedFn;
+ queuedFn = void 0;
+ fn();
+ };
+
+ return function Promise$_Scheduler(fn) {
+ queuedFn = fn;
+ channel.port2.postMessage(null);
+ };
+ })();
+}
+else if (global.setTimeout) {
+ schedule = function Promise$_Scheduler(fn) {
+ setTimeout(fn, 4);
+ };
+}
+else {
+ schedule = function Promise$_Scheduler(fn) {
+ fn();
+ };
+}
+
+module.exports = schedule;
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/settle.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/settle.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/settle.js
new file mode 100644
index 0000000..863882f
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/settle.js
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+module.exports =
+ function(Promise, Promise$_CreatePromiseArray, PromiseArray) {
+
+ var SettledPromiseArray = require("./settled_promise_array.js")(
+ Promise, PromiseArray);
+
+ function Promise$_Settle(promises, useBound, caller) {
+ return Promise$_CreatePromiseArray(
+ promises,
+ SettledPromiseArray,
+ caller,
+ useBound === true && promises._isBound()
+ ? promises._boundTo
+ : void 0
+ ).promise();
+ }
+
+ Promise.settle = function Promise$Settle(promises) {
+ return Promise$_Settle(promises, false, Promise.settle);
+ };
+
+ Promise.prototype.settle = function Promise$settle() {
+ return Promise$_Settle(this, true, this.settle);
+ };
+
+};
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/settled_promise_array.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/settled_promise_array.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/settled_promise_array.js
new file mode 100644
index 0000000..fd25d4d
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/settled_promise_array.js
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+module.exports = function(Promise, PromiseArray) {
+var PromiseInspection = require("./promise_inspection.js");
+var util = require("./util.js");
+var inherits = util.inherits;
+function SettledPromiseArray(values, caller, boundTo) {
+ this.constructor$(values, caller, boundTo);
+}
+inherits(SettledPromiseArray, PromiseArray);
+
+SettledPromiseArray.prototype._promiseResolved =
+function SettledPromiseArray$_promiseResolved(index, inspection) {
+ this._values[index] = inspection;
+ var totalResolved = ++this._totalResolved;
+ if (totalResolved >= this._length) {
+ this._resolve(this._values);
+ }
+};
+
+SettledPromiseArray.prototype._promiseFulfilled =
+function SettledPromiseArray$_promiseFulfilled(value, index) {
+ if (this._isResolved()) return;
+ var ret = new PromiseInspection();
+ ret._bitField = 268435456;
+ ret._settledValue = value;
+ this._promiseResolved(index, ret);
+};
+SettledPromiseArray.prototype._promiseRejected =
+function SettledPromiseArray$_promiseRejected(reason, index) {
+ if (this._isResolved()) return;
+ var ret = new PromiseInspection();
+ ret._bitField = 134217728;
+ ret._settledValue = reason;
+ this._promiseResolved(index, ret);
+};
+
+return SettledPromiseArray;
+};
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/some.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/some.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/some.js
new file mode 100644
index 0000000..21c4ecd
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/some.js
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+module.exports =
+function(Promise, Promise$_CreatePromiseArray, PromiseArray, apiRejection) {
+
+ var SomePromiseArray = require("./some_promise_array.js")(PromiseArray);
+ function Promise$_Some(promises, howMany, useBound, caller) {
+ if ((howMany | 0) !== howMany || howMany < 0) {
+ return apiRejection("expecting a positive integer");
+ }
+ var ret = Promise$_CreatePromiseArray(
+ promises,
+ SomePromiseArray,
+ caller,
+ useBound === true && promises._isBound()
+ ? promises._boundTo
+ : void 0
+ );
+ var promise = ret.promise();
+ if (promise.isRejected()) {
+ return promise;
+ }
+ ret.setHowMany(howMany);
+ ret.init();
+ return promise;
+ }
+
+ Promise.some = function Promise$Some(promises, howMany) {
+ return Promise$_Some(promises, howMany, false, Promise.some);
+ };
+
+ Promise.prototype.some = function Promise$some(count) {
+ return Promise$_Some(this, count, true, this.some);
+ };
+
+};
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/some_promise_array.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/some_promise_array.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/some_promise_array.js
new file mode 100644
index 0000000..d3b89d4
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/some_promise_array.js
@@ -0,0 +1,131 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+module.exports = function (PromiseArray) {
+var util = require("./util.js");
+var RangeError = require("./errors.js").RangeError;
+var inherits = util.inherits;
+var isArray = util.isArray;
+
+function SomePromiseArray(values, caller, boundTo) {
+ this.constructor$(values, caller, boundTo);
+ this._howMany = 0;
+ this._unwrap = false;
+ this._initialized = false;
+}
+inherits(SomePromiseArray, PromiseArray);
+
+SomePromiseArray.prototype._init = function SomePromiseArray$_init() {
+ if (!this._initialized) {
+ return;
+ }
+ if (this._howMany === 0) {
+ this._resolve([]);
+ return;
+ }
+ this._init$(void 0, -2);
+ var isArrayResolved = isArray(this._values);
+ this._holes = isArrayResolved ? this._values.length - this.length() : 0;
+
+ if (!this._isResolved() &&
+ isArrayResolved &&
+ this._howMany > this._canPossiblyFulfill()) {
+ var message = "(Promise.some) input array contains less than " +
+ this._howMany + " promises";
+ this._reject(new RangeError(message));
+ }
+};
+
+SomePromiseArray.prototype.init = function SomePromiseArray$init() {
+ this._initialized = true;
+ this._init();
+};
+
+SomePromiseArray.prototype.setUnwrap = function SomePromiseArray$setUnwrap() {
+ this._unwrap = true;
+};
+
+SomePromiseArray.prototype.howMany = function SomePromiseArray$howMany() {
+ return this._howMany;
+};
+
+SomePromiseArray.prototype.setHowMany =
+function SomePromiseArray$setHowMany(count) {
+ if (this._isResolved()) return;
+ this._howMany = count;
+};
+
+SomePromiseArray.prototype._promiseFulfilled =
+function SomePromiseArray$_promiseFulfilled(value) {
+ if (this._isResolved()) return;
+ this._addFulfilled(value);
+ if (this._fulfilled() === this.howMany()) {
+ this._values.length = this.howMany();
+ if (this.howMany() === 1 && this._unwrap) {
+ this._resolve(this._values[0]);
+ }
+ else {
+ this._resolve(this._values);
+ }
+ }
+
+};
+SomePromiseArray.prototype._promiseRejected =
+function SomePromiseArray$_promiseRejected(reason) {
+ if (this._isResolved()) return;
+ this._addRejected(reason);
+ if (this.howMany() > this._canPossiblyFulfill()) {
+ if (this._values.length === this.length()) {
+ this._reject([]);
+ }
+ else {
+ this._reject(this._values.slice(this.length() + this._holes));
+ }
+ }
+};
+
+SomePromiseArray.prototype._fulfilled = function SomePromiseArray$_fulfilled() {
+ return this._totalResolved;
+};
+
+SomePromiseArray.prototype._rejected = function SomePromiseArray$_rejected() {
+ return this._values.length - this.length() - this._holes;
+};
+
+SomePromiseArray.prototype._addRejected =
+function SomePromiseArray$_addRejected(reason) {
+ this._values.push(reason);
+};
+
+SomePromiseArray.prototype._addFulfilled =
+function SomePromiseArray$_addFulfilled(value) {
+ this._values[this._totalResolved++] = value;
+};
+
+SomePromiseArray.prototype._canPossiblyFulfill =
+function SomePromiseArray$_canPossiblyFulfill() {
+ return this.length() - this._rejected();
+};
+
+return SomePromiseArray;
+};
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/synchronous_inspection.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/synchronous_inspection.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/synchronous_inspection.js
new file mode 100644
index 0000000..dcbdc90
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/synchronous_inspection.js
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+module.exports = function(Promise) {
+ var PromiseInspection = require("./promise_inspection.js");
+
+ Promise.prototype.inspect = function Promise$inspect() {
+ return new PromiseInspection(this);
+ };
+};
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/thenables.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/thenables.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/thenables.js
new file mode 100644
index 0000000..510da18
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/thenables.js
@@ -0,0 +1,138 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+module.exports = function(Promise, INTERNAL) {
+ var util = require("./util.js");
+ var canAttach = require("./errors.js").canAttach;
+ var errorObj = util.errorObj;
+ var isObject = util.isObject;
+
+ function getThen(obj) {
+ try {
+ return obj.then;
+ }
+ catch(e) {
+ errorObj.e = e;
+ return errorObj;
+ }
+ }
+
+ function Promise$_Cast(obj, caller, originalPromise) {
+ if (isObject(obj)) {
+ if (obj instanceof Promise) {
+ return obj;
+ }
+ else if (isAnyBluebirdPromise(obj)) {
+ var ret = new Promise(INTERNAL);
+ ret._setTrace(caller, void 0);
+ obj._then(
+ ret._fulfillUnchecked,
+ ret._rejectUncheckedCheckError,
+ ret._progressUnchecked,
+ ret,
+ null,
+ void 0
+ );
+ ret._setFollowing();
+ return ret;
+ }
+ var then = getThen(obj);
+ if (then === errorObj) {
+ caller = typeof caller === "function" ? caller : Promise$_Cast;
+ if (originalPromise !== void 0 && canAttach(then.e)) {
+ originalPromise._attachExtraTrace(then.e);
+ }
+ return Promise.reject(then.e, caller);
+ }
+ else if (typeof then === "function") {
+ caller = typeof caller === "function" ? caller : Promise$_Cast;
+ return Promise$_doThenable(obj, then, caller, originalPromise);
+ }
+ }
+ return obj;
+ }
+
+ var hasProp = {}.hasOwnProperty;
+ function isAnyBluebirdPromise(obj) {
+ return hasProp.call(obj, "_promise0");
+ }
+
+ function Promise$_doThenable(x, then, caller, originalPromise) {
+ var resolver = Promise.defer(caller);
+ var called = false;
+ try {
+ then.call(
+ x,
+ Promise$_resolveFromThenable,
+ Promise$_rejectFromThenable,
+ Promise$_progressFromThenable
+ );
+ }
+ catch(e) {
+ if (!called) {
+ called = true;
+ var trace = canAttach(e) ? e : new Error(e + "");
+ if (originalPromise !== void 0) {
+ originalPromise._attachExtraTrace(trace);
+ }
+ resolver.promise._reject(e, trace);
+ }
+ }
+ return resolver.promise;
+
+ function Promise$_resolveFromThenable(y) {
+ if (called) return;
+ called = true;
+
+ if (x === y) {
+ var e = Promise._makeSelfResolutionError();
+ if (originalPromise !== void 0) {
+ originalPromise._attachExtraTrace(e);
+ }
+ resolver.promise._reject(e, void 0);
+ return;
+ }
+ resolver.resolve(y);
+ }
+
+ function Promise$_rejectFromThenable(r) {
+ if (called) return;
+ called = true;
+ var trace = canAttach(r) ? r : new Error(r + "");
+ if (originalPromise !== void 0) {
+ originalPromise._attachExtraTrace(trace);
+ }
+ resolver.promise._reject(r, trace);
+ }
+
+ function Promise$_progressFromThenable(v) {
+ if (called) return;
+ var promise = resolver.promise;
+ if (typeof promise._progress === "function") {
+ promise._progress(v);
+ }
+ }
+ }
+
+ Promise._cast = Promise$_Cast;
+};
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/timers.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/timers.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/timers.js
new file mode 100644
index 0000000..8edcac2
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/timers.js
@@ -0,0 +1,114 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+
+var global = require("./global.js");
+var setTimeout = function(fn, time) {
+ var $_len = arguments.length;var args = new Array($_len - 2); for(var $_i = 2; $_i < $_len; ++$_i) {args[$_i - 2] = arguments[$_i];}
+ global.setTimeout(function() {
+ fn.apply(void 0, args);
+ }, time);
+};
+
+var pass = {};
+global.setTimeout( function(_) {
+ if(_ === pass) {
+ setTimeout = global.setTimeout;
+ }
+}, 1, pass);
+
+module.exports = function(Promise, INTERNAL) {
+ var util = require("./util.js");
+ var errors = require("./errors.js");
+ var apiRejection = require("./errors_api_rejection")(Promise);
+ var TimeoutError = Promise.TimeoutError;
+
+ var afterTimeout = function Promise$_afterTimeout(promise, message, ms) {
+ if (!promise.isPending()) return;
+ if (typeof message !== "string") {
+ message = "operation timed out after" + " " + ms + " ms"
+ }
+ var err = new TimeoutError(message);
+ errors.markAsOriginatingFromRejection(err);
+ promise._attachExtraTrace(err);
+ promise._rejectUnchecked(err);
+ };
+
+ var afterDelay = function Promise$_afterDelay(value, promise) {
+ promise._fulfill(value);
+ };
+
+ Promise.delay = function Promise$Delay(value, ms, caller) {
+ if (ms === void 0) {
+ ms = value;
+ value = void 0;
+ }
+ ms = +ms;
+ if (typeof caller !== "function") {
+ caller = Promise.delay;
+ }
+ var maybePromise = Promise._cast(value, caller, void 0);
+ var promise = new Promise(INTERNAL);
+
+ if (Promise.is(maybePromise)) {
+ if (maybePromise._isBound()) {
+ promise._setBoundTo(maybePromise._boundTo);
+ }
+ if (maybePromise._cancellable()) {
+ promise._setCancellable();
+ promise._cancellationParent = maybePromise;
+ }
+ promise._setTrace(caller, maybePromise);
+ promise._follow(maybePromise);
+ return promise.then(function(value) {
+ return Promise.delay(value, ms);
+ });
+ }
+ else {
+ promise._setTrace(caller, void 0);
+ setTimeout(afterDelay, ms, value, promise);
+ }
+ return promise;
+ };
+
+ Promise.prototype.delay = function Promise$delay(ms) {
+ return Promise.delay(this, ms, this.delay);
+ };
+
+ Promise.prototype.timeout = function Promise$timeout(ms, message) {
+ ms = +ms;
+
+ var ret = new Promise(INTERNAL);
+ ret._setTrace(this.timeout, this);
+
+ if (this._isBound()) ret._setBoundTo(this._boundTo);
+ if (this._cancellable()) {
+ ret._setCancellable();
+ ret._cancellationParent = this;
+ }
+ ret._follow(this);
+ setTimeout(afterTimeout, ms, ret, message, ms);
+ return ret;
+ };
+
+};
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/util.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/util.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/util.js
new file mode 100644
index 0000000..fbd34e9
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/js/zalgo/util.js
@@ -0,0 +1,193 @@
+/**
+ * Copyright (c) 2014 Petka Antonov
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:</p>
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+"use strict";
+var global = require("./global.js");
+var es5 = require("./es5.js");
+var haveGetters = (function(){
+ try {
+ var o = {};
+ es5.defineProperty(o, "f", {
+ get: function () {
+ return 3;
+ }
+ });
+ return o.f === 3;
+ }
+ catch (e) {
+ return false;
+ }
+
+})();
+
+var canEvaluate = (function() {
+ if (typeof window !== "undefined" && window !== null &&
+ typeof window.document !== "undefined" &&
+ typeof navigator !== "undefined" && navigator !== null &&
+ typeof navigator.appName === "string" &&
+ window === global) {
+ return false;
+ }
+ return true;
+})();
+
+function deprecated(msg) {
+ if (typeof console !== "undefined" && console !== null &&
+ typeof console.warn === "function") {
+ console.warn("Bluebird: " + msg);
+ }
+}
+
+var errorObj = {e: {}};
+function tryCatch1(fn, receiver, arg) {
+ try {
+ return fn.call(receiver, arg);
+ }
+ catch (e) {
+ errorObj.e = e;
+ return errorObj;
+ }
+}
+
+function tryCatch2(fn, receiver, arg, arg2) {
+ try {
+ return fn.call(receiver, arg, arg2);
+ }
+ catch (e) {
+ errorObj.e = e;
+ return errorObj;
+ }
+}
+
+function tryCatchApply(fn, args, receiver) {
+ try {
+ return fn.apply(receiver, args);
+ }
+ catch (e) {
+ errorObj.e = e;
+ return errorObj;
+ }
+}
+
+var inherits = function(Child, Parent) {
+ var hasProp = {}.hasOwnProperty;
+
+ function T() {
+ this.constructor = Child;
+ this.constructor$ = Parent;
+ for (var propertyName in Parent.prototype) {
+ if (hasProp.call(Parent.prototype, propertyName) &&
+ propertyName.charAt(propertyName.length-1) !== "$"
+ ) {
+ this[propertyName + "$"] = Parent.prototype[propertyName];
+ }
+ }
+ }
+ T.prototype = Parent.prototype;
+ Child.prototype = new T();
+ return Child.prototype;
+};
+
+function asString(val) {
+ return typeof val === "string" ? val : ("" + val);
+}
+
+function isPrimitive(val) {
+ return val == null || val === true || val === false ||
+ typeof val === "string" || typeof val === "number";
+
+}
+
+function isObject(value) {
+ return !isPrimitive(value);
+}
+
+function maybeWrapAsError(maybeError) {
+ if (!isPrimitive(maybeError)) return maybeError;
+
+ return new Error(asString(maybeError));
+}
+
+function withAppended(target, appendee) {
+ var len = target.length;
+ var ret = new Array(len + 1);
+ var i;
+ for (i = 0; i < len; ++i) {
+ ret[i] = target[i];
+ }
+ ret[i] = appendee;
+ return ret;
+}
+
+
+function notEnumerableProp(obj, name, value) {
+ if (isPrimitive(obj)) return obj;
+ var descriptor = {
+ value: value,
+ configurable: true,
+ enumerable: false,
+ writable: true
+ };
+ es5.defineProperty(obj, name, descriptor);
+ return obj;
+}
+
+
+var wrapsPrimitiveReceiver = (function() {
+ return this !== "string";
+}).call("string");
+
+function thrower(r) {
+ throw r;
+}
+
+
+function toFastProperties(obj) {
+ /*jshint -W027*/
+ function f() {}
+ f.prototype = obj;
+ return f;
+ eval(obj);
+}
+
+var ret = {
+ thrower: thrower,
+ isArray: es5.isArray,
+ haveGetters: haveGetters,
+ notEnumerableProp: notEnumerableProp,
+ isPrimitive: isPrimitive,
+ isObject: isObject,
+ canEvaluate: canEvaluate,
+ deprecated: deprecated,
+ errorObj: errorObj,
+ tryCatch1: tryCatch1,
+ tryCatch2: tryCatch2,
+ tryCatchApply: tryCatchApply,
+ inherits: inherits,
+ withAppended: withAppended,
+ asString: asString,
+ maybeWrapAsError: maybeWrapAsError,
+ wrapsPrimitiveReceiver: wrapsPrimitiveReceiver,
+ toFastProperties: toFastProperties
+};
+
+module.exports = ret;
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/package.json
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/package.json b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/package.json
new file mode 100644
index 0000000..5980304
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/package.json
@@ -0,0 +1,85 @@
+{
+ "name": "bluebird",
+ "description": "Full featured Promises/A+ implementation with exceptionally good performance",
+ "version": "1.1.1",
+ "keywords": [
+ "promise",
+ "performance",
+ "promises",
+ "promises-a",
+ "promises-aplus",
+ "async",
+ "await",
+ "deferred",
+ "deferreds",
+ "future",
+ "flow control",
+ "dsl",
+ "fluent interface"
+ ],
+ "scripts": {
+ "test": "grunt test"
+ },
+ "homepage": "https://github.com/petkaantonov/bluebird",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/petkaantonov/bluebird.git"
+ },
+ "bugs": {
+ "url": "http://github.com/petkaantonov/bluebird/issues"
+ },
+ "license": "MIT",
+ "author": {
+ "name": "Petka Antonov",
+ "email": "petka_antonov@hotmail.com",
+ "url": "http://github.com/petkaantonov/"
+ },
+ "devDependencies": {
+ "grunt": "~0.4.1",
+ "grunt-contrib-jshint": "~0.6.4",
+ "grunt-contrib-watch": "latest",
+ "grunt-contrib-connect": "latest",
+ "grunt-saucelabs": "latest",
+ "acorn": "~0.3.1",
+ "mocha": "~1.12.1",
+ "q": "~0.9.7",
+ "when": "~2.4.0",
+ "deferred": "~0.6.5",
+ "rsvp": "~2.0.4",
+ "avow": "~2.0.1",
+ "jsdom": "~0.8.4",
+ "jquery-browserify": "~1.8.1",
+ "sinon": "~1.7.3",
+ "kew": "~0.2.2",
+ "browserify": "~2.35.0",
+ "concurrent": "~0.3.2",
+ "text-table": "~0.2.0",
+ "grunt-cli": "~0.1.9",
+ "jshint-stylish": "~0.1.3",
+ "semver-utils": "~1.1.0",
+ "rimraf": "~2.2.6",
+ "mkdirp": "~0.3.5"
+ },
+ "main": "./js/main/bluebird.js",
+ "_id": "bluebird@1.1.1",
+ "dist": {
+ "shasum": "744e9980145e2ebc41a9e34826f913096667fb33",
+ "tarball": "http://registry.npmjs.org/bluebird/-/bluebird-1.1.1.tgz"
+ },
+ "_from": "bluebird@~1.1.0",
+ "_npmVersion": "1.4.3",
+ "_npmUser": {
+ "name": "esailija",
+ "email": "petka_antonov@hotmail.com"
+ },
+ "maintainers": [
+ {
+ "name": "esailija",
+ "email": "petka_antonov@hotmail.com"
+ }
+ ],
+ "directories": {},
+ "_shasum": "744e9980145e2ebc41a9e34826f913096667fb33",
+ "_resolved": "https://registry.npmjs.org/bluebird/-/bluebird-1.1.1.tgz",
+ "readme": "ERROR: No README data found!"
+}
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/zalgo.js
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/zalgo.js b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/zalgo.js
new file mode 100644
index 0000000..1357352
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/bluebird/zalgo.js
@@ -0,0 +1 @@
+module.exports = require('./js/zalgo/bluebird.js');
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/commander/History.md
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/commander/History.md b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/commander/History.md
new file mode 100644
index 0000000..3a69559
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/commander/History.md
@@ -0,0 +1,239 @@
+
+2.7.1 / 2015-03-11
+==================
+
+ * Revert #347 (fix collisions when option and first arg have same name) which causes a bug in #367.
+
+2.7.0 / 2015-03-09
+==================
+
+ * Fix git-style bug when installed globally. Close #335 #349 @zhiyelee
+ * Fix collisions when option and first arg have same name. Close #346 #347 @tonylukasavage
+ * Add support for camelCase on `opts()`. Close #353 @nkzawa
+ * Add node.js 0.12 and io.js to travis.yml
+ * Allow RegEx options. #337 @palanik
+ * Fixes exit code when sub-command failing. Close #260 #332 @pirelenito
+ * git-style `bin` files in $PATH make sense. Close #196 #327 @zhiyelee
+
+2.6.0 / 2014-12-30
+==================
+
+ * added `Command#allowUnknownOption` method. Close #138 #318 @doozr @zhiyelee
+ * Add application description to the help msg. Close #112 @dalssoft
+
+2.5.1 / 2014-12-15
+==================
+
+ * fixed two bugs incurred by variadic arguments. Close #291 @Quentin01 #302 @zhiyelee
+
+2.5.0 / 2014-10-24
+==================
+
+ * add support for variadic arguments. Closes #277 @whitlockjc
+
+2.4.0 / 2014-10-17
+==================
+
+ * fixed a bug on executing the coercion function of subcommands option. Closes #270
+ * added `Command.prototype.name` to retrieve command name. Closes #264 #266 @tonylukasavage
+ * added `Command.prototype.opts` to retrieve all the options as a simple object of key-value pairs. Closes #262 @tonylukasavage
+ * fixed a bug on subcommand name. Closes #248 @jonathandelgado
+ * fixed function normalize doesn’t honor option terminator. Closes #216 @abbr
+
+2.3.0 / 2014-07-16
+==================
+
+ * add command alias'. Closes PR #210
+ * fix: Typos. Closes #99
+ * fix: Unused fs module. Closes #217
+
+2.2.0 / 2014-03-29
+==================
+
+ * add passing of previous option value
+ * fix: support subcommands on windows. Closes #142
+ * Now the defaultValue passed as the second argument of the coercion function.
+
+2.1.0 / 2013-11-21
+==================
+
+ * add: allow cflag style option params, unit test, fixes #174
+
+2.0.0 / 2013-07-18
+==================
+
+ * remove input methods (.prompt, .confirm, etc)
+
+1.3.2 / 2013-07-18
+==================
+
+ * add support for sub-commands to co-exist with the original command
+
+1.3.1 / 2013-07-18
+==================
+
+ * add quick .runningCommand hack so you can opt-out of other logic when running a sub command
+
+1.3.0 / 2013-07-09
+==================
+
+ * add EACCES error handling
+ * fix sub-command --help
+
+1.2.0 / 2013-06-13
+==================
+
+ * allow "-" hyphen as an option argument
+ * support for RegExp coercion
+
+1.1.1 / 2012-11-20
+==================
+
+ * add more sub-command padding
+ * fix .usage() when args are present. Closes #106
+
+1.1.0 / 2012-11-16
+==================
+
+ * add git-style executable subcommand support. Closes #94
+
+1.0.5 / 2012-10-09
+==================
+
+ * fix `--name` clobbering. Closes #92
+ * fix examples/help. Closes #89
+
+1.0.4 / 2012-09-03
+==================
+
+ * add `outputHelp()` method.
+
+1.0.3 / 2012-08-30
+==================
+
+ * remove invalid .version() defaulting
+
+1.0.2 / 2012-08-24
+==================
+
+ * add `--foo=bar` support [arv]
+ * fix password on node 0.8.8. Make backward compatible with 0.6 [focusaurus]
+
+1.0.1 / 2012-08-03
+==================
+
+ * fix issue #56
+ * fix tty.setRawMode(mode) was moved to tty.ReadStream#setRawMode() (i.e. process.stdin.setRawMode())
+
+1.0.0 / 2012-07-05
+==================
+
+ * add support for optional option descriptions
+ * add defaulting of `.version()` to package.json's version
+
+0.6.1 / 2012-06-01
+==================
+
+ * Added: append (yes or no) on confirmation
+ * Added: allow node.js v0.7.x
+
+0.6.0 / 2012-04-10
+==================
+
+ * Added `.prompt(obj, callback)` support. Closes #49
+ * Added default support to .choose(). Closes #41
+ * Fixed the choice example
+
+0.5.1 / 2011-12-20
+==================
+
+ * Fixed `password()` for recent nodes. Closes #36
+
+0.5.0 / 2011-12-04
+==================
+
+ * Added sub-command option support [itay]
+
+0.4.3 / 2011-12-04
+==================
+
+ * Fixed custom help ordering. Closes #32
+
+0.4.2 / 2011-11-24
+==================
+
+ * Added travis support
+ * Fixed: line-buffered input automatically trimmed. Closes #31
+
+0.4.1 / 2011-11-18
+==================
+
+ * Removed listening for "close" on --help
+
+0.4.0 / 2011-11-15
+==================
+
+ * Added support for `--`. Closes #24
+
+0.3.3 / 2011-11-14
+==================
+
+ * Fixed: wait for close event when writing help info [Jerry Hamlet]
+
+0.3.2 / 2011-11-01
+==================
+
+ * Fixed long flag definitions with values [felixge]
+
+0.3.1 / 2011-10-31
+==================
+
+ * Changed `--version` short flag to `-V` from `-v`
+ * Changed `.version()` so it's configurable [felixge]
+
+0.3.0 / 2011-10-31
+==================
+
+ * Added support for long flags only. Closes #18
+
+0.2.1 / 2011-10-24
+==================
+
+ * "node": ">= 0.4.x < 0.7.0". Closes #20
+
+0.2.0 / 2011-09-26
+==================
+
+ * Allow for defaults that are not just boolean. Default peassignment only occurs for --no-*, optional, and required arguments. [Jim Isaacs]
+
+0.1.0 / 2011-08-24
+==================
+
+ * Added support for custom `--help` output
+
+0.0.5 / 2011-08-18
+==================
+
+ * Changed: when the user enters nothing prompt for password again
+ * Fixed issue with passwords beginning with numbers [NuckChorris]
+
+0.0.4 / 2011-08-15
+==================
+
+ * Fixed `Commander#args`
+
+0.0.3 / 2011-08-15
+==================
+
+ * Added default option value support
+
+0.0.2 / 2011-08-15
+==================
+
+ * Added mask support to `Command#password(str[, mask], fn)`
+ * Added `Command#password(str, fn)`
+
+0.0.1 / 2010-01-03
+==================
+
+ * Initial release
http://git-wip-us.apache.org/repos/asf/cordova-firefoxos/blob/b2b43200/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/commander/LICENSE
----------------------------------------------------------------------
diff --git a/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/commander/LICENSE b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/commander/LICENSE
new file mode 100644
index 0000000..10f997a
--- /dev/null
+++ b/node_modules/node-firefox-find-devices/node_modules/adbkit/node_modules/commander/LICENSE
@@ -0,0 +1,22 @@
+(The MIT License)
+
+Copyright (c) 2011 TJ Holowaychuk <tj...@vision-media.ca>
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org