handle-arguments

Get separately non-callback arguments in
.arguments
and the last argument if it is-callback-function in.callback
. It also works like sliced, but returns object with.arguments
and.callback
properties.
Install
npm i handle-arguments --save
Usage
For more use-cases see the tests
const handleArguments =
handleArguments
Get separately non-callback arguments in
.arguments
, and the last function if it is-callback-function in.callback
. Signature is like sliced, it works almost the same way, but returns object with.arguments
and.callback
properties.
Params
argz
{Array|Arguments}: Arguments object or array to eat.names
{Array|Number}: If array directly passed to is-callback-function, otherwise to sliced.index
{Number}: Passed directly to sliced ifnumber
.returns
{Object}
Example
var handle = { return } {} {} console // => [1, 2, 3, 4]console // => false console // => [1, 2]console // => [Function: cb] console // => [1, 2, noop]console // => false // treat functions named `noop` or `foo` as callback { return } console // => [1, 2, 3]console // => [Function: noop]
Instead of commonly used and wrong pattern
It is part of "Optiomization Killers" and needed very much, so we need correct pattern to reuse.
{ var args = slice var len = argslength var callback = argslen - 1 if typeof callback === 'function' args = args callback return args}
Related
- arr-includes: Return true if any of passed values exists in array. Using in-array. | homepage
- common-callback-names: List of common callback names - callback, cb, callback_, next, done. | homepage
- function-arguments: Get arguments of a function, useful for and used in dependency injectors.… more | homepage
- get-fn-name: Get function name with strictness and correctness in mind. Also works for… more | homepage
- is-async-function: Is function really asynchronous function? Trying to guess that based on check… more | homepage
- is-callback-function: Returns true if function is a callback. Checks its name is one… more | homepage
- parse-function: Parse a function, arrow function or string to object with name, args,… more | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.