Socket
Socket
Sign inDemoInstall

q

Package Overview
Dependencies
Maintainers
2
Versions
76
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

q - npm Package Compare versions

Comparing version 2.0.1 to 2.0.2

test/pass-test.js

11

package.json
{
"name": "q",
"version": "2.0.1",
"version": "2.0.2",
"publishConfig": {
"tag": "future"
},
"description": "A library for promises (CommonJS/Promises/A,B,D)",

@@ -41,7 +44,7 @@ "homepage": "https://github.com/kriskowal/q",

"asap": "^1.0.0",
"collections": "^2.0.0"
"collections": ">=2.0.1 <3.0.0"
},
"devDependencies": {
"jshint": "^2.4.4",
"jasminum": "^2.0.1",
"jasminum": ">=2.0.5 <3.0.0",
"opener": "^1.3.0",

@@ -61,3 +64,3 @@ "promises-aplus-tests": "^1.0.2",

"lint": "jshint q.js",
"test": "npm run lint && jasminum test && promises-aplus-tests test/aplus-adapter",
"test": "npm run lint && jasminum test && npm run test:phantom && promises-aplus-tests test/aplus-adapter",
"test:phantom": "jasminum-phantom test",

@@ -64,0 +67,0 @@ "cover": "istanbul cover test/index.js && istanbul report html && opener coverage/index.html",

163

q.js

@@ -1,2 +0,2 @@

// vim:ts=4:sts=4:sw=4:
/* vim:ts=4:sts=4:sw=4: */
/*!

@@ -184,3 +184,3 @@ *

function Q_inspect(promise) {
function Q_getHandler(promise) {
var handler = handlers.get(promise);

@@ -206,3 +206,3 @@ if (!handler || !handler.became) {

var theViciousCycleRejection = Q_reject(theViciousCycleError);
var theViciousCycle = Q_inspect(theViciousCycleRejection);
var theViciousCycle = Q_getHandler(theViciousCycleRejection);

@@ -329,3 +329,3 @@ var thenables = new WeakMap();

Q_isPromise(promise) &&
(handler = Q_inspect(promise)).state === "fulfilled"
(handler = Q_getHandler(promise)).state === "fulfilled"
) {

@@ -630,3 +630,3 @@ answers[index] = handler.value;

var deferred = defer();
handler = Q_inspect(deferred.promise);
handler = Q_getHandler(deferred.promise);
try {

@@ -712,3 +712,3 @@ setup(deferred.resolve, deferred.reject, deferred.setEstimate);

// handler.
return Q_inspect(this).inspect();
return Q_getHandler(this).inspect();
};

@@ -720,3 +720,3 @@

Promise.prototype.isPending = function Promise_isPending() {
return Q_inspect(this).state === "pending";
return Q_getHandler(this).state === "pending";
};

@@ -729,3 +729,3 @@

Promise.prototype.isFulfilled = function Promise_isFulfilled() {
return Q_inspect(this).state === "fulfilled";
return Q_getHandler(this).state === "fulfilled";
};

@@ -738,6 +738,13 @@

Promise.prototype.isRejected = function Promise_isRejected() {
return Q_inspect(this).state === "rejected";
return Q_getHandler(this).state === "rejected";
};
/**
* TODO
*/
Promise.prototype.toBePassed = function Promise_toBePassed() {
return Q_getHandler(this).state === "passed";
};
/**
* @returns {string} merely `"[object Promise]"`

@@ -873,3 +880,3 @@ */

Q_inspect(self).dispatch(_fulfilled, "then", [_rejected]);
Q_getHandler(self).dispatch(_fulfilled, "then", [_rejected]);
});

@@ -956,3 +963,3 @@ };

Promise.prototype.observeEstimate = function Promise_observeEstimate(emit) {
this.dispatch("estimate", [emit]);
this.rawDispatch(null, "estimate", [emit]);
return this;

@@ -965,3 +972,3 @@ };

Promise.prototype.getEstimate = function Promise_getEstimate() {
return Q_inspect(this).estimate;
return Q_getHandler(this).estimate;
};

@@ -983,3 +990,3 @@

asap(function Promise_dispatch_task() {
Q_inspect(self).dispatch(resolve, op, args);
Q_getHandler(self).dispatch(resolve, op, args);
});

