summaryrefslogtreecommitdiff
path: root/node_modules/utile/lib/args.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2021-12-21 16:50:49 +0100
committerMinteck <contact@minteck.org>2021-12-21 16:50:49 +0100
commit20204baf1807825af4798ad03bfb329e4da05bc5 (patch)
tree1568515fa1e4592206ed5d2327b39e6b443cbd03 /node_modules/utile/lib/args.js
downloadbingoloto-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.js46
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;
+};