@optique/core 1.0.0-dev.1536 → 1.0.0-dev.1547
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/constructs.cjs +53 -0
- package/dist/constructs.js +53 -0
- package/dist/facade.cjs +5 -3
- package/dist/facade.js +6 -4
- package/dist/index.cjs +0 -3
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/modifiers.cjs +8 -0
- package/dist/modifiers.js +8 -0
- package/dist/parser.d.cts +38 -0
- package/dist/parser.d.ts +38 -0
- package/dist/primitives.cjs +19 -0
- package/dist/primitives.js +19 -0
- package/dist/usage.cjs +0 -194
- package/dist/usage.d.cts +1 -75
- package/dist/usage.d.ts +1 -75
- package/dist/usage.js +1 -192
- package/dist/validate.cjs +24 -13
- package/dist/validate.js +24 -13
- package/package.json +1 -1
package/dist/constructs.cjs
CHANGED
|
@@ -9,6 +9,43 @@ const require_suggestion = require('./suggestion.cjs');
|
|
|
9
9
|
const require_usage_internals = require('./usage-internals.cjs');
|
|
10
10
|
|
|
11
11
|
//#region src/constructs.ts
|
|
12
|
+
/**
|
|
13
|
+
* A shared empty set used as the `leadingNames` value for parsers that
|
|
14
|
+
* do not match any specific name at the first buffer position.
|
|
15
|
+
*/
|
|
16
|
+
const EMPTY_LEADING_NAMES = /* @__PURE__ */ new Set();
|
|
17
|
+
/**
|
|
18
|
+
* Computes the union of `leadingNames` from all given parsers.
|
|
19
|
+
* Used for alternative combinators (`or()`, `longestMatch()`) where all
|
|
20
|
+
* branches compete independently.
|
|
21
|
+
*/
|
|
22
|
+
function unionLeadingNames(parsers) {
|
|
23
|
+
const names = /* @__PURE__ */ new Set();
|
|
24
|
+
for (const p of parsers) for (const name of p.leadingNames) names.add(name);
|
|
25
|
+
return names.size === 0 ? EMPTY_LEADING_NAMES : names;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Computes `leadingNames` for shared-buffer compositions (`tuple()`,
|
|
29
|
+
* `object()`, `merge()`, `concat()`).
|
|
30
|
+
*
|
|
31
|
+
* Children are processed in descending priority order (matching the
|
|
32
|
+
* round-robin parse loop). Once a child with `acceptingAnyToken` is
|
|
33
|
+
* encountered, no lower-priority children can match at position 0, so
|
|
34
|
+
* their names are excluded.
|
|
35
|
+
*/
|
|
36
|
+
function sharedBufferLeadingNames(parsers) {
|
|
37
|
+
const sorted = parsers.toSorted((a, b) => b.priority - a.priority);
|
|
38
|
+
const names = /* @__PURE__ */ new Set();
|
|
39
|
+
let positionalBlocked = false;
|
|
40
|
+
for (const p of sorted) {
|
|
41
|
+
if (p.leadingNames) for (const name of p.leadingNames) {
|
|
42
|
+
if (positionalBlocked && !name.startsWith("-")) continue;
|
|
43
|
+
names.add(name);
|
|
44
|
+
}
|
|
45
|
+
if (p.acceptingAnyToken) positionalBlocked = true;
|
|
46
|
+
}
|
|
47
|
+
return names.size === 0 ? EMPTY_LEADING_NAMES : names;
|
|
48
|
+
}
|
|
12
49
|
const inheritParentAnnotationsKey = Symbol.for("@optique/core/inheritParentAnnotations");
|
|
13
50
|
/**
|
|
14
51
|
* Internal symbol for exposing field-level parser pairs from `object()`
|
|
@@ -463,6 +500,8 @@ function or(...args) {
|
|
|
463
500
|
type: "exclusive",
|
|
464
501
|
terms: parsers.map((p) => p.usage)
|
|
465
502
|
}],
|
|
503
|
+
leadingNames: unionLeadingNames(parsers),
|
|
504
|
+
acceptingAnyToken: parsers.some((p) => p.acceptingAnyToken),
|
|
466
505
|
initialState: void 0,
|
|
467
506
|
complete: createExclusiveComplete(parsers, options, noMatchContext, combinedMode),
|
|
468
507
|
parse(context) {
|
|
@@ -600,6 +639,8 @@ function longestMatch(...args) {
|
|
|
600
639
|
type: "exclusive",
|
|
601
640
|
terms: parsers.map((p) => p.usage)
|
|
602
641
|
}],
|
|
642
|
+
leadingNames: unionLeadingNames(parsers),
|
|
643
|
+
acceptingAnyToken: parsers.some((p) => p.acceptingAnyToken),
|
|
603
644
|
initialState: void 0,
|
|
604
645
|
complete: createExclusiveComplete(parsers, options, noMatchContext, combinedMode),
|
|
605
646
|
parse(context) {
|
|
@@ -1185,6 +1226,8 @@ function object(labelOrParsers, maybeParsersOrOptions, maybeOptions) {
|
|
|
1185
1226
|
[fieldParsersKey]: parserPairs,
|
|
1186
1227
|
priority: Math.max(...parserKeys.map((k) => parsers[k].priority)),
|
|
1187
1228
|
usage: applyHiddenToUsage(parserPairs.flatMap(([_, p]) => p.usage), options.hidden),
|
|
1229
|
+
leadingNames: sharedBufferLeadingNames(parserPairs.map(([_, p]) => p)),
|
|
1230
|
+
acceptingAnyToken: parserPairs.some(([_, p]) => p.acceptingAnyToken),
|
|
1188
1231
|
get initialState() {
|
|
1189
1232
|
return createInitialState();
|
|
1190
1233
|
},
|
|
@@ -1556,6 +1599,8 @@ function tuple(labelOrParsers, maybeParsersOrOptions, maybeOptions) {
|
|
|
1556
1599
|
$valueType: [],
|
|
1557
1600
|
$stateType: [],
|
|
1558
1601
|
usage: parsers.toSorted((a, b) => b.priority - a.priority).flatMap((p) => p.usage),
|
|
1602
|
+
leadingNames: sharedBufferLeadingNames(parsers),
|
|
1603
|
+
acceptingAnyToken: parsers.some((p) => p.acceptingAnyToken),
|
|
1559
1604
|
priority: parsers.length > 0 ? Math.max(...parsers.map((p) => p.priority)) : 0,
|
|
1560
1605
|
initialState: parsers.map((parser) => parser.initialState),
|
|
1561
1606
|
parse(context) {
|
|
@@ -1877,6 +1922,8 @@ function merge(...args) {
|
|
|
1877
1922
|
[fieldParsersKey]: mergedFieldParsers,
|
|
1878
1923
|
priority: Math.max(...parsers.map((p) => p.priority)),
|
|
1879
1924
|
usage: applyHiddenToUsage(parsers.flatMap((p) => p.usage), options.hidden),
|
|
1925
|
+
leadingNames: sharedBufferLeadingNames(parsers),
|
|
1926
|
+
acceptingAnyToken: parsers.some((p) => p.acceptingAnyToken),
|
|
1880
1927
|
initialState,
|
|
1881
1928
|
parse(context) {
|
|
1882
1929
|
if (isAsync) return parseAsync(context);
|
|
@@ -2415,6 +2462,8 @@ function concat(...parsers) {
|
|
|
2415
2462
|
$stateType: [],
|
|
2416
2463
|
priority: parsers.length > 0 ? Math.max(...parsers.map((p) => p.priority)) : 0,
|
|
2417
2464
|
usage: parsers.flatMap((p) => p.usage),
|
|
2465
|
+
leadingNames: sharedBufferLeadingNames(parsers),
|
|
2466
|
+
acceptingAnyToken: parsers.some((p) => p.acceptingAnyToken),
|
|
2418
2467
|
initialState,
|
|
2419
2468
|
parse(context) {
|
|
2420
2469
|
if (isAsync) return parseAsync(context);
|
|
@@ -2492,6 +2541,8 @@ function group(label, parser, options = {}) {
|
|
|
2492
2541
|
$stateType: parser.$stateType,
|
|
2493
2542
|
priority: parser.priority,
|
|
2494
2543
|
usage: applyHiddenToUsage(parser.usage, options.hidden),
|
|
2544
|
+
leadingNames: parser.leadingNames,
|
|
2545
|
+
acceptingAnyToken: parser.acceptingAnyToken,
|
|
2495
2546
|
initialState: parser.initialState,
|
|
2496
2547
|
...fieldParsersKey in parser ? { [fieldParsersKey]: parser[fieldParsersKey] } : {},
|
|
2497
2548
|
...typeof parser.shouldDeferCompletion === "function" ? { shouldDeferCompletion: parser.shouldDeferCompletion.bind(parser) } : {},
|
|
@@ -2976,6 +3027,8 @@ function conditional(discriminator, branches, defaultBranch, options) {
|
|
|
2976
3027
|
$stateType: [],
|
|
2977
3028
|
priority: maxPriority,
|
|
2978
3029
|
usage,
|
|
3030
|
+
leadingNames: defaultBranch ? unionLeadingNames([discriminator, defaultBranch]) : discriminator.leadingNames,
|
|
3031
|
+
acceptingAnyToken: defaultBranch?.acceptingAnyToken ?? false,
|
|
2979
3032
|
initialState,
|
|
2980
3033
|
parse(context) {
|
|
2981
3034
|
if (isAsync) return parseAsync(context);
|
package/dist/constructs.js
CHANGED
|
@@ -9,6 +9,43 @@ import { DEFAULT_FIND_SIMILAR_OPTIONS, createErrorWithSuggestions, createSuggest
|
|
|
9
9
|
import { collectLeadingCandidates } from "./usage-internals.js";
|
|
10
10
|
|
|
11
11
|
//#region src/constructs.ts
|
|
12
|
+
/**
|
|
13
|
+
* A shared empty set used as the `leadingNames` value for parsers that
|
|
14
|
+
* do not match any specific name at the first buffer position.
|
|
15
|
+
*/
|
|
16
|
+
const EMPTY_LEADING_NAMES = /* @__PURE__ */ new Set();
|
|
17
|
+
/**
|
|
18
|
+
* Computes the union of `leadingNames` from all given parsers.
|
|
19
|
+
* Used for alternative combinators (`or()`, `longestMatch()`) where all
|
|
20
|
+
* branches compete independently.
|
|
21
|
+
*/
|
|
22
|
+
function unionLeadingNames(parsers) {
|
|
23
|
+
const names = /* @__PURE__ */ new Set();
|
|
24
|
+
for (const p of parsers) for (const name of p.leadingNames) names.add(name);
|
|
25
|
+
return names.size === 0 ? EMPTY_LEADING_NAMES : names;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Computes `leadingNames` for shared-buffer compositions (`tuple()`,
|
|
29
|
+
* `object()`, `merge()`, `concat()`).
|
|
30
|
+
*
|
|
31
|
+
* Children are processed in descending priority order (matching the
|
|
32
|
+
* round-robin parse loop). Once a child with `acceptingAnyToken` is
|
|
33
|
+
* encountered, no lower-priority children can match at position 0, so
|
|
34
|
+
* their names are excluded.
|
|
35
|
+
*/
|
|
36
|
+
function sharedBufferLeadingNames(parsers) {
|
|
37
|
+
const sorted = parsers.toSorted((a, b) => b.priority - a.priority);
|
|
38
|
+
const names = /* @__PURE__ */ new Set();
|
|
39
|
+
let positionalBlocked = false;
|
|
40
|
+
for (const p of sorted) {
|
|
41
|
+
if (p.leadingNames) for (const name of p.leadingNames) {
|
|
42
|
+
if (positionalBlocked && !name.startsWith("-")) continue;
|
|
43
|
+
names.add(name);
|
|
44
|
+
}
|
|
45
|
+
if (p.acceptingAnyToken) positionalBlocked = true;
|
|
46
|
+
}
|
|
47
|
+
return names.size === 0 ? EMPTY_LEADING_NAMES : names;
|
|
48
|
+
}
|
|
12
49
|
const inheritParentAnnotationsKey = Symbol.for("@optique/core/inheritParentAnnotations");
|
|
13
50
|
/**
|
|
14
51
|
* Internal symbol for exposing field-level parser pairs from `object()`
|
|
@@ -463,6 +500,8 @@ function or(...args) {
|
|
|
463
500
|
type: "exclusive",
|
|
464
501
|
terms: parsers.map((p) => p.usage)
|
|
465
502
|
}],
|
|
503
|
+
leadingNames: unionLeadingNames(parsers),
|
|
504
|
+
acceptingAnyToken: parsers.some((p) => p.acceptingAnyToken),
|
|
466
505
|
initialState: void 0,
|
|
467
506
|
complete: createExclusiveComplete(parsers, options, noMatchContext, combinedMode),
|
|
468
507
|
parse(context) {
|
|
@@ -600,6 +639,8 @@ function longestMatch(...args) {
|
|
|
600
639
|
type: "exclusive",
|
|
601
640
|
terms: parsers.map((p) => p.usage)
|
|
602
641
|
}],
|
|
642
|
+
leadingNames: unionLeadingNames(parsers),
|
|
643
|
+
acceptingAnyToken: parsers.some((p) => p.acceptingAnyToken),
|
|
603
644
|
initialState: void 0,
|
|
604
645
|
complete: createExclusiveComplete(parsers, options, noMatchContext, combinedMode),
|
|
605
646
|
parse(context) {
|
|
@@ -1185,6 +1226,8 @@ function object(labelOrParsers, maybeParsersOrOptions, maybeOptions) {
|
|
|
1185
1226
|
[fieldParsersKey]: parserPairs,
|
|
1186
1227
|
priority: Math.max(...parserKeys.map((k) => parsers[k].priority)),
|
|
1187
1228
|
usage: applyHiddenToUsage(parserPairs.flatMap(([_, p]) => p.usage), options.hidden),
|
|
1229
|
+
leadingNames: sharedBufferLeadingNames(parserPairs.map(([_, p]) => p)),
|
|
1230
|
+
acceptingAnyToken: parserPairs.some(([_, p]) => p.acceptingAnyToken),
|
|
1188
1231
|
get initialState() {
|
|
1189
1232
|
return createInitialState();
|
|
1190
1233
|
},
|
|
@@ -1556,6 +1599,8 @@ function tuple(labelOrParsers, maybeParsersOrOptions, maybeOptions) {
|
|
|
1556
1599
|
$valueType: [],
|
|
1557
1600
|
$stateType: [],
|
|
1558
1601
|
usage: parsers.toSorted((a, b) => b.priority - a.priority).flatMap((p) => p.usage),
|
|
1602
|
+
leadingNames: sharedBufferLeadingNames(parsers),
|
|
1603
|
+
acceptingAnyToken: parsers.some((p) => p.acceptingAnyToken),
|
|
1559
1604
|
priority: parsers.length > 0 ? Math.max(...parsers.map((p) => p.priority)) : 0,
|
|
1560
1605
|
initialState: parsers.map((parser) => parser.initialState),
|
|
1561
1606
|
parse(context) {
|
|
@@ -1877,6 +1922,8 @@ function merge(...args) {
|
|
|
1877
1922
|
[fieldParsersKey]: mergedFieldParsers,
|
|
1878
1923
|
priority: Math.max(...parsers.map((p) => p.priority)),
|
|
1879
1924
|
usage: applyHiddenToUsage(parsers.flatMap((p) => p.usage), options.hidden),
|
|
1925
|
+
leadingNames: sharedBufferLeadingNames(parsers),
|
|
1926
|
+
acceptingAnyToken: parsers.some((p) => p.acceptingAnyToken),
|
|
1880
1927
|
initialState,
|
|
1881
1928
|
parse(context) {
|
|
1882
1929
|
if (isAsync) return parseAsync(context);
|
|
@@ -2415,6 +2462,8 @@ function concat(...parsers) {
|
|
|
2415
2462
|
$stateType: [],
|
|
2416
2463
|
priority: parsers.length > 0 ? Math.max(...parsers.map((p) => p.priority)) : 0,
|
|
2417
2464
|
usage: parsers.flatMap((p) => p.usage),
|
|
2465
|
+
leadingNames: sharedBufferLeadingNames(parsers),
|
|
2466
|
+
acceptingAnyToken: parsers.some((p) => p.acceptingAnyToken),
|
|
2418
2467
|
initialState,
|
|
2419
2468
|
parse(context) {
|
|
2420
2469
|
if (isAsync) return parseAsync(context);
|
|
@@ -2492,6 +2541,8 @@ function group(label, parser, options = {}) {
|
|
|
2492
2541
|
$stateType: parser.$stateType,
|
|
2493
2542
|
priority: parser.priority,
|
|
2494
2543
|
usage: applyHiddenToUsage(parser.usage, options.hidden),
|
|
2544
|
+
leadingNames: parser.leadingNames,
|
|
2545
|
+
acceptingAnyToken: parser.acceptingAnyToken,
|
|
2495
2546
|
initialState: parser.initialState,
|
|
2496
2547
|
...fieldParsersKey in parser ? { [fieldParsersKey]: parser[fieldParsersKey] } : {},
|
|
2497
2548
|
...typeof parser.shouldDeferCompletion === "function" ? { shouldDeferCompletion: parser.shouldDeferCompletion.bind(parser) } : {},
|
|
@@ -2976,6 +3027,8 @@ function conditional(discriminator, branches, defaultBranch, options) {
|
|
|
2976
3027
|
$stateType: [],
|
|
2977
3028
|
priority: maxPriority,
|
|
2978
3029
|
usage,
|
|
3030
|
+
leadingNames: defaultBranch ? unionLeadingNames([discriminator, defaultBranch]) : discriminator.leadingNames,
|
|
3031
|
+
acceptingAnyToken: defaultBranch?.acceptingAnyToken ?? false,
|
|
2979
3032
|
initialState,
|
|
2980
3033
|
parse(context) {
|
|
2981
3034
|
if (isAsync) return parseAsync(context);
|
package/dist/facade.cjs
CHANGED
|
@@ -196,6 +196,8 @@ function combineWithHelpVersion(originalParser, helpParsers, versionParsers, com
|
|
|
196
196
|
$stateType: [],
|
|
197
197
|
priority: 200,
|
|
198
198
|
usage: helpParsers.helpOption.usage,
|
|
199
|
+
leadingNames: helpParsers.helpOption.leadingNames,
|
|
200
|
+
acceptingAnyToken: false,
|
|
199
201
|
initialState: null,
|
|
200
202
|
parse(context) {
|
|
201
203
|
const { buffer, optionsTerminated } = context;
|
|
@@ -275,6 +277,8 @@ function combineWithHelpVersion(originalParser, helpParsers, versionParsers, com
|
|
|
275
277
|
$stateType: [],
|
|
276
278
|
priority: 200,
|
|
277
279
|
usage: versionParsers.versionOption.usage,
|
|
280
|
+
leadingNames: versionParsers.versionOption.leadingNames,
|
|
281
|
+
acceptingAnyToken: false,
|
|
278
282
|
initialState: null,
|
|
279
283
|
parse(context) {
|
|
280
284
|
const { buffer, optionsTerminated } = context;
|
|
@@ -620,9 +624,7 @@ function runParser(parserOrProgram, programNameOrArgs, argsOrOptions, optionsPar
|
|
|
620
624
|
completionCommandNames
|
|
621
625
|
]);
|
|
622
626
|
require_validate.validateMetaNameCollisions({
|
|
623
|
-
|
|
624
|
-
leadingCommands: require_usage.extractLeadingCommandNames(parser.usage, true),
|
|
625
|
-
leadingLiterals: require_usage.extractLeadingLiteralValues(parser.usage),
|
|
627
|
+
leadingNames: parser.leadingNames,
|
|
626
628
|
allOptions: require_usage.extractOptionNames(parser.usage, true),
|
|
627
629
|
allCommands: require_usage.extractCommandNames(parser.usage, true),
|
|
628
630
|
allLiterals: require_usage.extractLiteralValues(parser.usage)
|
package/dist/facade.js
CHANGED
|
@@ -3,7 +3,7 @@ import { commandLine, formatMessage, lineBreak, message, optionName, text, value
|
|
|
3
3
|
import { bash, fish, nu, pwsh, zsh } from "./completion.js";
|
|
4
4
|
import { dispatchByMode } from "./mode-dispatch.js";
|
|
5
5
|
import { validateCommandNames, validateMetaNameCollisions, validateOptionNames } from "./validate.js";
|
|
6
|
-
import { extractCommandNames,
|
|
6
|
+
import { extractCommandNames, extractLiteralValues, extractOptionNames, formatUsage } from "./usage.js";
|
|
7
7
|
import { formatDocPage } from "./doc.js";
|
|
8
8
|
import { group, longestMatch, object } from "./constructs.js";
|
|
9
9
|
import { multiple, optional, withDefault } from "./modifiers.js";
|
|
@@ -196,6 +196,8 @@ function combineWithHelpVersion(originalParser, helpParsers, versionParsers, com
|
|
|
196
196
|
$stateType: [],
|
|
197
197
|
priority: 200,
|
|
198
198
|
usage: helpParsers.helpOption.usage,
|
|
199
|
+
leadingNames: helpParsers.helpOption.leadingNames,
|
|
200
|
+
acceptingAnyToken: false,
|
|
199
201
|
initialState: null,
|
|
200
202
|
parse(context) {
|
|
201
203
|
const { buffer, optionsTerminated } = context;
|
|
@@ -275,6 +277,8 @@ function combineWithHelpVersion(originalParser, helpParsers, versionParsers, com
|
|
|
275
277
|
$stateType: [],
|
|
276
278
|
priority: 200,
|
|
277
279
|
usage: versionParsers.versionOption.usage,
|
|
280
|
+
leadingNames: versionParsers.versionOption.leadingNames,
|
|
281
|
+
acceptingAnyToken: false,
|
|
278
282
|
initialState: null,
|
|
279
283
|
parse(context) {
|
|
280
284
|
const { buffer, optionsTerminated } = context;
|
|
@@ -620,9 +624,7 @@ function runParser(parserOrProgram, programNameOrArgs, argsOrOptions, optionsPar
|
|
|
620
624
|
completionCommandNames
|
|
621
625
|
]);
|
|
622
626
|
validateMetaNameCollisions({
|
|
623
|
-
|
|
624
|
-
leadingCommands: extractLeadingCommandNames(parser.usage, true),
|
|
625
|
-
leadingLiterals: extractLeadingLiteralValues(parser.usage),
|
|
627
|
+
leadingNames: parser.leadingNames,
|
|
626
628
|
allOptions: extractOptionNames(parser.usage, true),
|
|
627
629
|
allCommands: extractCommandNames(parser.usage, true),
|
|
628
630
|
allLiterals: extractLiteralValues(parser.usage)
|
package/dist/index.cjs
CHANGED
|
@@ -53,9 +53,6 @@ exports.ensureNonEmptyString = require_nonempty.ensureNonEmptyString;
|
|
|
53
53
|
exports.envVar = require_message.envVar;
|
|
54
54
|
exports.extractArgumentMetavars = require_usage.extractArgumentMetavars;
|
|
55
55
|
exports.extractCommandNames = require_usage.extractCommandNames;
|
|
56
|
-
exports.extractLeadingCommandNames = require_usage.extractLeadingCommandNames;
|
|
57
|
-
exports.extractLeadingLiteralValues = require_usage.extractLeadingLiteralValues;
|
|
58
|
-
exports.extractLeadingOptionNames = require_usage.extractLeadingOptionNames;
|
|
59
56
|
exports.extractLiteralValues = require_usage.extractLiteralValues;
|
|
60
57
|
exports.extractOptionNames = require_usage.extractOptionNames;
|
|
61
58
|
exports.fail = require_primitives.fail;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Annotations, ParseOptions, annotationKey, getAnnotations } from "./annotations.cjs";
|
|
2
2
|
import { NonEmptyString, ensureNonEmptyString, isNonEmptyString } from "./nonempty.cjs";
|
|
3
3
|
import { Message, MessageFormatOptions, MessageTerm, ValueSetOptions, commandLine, envVar, formatMessage, lineBreak, link, message, metavar, optionName, optionNames, text, value, valueSet, values } from "./message.cjs";
|
|
4
|
-
import { HiddenVisibility, OptionName, Usage, UsageFormatOptions, UsageTerm, UsageTermFormatOptions, cloneUsage, cloneUsageTerm, extractArgumentMetavars, extractCommandNames,
|
|
4
|
+
import { HiddenVisibility, OptionName, Usage, UsageFormatOptions, UsageTerm, UsageTermFormatOptions, cloneUsage, cloneUsageTerm, extractArgumentMetavars, extractCommandNames, extractLiteralValues, extractOptionNames, formatUsage, formatUsageTerm, isDocHidden, isSuggestionHidden, isUsageHidden, mergeHidden, normalizeUsage } from "./usage.cjs";
|
|
5
5
|
import { DocEntry, DocFragment, DocFragments, DocPage, DocPageFormatOptions, DocSection, ShowChoicesOptions, ShowDefaultOptions, cloneDocEntry, deduplicateDocEntries, deduplicateDocFragments, formatDocPage, isDocEntryHidden } from "./doc.cjs";
|
|
6
6
|
import { ChoiceOptions, ChoiceOptionsBase, ChoiceOptionsNumber, ChoiceOptionsString, CidrOptions, CidrValue, DeferredMap, DomainOptions, EmailOptions, FloatOptions, HostnameOptions, IntegerOptionsBigInt, IntegerOptionsNumber, IpOptions, Ipv4Options, Ipv6Options, LocaleOptions, MacAddressOptions, PortOptionsBigInt, PortOptionsNumber, PortRangeOptionsBigInt, PortRangeOptionsNumber, PortRangeValueBigInt, PortRangeValueNumber, SocketAddressOptions, SocketAddressValue, StringOptions, UrlOptions, Uuid, UuidOptions, ValueParser, ValueParserResult, checkBooleanOption, checkEnumOption, choice, cidr, domain, email, float, hostname, integer, ip, ipv4, ipv6, isValueParser, locale, macAddress, port, portRange, socketAddress, string, url, uuid } from "./valueparser.cjs";
|
|
7
7
|
import { ConditionalErrorOptions, ConditionalOptions, DuplicateOptionError, GroupOptions, LongestMatchErrorOptions, LongestMatchOptions, MergeOptions, NoMatchContext, ObjectErrorOptions, ObjectOptions, OrErrorOptions, OrOptions, TupleOptions, concat, conditional, group, longestMatch, merge, object, or, tuple } from "./constructs.cjs";
|
|
@@ -12,4 +12,4 @@ import { CombineModes, DocState, InferMode, InferValue, Mode, ModeIterable, Mode
|
|
|
12
12
|
import { ShellCompletion, bash, fish, nu, pwsh, zsh } from "./completion.cjs";
|
|
13
13
|
import { ParserValuePlaceholder, SourceContext } from "./context.cjs";
|
|
14
14
|
import { CommandSubConfig, ContextOptionsParam, ExtractRequiredOptions, OptionSubConfig, RunOptions, RunParserError, RunWithOptions, SubstituteParserValue, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync } from "./facade.cjs";
|
|
15
|
-
export { type Annotations, AnyDependencySource, ArgumentErrorOptions, ArgumentOptions, ChoiceOptions, ChoiceOptionsBase, ChoiceOptionsNumber, ChoiceOptionsString, CidrOptions, CidrValue, CombineMode, CombineModes, CombinedDependencyMode, CommandErrorOptions, CommandOptions, CommandSubConfig, ConditionalErrorOptions, ConditionalOptions, ContextOptionsParam, DeferredMap, DeferredParseState, DependencyError, DependencyMode, DependencyRegistry, DependencySource, DependencySourceState, DependencyValue, DependencyValues, DeriveAsyncOptions, DeriveFromAsyncOptions, DeriveFromOptions, DeriveFromSyncOptions, DeriveOptions, DeriveSyncOptions, DerivedValueParser, DocEntry, DocFragment, DocFragments, DocPage, DocPageFormatOptions, DocSection, DocState, DomainOptions, DuplicateOptionError, EmailOptions, ExtractRequiredOptions, FlagErrorOptions, FlagOptions, FloatOptions, GroupOptions, HiddenVisibility, HostnameOptions, InferMode, InferValue, IntegerOptionsBigInt, IntegerOptionsNumber, IpOptions, Ipv4Options, Ipv6Options, LocaleOptions, LongestMatchErrorOptions, LongestMatchOptions, MacAddressOptions, MergeOptions, type Message, type MessageFormatOptions, type MessageTerm, Mode, ModeIterable, ModeValue, MultipleErrorOptions, MultipleOptions, NoMatchContext, NonEmptyString, ObjectErrorOptions, ObjectOptions, OptionErrorOptions, OptionName, OptionOptions, OptionState, OptionSubConfig, OrErrorOptions, OrOptions, type ParseOptions, Parser, ParserContext, ParserResult, ParserValuePlaceholder, PassThroughFormat, PassThroughOptions, PendingDependencySourceState, PortOptionsBigInt, PortOptionsNumber, PortRangeOptionsBigInt, PortRangeOptionsNumber, PortRangeValueBigInt, PortRangeValueNumber, ResolvedDependency, Result, RunOptions, RunParserError, RunWithOptions, ShellCompletion, ShowChoicesOptions, ShowDefaultOptions, SocketAddressOptions, SocketAddressValue, SourceContext, StringOptions, SubstituteParserValue, Suggestion, TupleOptions, UrlOptions, Usage, UsageFormatOptions, UsageTerm, UsageTermFormatOptions, Uuid, UuidOptions, ValueParser, ValueParserResult, type ValueSetOptions, WithDefaultError, WithDefaultOptions, annotationKey, argument, bash, checkBooleanOption, checkEnumOption, choice, cidr, cloneDocEntry, cloneUsage, cloneUsageTerm, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, deduplicateDocEntries, deduplicateDocFragments, defaultValues, deferredParseMarker, dependency, dependencyId, dependencyIds, dependencySourceMarker, dependencySourceStateMarker, deriveFrom, deriveFromAsync, deriveFromSync, derivedValueParserMarker, domain, email, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames,
|
|
15
|
+
export { type Annotations, AnyDependencySource, ArgumentErrorOptions, ArgumentOptions, ChoiceOptions, ChoiceOptionsBase, ChoiceOptionsNumber, ChoiceOptionsString, CidrOptions, CidrValue, CombineMode, CombineModes, CombinedDependencyMode, CommandErrorOptions, CommandOptions, CommandSubConfig, ConditionalErrorOptions, ConditionalOptions, ContextOptionsParam, DeferredMap, DeferredParseState, DependencyError, DependencyMode, DependencyRegistry, DependencySource, DependencySourceState, DependencyValue, DependencyValues, DeriveAsyncOptions, DeriveFromAsyncOptions, DeriveFromOptions, DeriveFromSyncOptions, DeriveOptions, DeriveSyncOptions, DerivedValueParser, DocEntry, DocFragment, DocFragments, DocPage, DocPageFormatOptions, DocSection, DocState, DomainOptions, DuplicateOptionError, EmailOptions, ExtractRequiredOptions, FlagErrorOptions, FlagOptions, FloatOptions, GroupOptions, HiddenVisibility, HostnameOptions, InferMode, InferValue, IntegerOptionsBigInt, IntegerOptionsNumber, IpOptions, Ipv4Options, Ipv6Options, LocaleOptions, LongestMatchErrorOptions, LongestMatchOptions, MacAddressOptions, MergeOptions, type Message, type MessageFormatOptions, type MessageTerm, Mode, ModeIterable, ModeValue, MultipleErrorOptions, MultipleOptions, NoMatchContext, NonEmptyString, ObjectErrorOptions, ObjectOptions, OptionErrorOptions, OptionName, OptionOptions, OptionState, OptionSubConfig, OrErrorOptions, OrOptions, type ParseOptions, Parser, ParserContext, ParserResult, ParserValuePlaceholder, PassThroughFormat, PassThroughOptions, PendingDependencySourceState, PortOptionsBigInt, PortOptionsNumber, PortRangeOptionsBigInt, PortRangeOptionsNumber, PortRangeValueBigInt, PortRangeValueNumber, ResolvedDependency, Result, RunOptions, RunParserError, RunWithOptions, ShellCompletion, ShowChoicesOptions, ShowDefaultOptions, SocketAddressOptions, SocketAddressValue, SourceContext, StringOptions, SubstituteParserValue, Suggestion, TupleOptions, UrlOptions, Usage, UsageFormatOptions, UsageTerm, UsageTermFormatOptions, Uuid, UuidOptions, ValueParser, ValueParserResult, type ValueSetOptions, WithDefaultError, WithDefaultOptions, annotationKey, argument, bash, checkBooleanOption, checkEnumOption, choice, cidr, cloneDocEntry, cloneUsage, cloneUsageTerm, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, deduplicateDocEntries, deduplicateDocFragments, defaultValues, deferredParseMarker, dependency, dependencyId, dependencyIds, dependencySourceMarker, dependencySourceStateMarker, deriveFrom, deriveFromAsync, deriveFromSync, derivedValueParserMarker, domain, email, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, extractLiteralValues, extractOptionNames, fail, fish, flag, float, formatDependencyError, formatDocPage, formatMessage, formatUsage, formatUsageTerm, getAnnotations, getDefaultValuesFunction, getDependencyIds, getDocPage, getDocPageAsync, getDocPageSync, group, hostname, integer, ip, ipv4, ipv6, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isDocEntryHidden, isDocHidden, isNonEmptyString, isPendingDependencySourceState, isSuggestionHidden, isUsageHidden, isValueParser, isWrappedDependencySource, lineBreak, link, locale, longestMatch, macAddress, map, merge, mergeHidden, message, metavar, multiple, nonEmpty, normalizeUsage, nu, object, option, optionName, optionNames, optional, or, parse, parseAsync, parseSync, parseWithDependency, passThrough, pendingDependencySourceStateMarker, port, portRange, pwsh, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync, socketAddress, string, suggest, suggestAsync, suggestSync, suggestWithDependency, text, transformsDependencyValue, transformsDependencyValueMarker, tuple, url, uuid, value, valueSet, values, withDefault, wrappedDependencySourceMarker, zsh };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Annotations, ParseOptions, annotationKey, getAnnotations } from "./annotations.js";
|
|
2
2
|
import { NonEmptyString, ensureNonEmptyString, isNonEmptyString } from "./nonempty.js";
|
|
3
3
|
import { Message, MessageFormatOptions, MessageTerm, ValueSetOptions, commandLine, envVar, formatMessage, lineBreak, link, message, metavar, optionName, optionNames, text, value, valueSet, values } from "./message.js";
|
|
4
|
-
import { HiddenVisibility, OptionName, Usage, UsageFormatOptions, UsageTerm, UsageTermFormatOptions, cloneUsage, cloneUsageTerm, extractArgumentMetavars, extractCommandNames,
|
|
4
|
+
import { HiddenVisibility, OptionName, Usage, UsageFormatOptions, UsageTerm, UsageTermFormatOptions, cloneUsage, cloneUsageTerm, extractArgumentMetavars, extractCommandNames, extractLiteralValues, extractOptionNames, formatUsage, formatUsageTerm, isDocHidden, isSuggestionHidden, isUsageHidden, mergeHidden, normalizeUsage } from "./usage.js";
|
|
5
5
|
import { DocEntry, DocFragment, DocFragments, DocPage, DocPageFormatOptions, DocSection, ShowChoicesOptions, ShowDefaultOptions, cloneDocEntry, deduplicateDocEntries, deduplicateDocFragments, formatDocPage, isDocEntryHidden } from "./doc.js";
|
|
6
6
|
import { ChoiceOptions, ChoiceOptionsBase, ChoiceOptionsNumber, ChoiceOptionsString, CidrOptions, CidrValue, DeferredMap, DomainOptions, EmailOptions, FloatOptions, HostnameOptions, IntegerOptionsBigInt, IntegerOptionsNumber, IpOptions, Ipv4Options, Ipv6Options, LocaleOptions, MacAddressOptions, PortOptionsBigInt, PortOptionsNumber, PortRangeOptionsBigInt, PortRangeOptionsNumber, PortRangeValueBigInt, PortRangeValueNumber, SocketAddressOptions, SocketAddressValue, StringOptions, UrlOptions, Uuid, UuidOptions, ValueParser, ValueParserResult, checkBooleanOption, checkEnumOption, choice, cidr, domain, email, float, hostname, integer, ip, ipv4, ipv6, isValueParser, locale, macAddress, port, portRange, socketAddress, string, url, uuid } from "./valueparser.js";
|
|
7
7
|
import { ConditionalErrorOptions, ConditionalOptions, DuplicateOptionError, GroupOptions, LongestMatchErrorOptions, LongestMatchOptions, MergeOptions, NoMatchContext, ObjectErrorOptions, ObjectOptions, OrErrorOptions, OrOptions, TupleOptions, concat, conditional, group, longestMatch, merge, object, or, tuple } from "./constructs.js";
|
|
@@ -12,4 +12,4 @@ import { CombineModes, DocState, InferMode, InferValue, Mode, ModeIterable, Mode
|
|
|
12
12
|
import { ShellCompletion, bash, fish, nu, pwsh, zsh } from "./completion.js";
|
|
13
13
|
import { ParserValuePlaceholder, SourceContext } from "./context.js";
|
|
14
14
|
import { CommandSubConfig, ContextOptionsParam, ExtractRequiredOptions, OptionSubConfig, RunOptions, RunParserError, RunWithOptions, SubstituteParserValue, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync } from "./facade.js";
|
|
15
|
-
export { type Annotations, AnyDependencySource, ArgumentErrorOptions, ArgumentOptions, ChoiceOptions, ChoiceOptionsBase, ChoiceOptionsNumber, ChoiceOptionsString, CidrOptions, CidrValue, CombineMode, CombineModes, CombinedDependencyMode, CommandErrorOptions, CommandOptions, CommandSubConfig, ConditionalErrorOptions, ConditionalOptions, ContextOptionsParam, DeferredMap, DeferredParseState, DependencyError, DependencyMode, DependencyRegistry, DependencySource, DependencySourceState, DependencyValue, DependencyValues, DeriveAsyncOptions, DeriveFromAsyncOptions, DeriveFromOptions, DeriveFromSyncOptions, DeriveOptions, DeriveSyncOptions, DerivedValueParser, DocEntry, DocFragment, DocFragments, DocPage, DocPageFormatOptions, DocSection, DocState, DomainOptions, DuplicateOptionError, EmailOptions, ExtractRequiredOptions, FlagErrorOptions, FlagOptions, FloatOptions, GroupOptions, HiddenVisibility, HostnameOptions, InferMode, InferValue, IntegerOptionsBigInt, IntegerOptionsNumber, IpOptions, Ipv4Options, Ipv6Options, LocaleOptions, LongestMatchErrorOptions, LongestMatchOptions, MacAddressOptions, MergeOptions, type Message, type MessageFormatOptions, type MessageTerm, Mode, ModeIterable, ModeValue, MultipleErrorOptions, MultipleOptions, NoMatchContext, NonEmptyString, ObjectErrorOptions, ObjectOptions, OptionErrorOptions, OptionName, OptionOptions, OptionState, OptionSubConfig, OrErrorOptions, OrOptions, type ParseOptions, Parser, ParserContext, ParserResult, ParserValuePlaceholder, PassThroughFormat, PassThroughOptions, PendingDependencySourceState, PortOptionsBigInt, PortOptionsNumber, PortRangeOptionsBigInt, PortRangeOptionsNumber, PortRangeValueBigInt, PortRangeValueNumber, ResolvedDependency, Result, RunOptions, RunParserError, RunWithOptions, ShellCompletion, ShowChoicesOptions, ShowDefaultOptions, SocketAddressOptions, SocketAddressValue, SourceContext, StringOptions, SubstituteParserValue, Suggestion, TupleOptions, UrlOptions, Usage, UsageFormatOptions, UsageTerm, UsageTermFormatOptions, Uuid, UuidOptions, ValueParser, ValueParserResult, type ValueSetOptions, WithDefaultError, WithDefaultOptions, annotationKey, argument, bash, checkBooleanOption, checkEnumOption, choice, cidr, cloneDocEntry, cloneUsage, cloneUsageTerm, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, deduplicateDocEntries, deduplicateDocFragments, defaultValues, deferredParseMarker, dependency, dependencyId, dependencyIds, dependencySourceMarker, dependencySourceStateMarker, deriveFrom, deriveFromAsync, deriveFromSync, derivedValueParserMarker, domain, email, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames,
|
|
15
|
+
export { type Annotations, AnyDependencySource, ArgumentErrorOptions, ArgumentOptions, ChoiceOptions, ChoiceOptionsBase, ChoiceOptionsNumber, ChoiceOptionsString, CidrOptions, CidrValue, CombineMode, CombineModes, CombinedDependencyMode, CommandErrorOptions, CommandOptions, CommandSubConfig, ConditionalErrorOptions, ConditionalOptions, ContextOptionsParam, DeferredMap, DeferredParseState, DependencyError, DependencyMode, DependencyRegistry, DependencySource, DependencySourceState, DependencyValue, DependencyValues, DeriveAsyncOptions, DeriveFromAsyncOptions, DeriveFromOptions, DeriveFromSyncOptions, DeriveOptions, DeriveSyncOptions, DerivedValueParser, DocEntry, DocFragment, DocFragments, DocPage, DocPageFormatOptions, DocSection, DocState, DomainOptions, DuplicateOptionError, EmailOptions, ExtractRequiredOptions, FlagErrorOptions, FlagOptions, FloatOptions, GroupOptions, HiddenVisibility, HostnameOptions, InferMode, InferValue, IntegerOptionsBigInt, IntegerOptionsNumber, IpOptions, Ipv4Options, Ipv6Options, LocaleOptions, LongestMatchErrorOptions, LongestMatchOptions, MacAddressOptions, MergeOptions, type Message, type MessageFormatOptions, type MessageTerm, Mode, ModeIterable, ModeValue, MultipleErrorOptions, MultipleOptions, NoMatchContext, NonEmptyString, ObjectErrorOptions, ObjectOptions, OptionErrorOptions, OptionName, OptionOptions, OptionState, OptionSubConfig, OrErrorOptions, OrOptions, type ParseOptions, Parser, ParserContext, ParserResult, ParserValuePlaceholder, PassThroughFormat, PassThroughOptions, PendingDependencySourceState, PortOptionsBigInt, PortOptionsNumber, PortRangeOptionsBigInt, PortRangeOptionsNumber, PortRangeValueBigInt, PortRangeValueNumber, ResolvedDependency, Result, RunOptions, RunParserError, RunWithOptions, ShellCompletion, ShowChoicesOptions, ShowDefaultOptions, SocketAddressOptions, SocketAddressValue, SourceContext, StringOptions, SubstituteParserValue, Suggestion, TupleOptions, UrlOptions, Usage, UsageFormatOptions, UsageTerm, UsageTermFormatOptions, Uuid, UuidOptions, ValueParser, ValueParserResult, type ValueSetOptions, WithDefaultError, WithDefaultOptions, annotationKey, argument, bash, checkBooleanOption, checkEnumOption, choice, cidr, cloneDocEntry, cloneUsage, cloneUsageTerm, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, deduplicateDocEntries, deduplicateDocFragments, defaultValues, deferredParseMarker, dependency, dependencyId, dependencyIds, dependencySourceMarker, dependencySourceStateMarker, deriveFrom, deriveFromAsync, deriveFromSync, derivedValueParserMarker, domain, email, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, extractLiteralValues, extractOptionNames, fail, fish, flag, float, formatDependencyError, formatDocPage, formatMessage, formatUsage, formatUsageTerm, getAnnotations, getDefaultValuesFunction, getDependencyIds, getDocPage, getDocPageAsync, getDocPageSync, group, hostname, integer, ip, ipv4, ipv6, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isDocEntryHidden, isDocHidden, isNonEmptyString, isPendingDependencySourceState, isSuggestionHidden, isUsageHidden, isValueParser, isWrappedDependencySource, lineBreak, link, locale, longestMatch, macAddress, map, merge, mergeHidden, message, metavar, multiple, nonEmpty, normalizeUsage, nu, object, option, optionName, optionNames, optional, or, parse, parseAsync, parseSync, parseWithDependency, passThrough, pendingDependencySourceStateMarker, port, portRange, pwsh, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync, socketAddress, string, suggest, suggestAsync, suggestSync, suggestWithDependency, text, transformsDependencyValue, transformsDependencyValueMarker, tuple, url, uuid, value, valueSet, values, withDefault, wrappedDependencySourceMarker, zsh };
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { annotationKey, getAnnotations } from "./annotations.js";
|
|
|
2
2
|
import { commandLine, envVar, formatMessage, lineBreak, link, message, metavar, optionName, optionNames, text, value, valueSet, values } from "./message.js";
|
|
3
3
|
import { bash, fish, nu, pwsh, zsh } from "./completion.js";
|
|
4
4
|
import { DependencyRegistry, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, defaultValues, deferredParseMarker, dependency, dependencyId, dependencyIds, dependencySourceMarker, dependencySourceStateMarker, deriveFrom, deriveFromAsync, deriveFromSync, derivedValueParserMarker, formatDependencyError, getDefaultValuesFunction, getDependencyIds, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isPendingDependencySourceState, isWrappedDependencySource, parseWithDependency, pendingDependencySourceStateMarker, suggestWithDependency, transformsDependencyValue, transformsDependencyValueMarker, wrappedDependencySourceMarker } from "./dependency.js";
|
|
5
|
-
import { cloneUsage, cloneUsageTerm, extractArgumentMetavars, extractCommandNames,
|
|
5
|
+
import { cloneUsage, cloneUsageTerm, extractArgumentMetavars, extractCommandNames, extractLiteralValues, extractOptionNames, formatUsage, formatUsageTerm, isDocHidden, isSuggestionHidden, isUsageHidden, mergeHidden, normalizeUsage } from "./usage.js";
|
|
6
6
|
import { cloneDocEntry, deduplicateDocEntries, deduplicateDocFragments, formatDocPage, isDocEntryHidden } from "./doc.js";
|
|
7
7
|
import { DuplicateOptionError, concat, conditional, group, longestMatch, merge, object, or, tuple } from "./constructs.js";
|
|
8
8
|
import { WithDefaultError, map, multiple, nonEmpty, optional, withDefault } from "./modifiers.js";
|
|
@@ -12,4 +12,4 @@ import { argument, command, constant, fail, flag, option, passThrough } from "./
|
|
|
12
12
|
import { getDocPage, getDocPageAsync, getDocPageSync, parse, parseAsync, parseSync, suggest, suggestAsync, suggestSync } from "./parser.js";
|
|
13
13
|
import { RunParserError, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync } from "./facade.js";
|
|
14
14
|
|
|
15
|
-
export { DependencyRegistry, DuplicateOptionError, RunParserError, WithDefaultError, annotationKey, argument, bash, checkBooleanOption, checkEnumOption, choice, cidr, cloneDocEntry, cloneUsage, cloneUsageTerm, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, deduplicateDocEntries, deduplicateDocFragments, defaultValues, deferredParseMarker, dependency, dependencyId, dependencyIds, dependencySourceMarker, dependencySourceStateMarker, deriveFrom, deriveFromAsync, deriveFromSync, derivedValueParserMarker, domain, email, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames,
|
|
15
|
+
export { DependencyRegistry, DuplicateOptionError, RunParserError, WithDefaultError, annotationKey, argument, bash, checkBooleanOption, checkEnumOption, choice, cidr, cloneDocEntry, cloneUsage, cloneUsageTerm, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, deduplicateDocEntries, deduplicateDocFragments, defaultValues, deferredParseMarker, dependency, dependencyId, dependencyIds, dependencySourceMarker, dependencySourceStateMarker, deriveFrom, deriveFromAsync, deriveFromSync, derivedValueParserMarker, domain, email, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, extractLiteralValues, extractOptionNames, fail, fish, flag, float, formatDependencyError, formatDocPage, formatMessage, formatUsage, formatUsageTerm, getAnnotations, getDefaultValuesFunction, getDependencyIds, getDocPage, getDocPageAsync, getDocPageSync, group, hostname, integer, ip, ipv4, ipv6, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isDocEntryHidden, isDocHidden, isNonEmptyString, isPendingDependencySourceState, isSuggestionHidden, isUsageHidden, isValueParser, isWrappedDependencySource, lineBreak, link, locale, longestMatch, macAddress, map, merge, mergeHidden, message, metavar, multiple, nonEmpty, normalizeUsage, nu, object, option, optionName, optionNames, optional, or, parse, parseAsync, parseSync, parseWithDependency, passThrough, pendingDependencySourceStateMarker, port, portRange, pwsh, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync, socketAddress, string, suggest, suggestAsync, suggestSync, suggestWithDependency, text, transformsDependencyValue, transformsDependencyValueMarker, tuple, url, uuid, value, valueSet, values, withDefault, wrappedDependencySourceMarker, zsh };
|
package/dist/modifiers.cjs
CHANGED
|
@@ -128,6 +128,8 @@ function optional(parser) {
|
|
|
128
128
|
type: "optional",
|
|
129
129
|
terms: parser.usage
|
|
130
130
|
}],
|
|
131
|
+
leadingNames: parser.leadingNames,
|
|
132
|
+
acceptingAnyToken: false,
|
|
131
133
|
initialState: void 0,
|
|
132
134
|
...wrappedDependencyMarker,
|
|
133
135
|
...typeof parser.shouldDeferCompletion === "function" ? { shouldDeferCompletion: adaptShouldDeferCompletion(parser.shouldDeferCompletion.bind(parser)) } : {},
|
|
@@ -246,6 +248,8 @@ function withDefault(parser, defaultValue, options) {
|
|
|
246
248
|
type: "optional",
|
|
247
249
|
terms: parser.usage
|
|
248
250
|
}],
|
|
251
|
+
leadingNames: parser.leadingNames,
|
|
252
|
+
acceptingAnyToken: false,
|
|
249
253
|
initialState: void 0,
|
|
250
254
|
...wrappedDependencyMarker,
|
|
251
255
|
...typeof parser.shouldDeferCompletion === "function" ? { shouldDeferCompletion: adaptShouldDeferCompletion(parser.shouldDeferCompletion.bind(parser)) } : {},
|
|
@@ -650,6 +654,8 @@ function multiple(parser, options = {}) {
|
|
|
650
654
|
terms: parser.usage,
|
|
651
655
|
min
|
|
652
656
|
}],
|
|
657
|
+
leadingNames: parser.leadingNames,
|
|
658
|
+
acceptingAnyToken: min > 0 && (parser.acceptingAnyToken ?? false),
|
|
653
659
|
initialState: [],
|
|
654
660
|
parse(context) {
|
|
655
661
|
return require_mode_dispatch.dispatchByMode(parser.$mode, () => parseSync(context), () => parseAsync(context));
|
|
@@ -886,6 +892,8 @@ function nonEmpty(parser) {
|
|
|
886
892
|
$stateType: parser.$stateType,
|
|
887
893
|
priority: parser.priority,
|
|
888
894
|
usage: parser.usage,
|
|
895
|
+
leadingNames: parser.leadingNames,
|
|
896
|
+
acceptingAnyToken: parser.acceptingAnyToken,
|
|
889
897
|
initialState: parser.initialState,
|
|
890
898
|
...typeof parser.shouldDeferCompletion === "function" ? { shouldDeferCompletion: parser.shouldDeferCompletion.bind(parser) } : {},
|
|
891
899
|
parse(context) {
|
package/dist/modifiers.js
CHANGED
|
@@ -128,6 +128,8 @@ function optional(parser) {
|
|
|
128
128
|
type: "optional",
|
|
129
129
|
terms: parser.usage
|
|
130
130
|
}],
|
|
131
|
+
leadingNames: parser.leadingNames,
|
|
132
|
+
acceptingAnyToken: false,
|
|
131
133
|
initialState: void 0,
|
|
132
134
|
...wrappedDependencyMarker,
|
|
133
135
|
...typeof parser.shouldDeferCompletion === "function" ? { shouldDeferCompletion: adaptShouldDeferCompletion(parser.shouldDeferCompletion.bind(parser)) } : {},
|
|
@@ -246,6 +248,8 @@ function withDefault(parser, defaultValue, options) {
|
|
|
246
248
|
type: "optional",
|
|
247
249
|
terms: parser.usage
|
|
248
250
|
}],
|
|
251
|
+
leadingNames: parser.leadingNames,
|
|
252
|
+
acceptingAnyToken: false,
|
|
249
253
|
initialState: void 0,
|
|
250
254
|
...wrappedDependencyMarker,
|
|
251
255
|
...typeof parser.shouldDeferCompletion === "function" ? { shouldDeferCompletion: adaptShouldDeferCompletion(parser.shouldDeferCompletion.bind(parser)) } : {},
|
|
@@ -650,6 +654,8 @@ function multiple(parser, options = {}) {
|
|
|
650
654
|
terms: parser.usage,
|
|
651
655
|
min
|
|
652
656
|
}],
|
|
657
|
+
leadingNames: parser.leadingNames,
|
|
658
|
+
acceptingAnyToken: min > 0 && (parser.acceptingAnyToken ?? false),
|
|
653
659
|
initialState: [],
|
|
654
660
|
parse(context) {
|
|
655
661
|
return dispatchByMode(parser.$mode, () => parseSync(context), () => parseAsync(context));
|
|
@@ -886,6 +892,8 @@ function nonEmpty(parser) {
|
|
|
886
892
|
$stateType: parser.$stateType,
|
|
887
893
|
priority: parser.priority,
|
|
888
894
|
usage: parser.usage,
|
|
895
|
+
leadingNames: parser.leadingNames,
|
|
896
|
+
acceptingAnyToken: parser.acceptingAnyToken,
|
|
889
897
|
initialState: parser.initialState,
|
|
890
898
|
...typeof parser.shouldDeferCompletion === "function" ? { shouldDeferCompletion: parser.shouldDeferCompletion.bind(parser) } : {},
|
|
891
899
|
parse(context) {
|
package/dist/parser.d.cts
CHANGED
|
@@ -105,6 +105,44 @@ interface Parser<M extends Mode = "sync", TValue = unknown, TState = unknown> {
|
|
|
105
105
|
* to use it in command-line interfaces.
|
|
106
106
|
*/
|
|
107
107
|
readonly usage: Usage;
|
|
108
|
+
/**
|
|
109
|
+
* Names that this parser could match at the first buffer position.
|
|
110
|
+
* Used by `runParser()` to detect collisions with built-in meta
|
|
111
|
+
* features (help, version, completion).
|
|
112
|
+
*
|
|
113
|
+
* Each built-in combinator computes this from its structural semantics.
|
|
114
|
+
* Custom parser implementations must include every fixed token that
|
|
115
|
+
* the parser accepts at `argv[0]` — command names, option names, and
|
|
116
|
+
* literal values alike. For example, a parser whose usage declares
|
|
117
|
+
* `{ type: "literal", value: "serve" }` should include `"serve"` in
|
|
118
|
+
* this set. Parsers that accept *any* token (like `argument()`) should
|
|
119
|
+
* return an empty set and set {@link acceptingAnyToken} to `true`
|
|
120
|
+
* instead.
|
|
121
|
+
*
|
|
122
|
+
* @since 1.0.0
|
|
123
|
+
*/
|
|
124
|
+
readonly leadingNames: ReadonlySet<string>;
|
|
125
|
+
/**
|
|
126
|
+
* Whether this parser unconditionally consumes any positional token at
|
|
127
|
+
* the first buffer position. A parser with this flag accepts any
|
|
128
|
+
* non-option token but may still reject option-like tokens (those
|
|
129
|
+
* starting with `"-"`).
|
|
130
|
+
*
|
|
131
|
+
* In shared-buffer compositions (`tuple()`, `object()`, `merge()`,
|
|
132
|
+
* `concat()`), a catch-all parser blocks positional names (command
|
|
133
|
+
* names) from lower-priority siblings but does not block option-like
|
|
134
|
+
* names. In `conditional()`, option-like names from the default
|
|
135
|
+
* branch remain reachable even when the discriminator is a catch-all.
|
|
136
|
+
*
|
|
137
|
+
* Only `argument()` is inherently accepting-any-token; combinators
|
|
138
|
+
* like `or()` and `map()` propagate this from their children.
|
|
139
|
+
* Wrappers that can succeed without consuming (`optional()`,
|
|
140
|
+
* `withDefault()`, `multiple()` with `min = 0`) always set this
|
|
141
|
+
* to `false`.
|
|
142
|
+
*
|
|
143
|
+
* @since 1.0.0
|
|
144
|
+
*/
|
|
145
|
+
readonly acceptingAnyToken: boolean;
|
|
108
146
|
/**
|
|
109
147
|
* The initial state for this parser. This is used to initialize the
|
|
110
148
|
* state when parsing starts.
|
package/dist/parser.d.ts
CHANGED
|
@@ -105,6 +105,44 @@ interface Parser<M extends Mode = "sync", TValue = unknown, TState = unknown> {
|
|
|
105
105
|
* to use it in command-line interfaces.
|
|
106
106
|
*/
|
|
107
107
|
readonly usage: Usage;
|
|
108
|
+
/**
|
|
109
|
+
* Names that this parser could match at the first buffer position.
|
|
110
|
+
* Used by `runParser()` to detect collisions with built-in meta
|
|
111
|
+
* features (help, version, completion).
|
|
112
|
+
*
|
|
113
|
+
* Each built-in combinator computes this from its structural semantics.
|
|
114
|
+
* Custom parser implementations must include every fixed token that
|
|
115
|
+
* the parser accepts at `argv[0]` — command names, option names, and
|
|
116
|
+
* literal values alike. For example, a parser whose usage declares
|
|
117
|
+
* `{ type: "literal", value: "serve" }` should include `"serve"` in
|
|
118
|
+
* this set. Parsers that accept *any* token (like `argument()`) should
|
|
119
|
+
* return an empty set and set {@link acceptingAnyToken} to `true`
|
|
120
|
+
* instead.
|
|
121
|
+
*
|
|
122
|
+
* @since 1.0.0
|
|
123
|
+
*/
|
|
124
|
+
readonly leadingNames: ReadonlySet<string>;
|
|
125
|
+
/**
|
|
126
|
+
* Whether this parser unconditionally consumes any positional token at
|
|
127
|
+
* the first buffer position. A parser with this flag accepts any
|
|
128
|
+
* non-option token but may still reject option-like tokens (those
|
|
129
|
+
* starting with `"-"`).
|
|
130
|
+
*
|
|
131
|
+
* In shared-buffer compositions (`tuple()`, `object()`, `merge()`,
|
|
132
|
+
* `concat()`), a catch-all parser blocks positional names (command
|
|
133
|
+
* names) from lower-priority siblings but does not block option-like
|
|
134
|
+
* names. In `conditional()`, option-like names from the default
|
|
135
|
+
* branch remain reachable even when the discriminator is a catch-all.
|
|
136
|
+
*
|
|
137
|
+
* Only `argument()` is inherently accepting-any-token; combinators
|
|
138
|
+
* like `or()` and `map()` propagate this from their children.
|
|
139
|
+
* Wrappers that can succeed without consuming (`optional()`,
|
|
140
|
+
* `withDefault()`, `multiple()` with `min = 0`) always set this
|
|
141
|
+
* to `false`.
|
|
142
|
+
*
|
|
143
|
+
* @since 1.0.0
|
|
144
|
+
*/
|
|
145
|
+
readonly acceptingAnyToken: boolean;
|
|
108
146
|
/**
|
|
109
147
|
* The initial state for this parser. This is used to initialize the
|
|
110
148
|
* state when parsing starts.
|
package/dist/primitives.cjs
CHANGED
|
@@ -9,6 +9,11 @@ const require_usage_internals = require('./usage-internals.cjs');
|
|
|
9
9
|
const require_valueparser = require('./valueparser.cjs');
|
|
10
10
|
|
|
11
11
|
//#region src/primitives.ts
|
|
12
|
+
/**
|
|
13
|
+
* A shared empty set used as the `leadingNames` value for parsers that
|
|
14
|
+
* do not match any specific name at the first buffer position.
|
|
15
|
+
*/
|
|
16
|
+
const EMPTY_LEADING_NAMES = /* @__PURE__ */ new Set();
|
|
12
17
|
function hasParsedOptionValue(state, valueParser) {
|
|
13
18
|
if (valueParser != null) return require_dependency.isDeferredParseState(state) || require_dependency.isDependencySourceState(state) || state != null && "success" in state && state.success;
|
|
14
19
|
return state != null && "success" in state && state.success && state.value === true;
|
|
@@ -38,6 +43,8 @@ function constant(value) {
|
|
|
38
43
|
$mode: "sync",
|
|
39
44
|
priority: 0,
|
|
40
45
|
usage: [],
|
|
46
|
+
leadingNames: EMPTY_LEADING_NAMES,
|
|
47
|
+
acceptingAnyToken: false,
|
|
41
48
|
initialState: value,
|
|
42
49
|
parse(context) {
|
|
43
50
|
return {
|
|
@@ -93,6 +100,8 @@ function fail() {
|
|
|
93
100
|
$mode: "sync",
|
|
94
101
|
priority: 0,
|
|
95
102
|
usage: [],
|
|
103
|
+
leadingNames: EMPTY_LEADING_NAMES,
|
|
104
|
+
acceptingAnyToken: false,
|
|
96
105
|
initialState: void 0,
|
|
97
106
|
parse(_context) {
|
|
98
107
|
return {
|
|
@@ -338,6 +347,8 @@ function option(...args) {
|
|
|
338
347
|
metavar: valueParser.metavar,
|
|
339
348
|
...options.hidden != null && { hidden: options.hidden }
|
|
340
349
|
}],
|
|
350
|
+
leadingNames: new Set(optionNames$1),
|
|
351
|
+
acceptingAnyToken: false,
|
|
341
352
|
initialState: valueParser == null ? {
|
|
342
353
|
success: true,
|
|
343
354
|
value: false
|
|
@@ -622,6 +633,8 @@ function flag(...args) {
|
|
|
622
633
|
names: optionNames$1,
|
|
623
634
|
...options.hidden != null && { hidden: options.hidden }
|
|
624
635
|
}],
|
|
636
|
+
leadingNames: new Set(optionNames$1),
|
|
637
|
+
acceptingAnyToken: false,
|
|
625
638
|
initialState: void 0,
|
|
626
639
|
parse(context) {
|
|
627
640
|
if (context.optionsTerminated) return {
|
|
@@ -797,6 +810,8 @@ function argument(valueParser, options = {}) {
|
|
|
797
810
|
$stateType: [],
|
|
798
811
|
priority: 5,
|
|
799
812
|
usage: [term],
|
|
813
|
+
leadingNames: EMPTY_LEADING_NAMES,
|
|
814
|
+
acceptingAnyToken: true,
|
|
800
815
|
initialState: void 0,
|
|
801
816
|
parse(context) {
|
|
802
817
|
if (context.buffer.length < 1) return {
|
|
@@ -986,6 +1001,8 @@ function command(name, parser, options = {}) {
|
|
|
986
1001
|
...options.usageLine != null && { usageLine: options.usageLine },
|
|
987
1002
|
...options.hidden != null && { hidden: options.hidden }
|
|
988
1003
|
}, ...parser.usage],
|
|
1004
|
+
leadingNames: new Set([name]),
|
|
1005
|
+
acceptingAnyToken: false,
|
|
989
1006
|
initialState: void 0,
|
|
990
1007
|
parse(context) {
|
|
991
1008
|
if (context.state === void 0) {
|
|
@@ -1180,6 +1197,8 @@ function passThrough(options = {}) {
|
|
|
1180
1197
|
type: "passthrough",
|
|
1181
1198
|
...options.hidden != null && { hidden: options.hidden }
|
|
1182
1199
|
}],
|
|
1200
|
+
leadingNames: EMPTY_LEADING_NAMES,
|
|
1201
|
+
acceptingAnyToken: false,
|
|
1183
1202
|
initialState: [],
|
|
1184
1203
|
parse(context) {
|
|
1185
1204
|
if (context.buffer.length < 1) return {
|