@@ -991,4 +998,4 @@ };

*/
Promise.prototype.get = function Promise_get(key) {
return this.dispatch("get", [key]);
Promise.prototype.get = function Promise_get(name) {
return this.dispatch("get", [name]);
};

@@ -1118,3 +1125,14 @@

/**
* TODO
*/
Promise.prototype.pass = function Promise_pass() {
if (!this.toBePassed()) {
return new Promise(new Passed(this));
} else {
return this;
}
};
// Thus begins the portion dedicated to the deferred

@@ -1146,3 +1164,3 @@

Deferred.prototype.resolve = function Deferred_resolve(value) {
var handler = Q_inspect(promises.get(this));
var handler = Q_getHandler(promises.get(this));
if (!handler.messages) {

@@ -1158,3 +1176,3 @@ return;

Deferred.prototype.reject = function Deferred_reject(reason) {
var handler = Q_inspect(promises.get(this));
var handler = Q_getHandler(promises.get(this));
if (!handler.messages) {

@@ -1177,3 +1195,3 @@ return;

}
var handler = Q_inspect(promises.get(this));
var handler = Q_getHandler(promises.get(this));
// TODO There is a bit of capability leakage going on here. The Deferred

@@ -1241,12 +1259,34 @@ // should only be able to set the estimate for its original

Fulfilled.prototype.invoke = function Fulfilled_invoke(
name, args
) {
return this.value[name].apply(this.value, args);
Fulfilled.prototype.call = function Fulfilled_call(args, thisp) {
return this.callInvoke(this.value, args, thisp);
};
Fulfilled.prototype.call = function Fulfilled_call(args, thisp) {
return this.value.apply(thisp, args);
Fulfilled.prototype.invoke = function Fulfilled_invoke(name, args) {
return this.callInvoke(this.value[name], args, this.value);
};
Fulfilled.prototype.callInvoke = function Fulfilled_callInvoke(callback, args, thisp) {
var waitToBePassed;
for (var index = 0; index < args.length; index++) {
if (Q_isPromise(args[index]) && args[index].toBePassed()) {
waitToBePassed = waitToBePassed || [];
waitToBePassed.push(args[index]);
}
}
if (waitToBePassed) {
var self = this;
return Q_all(waitToBePassed).then(function () {
return self.callInvoke(callback, args.map(function (arg) {
if (Q_isPromise(arg) && arg.toBePassed()) {
return arg.inspect().value;
} else {
return arg;
}
}), thisp);
});
} else {
return callback.apply(thisp, args);
}
};
Fulfilled.prototype.keys = function Fulfilled_keys() {

@@ -1337,3 +1377,3 @@ return Object.keys(this.value);

this.became = theViciousCycle;
var handler = Q_inspect(promise);
var handler = Q_getHandler(promise);
this.became = handler;

@@ -1348,3 +1388,3 @@

asap(function Pending_become_eachMessage_task() {
var handler = Q_inspect(promise);
var handler = Q_getHandler(promise);
handler.dispatch.apply(handler, message);

@@ -1393,3 +1433,3 @@ });

});
this.became = Q_inspect(deferred.promise);
this.became = Q_getHandler(deferred.promise);
}

@@ -1404,2 +1444,17 @@ return this.became;

function Passed(promise) {
this.promise = promise;
}
Passed.prototype.state = "passed";
Passed.prototype.inspect = function Passed_inspect() {
return this.promise.inspect();
};
Passed.prototype.dispatch = function Passed_dispatch(resolve, op, args) {
return this.promise.rawDispatch(resolve, op, args);
};
// Thus begins the Q Node.js bridge

@@ -1423,3 +1478,3 @@

var deferred = Q.defer();
args[index - 2] = makeNodebackResolver(deferred.resolve);
args[index - 2] = deferred.makeNodeResolver();
Q(object).dispatch("invoke", [name, args]).catch(deferred.reject);

@@ -1429,2 +1484,13 @@ return deferred.promise;

Promise.prototype.ninvoke = function Promise_ninvoke(name /*...args*/) {
var args = new Array(arguments.length);
for (var index = 1; index < arguments.length; index++) {
args[index - 1] = arguments[index];
}
var deferred = Q.defer();
args[index - 1] = deferred.makeNodeResolver();
this.dispatch("invoke", [name, args]).catch(deferred.reject);
return deferred.promise;
};
/**

@@ -1446,3 +1512,3 @@ * Wraps a Node.js continuation passing function and returns an equivalent

var deferred = Q.defer();
args[index] = makeNodebackResolver(deferred.resolve, pattern);
args[index] = deferred.makeNodeResolver(pattern);
Q(callback).apply(this, args).catch(deferred.reject);

@@ -1456,8 +1522,13 @@ return deferred.promise;

* promise.
* TODO
* @param unpack `true` means that the Node.js-style-callback accepts a
* fixed or variable number of arguments and that the deferred should be resolved
* with an array of these value arguments, or rejected with the error argument.
* An array of names means that the Node.js-style-callback accepts a fixed
* number of arguments, and that the resolution should be an object with
* properties corresponding to the given names and respective value arguments.
* @returns a nodeback
* @private
*/
function makeNodebackResolver(resolve, names) {
if (names === true) {
Deferred.prototype.makeNodeResolver = function (unpack) {
var resolve = this.resolve;
if (unpack === true) {
return function variadicNodebackToResolver(error) {

@@ -1474,3 +1545,3 @@ if (error) {

};
} else if (names) {
} else if (unpack) {
return function namedArgumentNodebackToResolver(error) {

@@ -1481,4 +1552,4 @@ if (error) {

var value = {};
for (var index in names) {
value[names[index]] = arguments[index + 1];
for (var index in unpack) {
value[unpack[index]] = arguments[index + 1];
}

@@ -1497,3 +1568,3 @@ resolve(value);

}
}
};

@@ -1685,3 +1756,3 @@ /**

var nodeArgs = Array.prototype.slice.call(args);
nodeArgs.push(makeNodebackResolver(deferred.resolve));
nodeArgs.push(deferred.makeNodeResolver());
Q(callback).apply(this, nodeArgs).catch(deferred.reject);

@@ -1713,3 +1784,3 @@ return deferred.promise;

var deferred = Q.defer();
nodeArgs.push(makeNodebackResolver(deferred.resolve));
nodeArgs.push(deferred.makeNodeResolver());
Q(callback).apply(this, nodeArgs).catch(deferred.reject);

@@ -1733,3 +1804,3 @@ return deferred.promise;

var deferred = Q.defer();
nodeArgs.push(makeNodebackResolver(deferred.resolve));
nodeArgs.push(deferred.makeNodeResolver());
function bound() {

@@ -1745,3 +1816,3 @@ return callback.apply(thisp, arguments);

var deferred = Q.defer();
nodeArgs.push(makeNodebackResolver(deferred.resolve));
nodeArgs.push(deferred.makeNodeResolver());
Q(object).dispatch("invoke", [name, nodeArgs]).catch(deferred.reject);

@@ -1755,12 +1826,2 @@ return deferred.promise;

Q.makeNodeResolver = deprecate(makeNodebackResolver, "makeNodeResolver");
Promise.prototype.ninvoke = deprecate(function (name) {
var args = new Array(arguments.length - 1);
for (var index = 1; index < arguments.length; index++) {
args[index - 1] = arguments[index];
}
return Q.npost(this, name, args);
}, "ninvoke", "Q.ninvoke");
Q.nmapply = deprecate(Q.nmapply, "nmapply", "q/node nmapply");

@@ -1767,0 +1828,0 @@ Promise.prototype.nmapply = deprecate(Promise.prototype.npost, "nmapply", "Q.nmapply");

@@ -216,3 +216,3 @@

var deferred = Q.defer();
var callback = Q.makeNodeResolver(deferred.resolve);
var callback = deferred.makeNodeResolver();
callback(null, 10);

@@ -227,3 +227,3 @@ deferred.promise.then(function (value) {

var deferred = Q.defer();
var callback = Q.makeNodeResolver(deferred.resolve);
var callback = deferred.makeNodeResolver();
var exception = new Error("Holy Exception of Anitoch");

@@ -230,0 +230,0 @@ callback(exception);

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc