Sweetly small promises/a+ implementation.

Pinky is not actively maintained anymore (bugfixes will still be released). The author moved to working on data.future. If you want Promises/A+, check out bluebird.
Last updated 6 years ago by killdream .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install pinky 
SYNC missed versions from official npm registry.


Build Status Dependencies Status

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.


var pinky = require('pinky')

var eventual = pinky()
var eventual2 = eventual.then( function(a){ return a + 1 }
                             , function(a){ return a - 1 })

eventual2.then( console.log.bind(console, 'ok:')
              , console.log.bind(console, 'failed:'))
// => ok: 11


Just grab it from NPM:

$ npm install pinky


Tests only run on Node right now, so just:

$ npm test

A 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.


A quick reference of the API can be built using Calliope:

$ npm install -g calliope
$ calliope build


You can run all tests using Mocha:

$ npm test


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.

Current Tags

  • 1.0.0                                ...           latest (6 years ago)

5 Versions

  • 1.0.0 [deprecated]           ...           6 years ago
  • 0.1.3 [deprecated]           ...           7 years ago
  • 0.1.2 [deprecated]           ...           8 years ago
  • 0.1.1 [deprecated]           ...           8 years ago
  • 0.1.0 [deprecated]           ...           8 years ago
Maintainers (1)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
Dev Dependencies (8)

Copyright 2014 - 2016 © |