Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | 1x 1x 1x 1x 1x 1x 1x 9x 9x 9x 414x 288x 126x 126x 9x 9x 9x 1x 1x | import { Flag, PUBLIC_FLAGS } from '../entities/public-flags'; import { CLIProgram } from '../entities/cli-program'; export class SetupFlags { private static instance: SetupFlags; public program: CLIProgram; public programOptions; constructor() { this.program = require('commander'); } public static getInstance() { Eif (!SetupFlags.instance) { SetupFlags.instance = new SetupFlags(); } return SetupFlags.instance; } public setup(pkg): CLIProgram { this.program.version(pkg.version).usage('<src> [options]'); PUBLIC_FLAGS.forEach((publicFlag: Flag) => { if (publicFlag.hasOwnProperty('defaultValue')) { this.program.option( publicFlag.flag, publicFlag.description, publicFlag.defaultValue ); } else Iif (publicFlag.parsingFunction) { const defaultValue = publicFlag.stringifyDefaultValue ? JSON.stringify(publicFlag.defaultValue) : publicFlag.defaultValue; this.program.option( publicFlag.flag, publicFlag.description, publicFlag.parsingFunction, defaultValue ); } else { this.program.option(publicFlag.flag, publicFlag.description); } }); this.program.parse(process.argv); this.programOptions = this.program.opts(); /** * TODO : return something wrapping program and handling internal configuration */ return this.programOptions; } } export default SetupFlags.getInstance(); |