Security update to Drupal 8.4.6
[yaffs-website] / node_modules / yargs / index.js
1 // classic singleton yargs API, to use yargs
2 // without running as a singleton do:
3 // require('yargs/yargs')(process.argv.slice(2))
4 const yargs = require('./yargs')
5
6 Argv(process.argv.slice(2))
7
8 module.exports = Argv
9
10 function Argv (processArgs, cwd) {
11   const argv = yargs(processArgs, cwd, require)
12   singletonify(argv)
13   return argv
14 }
15
16 /*  Hack an instance of Argv with process.argv into Argv
17     so people can do
18     require('yargs')(['--beeble=1','-z','zizzle']).argv
19     to parse a list of args and
20     require('yargs').argv
21     to get a parsed version of process.argv.
22 */
23 function singletonify (inst) {
24   Object.keys(inst).forEach(function (key) {
25     if (key === 'argv') {
26       Argv.__defineGetter__(key, inst.__lookupGetter__(key))
27     } else {
28       Argv[key] = typeof inst[key] === 'function' ? inst[key].bind(inst) : inst[key]
29     }
30   })
31 }