Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
normalize an object/array where some values might be boxed within a promise
JavaScript
tag: 0.4.6

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
test
.gitignore
.npmignore
License
Makefile
Readme.md
component.json
deep.js
index.js
package.json

Readme.md

when-all

normalize an object/array where some value may be wrapped in Results

Installation

With component, packin

$ {package mananger} install jkroso/when-all

With npm

$ npm install --save when-all

then in your app:

var all = require('when-all')

API

all(x)

Create a Result for a new x with all values lifted out of their Results

all([
  getPage('google.com'),
  getPage('google.co.nz')
]).then(compare)
all({
  usa: getPage('google.com'),
  nz: getPage('google.co.nz')
}).then(compare)

Example

You could decorate a function so it can take Results as arguments.

var all = require('when-all')

function decorate(fn) {
  return function(){
    var self = this
    return all(arguments).then(function(args){
      return fn.apply(self, args)
    })
  }
}

var asyncCompare = decorate(compare)
asyncCompare(
  getPage('google.com'),
  getPage('google.co.nz')
)

Running the tests

$ make

Then open your browser to.

Something went wrong with that request. Please try again.