@decaf-ts/utils
Version:
module management utils for decaf-ts
79 lines • 9.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultCommandValues = exports.DefaultCommandOptions = void 0;
/**
* @description Default command options for CLI commands.
* @summary Defines the structure and default values for common command-line options used across various CLI commands.
* @const DefaultCommandOptions
* @typedef {Object} DefaultCommandOptions
* @property {Object} verbose - Verbosity level option.
* @property {string} verbose.type - The type of the verbose option (number).
* @property {string} verbose.short - The short flag for the verbose option (V).
* @property {number} verbose.default - The default value for verbosity (0).
* @property {Object} version - Version display option.
* @property {string} version.type - The type of the version option (boolean).
* @property {string} version.short - The short flag for the version option (v).
* @property {undefined} version.default - The default value for version display (undefined).
* @property {Object} help - Help display option.
* @property {string} help.type - The type of the help option (boolean).
* @property {string} help.short - The short flag for the help option (h).
* @property {boolean} help.default - The default value for help display (false).
* @property {Object} logLevel - Log level option.
* @property {string} logLevel.type - The type of the logLevel option (string).
* @property {string} logLevel.default - The default value for log level ("info").
* @property {Object} logStyle - Log styling option.
* @property {string} logStyle.type - The type of the logStyle option (boolean).
* @property {boolean} logStyle.default - The default value for log styling (true).
* @property {Object} timestamp - Timestamp display option.
* @property {string} timestamp.type - The type of the timestamp option (boolean).
* @property {boolean} timestamp.default - The default value for timestamp display (true).
* @property {Object} banner - Banner display option.
* @property {string} banner.type - The type of the banner option (boolean).
* @property {boolean} banner.default - The default value for banner display (false).
*/
exports.DefaultCommandOptions = {
verbose: {
type: "boolean",
short: "V",
default: undefined,
},
version: {
type: "boolean",
short: "v",
default: undefined,
},
help: {
type: "boolean",
short: "h",
default: false,
},
logLevel: {
type: "string",
default: "info",
},
logStyle: {
type: "boolean",
default: true,
},
timestamp: {
type: "boolean",
default: true,
},
banner: {
type: "boolean",
default: true,
},
};
/**
* @description Default command values derived from DefaultCommandOptions.
* @summary Creates an object with the default values of all options defined in DefaultCommandOptions.
* @const DefaultCommandValues
* @typedef {Object} DefaultCommandValues
* @property {unknown} [key: string] - The default value for each option in DefaultCommandOptions.
*/
exports.DefaultCommandValues = Object.keys(exports.DefaultCommandOptions).reduce((acc, key) => {
acc[key] =
exports.DefaultCommandOptions[key].default;
return acc;
}, {});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRztJQUNuQyxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxHQUFHO1FBQ1YsT0FBTyxFQUFFLFNBQVM7S0FDbkI7SUFDRCxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxHQUFHO1FBQ1YsT0FBTyxFQUFFLFNBQVM7S0FDbkI7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxHQUFHO1FBQ1YsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELFFBQVEsRUFBRTtRQUNSLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLE1BQU07S0FDaEI7SUFDRCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRCxTQUFTLEVBQUU7UUFDVCxJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRCxNQUFNLEVBQUU7UUFDTixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7Q0FDRixDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ1UsUUFBQSxvQkFBb0IsR0FFN0IsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBcUIsQ0FBQyxDQUFDLE1BQU0sQ0FDM0MsQ0FBQyxHQUF3RCxFQUFFLEdBQVcsRUFBRSxFQUFFO0lBQ3hFLEdBQUcsQ0FBQyxHQUF5QyxDQUFDO1FBQzVDLDZCQUFxQixDQUFDLEdBQXlDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDM0UsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLEVBQ0QsRUFBd0QsQ0FDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIERlZmF1bHQgY29tbWFuZCBvcHRpb25zIGZvciBDTEkgY29tbWFuZHMuXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgYW5kIGRlZmF1bHQgdmFsdWVzIGZvciBjb21tb24gY29tbWFuZC1saW5lIG9wdGlvbnMgdXNlZCBhY3Jvc3MgdmFyaW91cyBDTEkgY29tbWFuZHMuXG4gKiBAY29uc3QgRGVmYXVsdENvbW1hbmRPcHRpb25zXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEZWZhdWx0Q29tbWFuZE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSB2ZXJib3NlIC0gVmVyYm9zaXR5IGxldmVsIG9wdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB2ZXJib3NlLnR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgdmVyYm9zZSBvcHRpb24gKG51bWJlcikuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdmVyYm9zZS5zaG9ydCAtIFRoZSBzaG9ydCBmbGFnIGZvciB0aGUgdmVyYm9zZSBvcHRpb24gKFYpLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IHZlcmJvc2UuZGVmYXVsdCAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB2ZXJib3NpdHkgKDApLlxuICogQHByb3BlcnR5IHtPYmplY3R9IHZlcnNpb24gLSBWZXJzaW9uIGRpc3BsYXkgb3B0aW9uLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHZlcnNpb24udHlwZSAtIFRoZSB0eXBlIG9mIHRoZSB2ZXJzaW9uIG9wdGlvbiAoYm9vbGVhbikuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdmVyc2lvbi5zaG9ydCAtIFRoZSBzaG9ydCBmbGFnIGZvciB0aGUgdmVyc2lvbiBvcHRpb24gKHYpLlxuICogQHByb3BlcnR5IHt1bmRlZmluZWR9IHZlcnNpb24uZGVmYXVsdCAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB2ZXJzaW9uIGRpc3BsYXkgKHVuZGVmaW5lZCkuXG4gKiBAcHJvcGVydHkge09iamVjdH0gaGVscCAtIEhlbHAgZGlzcGxheSBvcHRpb24uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gaGVscC50eXBlIC0gVGhlIHR5cGUgb2YgdGhlIGhlbHAgb3B0aW9uIChib29sZWFuKS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBoZWxwLnNob3J0IC0gVGhlIHNob3J0IGZsYWcgZm9yIHRoZSBoZWxwIG9wdGlvbiAoaCkuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGhlbHAuZGVmYXVsdCAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciBoZWxwIGRpc3BsYXkgKGZhbHNlKS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBsb2dMZXZlbCAtIExvZyBsZXZlbCBvcHRpb24uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbG9nTGV2ZWwudHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBsb2dMZXZlbCBvcHRpb24gKHN0cmluZykuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbG9nTGV2ZWwuZGVmYXVsdCAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciBsb2cgbGV2ZWwgKFwiaW5mb1wiKS5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBsb2dTdHlsZSAtIExvZyBzdHlsaW5nIG9wdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBsb2dTdHlsZS50eXBlIC0gVGhlIHR5cGUgb2YgdGhlIGxvZ1N0eWxlIG9wdGlvbiAoYm9vbGVhbikuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGxvZ1N0eWxlLmRlZmF1bHQgLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgbG9nIHN0eWxpbmcgKHRydWUpLlxuICogQHByb3BlcnR5IHtPYmplY3R9IHRpbWVzdGFtcCAtIFRpbWVzdGFtcCBkaXNwbGF5IG9wdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aW1lc3RhbXAudHlwZSAtIFRoZSB0eXBlIG9mIHRoZSB0aW1lc3RhbXAgb3B0aW9uIChib29sZWFuKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gdGltZXN0YW1wLmRlZmF1bHQgLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGltZXN0YW1wIGRpc3BsYXkgKHRydWUpLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGJhbm5lciAtIEJhbm5lciBkaXNwbGF5IG9wdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBiYW5uZXIudHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBiYW5uZXIgb3B0aW9uIChib29sZWFuKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gYmFubmVyLmRlZmF1bHQgLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgYmFubmVyIGRpc3BsYXkgKGZhbHNlKS5cbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDb21tYW5kT3B0aW9ucyA9IHtcbiAgdmVyYm9zZToge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIHNob3J0OiBcIlZcIixcbiAgICBkZWZhdWx0OiB1bmRlZmluZWQsXG4gIH0sXG4gIHZlcnNpb246IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBzaG9ydDogXCJ2XCIsXG4gICAgZGVmYXVsdDogdW5kZWZpbmVkLFxuICB9LFxuICBoZWxwOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgc2hvcnQ6IFwiaFwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBsb2dMZXZlbDoge1xuICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgZGVmYXVsdDogXCJpbmZvXCIsXG4gIH0sXG4gIGxvZ1N0eWxlOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgdGltZXN0YW1wOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgYmFubmVyOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlZmF1bHQgY29tbWFuZCB2YWx1ZXMgZGVyaXZlZCBmcm9tIERlZmF1bHRDb21tYW5kT3B0aW9ucy5cbiAqIEBzdW1tYXJ5IENyZWF0ZXMgYW4gb2JqZWN0IHdpdGggdGhlIGRlZmF1bHQgdmFsdWVzIG9mIGFsbCBvcHRpb25zIGRlZmluZWQgaW4gRGVmYXVsdENvbW1hbmRPcHRpb25zLlxuICogQGNvbnN0IERlZmF1bHRDb21tYW5kVmFsdWVzXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEZWZhdWx0Q29tbWFuZFZhbHVlc1xuICogQHByb3BlcnR5IHt1bmtub3dufSBba2V5OiBzdHJpbmddIC0gVGhlIGRlZmF1bHQgdmFsdWUgZm9yIGVhY2ggb3B0aW9uIGluIERlZmF1bHRDb21tYW5kT3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRDb21tYW5kVmFsdWVzOiB7XG4gIFtrIGluIGtleW9mIHR5cGVvZiBEZWZhdWx0Q29tbWFuZE9wdGlvbnNdOiB1bmtub3duO1xufSA9IE9iamVjdC5rZXlzKERlZmF1bHRDb21tYW5kT3B0aW9ucykucmVkdWNlKFxuICAoYWNjOiBSZWNvcmQ8a2V5b2YgdHlwZW9mIERlZmF1bHRDb21tYW5kT3B0aW9ucywgdW5rbm93bj4sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgYWNjW2tleSBhcyBrZXlvZiB0eXBlb2YgRGVmYXVsdENvbW1hbmRPcHRpb25zXSA9XG4gICAgICBEZWZhdWx0Q29tbWFuZE9wdGlvbnNba2V5IGFzIGtleW9mIHR5cGVvZiBEZWZhdWx0Q29tbWFuZE9wdGlvbnNdLmRlZmF1bHQ7XG4gICAgcmV0dXJuIGFjYztcbiAgfSxcbiAge30gYXMgUmVjb3JkPGtleW9mIHR5cGVvZiBEZWZhdWx0Q29tbWFuZFZhbHVlcywgdW5rbm93bj5cbik7XG4iXX0=