@cloud-copilot/cli 0.2.26 → 0.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/arguments/argument.d.ts +5 -2
- package/dist/cjs/arguments/argument.d.ts.map +1 -1
- package/dist/cjs/arguments/arrayValueArgument.d.ts +8 -6
- package/dist/cjs/arguments/arrayValueArgument.d.ts.map +1 -1
- package/dist/cjs/arguments/arrayValueArgument.js +3 -3
- package/dist/cjs/arguments/arrayValueArgument.js.map +1 -1
- package/dist/cjs/arguments/booleanArgument.d.ts +2 -2
- package/dist/cjs/arguments/booleanArgument.d.ts.map +1 -1
- package/dist/cjs/arguments/booleanArgument.js +2 -2
- package/dist/cjs/arguments/booleanArgument.js.map +1 -1
- package/dist/cjs/arguments/enumArgument.d.ts +6 -4
- package/dist/cjs/arguments/enumArgument.d.ts.map +1 -1
- package/dist/cjs/arguments/enumArgument.js +2 -2
- package/dist/cjs/arguments/enumArgument.js.map +1 -1
- package/dist/cjs/arguments/enumArrayArgument.d.ts +6 -4
- package/dist/cjs/arguments/enumArrayArgument.d.ts.map +1 -1
- package/dist/cjs/arguments/enumArrayArgument.js +4 -3
- package/dist/cjs/arguments/enumArrayArgument.js.map +1 -1
- package/dist/cjs/arguments/mapArgument.d.ts +8 -6
- package/dist/cjs/arguments/mapArgument.d.ts.map +1 -1
- package/dist/cjs/arguments/mapArgument.js +4 -4
- package/dist/cjs/arguments/mapArgument.js.map +1 -1
- package/dist/cjs/arguments/numberArguments.d.ts +8 -8
- package/dist/cjs/arguments/singleValueArgument.d.ts +8 -6
- package/dist/cjs/arguments/singleValueArgument.d.ts.map +1 -1
- package/dist/cjs/arguments/singleValueArgument.js +2 -2
- package/dist/cjs/arguments/singleValueArgument.js.map +1 -1
- package/dist/cjs/arguments/stringArguments.d.ts +8 -8
- package/dist/cjs/cli.d.ts.map +1 -1
- package/dist/cjs/cli.js +10 -7
- package/dist/cjs/cli.js.map +1 -1
- package/dist/esm/arguments/argument.d.ts +5 -2
- package/dist/esm/arguments/argument.d.ts.map +1 -1
- package/dist/esm/arguments/arrayValueArgument.d.ts +8 -6
- package/dist/esm/arguments/arrayValueArgument.d.ts.map +1 -1
- package/dist/esm/arguments/arrayValueArgument.js +3 -3
- package/dist/esm/arguments/arrayValueArgument.js.map +1 -1
- package/dist/esm/arguments/booleanArgument.d.ts +2 -2
- package/dist/esm/arguments/booleanArgument.d.ts.map +1 -1
- package/dist/esm/arguments/booleanArgument.js +2 -2
- package/dist/esm/arguments/booleanArgument.js.map +1 -1
- package/dist/esm/arguments/enumArgument.d.ts +6 -4
- package/dist/esm/arguments/enumArgument.d.ts.map +1 -1
- package/dist/esm/arguments/enumArgument.js +2 -2
- package/dist/esm/arguments/enumArgument.js.map +1 -1
- package/dist/esm/arguments/enumArrayArgument.d.ts +6 -4
- package/dist/esm/arguments/enumArrayArgument.d.ts.map +1 -1
- package/dist/esm/arguments/enumArrayArgument.js +4 -3
- package/dist/esm/arguments/enumArrayArgument.js.map +1 -1
- package/dist/esm/arguments/mapArgument.d.ts +8 -6
- package/dist/esm/arguments/mapArgument.d.ts.map +1 -1
- package/dist/esm/arguments/mapArgument.js +4 -4
- package/dist/esm/arguments/mapArgument.js.map +1 -1
- package/dist/esm/arguments/numberArguments.d.ts +8 -8
- package/dist/esm/arguments/singleValueArgument.d.ts +8 -6
- package/dist/esm/arguments/singleValueArgument.d.ts.map +1 -1
- package/dist/esm/arguments/singleValueArgument.js +2 -2
- package/dist/esm/arguments/singleValueArgument.js.map +1 -1
- package/dist/esm/arguments/stringArguments.d.ts +8 -8
- package/dist/esm/cli.d.ts.map +1 -1
- package/dist/esm/cli.js +10 -7
- package/dist/esm/cli.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,19 +19,22 @@ export type Argument<ArgumentType> = {
|
|
|
19
19
|
defaultValue: ArgumentType;
|
|
20
20
|
/**
|
|
21
21
|
* Validate all values passed to the argument at once.
|
|
22
|
+
* @param currentValue the current value of the argument
|
|
22
23
|
* @param values the array of strings passed to the argument
|
|
24
|
+
* @param isCurrentlyDefaulted true if the current value has not been set by the user and is still the default value
|
|
23
25
|
* @returns if the value is invalid, returns { valid: false, message: string } and message will be shown to the user.
|
|
24
26
|
* if the value is valid, returns { valid: true, values`: ArgumentType[] } where value is the parsed value.
|
|
25
27
|
*/
|
|
26
|
-
validateValues: (currentValue: ArgumentType, values: string[]) => Promise<ValidValue<ArgumentType> | InvalidValue> | ValidValue<ArgumentType> | InvalidValue;
|
|
28
|
+
validateValues: (currentValue: ArgumentType, values: string[], isCurrentlyDefaulted: boolean) => Promise<ValidValue<ArgumentType> | InvalidValue> | ValidValue<ArgumentType> | InvalidValue;
|
|
27
29
|
/**
|
|
28
30
|
* Reduces the current value and a new values into a single value.
|
|
29
31
|
*
|
|
30
32
|
* @param current the current value of the argument, can be undefined if there is no default value
|
|
31
33
|
* @param newValues the new values being added as parsed by validateValues
|
|
34
|
+
* @param isCurrentlyDefaulted true if the current value has not been set by the user and is still the default value
|
|
32
35
|
* @returns the new value of the argument
|
|
33
36
|
*/
|
|
34
|
-
reduceValues: (currentValue: ArgumentType, newValues: NonNullable<ArgumentType
|
|
37
|
+
reduceValues: (currentValue: ArgumentType, newValues: NonNullable<ArgumentType>, isCurrentlyDefaulted: boolean) => Promise<ArgumentType> | ArgumentType;
|
|
35
38
|
/**
|
|
36
39
|
* If this callback is provided, it will be called when the argument is present
|
|
37
40
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argument.d.ts","sourceRoot":"","sources":["../../../src/arguments/argument.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAA;AACrD,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAC5D,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAA;AAE7D,MAAM,MAAM,QAAQ,CAAC,YAAY,IAAI;IACnC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAA;IAE1B
|
|
1
|
+
{"version":3,"file":"argument.d.ts","sourceRoot":"","sources":["../../../src/arguments/argument.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAA;AACrD,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAC5D,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAA;AAE7D,MAAM,MAAM,QAAQ,CAAC,YAAY,IAAI;IACnC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAA;IAE1B;;;;;;;OAOG;IACH,cAAc,EAAE,CACd,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EAAE,EAChB,oBAAoB,EAAE,OAAO,KAC1B,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,YAAY,CAAA;IAE/F;;;;;;;OAOG;IACH,YAAY,EAAE,CACZ,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,WAAW,CAAC,YAAY,CAAC,EACpC,oBAAoB,EAAE,OAAO,KAC1B,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAA;IAEzC;;;;;OAKG;IACH,OAAO,CAAC,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAA;IAE1E;;;;;;;OAOG;IACH,oBAAoB,CAAC,IAAI,OAAO,CAAA;IAEhC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAA;AAChE,MAAM,MAAM,cAAc,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,CAAA"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { Argument, PerArgumentArgs, ValidatedValues } from './argument.js';
|
|
2
2
|
type ArrayValueValidator<ValueType> = (rawValue: string) => Promise<ValidatedValues<ValueType>> | ValidatedValues<ValueType>;
|
|
3
|
+
type ArrayWithDefault<ValueType> = {
|
|
4
|
+
defaultValue: ValueType[];
|
|
5
|
+
} & PerArgumentArgs;
|
|
6
|
+
type ArrayWithoutDefault<ValueType> = {
|
|
7
|
+
defaultValue?: undefined;
|
|
8
|
+
} & PerArgumentArgs;
|
|
3
9
|
/**
|
|
4
10
|
* Creates an array value argument factory for a specific type
|
|
5
11
|
*/
|
|
6
12
|
export declare function arrayValueArgument<ValueType>(validator: ArrayValueValidator<ValueType>, descriptionSuffix?: string): {
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
} & PerArgumentArgs>(options: O): Argument<ValueType[]>;
|
|
10
|
-
<const O extends {
|
|
11
|
-
defaultValue?: undefined;
|
|
12
|
-
} & PerArgumentArgs>(options: O): Argument<ValueType[] | undefined>;
|
|
13
|
+
(options: ArrayWithDefault<ValueType>): Argument<ValueType[]>;
|
|
14
|
+
(options: ArrayWithoutDefault<ValueType>): Argument<ValueType[] | undefined>;
|
|
13
15
|
};
|
|
14
16
|
export {};
|
|
15
17
|
//# sourceMappingURL=arrayValueArgument.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrayValueArgument.d.ts","sourceRoot":"","sources":["../../../src/arguments/arrayValueArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE1E,KAAK,mBAAmB,CAAC,SAAS,IAAI,CACpC,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAErE
|
|
1
|
+
{"version":3,"file":"arrayValueArgument.d.ts","sourceRoot":"","sources":["../../../src/arguments/arrayValueArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE1E,KAAK,mBAAmB,CAAC,SAAS,IAAI,CACpC,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAErE,KAAK,gBAAgB,CAAC,SAAS,IAAI;IAAE,YAAY,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,eAAe,CAAA;AAClF,KAAK,mBAAmB,CAAC,SAAS,IAAI;IAAE,YAAY,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,eAAe,CAAA;AAKpF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAC1C,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC,EACzC,iBAAiB,GAAE,MAAW;cAEG,gBAAgB,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;cAEzE,mBAAmB,CAAC,SAAS,CAAC,GACtC,QAAQ,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC;EA2CrC"}
|
|
@@ -8,7 +8,7 @@ function arrayValueArgument(validator, descriptionSuffix = '') {
|
|
|
8
8
|
function createArgument(options) {
|
|
9
9
|
return {
|
|
10
10
|
description: options.description + descriptionSuffix,
|
|
11
|
-
validateValues: async (current, values) => {
|
|
11
|
+
validateValues: async (current, values, isCurrentlyDefaulted) => {
|
|
12
12
|
if (values.length === 0) {
|
|
13
13
|
return { valid: false, message: 'at least one value is required' };
|
|
14
14
|
}
|
|
@@ -22,8 +22,8 @@ function arrayValueArgument(validator, descriptionSuffix = '') {
|
|
|
22
22
|
}
|
|
23
23
|
return { valid: true, value: validatedValues };
|
|
24
24
|
},
|
|
25
|
-
reduceValues: async (current, newValues) => {
|
|
26
|
-
if (!current) {
|
|
25
|
+
reduceValues: async (current, newValues, isCurrentlyDefaulted) => {
|
|
26
|
+
if (isCurrentlyDefaulted || !current) {
|
|
27
27
|
return newValues;
|
|
28
28
|
}
|
|
29
29
|
current.push(...newValues);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrayValueArgument.js","sourceRoot":"","sources":["../../../src/arguments/arrayValueArgument.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"arrayValueArgument.js","sourceRoot":"","sources":["../../../src/arguments/arrayValueArgument.ts"],"names":[],"mappings":";;AAeA,gDAkDC;AArDD;;GAEG;AACH,SAAgB,kBAAkB,CAChC,SAAyC,EACzC,oBAA4B,EAAE;IAM9B,SAAS,cAAc,CACrB,OAA4C;QAE5C,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,iBAAiB;YACpD,cAAc,EAAE,KAAK,EACnB,OAAgC,EAChC,MAAgB,EAChB,oBAA6B,EACU,EAAE;gBACzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAA;gBACpE,CAAC;gBAED,MAAM,eAAe,GAAgB,EAAE,CAAA;gBACvC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;oBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBAClB,OAAO,MAAM,CAAA;oBACf,CAAC;oBACD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACpC,CAAC;gBAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA;YAChD,CAAC;YACD,YAAY,EAAE,KAAK,EACjB,OAAgC,EAChC,SAAsB,EACtB,oBAA8B,EAC9B,EAAE;gBACF,IAAI,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACrC,OAAO,SAAS,CAAA;gBAClB,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;gBAC1B,OAAO,OAAO,CAAA;YAChB,CAAC;YACD,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI;SACjC,CAAA;IACH,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { Argument, PerArgumentArgs } from './argument.js';
|
|
|
5
5
|
* @param options the description and the single character that can be used to set the value to true
|
|
6
6
|
* @returns a boolean argument
|
|
7
7
|
*/
|
|
8
|
-
export declare function booleanArgument
|
|
8
|
+
export declare function booleanArgument(options: {
|
|
9
9
|
character: string;
|
|
10
|
-
} & PerArgumentArgs
|
|
10
|
+
} & PerArgumentArgs): Argument<boolean>;
|
|
11
11
|
//# sourceMappingURL=booleanArgument.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"booleanArgument.d.ts","sourceRoot":"","sources":["../../../src/arguments/booleanArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAmB,MAAM,eAAe,CAAA;AAE1E;;;;;GAKG;AACH,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"booleanArgument.d.ts","sourceRoot":"","sources":["../../../src/arguments/booleanArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAmB,MAAM,eAAe,CAAA;AAE1E;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,GAC/C,QAAQ,CAAC,OAAO,CAAC,CAkBnB"}
|
|
@@ -11,13 +11,13 @@ function booleanArgument(options) {
|
|
|
11
11
|
return {
|
|
12
12
|
description: options.description,
|
|
13
13
|
character: options.character,
|
|
14
|
-
validateValues: (currentValue, value) => {
|
|
14
|
+
validateValues: (currentValue, value, isCurrentlyDefaulted) => {
|
|
15
15
|
if (value.length == 0) {
|
|
16
16
|
return { valid: true, value: true };
|
|
17
17
|
}
|
|
18
18
|
return { valid: false, message: `does not accept values but received ${value.join(', ')}` };
|
|
19
19
|
},
|
|
20
|
-
reduceValues: (current, newValue) => current,
|
|
20
|
+
reduceValues: (current, newValue, isCurrentlyDefaulted) => current,
|
|
21
21
|
present: (currentValue) => true,
|
|
22
22
|
defaultValue: false
|
|
23
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"booleanArgument.js","sourceRoot":"","sources":["../../../src/arguments/booleanArgument.ts"],"names":[],"mappings":";;AAQA,
|
|
1
|
+
{"version":3,"file":"booleanArgument.js","sourceRoot":"","sources":["../../../src/arguments/booleanArgument.ts"],"names":[],"mappings":";;AAQA,0CAoBC;AA1BD;;;;;GAKG;AACH,SAAgB,eAAe,CAC7B,OAAgD;IAEhD,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,cAAc,EAAE,CACd,YAAqB,EACrB,KAAe,EACf,oBAA6B,EACH,EAAE;YAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;YACrC,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,uCAAuC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;QAC7F,CAAC;QACD,YAAY,EAAE,CAAC,OAAgB,EAAE,QAAiB,EAAE,oBAA6B,EAAE,EAAE,CAAC,OAAO;QAC7F,OAAO,EAAE,CAAC,YAAqB,EAAE,EAAE,CAAC,IAAI;QACxC,YAAY,EAAE,KAAK;KACpB,CAAA;AACH,CAAC"}
|
|
@@ -3,13 +3,15 @@ type EnumType<T extends {
|
|
|
3
3
|
validValues: string[];
|
|
4
4
|
defaultValue?: string | undefined;
|
|
5
5
|
}> = T['defaultValue'] extends string ? T['validValues'][number] | T['defaultValue'] : T['validValues'][number];
|
|
6
|
-
|
|
6
|
+
type EnumWithDefault = {
|
|
7
7
|
defaultValue: string;
|
|
8
8
|
validValues: string[];
|
|
9
|
-
} & PerArgumentArgs
|
|
10
|
-
|
|
9
|
+
} & PerArgumentArgs;
|
|
10
|
+
type EnumWithoutDefault = {
|
|
11
11
|
defaultValue?: undefined;
|
|
12
12
|
validValues: string[];
|
|
13
|
-
} & PerArgumentArgs
|
|
13
|
+
} & PerArgumentArgs;
|
|
14
|
+
export declare function enumArgument<const O extends EnumWithDefault>(options: EnumWithDefault): Argument<EnumType<O>>;
|
|
15
|
+
export declare function enumArgument<const O extends EnumWithoutDefault>(options: EnumWithoutDefault): Argument<EnumType<O> | undefined>;
|
|
14
16
|
export {};
|
|
15
17
|
//# sourceMappingURL=enumArgument.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enumArgument.d.ts","sourceRoot":"","sources":["../../../src/arguments/enumArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAmB,MAAM,eAAe,CAAA;AAE1E,KAAK,QAAQ,CAAC,CAAC,SAAS;IAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,IAClF,CAAC,CAAC,cAAc,CAAC,SAAS,MAAM,GAC5B,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAC5C,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9B,
|
|
1
|
+
{"version":3,"file":"enumArgument.d.ts","sourceRoot":"","sources":["../../../src/arguments/enumArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAmB,MAAM,eAAe,CAAA;AAE1E,KAAK,QAAQ,CAAC,CAAC,SAAS;IAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,IAClF,CAAC,CAAC,cAAc,CAAC,SAAS,MAAM,GAC5B,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAC5C,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9B,KAAK,eAAe,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,CAAA;AACxF,KAAK,kBAAkB,GAAG;IAAE,YAAY,CAAC,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,CAAA;AAM/F,wBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,eAAe,EAC1D,OAAO,EAAE,eAAe,GACvB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACxB,wBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,kBAAkB,EAC7D,OAAO,EAAE,kBAAkB,GAC1B,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA"}
|
|
@@ -5,7 +5,7 @@ function enumArgument(options) {
|
|
|
5
5
|
return {
|
|
6
6
|
description: options.description +
|
|
7
7
|
`. One value required, valid values are: ${options.validValues.join(', ')}`,
|
|
8
|
-
validateValues: (currentValue, values) => {
|
|
8
|
+
validateValues: (currentValue, values, isCurrentlyDefaulted) => {
|
|
9
9
|
if (values.length == 0) {
|
|
10
10
|
return { valid: false, message: 'a value is required' };
|
|
11
11
|
}
|
|
@@ -28,7 +28,7 @@ function enumArgument(options) {
|
|
|
28
28
|
}
|
|
29
29
|
return { valid: true, value: match };
|
|
30
30
|
},
|
|
31
|
-
reduceValues: (current, newValue) => newValue,
|
|
31
|
+
reduceValues: (current, newValue, isCurrentlyDefaulted) => newValue,
|
|
32
32
|
defaultValue: options.defaultValue
|
|
33
33
|
};
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enumArgument.js","sourceRoot":"","sources":["../../../src/arguments/enumArgument.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"enumArgument.js","sourceRoot":"","sources":["../../../src/arguments/enumArgument.ts"],"names":[],"mappings":";;AAoBA,oCA0CC;AA1CD,SAAgB,YAAY,CAC1B,OAAgC;IAEhC,OAAO;QACL,WAAW,EACT,OAAO,CAAC,WAAW;YACnB,2CAA2C,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC7E,cAAc,EAAE,CACd,YAAqC,EACrC,MAAgB,EAChB,oBAA6B,EACC,EAAE;YAChC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAA;YACzD,CAAC;YACD,IAAI,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAA;YACvF,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,sCAAsC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;iBACpE,CAAA;YACH,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;YACtF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,GAAG,KAAK,sCAAsC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACxF,CAAA;YACH,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAoB,EAAE,CAAA;QACrD,CAAC;QACD,YAAY,EAAE,CACZ,OAAgC,EAChC,QAAqB,EACrB,oBAA6B,EAC7B,EAAE,CAAC,QAAQ;QACb,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAA;AACH,CAAC"}
|
|
@@ -3,13 +3,15 @@ type EnumArrayType<T extends {
|
|
|
3
3
|
validValues: string[];
|
|
4
4
|
defaultValue?: string[] | undefined;
|
|
5
5
|
}> = T['defaultValue'] extends string[] ? T['validValues'][number] | T['defaultValue'][number] : T['validValues'][number];
|
|
6
|
-
|
|
6
|
+
type EnumArrayWithDefault = {
|
|
7
7
|
defaultValue: string[];
|
|
8
8
|
validValues: string[];
|
|
9
|
-
} & PerArgumentArgs
|
|
10
|
-
|
|
9
|
+
} & PerArgumentArgs;
|
|
10
|
+
type EnumArrayWithoutDefault = {
|
|
11
11
|
defaultValue?: undefined;
|
|
12
12
|
validValues: string[];
|
|
13
|
-
} & PerArgumentArgs
|
|
13
|
+
} & PerArgumentArgs;
|
|
14
|
+
export declare function enumArrayArgument<const O extends EnumArrayWithDefault>(options: EnumArrayWithDefault): Argument<EnumArrayType<O>[]>;
|
|
15
|
+
export declare function enumArrayArgument<const O extends EnumArrayWithoutDefault>(options: EnumArrayWithoutDefault): Argument<EnumArrayType<O>[] | undefined>;
|
|
14
16
|
export {};
|
|
15
17
|
//# sourceMappingURL=enumArrayArgument.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enumArrayArgument.d.ts","sourceRoot":"","sources":["../../../src/arguments/enumArrayArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAmB,MAAM,eAAe,CAAA;AAE1E,KAAK,aAAa,CAAC,CAAC,SAAS;IAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CAAE,IACzF,CAAC,CAAC,cAAc,CAAC,SAAS,MAAM,EAAE,GAC9B,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,GACpD,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9B,
|
|
1
|
+
{"version":3,"file":"enumArrayArgument.d.ts","sourceRoot":"","sources":["../../../src/arguments/enumArrayArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAmB,MAAM,eAAe,CAAA;AAE1E,KAAK,aAAa,CAAC,CAAC,SAAS;IAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CAAE,IACzF,CAAC,CAAC,cAAc,CAAC,SAAS,MAAM,EAAE,GAC9B,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,GACpD,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAE9B,KAAK,oBAAoB,GAAG;IAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,CAAA;AAC/F,KAAK,uBAAuB,GAAG;IAAE,YAAY,CAAC,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,CAAA;AAMpG,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,oBAAoB,EACpE,OAAO,EAAE,oBAAoB,GAC5B,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAC/B,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,uBAAuB,EACvE,OAAO,EAAE,uBAAuB,GAC/B,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAA"}
|
|
@@ -5,7 +5,7 @@ function enumArrayArgument(options) {
|
|
|
5
5
|
return {
|
|
6
6
|
description: options.description +
|
|
7
7
|
`. One or more values required, valid values are: ${options.validValues.join(', ')}`,
|
|
8
|
-
validateValues: async (currentValue, values) => {
|
|
8
|
+
validateValues: async (currentValue, values, isCurrentlyDefaulted) => {
|
|
9
9
|
if (values.length == 0) {
|
|
10
10
|
return { valid: false, message: 'At least one value is required' };
|
|
11
11
|
}
|
|
@@ -28,8 +28,9 @@ function enumArrayArgument(options) {
|
|
|
28
28
|
}
|
|
29
29
|
return { valid: true, value: validValues };
|
|
30
30
|
},
|
|
31
|
-
reduceValues: async (current, newValues) => {
|
|
32
|
-
if (!current) {
|
|
31
|
+
reduceValues: async (current, newValues, isCurrentlyDefaulted) => {
|
|
32
|
+
if (isCurrentlyDefaulted || !current) {
|
|
33
|
+
// If the current value is the default or undefined, replace it entirely
|
|
33
34
|
return newValues;
|
|
34
35
|
}
|
|
35
36
|
current.push(...newValues);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enumArrayArgument.js","sourceRoot":"","sources":["../../../src/arguments/enumArrayArgument.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"enumArrayArgument.js","sourceRoot":"","sources":["../../../src/arguments/enumArrayArgument.ts"],"names":[],"mappings":";;AAoBA,8CAkDC;AAlDD,SAAgB,iBAAiB,CAC/B,OAAqC;IAErC,OAAO;QACL,WAAW,EACT,OAAO,CAAC,WAAW;YACnB,oDAAoD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACtF,cAAc,EAAE,KAAK,EACnB,YAA4C,EAC5C,MAAgB,EAChB,oBAA6B,EACiB,EAAE;YAChD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAA;YACpE,CAAC;YACD,MAAM,aAAa,GAAa,EAAE,CAAA;YAClC,MAAM,WAAW,GAAuB,EAAE,CAAA;YAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;gBACtF,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC3B,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,KAAyB,CAAC,CAAA;gBAC7C,CAAC;YACH,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAC9H,CAAA;YACH,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;QAC5C,CAAC;QACD,YAAY,EAAE,KAAK,EACjB,OAAuC,EACvC,SAA6B,EAC7B,oBAA8B,EAC9B,EAAE;YACF,IAAI,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,wEAAwE;gBACxE,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;YAC1B,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI;KACjC,CAAA;AACH,CAAC"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { Argument, PerArgumentArgs } from './argument.js';
|
|
2
2
|
type MapResult = Record<string, string[]>;
|
|
3
|
+
type MapWithDefault = {
|
|
4
|
+
defaultValue: MapResult;
|
|
5
|
+
} & PerArgumentArgs;
|
|
6
|
+
type MapWithoutDefault = {
|
|
7
|
+
defaultValue?: undefined;
|
|
8
|
+
} & PerArgumentArgs;
|
|
3
9
|
/**
|
|
4
10
|
* Creates a map argument where the first value is the key and the rest are values.
|
|
5
11
|
*
|
|
@@ -8,11 +14,7 @@ type MapResult = Record<string, string[]>;
|
|
|
8
14
|
* @param options the description and optional default value
|
|
9
15
|
* @returns a map argument
|
|
10
16
|
*/
|
|
11
|
-
export declare function mapArgument
|
|
12
|
-
|
|
13
|
-
} & PerArgumentArgs>(options: O): Argument<MapResult>;
|
|
14
|
-
export declare function mapArgument<const O extends {
|
|
15
|
-
defaultValue?: undefined;
|
|
16
|
-
} & PerArgumentArgs>(options: O): Argument<MapResult | undefined>;
|
|
17
|
+
export declare function mapArgument(options: MapWithDefault): Argument<MapResult>;
|
|
18
|
+
export declare function mapArgument(options: MapWithoutDefault): Argument<MapResult | undefined>;
|
|
17
19
|
export {};
|
|
18
20
|
//# sourceMappingURL=mapArgument.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapArgument.d.ts","sourceRoot":"","sources":["../../../src/arguments/mapArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAmB,MAAM,eAAe,CAAA;AAE1E,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEzC
|
|
1
|
+
{"version":3,"file":"mapArgument.d.ts","sourceRoot":"","sources":["../../../src/arguments/mapArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAmB,MAAM,eAAe,CAAA;AAE1E,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEzC,KAAK,cAAc,GAAG;IAAE,YAAY,EAAE,SAAS,CAAA;CAAE,GAAG,eAAe,CAAA;AACnE,KAAK,iBAAiB,GAAG;IAAE,YAAY,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,eAAe,CAAA;AAGvE;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;AACzE,wBAAgB,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,CAAA"}
|
|
@@ -4,7 +4,7 @@ exports.mapArgument = mapArgument;
|
|
|
4
4
|
function mapArgument(options) {
|
|
5
5
|
return {
|
|
6
6
|
description: options.description + `. Each instance requires a key and at least one value.`,
|
|
7
|
-
validateValues: async (currentValue, values) => {
|
|
7
|
+
validateValues: async (currentValue, values, isCurrentlyDefaulted) => {
|
|
8
8
|
const [first, ...rest] = values;
|
|
9
9
|
if (!first) {
|
|
10
10
|
return { valid: false, message: 'a key is required and at least one value is required' };
|
|
@@ -12,7 +12,7 @@ function mapArgument(options) {
|
|
|
12
12
|
if (rest.length < 1) {
|
|
13
13
|
return { valid: false, message: `${first} requires at least one value` };
|
|
14
14
|
}
|
|
15
|
-
if (currentValue && first in currentValue) {
|
|
15
|
+
if (!isCurrentlyDefaulted && currentValue && first in currentValue) {
|
|
16
16
|
return { valid: false, message: `${first} is set multiple times` };
|
|
17
17
|
}
|
|
18
18
|
return {
|
|
@@ -22,8 +22,8 @@ function mapArgument(options) {
|
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
},
|
|
25
|
-
reduceValues: async (current, newValue) => {
|
|
26
|
-
if (!current) {
|
|
25
|
+
reduceValues: async (current, newValue, isCurrentlyDefaulted) => {
|
|
26
|
+
if (isCurrentlyDefaulted || !current) {
|
|
27
27
|
return { ...newValue };
|
|
28
28
|
}
|
|
29
29
|
return { ...current, ...newValue };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapArgument.js","sourceRoot":"","sources":["../../../src/arguments/mapArgument.ts"],"names":[],"mappings":";;AAkBA,
|
|
1
|
+
{"version":3,"file":"mapArgument.js","sourceRoot":"","sources":["../../../src/arguments/mapArgument.ts"],"names":[],"mappings":";;AAkBA,kCAwCC;AAxCD,SAAgB,WAAW,CACzB,OAA+B;IAE/B,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,wDAAwD;QAC3F,cAAc,EAAE,KAAK,EACnB,YAAmC,EACnC,MAAgB,EAChB,oBAA6B,EACQ,EAAE;YACvC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAA;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAA;YAC1F,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,8BAA8B,EAAE,CAAA;YAC1E,CAAC;YACD,IAAI,CAAC,oBAAoB,IAAI,YAAY,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;gBACnE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,wBAAwB,EAAE,CAAA;YACpE,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE;oBACL,CAAC,KAAK,CAAC,EAAE,IAAI;iBACd;aACF,CAAA;QACH,CAAC;QACD,YAAY,EAAE,KAAK,EACjB,OAA8B,EAC9B,QAAmB,EACnB,oBAA6B,EAC7B,EAAE;YACF,IAAI,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAA;YACxB,CAAC;YACD,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAA;QACpC,CAAC;QACD,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI;KACjC,CAAA;AACH,CAAC"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
export declare const numberArgument: {
|
|
2
|
-
|
|
2
|
+
(options: {
|
|
3
3
|
defaultValue: number;
|
|
4
|
-
} & import("./argument.js").PerArgumentArgs
|
|
5
|
-
|
|
4
|
+
} & import("./argument.js").PerArgumentArgs): import("./argument.js").Argument<number>;
|
|
5
|
+
(options: {
|
|
6
6
|
defaultValue?: undefined;
|
|
7
|
-
} & import("./argument.js").PerArgumentArgs
|
|
7
|
+
} & import("./argument.js").PerArgumentArgs): import("./argument.js").Argument<number | undefined>;
|
|
8
8
|
};
|
|
9
9
|
export declare const numberArrayArgument: {
|
|
10
|
-
|
|
10
|
+
(options: {
|
|
11
11
|
defaultValue: number[];
|
|
12
|
-
} & import("./argument.js").PerArgumentArgs
|
|
13
|
-
|
|
12
|
+
} & import("./argument.js").PerArgumentArgs): import("./argument.js").Argument<number[]>;
|
|
13
|
+
(options: {
|
|
14
14
|
defaultValue?: undefined;
|
|
15
|
-
} & import("./argument.js").PerArgumentArgs
|
|
15
|
+
} & import("./argument.js").PerArgumentArgs): import("./argument.js").Argument<number[] | undefined>;
|
|
16
16
|
};
|
|
17
17
|
//# sourceMappingURL=numberArguments.d.ts.map
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { Argument, PerArgumentArgs, ValidatedValues } from './argument.js';
|
|
2
2
|
type SingleValueValidator<ValueType> = (rawValue: string) => Promise<ValidatedValues<ValueType>> | ValidatedValues<ValueType>;
|
|
3
|
+
type ArgumentWithDefault<ValueType> = {
|
|
4
|
+
defaultValue: ValueType;
|
|
5
|
+
} & PerArgumentArgs;
|
|
6
|
+
type ArgumentWithoutDefault<ValueType> = {
|
|
7
|
+
defaultValue?: undefined;
|
|
8
|
+
} & PerArgumentArgs;
|
|
3
9
|
/**
|
|
4
10
|
* Creates a single value argument factory for a specific type
|
|
5
11
|
*/
|
|
6
12
|
export declare function singleValueArgument<ValueType>(validator: SingleValueValidator<ValueType>, descriptionSuffix?: string): {
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
} & PerArgumentArgs>(options: O): Argument<ValueType>;
|
|
10
|
-
<const O extends {
|
|
11
|
-
defaultValue?: undefined;
|
|
12
|
-
} & PerArgumentArgs>(options: O): Argument<ValueType | undefined>;
|
|
13
|
+
(options: ArgumentWithDefault<ValueType>): Argument<ValueType>;
|
|
14
|
+
(options: ArgumentWithoutDefault<ValueType>): Argument<ValueType | undefined>;
|
|
13
15
|
};
|
|
14
16
|
export {};
|
|
15
17
|
//# sourceMappingURL=singleValueArgument.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleValueArgument.d.ts","sourceRoot":"","sources":["../../../src/arguments/singleValueArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE1E,KAAK,oBAAoB,CAAC,SAAS,IAAI,CACrC,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAErE
|
|
1
|
+
{"version":3,"file":"singleValueArgument.d.ts","sourceRoot":"","sources":["../../../src/arguments/singleValueArgument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE1E,KAAK,oBAAoB,CAAC,SAAS,IAAI,CACrC,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAErE,KAAK,mBAAmB,CAAC,SAAS,IAAI;IAAE,YAAY,EAAE,SAAS,CAAA;CAAE,GAAG,eAAe,CAAA;AACnF,KAAK,sBAAsB,CAAC,SAAS,IAAI;IAAE,YAAY,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,eAAe,CAAA;AAKvF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAC3C,SAAS,EAAE,oBAAoB,CAAC,SAAS,CAAC,EAC1C,iBAAiB,GAAE,MAAW;cAEG,mBAAmB,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC;cAE1E,sBAAsB,CAAC,SAAS,CAAC,GACzC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;EAuCnC"}
|
|
@@ -8,7 +8,7 @@ function singleValueArgument(validator, descriptionSuffix = '') {
|
|
|
8
8
|
function createArgument(options) {
|
|
9
9
|
return {
|
|
10
10
|
description: options.description + descriptionSuffix,
|
|
11
|
-
validateValues: async (currentValue, values) => {
|
|
11
|
+
validateValues: async (currentValue, values, isCurrentlyDefaulted) => {
|
|
12
12
|
if (currentValue !== undefined && currentValue != options.defaultValue) {
|
|
13
13
|
return {
|
|
14
14
|
valid: false,
|
|
@@ -26,7 +26,7 @@ function singleValueArgument(validator, descriptionSuffix = '') {
|
|
|
26
26
|
}
|
|
27
27
|
return validator(values[0]);
|
|
28
28
|
},
|
|
29
|
-
reduceValues: async (current, newValue) => newValue,
|
|
29
|
+
reduceValues: async (current, newValue, isCurrentlyDefaulted) => newValue,
|
|
30
30
|
defaultValue: options.defaultValue
|
|
31
31
|
};
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleValueArgument.js","sourceRoot":"","sources":["../../../src/arguments/singleValueArgument.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"singleValueArgument.js","sourceRoot":"","sources":["../../../src/arguments/singleValueArgument.ts"],"names":[],"mappings":";;AAeA,kDA8CC;AAjDD;;GAEG;AACH,SAAgB,mBAAmB,CACjC,SAA0C,EAC1C,oBAA4B,EAAE;IAM9B,SAAS,cAAc,CACrB,OAA+C;QAE/C,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,iBAAiB;YACpD,cAAc,EAAE,KAAK,EACnB,YAAmC,EACnC,MAAgB,EAChB,oBAA6B,EACQ,EAAE;gBACvC,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;oBACvE,OAAO;wBACL,KAAK,EAAE,KAAK;wBACZ,OAAO,EAAE,oDAAoD;qBAC9D,CAAA;gBACH,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAA;gBACzD,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,OAAO;wBACL,KAAK,EAAE,KAAK;wBACZ,OAAO,EAAE,sCAAsC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;qBACpE,CAAA;gBACH,CAAC;gBAED,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7B,CAAC;YACD,YAAY,EAAE,KAAK,EACjB,OAA8B,EAC9B,QAAmB,EACnB,oBAA6B,EAC7B,EAAE,CAAC,QAAQ;YACb,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAA;IACH,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
export declare const stringArgument: {
|
|
2
|
-
|
|
2
|
+
(options: {
|
|
3
3
|
defaultValue: string;
|
|
4
|
-
} & import("./argument.js").PerArgumentArgs
|
|
5
|
-
|
|
4
|
+
} & import("./argument.js").PerArgumentArgs): import("./argument.js").Argument<string>;
|
|
5
|
+
(options: {
|
|
6
6
|
defaultValue?: undefined;
|
|
7
|
-
} & import("./argument.js").PerArgumentArgs
|
|
7
|
+
} & import("./argument.js").PerArgumentArgs): import("./argument.js").Argument<string | undefined>;
|
|
8
8
|
};
|
|
9
9
|
export declare const stringArrayArgument: {
|
|
10
|
-
|
|
10
|
+
(options: {
|
|
11
11
|
defaultValue: string[];
|
|
12
|
-
} & import("./argument.js").PerArgumentArgs
|
|
13
|
-
|
|
12
|
+
} & import("./argument.js").PerArgumentArgs): import("./argument.js").Argument<string[]>;
|
|
13
|
+
(options: {
|
|
14
14
|
defaultValue?: undefined;
|
|
15
|
-
} & import("./argument.js").PerArgumentArgs
|
|
15
|
+
} & import("./argument.js").PerArgumentArgs): import("./argument.js").Argument<string[] | undefined>;
|
|
16
16
|
};
|
|
17
17
|
//# sourceMappingURL=stringArguments.d.ts.map
|
package/dist/cjs/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/cli.js
CHANGED
|
@@ -34,11 +34,12 @@ async function parseCliArguments(command, subcommands, cliArgs, additionalOption
|
|
|
34
34
|
return {};
|
|
35
35
|
}
|
|
36
36
|
const allDefaults = {};
|
|
37
|
+
const isSetByCli = {};
|
|
37
38
|
// Step 1: Initialize defaults
|
|
38
39
|
const parsedEnvironmentArgs = {};
|
|
39
40
|
initializeOptionDefaults(allDefaults, booleanOptions, cliArgs);
|
|
40
41
|
// Step 2: Handle environment variables
|
|
41
|
-
await parseEnvironmentVariables(cliArgs, parsedEnvironmentArgs, env, additionalOptions?.envPrefix);
|
|
42
|
+
await parseEnvironmentVariables(cliArgs, parsedEnvironmentArgs, env, additionalOptions?.envPrefix, isSetByCli);
|
|
42
43
|
// Step 3: Group arguments into objects
|
|
43
44
|
const commandChunks = groupArguments(args);
|
|
44
45
|
// Step 4: Validation and parsing arguments
|
|
@@ -82,7 +83,7 @@ async function parseCliArguments(command, subcommands, cliArgs, additionalOption
|
|
|
82
83
|
subcommand = matchingCommands.at(0);
|
|
83
84
|
const subcommandOptions = subcommands[subcommand].arguments;
|
|
84
85
|
initializeOptionDefaults(allDefaults, booleanOptions, subcommandOptions);
|
|
85
|
-
await parseEnvironmentVariables(subcommandOptions, parsedEnvironmentArgs, env, additionalOptions?.envPrefix);
|
|
86
|
+
await parseEnvironmentVariables(subcommandOptions, parsedEnvironmentArgs, env, additionalOptions?.envPrefix, isSetByCli);
|
|
86
87
|
for (const [key, option] of Object.entries(subcommandOptions)) {
|
|
87
88
|
combinedOptions[key] = option;
|
|
88
89
|
}
|
|
@@ -163,13 +164,14 @@ async function parseCliArguments(command, subcommands, cliArgs, additionalOption
|
|
|
163
164
|
}
|
|
164
165
|
}
|
|
165
166
|
const currentValue = parsedArgs[selectedArgument];
|
|
166
|
-
const validation = await optionConfig.validateValues(currentValue, theRest);
|
|
167
|
+
const validation = await optionConfig.validateValues(currentValue, theRest, isSetByCli[selectedArgument] === undefined);
|
|
167
168
|
if (!validation.valid) {
|
|
168
169
|
(0, utils_js_1.exit)(2, `Validation error for ${fullArgumentName}: ${validation.message}`);
|
|
169
170
|
return {};
|
|
170
171
|
}
|
|
171
172
|
else {
|
|
172
|
-
parsedArgs[selectedArgument] = await optionConfig.reduceValues(currentValue, validation.value);
|
|
173
|
+
parsedArgs[selectedArgument] = await optionConfig.reduceValues(currentValue, validation.value, isSetByCli[selectedArgument] === undefined);
|
|
174
|
+
isSetByCli[selectedArgument] = true;
|
|
173
175
|
}
|
|
174
176
|
}
|
|
175
177
|
}
|
|
@@ -256,7 +258,7 @@ function initializeDefault(parsedArgs, cliArguments, key) {
|
|
|
256
258
|
* @param env the environment variables to get values from
|
|
257
259
|
* @param envPrefix the prefix to use for environment variables, if any
|
|
258
260
|
*/
|
|
259
|
-
async function parseEnvironmentVariables(cliArguments, parsedArgs, env, envPrefix) {
|
|
261
|
+
async function parseEnvironmentVariables(cliArguments, parsedArgs, env, envPrefix, valuesSetByCli) {
|
|
260
262
|
if (!envPrefix) {
|
|
261
263
|
return;
|
|
262
264
|
}
|
|
@@ -277,13 +279,14 @@ async function parseEnvironmentVariables(cliArguments, parsedArgs, env, envPrefi
|
|
|
277
279
|
}
|
|
278
280
|
if (!config.character) {
|
|
279
281
|
const values = value.split(' ');
|
|
280
|
-
const validation = await config.validateValues(parsedArgs[option], values);
|
|
282
|
+
const validation = await config.validateValues(parsedArgs[option], values, valuesSetByCli[option] === undefined);
|
|
281
283
|
if (!validation.valid) {
|
|
282
284
|
const s = values.length > 1 ? 's' : '';
|
|
283
285
|
(0, utils_js_1.exit)(2, `Invalid value${s} for environment ${key}: ${validation.message}`);
|
|
284
286
|
return;
|
|
285
287
|
}
|
|
286
|
-
parsedArgs[option] = await config.reduceValues(parsedArgs[option], validation.value);
|
|
288
|
+
parsedArgs[option] = await config.reduceValues(parsedArgs[option], validation.value, valuesSetByCli[option] === undefined);
|
|
289
|
+
valuesSetByCli[option] = true;
|
|
287
290
|
}
|
|
288
291
|
}
|
|
289
292
|
}
|