@cloud-copilot/cli
Version:
A standardized library for CLI building TypeScript CLI applications
32 lines • 1.18 kB
JavaScript
export function mapArgument(options) {
return {
description: options.description + `. Each instance requires a key and at least one value.`,
validateValues: async (currentValue, values) => {
const [first, ...rest] = values;
if (!first) {
return { valid: false, message: 'a key is required and at least one value is required' };
}
if (rest.length < 1) {
return { valid: false, message: `${first} requires at least one value` };
}
if (currentValue && first in currentValue) {
return { valid: false, message: `${first} is set multiple times` };
}
return {
valid: true,
value: {
[first]: rest
}
};
},
reduceValues: async (current, newValue) => {
if (!current) {
return { ...newValue };
}
return { ...current, ...newValue };
},
defaultValue: options.defaultValue,
acceptMultipleValues: () => true
};
}
//# sourceMappingURL=mapArgument.js.map