UNPKG

@auttam/easycli

Version:

A quick and easy way of creating cli for your npm package.

50 lines (49 loc) 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateStore = exports.SettingStore = void 0; const reflection_1 = require("./utility/reflection"); var _programEvents = ['onInvalidCommand', 'onExit', 'onProgramOption']; var _noCommandMethods = []; var _defaultCommand = 'defaultCommand'; exports.SettingStore = { mainMethod: 'main', rejectionHandler: (reason, promise) => { if (exports.SettingStore.useColors) { console.error("\u001b[31;1m" + reason + "\u001b[0m"); } else { console.error(reason); } }, processArgvStartIndex: 2, minimistOptions: null, enableCommands: false, enableHelpCommand: true, enableVersionOption: true, enableHelpOption: true, showHelpOnNoCommand: true, showHelpOnInvalidOptions: true, prioritizeProgramOptions: false, showHelpOnInvalidParams: true, useColors: true, set defaultCommandMethod(name) { if (!name) { name = 'defaultCommand'; } _defaultCommand = name; }, get defaultCommandMethod() { return _defaultCommand; }, set nonCmdMethods(list) { if (!Array.isArray(list) || !list.length) return; _noCommandMethods = list; }, get nonCmdMethods() { return _noCommandMethods.concat(_programEvents); } }; Object.seal(exports.SettingStore); function updateStore(settings) { reflection_1.mergeTypeSafe(exports.SettingStore, settings, { copyFunctions: true, throwTypeError: true, copyEmpty: true }); } exports.updateStore = updateStore;