source: frontend/node_modules/yargs/index.cjs

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.0 KB
RevLine 
[9af201e]1'use strict';
2// classic singleton yargs API, to use yargs
3// without running as a singleton do:
4// require('yargs/yargs')(process.argv.slice(2))
5const {Yargs, processArgv} = require('./build/index.cjs');
6
7Argv(processArgv.hideBin(process.argv));
8
9module.exports = Argv;
10
11function Argv(processArgs, cwd) {
12 const argv = Yargs(processArgs, cwd, require);
13 singletonify(argv);
14 return argv;
15}
16
17/* Hack an instance of Argv with process.argv into Argv
18 so people can do
19 require('yargs')(['--beeble=1','-z','zizzle']).argv
20 to parse a list of args and
21 require('yargs').argv
22 to get a parsed version of process.argv.
23*/
24function singletonify(inst) {
25 Object.keys(inst).forEach(key => {
26 if (key === 'argv') {
27 Argv.__defineGetter__(key, inst.__lookupGetter__(key));
28 } else if (typeof inst[key] === 'function') {
29 Argv[key] = inst[key].bind(inst);
30 } else {
31 Argv.__defineGetter__('$0', () => {
32 return inst.$0;
33 });
34 Argv.__defineGetter__('parsed', () => {
35 return inst.parsed;
36 });
37 }
38 });
39}
Note: See TracBrowser for help on using the repository browser.