bob-core 0.9.10 → 0.9.12
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/CommandParser.d.ts +3 -2
- package/dist/CommandParser.js +18 -15
- package/package.json +1 -1
package/dist/CommandParser.d.ts
CHANGED
|
@@ -36,9 +36,10 @@ export declare class CommandParser {
|
|
|
36
36
|
[key: string]: string;
|
|
37
37
|
}, defaultOptions?: ArgSignature[], ...args: any[]);
|
|
38
38
|
private getParamValue;
|
|
39
|
-
private
|
|
40
|
-
private
|
|
39
|
+
private handleArguments;
|
|
40
|
+
private handleOptions;
|
|
41
41
|
private parseSignature;
|
|
42
|
+
private parseDefaultOptions;
|
|
42
43
|
private parseParamSignature;
|
|
43
44
|
validate(): void;
|
|
44
45
|
}
|
package/dist/CommandParser.js
CHANGED
|
@@ -69,21 +69,11 @@ class CommandParser {
|
|
|
69
69
|
this.defaultOptions = defaultOptions;
|
|
70
70
|
const [command, ...signatureParams] = signature.split(/\{(.*?)\}/g).map(param => param.trim()).filter(Boolean);
|
|
71
71
|
const { _: paramValues, ...optionValues } = (0, minimist_1.default)(args);
|
|
72
|
-
if (defaultOptions.length) {
|
|
73
|
-
for (const option of defaultOptions) {
|
|
74
|
-
this.optionSignatures[option.name] = option;
|
|
75
|
-
this.options[option.name] = option.defaultValue;
|
|
76
|
-
if (option.alias) {
|
|
77
|
-
for (const alias of option.alias) {
|
|
78
|
-
this.optionAliases[alias] = option.name;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
72
|
this.command = command;
|
|
84
73
|
this.parseSignature(signatureParams);
|
|
85
|
-
this.
|
|
86
|
-
this.
|
|
74
|
+
this.parseDefaultOptions();
|
|
75
|
+
this.handleArguments(paramValues);
|
|
76
|
+
this.handleOptions(optionValues);
|
|
87
77
|
}
|
|
88
78
|
getParamValue(value, signature) {
|
|
89
79
|
if (signature.type === 'boolean') {
|
|
@@ -103,7 +93,7 @@ class CommandParser {
|
|
|
103
93
|
}
|
|
104
94
|
return value ?? signature.defaultValue;
|
|
105
95
|
}
|
|
106
|
-
|
|
96
|
+
handleArguments(paramValues) {
|
|
107
97
|
for (const [argument, value] of Object.entries(this.arguments)) {
|
|
108
98
|
const argSignature = this.argumentsSignature[argument];
|
|
109
99
|
if (argSignature.variadic) {
|
|
@@ -115,7 +105,7 @@ class CommandParser {
|
|
|
115
105
|
}
|
|
116
106
|
}
|
|
117
107
|
}
|
|
118
|
-
|
|
108
|
+
handleOptions(optionValues) {
|
|
119
109
|
for (const [option, value] of Object.entries(optionValues)) {
|
|
120
110
|
const optionAlias = this.optionAliases[option];
|
|
121
111
|
const optionSignature = this.optionSignatures[option] ?? this.optionSignatures[optionAlias];
|
|
@@ -146,6 +136,19 @@ class CommandParser {
|
|
|
146
136
|
}
|
|
147
137
|
}
|
|
148
138
|
}
|
|
139
|
+
parseDefaultOptions() {
|
|
140
|
+
if (this.defaultOptions.length) {
|
|
141
|
+
for (const option of this.defaultOptions) {
|
|
142
|
+
this.optionSignatures[option.name] = option;
|
|
143
|
+
this.options[option.name] = option.defaultValue;
|
|
144
|
+
if (option.alias) {
|
|
145
|
+
for (const alias of option.alias) {
|
|
146
|
+
this.optionAliases[alias] = option.name;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
149
152
|
parseParamSignature(argument) {
|
|
150
153
|
const arg = {
|
|
151
154
|
name: argument,
|