Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

qq

kriskowal5.6k0.3.5

Out of service - A heavy-weight library for promises, based on Q

readme

changelog

vim:ts=4:sts=4:sw=4:et:tw=60

0.3.2

  • Synchronized Q dependency for bug fix to thenable assimilation.

0.3.1

  • Added support for RequireJS.
  • Stopped depending on Q to provide a shim for Array.prototype.reduce since that shim added an enumerable property in older engines.

0.1.3

  • Added Array.isArray shim.
  • Fixed deep and shallow such as to only consolidate owned properties.

0.1.2

  • Altered deep and shallow to modify deep promises in-place instead of creating new objects. This should reduce some churn and make certain use-cases shorter. Now operates on all enumerable keys instead of merely those that are owned. The consolidate function shrank considerably by conflating the cases for Arrays and Objects.

0.1.1

  • Added Lazy constructor for wrapping promises for objects that eventually resolve to known types. The wrapped promise object is both a promise and a proxy for all of the known methods for the eventual object, where each of these methods always returns a promise.

============================================================

Broken off of the Q Library

0.4.0 - BACKWARD INCOMPATIBLE*

  • *Removed the utility modules. NPM and Node no longer expose any module except the main module. These have been moved and merged into the "qq" package.
  • *In a non-CommonJS browser, q.js can be used as a script. It now creates a Q global variable.
  • Fixed thenable assimilation.
  • Fixed some issues with asap, when it resolves to undefined, or throws an exception.

0.3.0 - BACKWARD-INCOMPATIBLE

  • The post method has been reverted to its original signature, as provided in Tyler Close's ref_send API. That is, post accepts two arguments, the second of which is an arbitrary object, but usually invocation arguments as an Array. To provide variadic arguments to post, there is a new invoke function that posts the variadic arguments to the value given in the first argument.
  • The defined method has been moved from q to q/util since it gets no use in practice but is still theoretically useful.
  • The Promise constructor has been renamed to makePromise to be consistent with the convention that functions that do not require the new keyword to be used as constructors have camelCase names.
  • The isResolved function has been renamed to isFulfilled. There is a new isResolved function that indicates whether a value is not a promise or, if it is a promise, whether it has been either fulfilled or rejected. The code has been revised to reflect this nuance in terminology.

0.2.10

  • Added join to "q/util" for variadically joining multiple promises.

0.2.9

  • The future-compatible invoke method has been added, to replace post, since post will become backward- incompatible in the next major release.
  • Exceptions thrown in the callbacks of a when call are now emitted to Node's "uncaughtException" process event in addition to being returned as a rejection reason.

0.2.8

  • Exceptions thrown in the callbacks of a when call are now consumed, warned, and transformed into rejections of the promise returned by when.

0.2.7

  • Fixed a minor bug in thenable assimilation, regressed because of the change in the forwarding protocol.
  • Fixed behavior of "q/util" deep method on dates and other primitives. Github issue #11.

0.2.6

  • Thenables (objects with a "then" method) are accepted and provided, bringing this implementation of Q into conformance with Promises/A, B, and D.
  • Added makePromise, to replace the Promise function eventually.
  • Rejections are now also duck-typed. A rejection is a promise with a valueOf method that returns a rejection descriptor. A rejection descriptor has a "promiseRejected" property equal to "true" and a "reason" property corresponding to the rejection reason.
  • Altered the makePromise API such that the fallback method no longer receives a superfluous resolved method after the operator. The fallback method is responsible only for returning a resolution. This breaks an undocumented API, so third-party API's depending on the previous undocumented behavior may break.

0.2.5

  • Changed promises into a duck-type such that multiple instances of the Q module can exchange promise objects. A promise is now defined as "an object that implements the promiseSend(op, resolved, ...) method and valueOf".
  • Exceptions in promises are now captured and returned as rejections.

0.2.4

  • Fixed bug in ref that prevented del messages from being received (gozala)
  • Fixed a conflict with FireFox 4; constructor property is now read-only.

0.2.3

  • Added keys message to promises and to the promise API.

0.2.2

  • Added boilerplate to q/queue and q/util.
  • Fixed missing dependency to q/queue.

0.2.1

  • The resolve and reject methods of defer objects now return the resolution promise for convenience.
  • Added q/util, which provides step, delay, shallow, deep, and three reduction orders.
  • Added q/queue module for a promise Queue.
  • Added q-comm to the list of compatible libraries.
  • Deprecated defined from q, with intent to move it to q/util.

0.2.0 - BACKWARD INCOMPATIBLE

  • Changed post(ref, name, args) to variadic post(ref, name, ...args). BACKWARD INCOMPATIBLE
  • Added a def(value) method to annotate an object as being necessarily a local value that cannot be serialized, such that inter-process/worker/vat promise communication libraries will send messages to it, but never send it back.
  • Added a send(value, op, ...args) method to the public API, for forwarding messages to a value or promise in a future turn.

0.1.9

  • Added isRejected() for testing whether a value is a rejected promise. isResolved() retains the behavior of stating that rejected promises are not resolved.

0.1.8

  • Fixed isResolved(null) and isResolved(undefined) [issue #9]
  • Fixed a problem with the Object.create shim

0.1.7

  • shimmed ES5 Object.create in addition to Object.freeze for compatibility on non-ES5 engines (gozala)

0.1.6

  • Q.isResolved added
  • promise.valueOf() now returns the value of resolved and near values
  • asap retried
  • promises are frozen when possible

0.1.5

  • fixed dependency list for Teleport (gozala)
  • all unit tests now pass (gozala)

0.1.4

  • added support for Teleport as an engine (gozala)
  • simplified and updated methods for getting internal print and enqueue functions universally (gozala)

0.1.3

  • fixed erroneous link to the q module in package.json

0.1.2

  • restructured for overlay style package compatibility

0.1.0

  • removed asap because it was broken, probably down to the philosophy.

0.0.3

  • removed q-util
  • fixed asap so it returns a value if completed

0.0.2

  • added q-util

0.0.1

  • initial version