optional-args
v2.2.1
Published
Wraps a function whose last argument is preceded by optional arguments so that when fewer arguments are passed in, missing optional arguments are filled in as `undefined`.
Downloads
187
Maintainers
Readme
optional-args
Wraps a function whose last argument is preceded by optional arguments so that when fewer arguments are passed in, missing optional arguments are filled in as undefined
.
The is useful for functions that have an API such as (input, options, cb)
, but the function allows options
to be omitted so that it can be called as (input, cb)
. Rather than having code that examines the arguments to make some optional, just wrap the function with optionalArgs()
and it will just work.
install
$ npm install optional-args
example
const optionalArgs = require('optional-args')
// 1 optional argument, 3 total arguments
const myFn = optionalArgs(1, 3, (input, options, cb) => {})
myFn(123, () => {})
// input === 123
// options === undefined
// typeof cb === 'function'
myFn(123)
// input === 123
// options === undefined
// cb === undefined
API
optionalArgs(optionalArgCount, argCount, fn)
optionalArgCount: number
the number of arguments that are optionalargCount: number
the total number of argumentsfn
acceptsfn: function
the function to be wrapped so that it has optional arguments- returns:
function
the wrapped function