diff options
author | Minteck <contact@minteck.org> | 2021-12-21 16:50:49 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2021-12-21 16:50:49 +0100 |
commit | 20204baf1807825af4798ad03bfb329e4da05bc5 (patch) | |
tree | 1568515fa1e4592206ed5d2327b39e6b443cbd03 /node_modules/utile/lib/args.js | |
download | bingoloto-remote-20204baf1807825af4798ad03bfb329e4da05bc5.tar.gz bingoloto-remote-20204baf1807825af4798ad03bfb329e4da05bc5.tar.bz2 bingoloto-remote-20204baf1807825af4798ad03bfb329e4da05bc5.zip |
Commit
Diffstat (limited to 'node_modules/utile/lib/args.js')
-rw-r--r-- | node_modules/utile/lib/args.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/node_modules/utile/lib/args.js b/node_modules/utile/lib/args.js new file mode 100644 index 0000000..b4b92b8 --- /dev/null +++ b/node_modules/utile/lib/args.js @@ -0,0 +1,46 @@ +/* + * args.js: function argument parsing helper utility + * + * (C) 2011, Charlie Robbins & the Contributors + * MIT LICENSE + * + */ + +var utile = require('./index'); + +// +// ### function args(_args) +// #### _args {Arguments} Original function arguments +// +// Top-level method will accept a javascript "arguments" object (the actual keyword +// "arguments" inside any scope), and attempt to return back an intelligent object +// representing the functions arguments +// +module.exports = function (_args) { + var args = utile.rargs(_args), + _cb; + + // + // Find and define the first argument + // + Object.defineProperty(args, 'first', { value: args[0] }); + + // + // Find and define any callback + // + _cb = args[args.length - 1] || args[args.length]; + if (typeof _cb === "function") { + Object.defineProperty(args, 'callback', { value: _cb }); + Object.defineProperty(args, 'cb', { value: _cb }); + args.pop(); + } + + // + // Find and define the last argument + // + if (args.length) { + Object.defineProperty(args, 'last', { value: args[args.length - 1] }); + } + + return args; +}; |