JezK
Edit File: _build-sub-commands.js.map
{"version":3,"file":"_build-sub-commands.js","names":["rootCommandName","subCommands","usage","subCommandNames","Object","keys","map","hyphenate","setFlags","commander","join","run","config","reporter","flags","args","subName","camelCase","shift","command","res","Promise","resolve","length","error","lang","msg","reject","MessageError","hasWrapper","examples","cmd"],"sourceRoot":"../../../src","sources":["cli/commands/_build-sub-commands.js"],"sourcesContent":["/* @flow */\n\nimport type {Reporter} from '../../reporters/index.js';\nimport type Config from '../../config.js';\nimport type {CLIFunction} from '../../types.js';\nimport {MessageError} from '../../errors.js';\nimport {camelCase, hyphenate} from '../../util/misc.js';\n\ntype SubCommands = {\n [commandName: string]: CLIFunction,\n};\n\ntype Return = {\n run: CLIFunction,\n setFlags: (commander: Object) => void,\n hasWrapper: (commander: Object, Array<string>) => boolean,\n examples: Array<string>,\n};\n\ntype Usage = Array<string>;\n\nexport default function(rootCommandName: string, subCommands: SubCommands, usage?: Usage = []): Return {\n const subCommandNames = Object.keys(subCommands).map(hyphenate);\n\n function setFlags(commander: Object) {\n commander.usage(`${rootCommandName} [${subCommandNames.join('|')}] [flags]`);\n }\n\n async function run(config: Config, reporter: Reporter, commander: Object, flags: Object, args: Array<string>): Promise<void> {\n const subName: ?string = camelCase(args.shift() || '');\n if (subName && subCommands[subName]) {\n const command: CLIFunction = subCommands[subName];\n const res = await command(config, reporter, commander, flags, args);\n if (res !== false) {\n return Promise.resolve();\n }\n }\n\n if (usage && usage.length) {\n reporter.error(`${reporter.lang('usage')}:`);\n for (const msg of usage) {\n reporter.error(`yarn ${rootCommandName} ${msg}`);\n }\n }\n return Promise.reject(new MessageError(reporter.lang('invalidCommand', subCommandNames.join(', '))));\n }\n\n function hasWrapper(commander: Object, args: Array<string>): boolean {\n return true;\n }\n\n const examples = usage.map((cmd: string): string => {\n return `${rootCommandName} ${cmd}`;\n });\n\n return {run, setFlags, hasWrapper, examples};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAKA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAwD;AAAA;AAAA;AAezC,kBAASA,eAAuB,EAAEC,WAAwB,EAA8B;EAAA,IAA5BC,KAAa,uEAAG,EAAE;EAC3F,IAAMC,eAAe,GAAGC,MAAM,CAACC,IAAI,CAACJ,WAAW,CAAC,CAACK,GAAG,CAACC,iBAAS,CAAC;EAE/D,SAASC,QAAQ,CAACC,SAAiB,EAAE;IACnCA,SAAS,CAACP,KAAK,WAAIF,eAAe,eAAKG,eAAe,CAACO,IAAI,CAAC,GAAG,CAAC,eAAY;EAC9E;EAAC,SAEcC,GAAG;IAAA;EAAA;EAAA;IAAA,yFAAlB,iBAAmBC,MAAc,EAAEC,QAAkB,EAAEJ,SAAiB,EAAEK,KAAa,EAAEC,IAAmB;MAAA;MAAA;QAAA;UAAA;YACpGC,OAAgB,GAAG,IAAAC,iBAAS,EAACF,IAAI,CAACG,KAAK,EAAE,IAAI,EAAE,CAAC;YAAA,MAClDF,OAAO,IAAIf,WAAW,CAACe,OAAO,CAAC;cAAA;cAAA;YAAA;YAC3BG,OAAoB,GAAGlB,WAAW,CAACe,OAAO,CAAC;YAAA;YAAA,OAC/BG,OAAO,CAACP,MAAM,EAAEC,QAAQ,EAAEJ,SAAS,EAAEK,KAAK,EAAEC,IAAI,CAAC;UAAA;YAA7DK,GAAG;YAAA,MACLA,GAAG,KAAK,KAAK;cAAA;cAAA;YAAA;YAAA,iCACRC,OAAO,CAACC,OAAO,EAAE;UAAA;YAI5B,IAAIpB,KAAK,IAAIA,KAAK,CAACqB,MAAM,EAAE;cACzBV,QAAQ,CAACW,KAAK,WAAIX,QAAQ,CAACY,IAAI,CAAC,OAAO,CAAC,OAAI;cAAC,uCAC3BvB,KAAK;cAAA;gBAAvB,oDAAyB;kBAAdwB,GAAG;kBACZb,QAAQ,CAACW,KAAK,gBAASxB,eAAe,cAAI0B,GAAG,EAAG;gBAClD;cAAC;gBAAA;cAAA;gBAAA;cAAA;YACH;YAAC,iCACML,OAAO,CAACM,MAAM,CAAC,KAAIC,sBAAY,EAACf,QAAQ,CAACY,IAAI,CAAC,gBAAgB,EAAEtB,eAAe,CAACO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA,CACrG;IAAA;EAAA;EAED,SAASmB,UAAU,CAACpB,SAAiB,EAAEM,IAAmB,EAAW;IACnE,OAAO,IAAI;EACb;EAEA,IAAMe,QAAQ,GAAG5B,KAAK,CAACI,GAAG,CAAC,UAACyB,GAAW,EAAa;IAClD,iBAAU/B,eAAe,cAAI+B,GAAG;EAClC,CAAC,CAAC;EAEF,OAAO;IAACpB,GAAG,EAAHA,GAAG;IAAEH,QAAQ,EAARA,QAAQ;IAAEqB,UAAU,EAAVA,UAAU;IAAEC,QAAQ,EAARA;EAAQ,CAAC;AAC9C"}