@bitblit/ratchet-common 5.0.528-alpha → 5.0.529-alpha
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.
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ErrorRatchet } from "./error-ratchet.js";
|
|
2
|
+
export class SimpleArgRatchet {
|
|
3
|
+
constructor() { }
|
|
4
|
+
static parseArgs(args, validArgNames) {
|
|
5
|
+
let rval = {};
|
|
6
|
+
if (args?.length) {
|
|
7
|
+
if ((args.length % 2) !== 0) {
|
|
8
|
+
throw ErrorRatchet.fErr('Invalid arguments, all args must take the form --a b, but there were an odd number of arguments');
|
|
9
|
+
}
|
|
10
|
+
for (let i = 0; i < args.length; i += 2) {
|
|
11
|
+
let key = args[i];
|
|
12
|
+
let value = args[i + 1];
|
|
13
|
+
if (!key.startsWith('--')) {
|
|
14
|
+
throw ErrorRatchet.fErr('Argument %s does not take the form --x', key);
|
|
15
|
+
}
|
|
16
|
+
key = key.substring(2);
|
|
17
|
+
if (!validArgNames.includes(key)) {
|
|
18
|
+
throw ErrorRatchet.fErr('Argument %s is not a valid argument (valid were %j)', key, validArgNames);
|
|
19
|
+
}
|
|
20
|
+
rval[key] = rval[key] ?? [];
|
|
21
|
+
rval[key].push(value);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return rval;
|
|
25
|
+
}
|
|
26
|
+
static parseSingleArgs(args, validArgNames) {
|
|
27
|
+
let tmp = SimpleArgRatchet.parseArgs(args, validArgNames);
|
|
28
|
+
let rval = {};
|
|
29
|
+
Object.keys(tmp).forEach(k => {
|
|
30
|
+
const v = tmp[k];
|
|
31
|
+
if (v.length > 1) {
|
|
32
|
+
throw ErrorRatchet.fErr('Argument %s had %d values, but should have 1', k, v.length);
|
|
33
|
+
}
|
|
34
|
+
rval[k] = v[0];
|
|
35
|
+
});
|
|
36
|
+
return rval;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=simple-arg-ratchet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-arg-ratchet.js","sourceRoot":"","sources":["../../src/lang/simple-arg-ratchet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,MAAM,OAAO,gBAAgB;IAG3B,gBAAuB,CAAC;IAEjB,MAAM,CAAC,SAAS,CAAC,IAAc,EAAE,aAAuB;QAC7D,IAAI,IAAI,GAA4B,EAAE,CAAC;QACvC,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,CAAC,CAAC,KAAG,CAAC,EACvB,CAAC;gBACC,MAAM,YAAY,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;YAC7H,CAAC;YACD,KAAK,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,IAAI,CAAC,MAAM,EAAC,CAAC,IAAE,CAAC,EAAE,CAAC;gBAChC,IAAI,GAAG,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,KAAK,GAAW,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,MAAM,YAAY,CAAC,IAAI,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;gBACzE,CAAC;gBACD,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjC,MAAM,YAAY,CAAC,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;gBACrG,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,IAAc,EAAE,aAAuB;QACnE,IAAI,GAAG,GAA4B,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACnF,IAAI,IAAI,GAA0B,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA,EAAE;YAC1B,MAAM,CAAC,GAAa,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,MAAM,GAAC,CAAC,EAAE,CAAC;gBACf,MAAM,YAAY,CAAC,IAAI,CAAC,8CAA8C,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|