JSPM

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

Handles given Arguments object - return separatly last argument (commonly callback) and other arguments as Array. Useful in node-style callback flow.

Package Exports

  • handle-arguments

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

Readme

npm standard style build status coverage status deps status

Handles given Arguments object - return separatly last argument (commonly callback) and other arguments as Array. Useful in node-style callback flow.

Install

npm install handle-arguments --save
npm test

API

For more use-cases see the tests

handleArguments

  • <argsObject> {Arguments} the arguments object
  • return {Object}
    • callback {Function} last argument if function or undefined
    • cb {Function} alias of callback
    • arguments {Array} all arguments without last (the callback)
    • args {Array} alias of arguments

Example:

var handleArguments = require('handle-arguments')

function fixture() {
  return handleArguments(arguments)
}

console.log(fixture(1, 2, 3))
//=> {callback: undefined, cb: undefined
// arguments: [1, 2, 3], args: [1, 2, 3]}

console.log(fixture(1, 2, function _callback_ () {}))
//=> {callback: [Function: _callback_], cb: [Function: _callback_],
// arguments: [1, 2], args: [1, 2]}

instead of commonly used pattern

function fixture() {
  var args = [].slice.call(arguments)
  var len = args.length
  var callback = args[len - 1]

  if (typeof callback === 'function') {
    args = args.slice(0, -1)
    callback.apply(undefined, [null].concat(args))
  }
  return args
}

Or more real world examples callback-and-promise, thenify, thenify-all and a lot more...

  • async-exec-cmd: Simple, fast, flexible and cross-platform async executing commands (with node-cross-spawn).
  • cross-spawn: Cross platform child_process#spawn
  • exec-cmd: Flexible and cross-platform executing commands. Hybrid. Async and Promise API.
  • hybridify: Building hybrid APIs. You can use both callback and promise in same time. Like… more
  • handle-callback: Initial step for creating hybrid APIs, used by hybridify. Handle callback in promise - give… more
  • is-missing: Check that given name or user/repo exists in npm registry or in github as user… more
  • npm-pkgs-filter: Filter the list of user npm packages from the npmjs.com using glob pattern, function, array… more

Author

Charlike Mike Reagent

License MIT license

Copyright (c) 2015 Charlike Mike Reagent, contributors.
Released under the MIT license.


Proudly generated by docks(1) on May 9, 2015.