Skip to content
normalize an object/array where some values might be boxed within a promise
JavaScript
Find file
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.