Not a Propaganda Machine

    asunder

    0.1.0 • Public • Published

    asunder

    A small library useful for splitting apart callbacks by their arguments.

    Supports node.js require, AMD define, or no module loader at all (in the browser).

    Install

    npm install asunder
    

    Example

    var a = require('asunder');
    var fs = require('fs');
     
    fs.readFile('./node_modules/asunder.js', a.split(onError, onData));
     
    function onError(err) {
      // oh noes
    }
     
    function onData(data) {
      // oh yiss
    }
     
    // This will print 0 1 2 3 4 to the console (with newlines between).
    [1,2,3,4,5].forEach(a.sarg(printIndex));
     
    function printIndex(index) {
      console.log(index);
    }
     

    Methods

    asunder.args(fn, start, [end], [context])

    Returns a function that when called, will execute fn with arguments starting at the zero-based index of start and optionally ending at the argument index before end. Think of it like calling Array.prototype.slice on a set of arguments to pass along to fn, because really, that's all this is doing. Optionally define a context in which to call fn.

    asunder.withArgs(start, [end])

    A helper method to generate aliased asunder.args functions. For example, asunder.farg, asunder.sarg and asunder.targ are just asunder.withArgs(0), asunder.withArgs(1), and asunder.withArgs(2) respectively.

    Example:

    /* aliases for first, second, and third arguments */
    asunder.farg = asunder.withArgs(0);
    asunder.sarg = asunder.withArgs(1);
    asunder.targ = asunder.withArgs(2);

    asunder.farg(fn, [context])

    Returns a function that when called, will exectute fn with the first argument passed in, ignoring all other arguments. Optionally, fn can be called with a context.

    asunder.sarg(fn, [context])

    The same as asunder.farg but uses the second argument passed in.

    asunder.targ(fn, [context])

    The same as asunder.farg but uses the third argument passed in.

    asunder.split(fn1, fn2, ..., fnn)

    Returns a function that splits up the passed in arguments and calls them with a given set of functions. If fewer functions are provided than arguments passed in, the last function will be called with all remaining arguments.

    Example:

    var a = require('asunder');
     
    function multi(callback) {
      callback('a','b','c');
    }
     
    function log(n) {
      return function() {
        var args = Array.prototype.slice.call(arguments);
        console.log('args', n, ':', args.join(','));
      };
    }
     
    multi(a.split(log(1), log(2)));
     
    // will print:
    // a
    // b,c

    License

    MIT

    Install

    npm i asunder

    DownloadsWeekly Downloads

    1

    Version

    0.1.0

    License

    MIT

    Last publish

    Collaborators

    • mmaelzer