UNPKG

@cloud-copilot/cli

Version:

A standardized library for CLI building TypeScript CLI applications

32 lines 1.3 kB
/** * Creates a single value argument factory for a specific type */ export function singleValueArgument(validator, descriptionSuffix = '') { function createArgument(options) { return { description: options.description + descriptionSuffix, validateValues: async (currentValue, values, isCurrentlyDefaulted) => { if (currentValue !== undefined && currentValue != options.defaultValue) { return { valid: false, message: 'expects a single values but was set multiple times' }; } if (values.length == 0) { return { valid: false, message: 'a value is required' }; } if (values.length > 1) { return { valid: false, message: 'expects a single value but received ' + values.join(', ') }; } return validator(values[0]); }, reduceValues: async (current, newValue, isCurrentlyDefaulted) => newValue, defaultValue: options.defaultValue }; } return createArgument; } //# sourceMappingURL=singleValueArgument.js.map