@nestjs/cli
Version:
Nest - modern, fast, powerful node.js web framework (@cli)
38 lines (37 loc) • 1.2 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRemainingFlags = void 0;
function getRemainingFlags(cli) {
const rawArgs = [...cli.rawArgs];
return rawArgs
.splice(Math.max(rawArgs.findIndex((item) => item.startsWith('--')), 0))
.filter((item, index, array) => {
// If the option is consumed by commander.js, then we skip it
if (cli.options.find((o) => o.short === item || o.long === item)) {
return false;
}
// If it's an argument of an option consumed by commander.js, then we
// skip it too
const prevKeyRaw = array[index - 1];
if (prevKeyRaw) {
const previousKey = camelCase(prevKeyRaw.replace('--', '').replace('no', ''));
if (cli[previousKey] === item) {
return false;
}
}
return true;
});
}
exports.getRemainingFlags = getRemainingFlags;
/**
* Camel-case the given `flag`
*
* @param {String} flag
* @return {String}
* @api private
*/
function camelCase(flag) {
return flag.split('-').reduce((str, word) => {
return str + word[0].toUpperCase() + word.slice(1);
});
}
;