Tons of Solutions Engineering work done today for the rest of the CS team! Headway, Howard Hanna, Engels, Brighton, etc. Also completed Datasnippers auth flow and worked on Anthology's script. Cloned Anthology's courses (900..) and will clone Full Story on Monday.
This commit is contained in:
53
Scripts/node_modules/yargs/index.cjs
generated
vendored
Normal file
53
Scripts/node_modules/yargs/index.cjs
generated
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
'use strict';
|
||||
// classic singleton yargs API, to use yargs
|
||||
// without running as a singleton do:
|
||||
// require('yargs/yargs')(process.argv.slice(2))
|
||||
const {Yargs, processArgv} = require('./build/index.cjs');
|
||||
|
||||
Argv(processArgv.hideBin(process.argv));
|
||||
|
||||
module.exports = Argv;
|
||||
|
||||
function Argv(processArgs, cwd) {
|
||||
const argv = Yargs(processArgs, cwd, require);
|
||||
singletonify(argv);
|
||||
// TODO(bcoe): warn if argv.parse() or argv.argv is used directly.
|
||||
return argv;
|
||||
}
|
||||
|
||||
function defineGetter(obj, key, getter) {
|
||||
Object.defineProperty(obj, key, {
|
||||
configurable: true,
|
||||
enumerable: true,
|
||||
get: getter,
|
||||
});
|
||||
}
|
||||
function lookupGetter(obj, key) {
|
||||
const desc = Object.getOwnPropertyDescriptor(obj, key);
|
||||
if (typeof desc !== 'undefined') {
|
||||
return desc.get;
|
||||
}
|
||||
}
|
||||
|
||||
/* Hack an instance of Argv with process.argv into Argv
|
||||
so people can do
|
||||
require('yargs')(['--beeble=1','-z','zizzle']).argv
|
||||
to parse a list of args and
|
||||
require('yargs').argv
|
||||
to get a parsed version of process.argv.
|
||||
*/
|
||||
function singletonify(inst) {
|
||||
[
|
||||
...Object.keys(inst),
|
||||
...Object.getOwnPropertyNames(inst.constructor.prototype),
|
||||
].forEach(key => {
|
||||
if (key === 'argv') {
|
||||
defineGetter(Argv, key, lookupGetter(inst, key));
|
||||
} else if (typeof inst[key] === 'function') {
|
||||
Argv[key] = inst[key].bind(inst);
|
||||
} else {
|
||||
defineGetter(Argv, '$0', () => inst.$0);
|
||||
defineGetter(Argv, 'parsed', () => inst.parsed);
|
||||
}
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user