JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 14200
  • Score
    100M100P100Q139410F
  • License MIT

Doubly linked list implementation for JavaScript with array-like interface

Package Exports

  • doublylinked

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 (doublylinked) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

doublylinked

NPM Version NPM Downloads Build Status Test Coverage Dependencies DevDependencies

About

Doubly Circular linked list implementation for JavaScript with iterator and array-like interface

Installation

  • npm install doublylinked --save

Simple example

}

tasks: An array of functions to run.

callback: An optional callback to run once all the functions have completed. This will be passed the results of the last task's callback.

Each function calls callback(err, result1, result2, ...) to step through next function in array. Callback's first argument must be error or null. After than first argument values are moved to next functions. If error value is not null, waterfall skips next functions and calls result callback.

const waterfall = require('doublylinked');
waterfall([
  function(next) {
    console.log('started');
    next(null, 1, 2);
  },
  function(next, arg1, arg2) {
    let sum = arg1 + arg2;
    console.log('Current sum: ', sum);
    next(null, sum, 3, 4);
  },
  function(next, arg1, arg2, arg3) {
    let sum = arg1 + arg2 + arg3;
    console.log('Current sum: ', sum);
    // arg1 now equals 'three'
    next(null, sum + 10);
  }
], function(err, result) {
  if (err)
    console.error(err);
  else
    console.log('Result: ', result);
});

Result output

started
Current sum:  3
Current sum:  10
Result:  20

waterfall.every(array, fn, callback)

array: Any array

fn: Function to be called for every value. `fn(next, value, index)

callback: An optional callback to run once iteration completed.

const waterfall = require('doublylinked');
var total = 0;
waterfall.every([1, 2, 3, 4],
    function(next, val) {
      total += val;
      next(null);
    },
    function(err) {
      console.log('Total: ' + total);      
    });

Result output

Total: 10

Node Compatibility

  • node >= 4.0;

License

MIT