iterator-promise

0.1.1 • Public • Published

iterator-promise NPM version Build Status

Iterate over a stack of functions.

This module works with loader-cache but it can also used by itself or with other modules.

Install

Install with npm

$ npm i iterator-promise --save

Usage

var iterator = require('iterator-promise');

API

iterator

Iterate over a stack of promise functions passing the results of each function to the next function in the stack.

Params

  • stack {Array}: Array of functions to call.
  • returns {Function}: Returns a function that will iterator over the given stack of functions.
var fs = require('fs');
var iterator = require('iterator-promise');
var Promise = require('bluebird');
Promise.promisifyAll(fs);
 
var stack = [
  Promise.method(function (fp) {
    return fs.readFileAsync(fp, 'utf8');
  }),
  Promise.method(function (contents) {
    return JSON.parse(contents);
  })
];
 
var readJSON = iterator(stack);
readJSON('./package.json')
  .then(function (pkg) {
    pkg.a = 'b';
    return pkg;
  })
  .then(function (pkg) {
    pkg.c = 'd';
    return pkg;
  })
  .then(function (pkg) {
    console.log(pkg);
  });

Related projects

  • bluebird: Full featured Promises/A+ implementation with exceptionally good performance
  • iterator-async: Iterate over a stack of async functions.
  • iterator-streams: Iterator over a stack of functions.
  • iterator-sync: Iterate over a stack of functions.
  • loader-cache: Register loader functions that dynamically read, parse or otherwise transform file contents when the name… more

Running tests

Install dev dependencies:

$ npm i -d && npm test

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue

Author

Brian Woodward

License

Copyright © 2015 Brian Woodward Released under the MIT license.


This file was generated by verb-cli on June 19, 2015.

Package Sidebar

Install

npm i iterator-promise

Weekly Downloads

6

Version

0.1.1

License

MIT

Last publish

Collaborators

  • jonschlinkert
  • doowb