Package Exports
- pinky
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (pinky) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Pinky
Note: I'm not maintaining this library anymore, since Promises/A+ are broken for me. I recommend using monadic promises and monad combinators instead.
Sweetly small promises/a+ implementation.
Platform support
Should work fine in ES3.
Example
var pinky = require('pinky')
var eventual = pinky()
var eventual2 = eventual.then( function(a){ return a + 1 }
, function(a){ return a - 1 })
eventual.fulfill(10)
eventual2.then( console.log.bind(console, 'ok:')
, console.log.bind(console, 'failed:'))
// => ok: 11Installing
Just grab it from NPM:
$ npm install pinkyTests
Tests only run on Node right now, so just:
$ npm testA note on performance
The promises/a+ specification requires things to be asynchronous. To do that,
Pinky uses process.nextTick in Node.js, and setImmediate in a DOM
environment. However, setImmediate is a Microsoft thing, and it's unlikely to
be implemented anywhere else, and in that case we fall back to the slow
setTimeout. Thus, providing a fallback for setImmediate might speed things
up a bit.
Documentation
A quick reference of the API can be built using Calliope:
$ npm install -g calliope
$ calliope buildTests
You can run all tests using Mocha:
$ npm testLicence
MIT/X11. ie.: do whatever you want.
Why? WHY?
Most promise implementations I've seen plainly do way too much. OTOH Minimal promise implementations (like PinkySwear) provide a terrible API, which really sucks.
So, I wrote Pinky to be a minimal and fast baseline for extensions to promises/a+. Some implementation ideas are taken straight out from avow, btw, but I might revisit this in the future and try to optimise things.

