@optique/run 1.0.0-dev.555 → 1.0.0-dev.557
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/run.cjs +33 -41
- package/dist/run.js +33 -41
- package/package.json +2 -2
package/dist/run.cjs
CHANGED
|
@@ -4,31 +4,39 @@ const node_path = require_rolldown_runtime.__toESM(require("node:path"));
|
|
|
4
4
|
const node_process = require_rolldown_runtime.__toESM(require("node:process"));
|
|
5
5
|
|
|
6
6
|
//#region src/run.ts
|
|
7
|
+
function getProgramHelpMetadata(metadata) {
|
|
8
|
+
return {
|
|
9
|
+
brief: metadata.brief,
|
|
10
|
+
description: metadata.description,
|
|
11
|
+
examples: metadata.examples,
|
|
12
|
+
author: metadata.author,
|
|
13
|
+
bugs: metadata.bugs,
|
|
14
|
+
footer: metadata.footer
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function resolveProgramInput(parserOrProgram, options) {
|
|
18
|
+
if ("parser" in parserOrProgram && "metadata" in parserOrProgram) return {
|
|
19
|
+
parser: parserOrProgram.parser,
|
|
20
|
+
options: options.programName == null ? {
|
|
21
|
+
...options,
|
|
22
|
+
programName: parserOrProgram.metadata.name
|
|
23
|
+
} : options,
|
|
24
|
+
programMetadata: getProgramHelpMetadata(parserOrProgram.metadata)
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
parser: parserOrProgram,
|
|
28
|
+
options
|
|
29
|
+
};
|
|
30
|
+
}
|
|
7
31
|
function run(parserOrProgram, options = {}) {
|
|
8
32
|
return runImpl(parserOrProgram, options);
|
|
9
33
|
}
|
|
10
34
|
function runSync(parserOrProgram, options = {}) {
|
|
11
35
|
const contexts = options.contexts;
|
|
12
36
|
if (contexts && contexts.length > 0) {
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (isProgram) {
|
|
17
|
-
const program = parserOrProgram;
|
|
18
|
-
parser = program.parser;
|
|
19
|
-
if (!options.programName) options = {
|
|
20
|
-
...options,
|
|
21
|
-
programName: program.metadata.name
|
|
22
|
-
};
|
|
23
|
-
programMetadata = {
|
|
24
|
-
brief: program.metadata.brief,
|
|
25
|
-
description: program.metadata.description,
|
|
26
|
-
examples: program.metadata.examples,
|
|
27
|
-
author: program.metadata.author,
|
|
28
|
-
bugs: program.metadata.bugs,
|
|
29
|
-
footer: program.metadata.footer
|
|
30
|
-
};
|
|
31
|
-
} else parser = parserOrProgram;
|
|
37
|
+
const resolved = resolveProgramInput(parserOrProgram, options);
|
|
38
|
+
const { parser, programMetadata } = resolved;
|
|
39
|
+
options = resolved.options;
|
|
32
40
|
const { programName, args, coreOptions } = buildCoreOptions(options, programMetadata);
|
|
33
41
|
const contextOptions = {};
|
|
34
42
|
for (const key of Object.keys(options)) if (!knownRunOptionsKeys.has(key)) contextOptions[key] = options[key];
|
|
@@ -169,7 +177,7 @@ function buildCoreOptions(options, programMetadata) {
|
|
|
169
177
|
* Set of known RunOptions field names. Used by `runImpl()` to separate
|
|
170
178
|
* RunOptions fields from context-required options via rest-spread.
|
|
171
179
|
*/
|
|
172
|
-
const
|
|
180
|
+
const knownRunOptionsKeyList = [
|
|
173
181
|
"programName",
|
|
174
182
|
"args",
|
|
175
183
|
"stdout",
|
|
@@ -192,28 +200,12 @@ const knownRunOptionsKeys = new Set([
|
|
|
192
200
|
"bugs",
|
|
193
201
|
"footer",
|
|
194
202
|
"contexts"
|
|
195
|
-
]
|
|
203
|
+
];
|
|
204
|
+
const knownRunOptionsKeys = new Set(knownRunOptionsKeyList);
|
|
196
205
|
function runImpl(parserOrProgram, options = {}) {
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
if (isProgram) {
|
|
201
|
-
const program = parserOrProgram;
|
|
202
|
-
parser = program.parser;
|
|
203
|
-
const programNameFromProgram = program.metadata.name;
|
|
204
|
-
programMetadata = {
|
|
205
|
-
brief: program.metadata.brief,
|
|
206
|
-
description: program.metadata.description,
|
|
207
|
-
examples: program.metadata.examples,
|
|
208
|
-
author: program.metadata.author,
|
|
209
|
-
bugs: program.metadata.bugs,
|
|
210
|
-
footer: program.metadata.footer
|
|
211
|
-
};
|
|
212
|
-
if (!options.programName) options = {
|
|
213
|
-
...options,
|
|
214
|
-
programName: programNameFromProgram
|
|
215
|
-
};
|
|
216
|
-
} else parser = parserOrProgram;
|
|
206
|
+
const resolved = resolveProgramInput(parserOrProgram, options);
|
|
207
|
+
const { parser, programMetadata } = resolved;
|
|
208
|
+
options = resolved.options;
|
|
217
209
|
const contexts = options.contexts;
|
|
218
210
|
if (contexts && contexts.length > 0) {
|
|
219
211
|
const { programName: programName$1, args: args$1, coreOptions: coreOptions$1 } = buildCoreOptions(options, programMetadata);
|
package/dist/run.js
CHANGED
|
@@ -3,31 +3,39 @@ import path from "node:path";
|
|
|
3
3
|
import process from "node:process";
|
|
4
4
|
|
|
5
5
|
//#region src/run.ts
|
|
6
|
+
function getProgramHelpMetadata(metadata) {
|
|
7
|
+
return {
|
|
8
|
+
brief: metadata.brief,
|
|
9
|
+
description: metadata.description,
|
|
10
|
+
examples: metadata.examples,
|
|
11
|
+
author: metadata.author,
|
|
12
|
+
bugs: metadata.bugs,
|
|
13
|
+
footer: metadata.footer
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function resolveProgramInput(parserOrProgram, options) {
|
|
17
|
+
if ("parser" in parserOrProgram && "metadata" in parserOrProgram) return {
|
|
18
|
+
parser: parserOrProgram.parser,
|
|
19
|
+
options: options.programName == null ? {
|
|
20
|
+
...options,
|
|
21
|
+
programName: parserOrProgram.metadata.name
|
|
22
|
+
} : options,
|
|
23
|
+
programMetadata: getProgramHelpMetadata(parserOrProgram.metadata)
|
|
24
|
+
};
|
|
25
|
+
return {
|
|
26
|
+
parser: parserOrProgram,
|
|
27
|
+
options
|
|
28
|
+
};
|
|
29
|
+
}
|
|
6
30
|
function run(parserOrProgram, options = {}) {
|
|
7
31
|
return runImpl(parserOrProgram, options);
|
|
8
32
|
}
|
|
9
33
|
function runSync(parserOrProgram, options = {}) {
|
|
10
34
|
const contexts = options.contexts;
|
|
11
35
|
if (contexts && contexts.length > 0) {
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if (isProgram) {
|
|
16
|
-
const program = parserOrProgram;
|
|
17
|
-
parser = program.parser;
|
|
18
|
-
if (!options.programName) options = {
|
|
19
|
-
...options,
|
|
20
|
-
programName: program.metadata.name
|
|
21
|
-
};
|
|
22
|
-
programMetadata = {
|
|
23
|
-
brief: program.metadata.brief,
|
|
24
|
-
description: program.metadata.description,
|
|
25
|
-
examples: program.metadata.examples,
|
|
26
|
-
author: program.metadata.author,
|
|
27
|
-
bugs: program.metadata.bugs,
|
|
28
|
-
footer: program.metadata.footer
|
|
29
|
-
};
|
|
30
|
-
} else parser = parserOrProgram;
|
|
36
|
+
const resolved = resolveProgramInput(parserOrProgram, options);
|
|
37
|
+
const { parser, programMetadata } = resolved;
|
|
38
|
+
options = resolved.options;
|
|
31
39
|
const { programName, args, coreOptions } = buildCoreOptions(options, programMetadata);
|
|
32
40
|
const contextOptions = {};
|
|
33
41
|
for (const key of Object.keys(options)) if (!knownRunOptionsKeys.has(key)) contextOptions[key] = options[key];
|
|
@@ -168,7 +176,7 @@ function buildCoreOptions(options, programMetadata) {
|
|
|
168
176
|
* Set of known RunOptions field names. Used by `runImpl()` to separate
|
|
169
177
|
* RunOptions fields from context-required options via rest-spread.
|
|
170
178
|
*/
|
|
171
|
-
const
|
|
179
|
+
const knownRunOptionsKeyList = [
|
|
172
180
|
"programName",
|
|
173
181
|
"args",
|
|
174
182
|
"stdout",
|
|
@@ -191,28 +199,12 @@ const knownRunOptionsKeys = new Set([
|
|
|
191
199
|
"bugs",
|
|
192
200
|
"footer",
|
|
193
201
|
"contexts"
|
|
194
|
-
]
|
|
202
|
+
];
|
|
203
|
+
const knownRunOptionsKeys = new Set(knownRunOptionsKeyList);
|
|
195
204
|
function runImpl(parserOrProgram, options = {}) {
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
if (isProgram) {
|
|
200
|
-
const program = parserOrProgram;
|
|
201
|
-
parser = program.parser;
|
|
202
|
-
const programNameFromProgram = program.metadata.name;
|
|
203
|
-
programMetadata = {
|
|
204
|
-
brief: program.metadata.brief,
|
|
205
|
-
description: program.metadata.description,
|
|
206
|
-
examples: program.metadata.examples,
|
|
207
|
-
author: program.metadata.author,
|
|
208
|
-
bugs: program.metadata.bugs,
|
|
209
|
-
footer: program.metadata.footer
|
|
210
|
-
};
|
|
211
|
-
if (!options.programName) options = {
|
|
212
|
-
...options,
|
|
213
|
-
programName: programNameFromProgram
|
|
214
|
-
};
|
|
215
|
-
} else parser = parserOrProgram;
|
|
205
|
+
const resolved = resolveProgramInput(parserOrProgram, options);
|
|
206
|
+
const { parser, programMetadata } = resolved;
|
|
207
|
+
options = resolved.options;
|
|
216
208
|
const contexts = options.contexts;
|
|
217
209
|
if (contexts && contexts.length > 0) {
|
|
218
210
|
const { programName: programName$1, args: args$1, coreOptions: coreOptions$1 } = buildCoreOptions(options, programMetadata);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optique/run",
|
|
3
|
-
"version": "1.0.0-dev.
|
|
3
|
+
"version": "1.0.0-dev.557+7de4cc60",
|
|
4
4
|
"description": "Type-safe combinatorial command-line interface parser",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"CLI",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
},
|
|
71
71
|
"sideEffects": false,
|
|
72
72
|
"dependencies": {
|
|
73
|
-
"@optique/core": "1.0.0-dev.
|
|
73
|
+
"@optique/core": "1.0.0-dev.557+7de4cc60"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@types/node": "^20.19.9",
|