@optique/core 1.0.0-dev.908 → 1.0.0-dev.921
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/facade.cjs +6 -4
- package/dist/facade.d.cts +29 -4
- package/dist/facade.d.ts +29 -4
- package/dist/facade.js +6 -4
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/valueparser.cjs +8 -4
- package/dist/valueparser.d.cts +10 -6
- package/dist/valueparser.d.ts +10 -6
- package/dist/valueparser.js +8 -4
- package/package.json +1 -1
package/dist/facade.cjs
CHANGED
|
@@ -1334,7 +1334,8 @@ async function runWith(parser, programName, contexts, options) {
|
|
|
1334
1334
|
return Promise.resolve(runParser(parser, programName, args, options));
|
|
1335
1335
|
}
|
|
1336
1336
|
try {
|
|
1337
|
-
const
|
|
1337
|
+
const ctxOptions = options?.contextOptions;
|
|
1338
|
+
const { annotations: phase1Annotations, annotationsList: phase1AnnotationsList, hasDynamic: needsTwoPhase } = await collectPhase1Annotations(contexts, ctxOptions);
|
|
1338
1339
|
if (!needsTwoPhase) {
|
|
1339
1340
|
const augmentedParser = injectAnnotationsIntoParser(parser, phase1Annotations);
|
|
1340
1341
|
if (parser.$mode === "async") return runParser(augmentedParser, programName, args, options);
|
|
@@ -1359,7 +1360,7 @@ async function runWith(parser, programName, contexts, options) {
|
|
|
1359
1360
|
if (parser.$mode === "async") return runParser(augmentedParser, programName, args, options);
|
|
1360
1361
|
return Promise.resolve(runParser(augmentedParser, programName, args, options));
|
|
1361
1362
|
}
|
|
1362
|
-
const { annotationsList: phase2AnnotationsList } = await collectAnnotations(contexts, firstPassResult,
|
|
1363
|
+
const { annotationsList: phase2AnnotationsList } = await collectAnnotations(contexts, firstPassResult, ctxOptions);
|
|
1363
1364
|
const finalAnnotations = mergeTwoPhaseAnnotations(phase1AnnotationsList, phase2AnnotationsList);
|
|
1364
1365
|
const augmentedParser2 = injectAnnotationsIntoParser(parser, finalAnnotations);
|
|
1365
1366
|
if (parser.$mode === "async") return runParser(augmentedParser2, programName, args, options);
|
|
@@ -1391,7 +1392,8 @@ function runWithSync(parser, programName, contexts, options) {
|
|
|
1391
1392
|
if (needsEarlyExit(args, options)) return runParser(parser, programName, args, options);
|
|
1392
1393
|
if (contexts.length === 0) return runParser(parser, programName, args, options);
|
|
1393
1394
|
try {
|
|
1394
|
-
const
|
|
1395
|
+
const ctxOptions = options?.contextOptions;
|
|
1396
|
+
const { annotations: phase1Annotations, annotationsList: phase1AnnotationsList, hasDynamic: needsTwoPhase } = collectPhase1AnnotationsSync(contexts, ctxOptions);
|
|
1395
1397
|
if (!needsTwoPhase) {
|
|
1396
1398
|
const augmentedParser = injectAnnotationsIntoParser(parser, phase1Annotations);
|
|
1397
1399
|
return runParser(augmentedParser, programName, args, options);
|
|
@@ -1405,7 +1407,7 @@ function runWithSync(parser, programName, contexts, options) {
|
|
|
1405
1407
|
} catch {
|
|
1406
1408
|
return runParser(augmentedParser1, programName, args, options);
|
|
1407
1409
|
}
|
|
1408
|
-
const { annotationsList: phase2AnnotationsList } = collectAnnotationsSync(contexts, firstPassResult,
|
|
1410
|
+
const { annotationsList: phase2AnnotationsList } = collectAnnotationsSync(contexts, firstPassResult, ctxOptions);
|
|
1409
1411
|
const finalAnnotations = mergeTwoPhaseAnnotations(phase1AnnotationsList, phase2AnnotationsList);
|
|
1410
1412
|
const augmentedParser2 = injectAnnotationsIntoParser(parser, finalAnnotations);
|
|
1411
1413
|
return runParser(augmentedParser2, programName, args, options);
|
package/dist/facade.d.cts
CHANGED
|
@@ -367,7 +367,32 @@ interface RunWithOptions<THelp, TError> extends RunOptions<THelp, TError> {
|
|
|
367
367
|
* `process.argv.slice(2)` on Node.js/Bun or `Deno.args` on Deno.
|
|
368
368
|
*/
|
|
369
369
|
readonly args?: readonly string[];
|
|
370
|
+
/**
|
|
371
|
+
* Options to forward to source contexts. When contexts declare
|
|
372
|
+
* required options (via `$requiredOptions`), pass them here to
|
|
373
|
+
* avoid name collisions with runner-level options such as `args`,
|
|
374
|
+
* `help`, or `colors`.
|
|
375
|
+
*
|
|
376
|
+
* @since 1.0.0
|
|
377
|
+
*/
|
|
378
|
+
readonly contextOptions?: Record<string, unknown>;
|
|
370
379
|
}
|
|
380
|
+
/**
|
|
381
|
+
* When contexts require options, demands a `contextOptions` property
|
|
382
|
+
* typed to those requirements. When no context needs options
|
|
383
|
+
* (`void`, `unknown`, or `{}`), resolves to `unknown` (intersection no-op).
|
|
384
|
+
* When all context option keys are optional, `contextOptions` itself becomes
|
|
385
|
+
* optional so callers are not forced to pass an empty wrapper.
|
|
386
|
+
*
|
|
387
|
+
* @template TContexts The tuple/array type of source contexts.
|
|
388
|
+
* @template TValue The parser value type for placeholder substitution.
|
|
389
|
+
* @since 1.0.0
|
|
390
|
+
*/
|
|
391
|
+
type ContextOptionsParam<TContexts extends readonly SourceContext<unknown>[], TValue> = keyof ExtractRequiredOptions<TContexts, TValue> extends never ? unknown : Record<string, never> extends ExtractRequiredOptions<TContexts, TValue> ? {
|
|
392
|
+
readonly contextOptions?: ExtractRequiredOptions<TContexts, TValue>;
|
|
393
|
+
} : {
|
|
394
|
+
readonly contextOptions: ExtractRequiredOptions<TContexts, TValue>;
|
|
395
|
+
};
|
|
371
396
|
/**
|
|
372
397
|
* Runs a parser with multiple source contexts.
|
|
373
398
|
*
|
|
@@ -416,7 +441,7 @@ interface RunWithOptions<THelp, TError> extends RunOptions<THelp, TError> {
|
|
|
416
441
|
* );
|
|
417
442
|
* ```
|
|
418
443
|
*/
|
|
419
|
-
declare function runWith<TParser extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> &
|
|
444
|
+
declare function runWith<TParser extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> & ContextOptionsParam<TContexts, InferValue<TParser>>): Promise<InferValue<TParser>>;
|
|
420
445
|
/**
|
|
421
446
|
* Runs a synchronous parser with multiple source contexts.
|
|
422
447
|
*
|
|
@@ -435,7 +460,7 @@ declare function runWith<TParser extends Parser<Mode, unknown, unknown>, TContex
|
|
|
435
460
|
* `[Symbol.asyncDispose]` returns a Promise.
|
|
436
461
|
* @since 0.10.0
|
|
437
462
|
*/
|
|
438
|
-
declare function runWithSync<TParser extends Parser<"sync", unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> &
|
|
463
|
+
declare function runWithSync<TParser extends Parser<"sync", unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> & ContextOptionsParam<TContexts, InferValue<TParser>>): InferValue<TParser>;
|
|
439
464
|
/**
|
|
440
465
|
* Runs any parser asynchronously with multiple source contexts.
|
|
441
466
|
*
|
|
@@ -452,6 +477,6 @@ declare function runWithSync<TParser extends Parser<"sync", unknown, unknown>, T
|
|
|
452
477
|
* @returns Promise that resolves to the parsed result.
|
|
453
478
|
* @since 0.10.0
|
|
454
479
|
*/
|
|
455
|
-
declare function runWithAsync<TParser extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> &
|
|
480
|
+
declare function runWithAsync<TParser extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> & ContextOptionsParam<TContexts, InferValue<TParser>>): Promise<InferValue<TParser>>;
|
|
456
481
|
//#endregion
|
|
457
|
-
export { CommandSubConfig, ExtractRequiredOptions, OptionSubConfig, type ParserValuePlaceholder, RunOptions, RunParserError, RunWithOptions, type SourceContext, SubstituteParserValue, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync };
|
|
482
|
+
export { CommandSubConfig, ContextOptionsParam, ExtractRequiredOptions, OptionSubConfig, type ParserValuePlaceholder, RunOptions, RunParserError, RunWithOptions, type SourceContext, SubstituteParserValue, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync };
|
package/dist/facade.d.ts
CHANGED
|
@@ -367,7 +367,32 @@ interface RunWithOptions<THelp, TError> extends RunOptions<THelp, TError> {
|
|
|
367
367
|
* `process.argv.slice(2)` on Node.js/Bun or `Deno.args` on Deno.
|
|
368
368
|
*/
|
|
369
369
|
readonly args?: readonly string[];
|
|
370
|
+
/**
|
|
371
|
+
* Options to forward to source contexts. When contexts declare
|
|
372
|
+
* required options (via `$requiredOptions`), pass them here to
|
|
373
|
+
* avoid name collisions with runner-level options such as `args`,
|
|
374
|
+
* `help`, or `colors`.
|
|
375
|
+
*
|
|
376
|
+
* @since 1.0.0
|
|
377
|
+
*/
|
|
378
|
+
readonly contextOptions?: Record<string, unknown>;
|
|
370
379
|
}
|
|
380
|
+
/**
|
|
381
|
+
* When contexts require options, demands a `contextOptions` property
|
|
382
|
+
* typed to those requirements. When no context needs options
|
|
383
|
+
* (`void`, `unknown`, or `{}`), resolves to `unknown` (intersection no-op).
|
|
384
|
+
* When all context option keys are optional, `contextOptions` itself becomes
|
|
385
|
+
* optional so callers are not forced to pass an empty wrapper.
|
|
386
|
+
*
|
|
387
|
+
* @template TContexts The tuple/array type of source contexts.
|
|
388
|
+
* @template TValue The parser value type for placeholder substitution.
|
|
389
|
+
* @since 1.0.0
|
|
390
|
+
*/
|
|
391
|
+
type ContextOptionsParam<TContexts extends readonly SourceContext<unknown>[], TValue> = keyof ExtractRequiredOptions<TContexts, TValue> extends never ? unknown : Record<string, never> extends ExtractRequiredOptions<TContexts, TValue> ? {
|
|
392
|
+
readonly contextOptions?: ExtractRequiredOptions<TContexts, TValue>;
|
|
393
|
+
} : {
|
|
394
|
+
readonly contextOptions: ExtractRequiredOptions<TContexts, TValue>;
|
|
395
|
+
};
|
|
371
396
|
/**
|
|
372
397
|
* Runs a parser with multiple source contexts.
|
|
373
398
|
*
|
|
@@ -416,7 +441,7 @@ interface RunWithOptions<THelp, TError> extends RunOptions<THelp, TError> {
|
|
|
416
441
|
* );
|
|
417
442
|
* ```
|
|
418
443
|
*/
|
|
419
|
-
declare function runWith<TParser extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> &
|
|
444
|
+
declare function runWith<TParser extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> & ContextOptionsParam<TContexts, InferValue<TParser>>): Promise<InferValue<TParser>>;
|
|
420
445
|
/**
|
|
421
446
|
* Runs a synchronous parser with multiple source contexts.
|
|
422
447
|
*
|
|
@@ -435,7 +460,7 @@ declare function runWith<TParser extends Parser<Mode, unknown, unknown>, TContex
|
|
|
435
460
|
* `[Symbol.asyncDispose]` returns a Promise.
|
|
436
461
|
* @since 0.10.0
|
|
437
462
|
*/
|
|
438
|
-
declare function runWithSync<TParser extends Parser<"sync", unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> &
|
|
463
|
+
declare function runWithSync<TParser extends Parser<"sync", unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> & ContextOptionsParam<TContexts, InferValue<TParser>>): InferValue<TParser>;
|
|
439
464
|
/**
|
|
440
465
|
* Runs any parser asynchronously with multiple source contexts.
|
|
441
466
|
*
|
|
@@ -452,6 +477,6 @@ declare function runWithSync<TParser extends Parser<"sync", unknown, unknown>, T
|
|
|
452
477
|
* @returns Promise that resolves to the parsed result.
|
|
453
478
|
* @since 0.10.0
|
|
454
479
|
*/
|
|
455
|
-
declare function runWithAsync<TParser extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> &
|
|
480
|
+
declare function runWithAsync<TParser extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> & ContextOptionsParam<TContexts, InferValue<TParser>>): Promise<InferValue<TParser>>;
|
|
456
481
|
//#endregion
|
|
457
|
-
export { CommandSubConfig, ExtractRequiredOptions, OptionSubConfig, type ParserValuePlaceholder, RunOptions, RunParserError, RunWithOptions, type SourceContext, SubstituteParserValue, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync };
|
|
482
|
+
export { CommandSubConfig, ContextOptionsParam, ExtractRequiredOptions, OptionSubConfig, type ParserValuePlaceholder, RunOptions, RunParserError, RunWithOptions, type SourceContext, SubstituteParserValue, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync };
|
package/dist/facade.js
CHANGED
|
@@ -1334,7 +1334,8 @@ async function runWith(parser, programName, contexts, options) {
|
|
|
1334
1334
|
return Promise.resolve(runParser(parser, programName, args, options));
|
|
1335
1335
|
}
|
|
1336
1336
|
try {
|
|
1337
|
-
const
|
|
1337
|
+
const ctxOptions = options?.contextOptions;
|
|
1338
|
+
const { annotations: phase1Annotations, annotationsList: phase1AnnotationsList, hasDynamic: needsTwoPhase } = await collectPhase1Annotations(contexts, ctxOptions);
|
|
1338
1339
|
if (!needsTwoPhase) {
|
|
1339
1340
|
const augmentedParser = injectAnnotationsIntoParser(parser, phase1Annotations);
|
|
1340
1341
|
if (parser.$mode === "async") return runParser(augmentedParser, programName, args, options);
|
|
@@ -1359,7 +1360,7 @@ async function runWith(parser, programName, contexts, options) {
|
|
|
1359
1360
|
if (parser.$mode === "async") return runParser(augmentedParser, programName, args, options);
|
|
1360
1361
|
return Promise.resolve(runParser(augmentedParser, programName, args, options));
|
|
1361
1362
|
}
|
|
1362
|
-
const { annotationsList: phase2AnnotationsList } = await collectAnnotations(contexts, firstPassResult,
|
|
1363
|
+
const { annotationsList: phase2AnnotationsList } = await collectAnnotations(contexts, firstPassResult, ctxOptions);
|
|
1363
1364
|
const finalAnnotations = mergeTwoPhaseAnnotations(phase1AnnotationsList, phase2AnnotationsList);
|
|
1364
1365
|
const augmentedParser2 = injectAnnotationsIntoParser(parser, finalAnnotations);
|
|
1365
1366
|
if (parser.$mode === "async") return runParser(augmentedParser2, programName, args, options);
|
|
@@ -1391,7 +1392,8 @@ function runWithSync(parser, programName, contexts, options) {
|
|
|
1391
1392
|
if (needsEarlyExit(args, options)) return runParser(parser, programName, args, options);
|
|
1392
1393
|
if (contexts.length === 0) return runParser(parser, programName, args, options);
|
|
1393
1394
|
try {
|
|
1394
|
-
const
|
|
1395
|
+
const ctxOptions = options?.contextOptions;
|
|
1396
|
+
const { annotations: phase1Annotations, annotationsList: phase1AnnotationsList, hasDynamic: needsTwoPhase } = collectPhase1AnnotationsSync(contexts, ctxOptions);
|
|
1395
1397
|
if (!needsTwoPhase) {
|
|
1396
1398
|
const augmentedParser = injectAnnotationsIntoParser(parser, phase1Annotations);
|
|
1397
1399
|
return runParser(augmentedParser, programName, args, options);
|
|
@@ -1405,7 +1407,7 @@ function runWithSync(parser, programName, contexts, options) {
|
|
|
1405
1407
|
} catch {
|
|
1406
1408
|
return runParser(augmentedParser1, programName, args, options);
|
|
1407
1409
|
}
|
|
1408
|
-
const { annotationsList: phase2AnnotationsList } = collectAnnotationsSync(contexts, firstPassResult,
|
|
1410
|
+
const { annotationsList: phase2AnnotationsList } = collectAnnotationsSync(contexts, firstPassResult, ctxOptions);
|
|
1409
1411
|
const finalAnnotations = mergeTwoPhaseAnnotations(phase1AnnotationsList, phase2AnnotationsList);
|
|
1410
1412
|
const augmentedParser2 = injectAnnotationsIntoParser(parser, finalAnnotations);
|
|
1411
1413
|
return runParser(augmentedParser2, programName, args, options);
|
package/dist/index.d.cts
CHANGED
|
@@ -11,5 +11,5 @@ import { ArgumentErrorOptions, ArgumentOptions, CommandErrorOptions, CommandOpti
|
|
|
11
11
|
import { CombineModes, DocState, InferMode, InferValue, Mode, ModeIterable, ModeValue, Parser, ParserContext, ParserResult, Result, Suggestion, getDocPage, getDocPageAsync, getDocPageSync, parse, parseAsync, parseSync, suggest, suggestAsync, suggestSync } from "./parser.cjs";
|
|
12
12
|
import { ShellCompletion, bash, fish, nu, pwsh, zsh } from "./completion.cjs";
|
|
13
13
|
import { ParserValuePlaceholder, SourceContext } from "./context.cjs";
|
|
14
|
-
import { CommandSubConfig, 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, 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, choice, cidr, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, defaultValues, deferredParseMarker, dependency, dependencyId, dependencyIds, dependencySourceMarker, dependencySourceStateMarker, deriveFrom, deriveFromAsync, deriveFromSync, derivedValueParserMarker, domain, email, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, 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, 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 };
|
|
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, 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, choice, cidr, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, defaultValues, deferredParseMarker, dependency, dependencyId, dependencyIds, dependencySourceMarker, dependencySourceStateMarker, deriveFrom, deriveFromAsync, deriveFromSync, derivedValueParserMarker, domain, email, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, 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, 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
|
@@ -11,5 +11,5 @@ import { ArgumentErrorOptions, ArgumentOptions, CommandErrorOptions, CommandOpti
|
|
|
11
11
|
import { CombineModes, DocState, InferMode, InferValue, Mode, ModeIterable, ModeValue, Parser, ParserContext, ParserResult, Result, Suggestion, getDocPage, getDocPageAsync, getDocPageSync, parse, parseAsync, parseSync, suggest, suggestAsync, suggestSync } from "./parser.js";
|
|
12
12
|
import { ShellCompletion, bash, fish, nu, pwsh, zsh } from "./completion.js";
|
|
13
13
|
import { ParserValuePlaceholder, SourceContext } from "./context.js";
|
|
14
|
-
import { CommandSubConfig, 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, 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, choice, cidr, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, defaultValues, deferredParseMarker, dependency, dependencyId, dependencyIds, dependencySourceMarker, dependencySourceStateMarker, deriveFrom, deriveFromAsync, deriveFromSync, derivedValueParserMarker, domain, email, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, 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, 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 };
|
|
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, 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, choice, cidr, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, defaultValues, deferredParseMarker, dependency, dependencyId, dependencyIds, dependencySourceMarker, dependencySourceStateMarker, deriveFrom, deriveFromAsync, deriveFromSync, derivedValueParserMarker, domain, email, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, 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, 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/valueparser.cjs
CHANGED
|
@@ -1386,6 +1386,8 @@ function email(options) {
|
|
|
1386
1386
|
*
|
|
1387
1387
|
* @param options - Options for socket address validation.
|
|
1388
1388
|
* @returns A value parser for socket addresses.
|
|
1389
|
+
* @throws {TypeError} If `separator` contains digit characters, since digits
|
|
1390
|
+
* in the separator would cause ambiguous splitting of port input.
|
|
1389
1391
|
* @since 0.10.0
|
|
1390
1392
|
*
|
|
1391
1393
|
* @example
|
|
@@ -1406,9 +1408,10 @@ function email(options) {
|
|
|
1406
1408
|
* ```
|
|
1407
1409
|
*/
|
|
1408
1410
|
function socketAddress(options) {
|
|
1409
|
-
const metavar = options?.metavar ?? "HOST:PORT";
|
|
1410
|
-
require_nonempty.ensureNonEmptyString(metavar);
|
|
1411
1411
|
const separator = options?.separator ?? ":";
|
|
1412
|
+
if (/\p{Nd}/u.test(separator)) throw new TypeError(`Expected separator to not contain digits, but got: ${JSON.stringify(separator)}.`);
|
|
1413
|
+
const metavar = options?.metavar ?? `HOST${separator}PORT`;
|
|
1414
|
+
require_nonempty.ensureNonEmptyString(metavar);
|
|
1412
1415
|
const defaultPort = options?.defaultPort;
|
|
1413
1416
|
const requirePort = options?.requirePort ?? false;
|
|
1414
1417
|
const hostType = options?.host?.type ?? "both";
|
|
@@ -1512,9 +1515,10 @@ function socketAddress(options) {
|
|
|
1512
1515
|
function portRange(options) {
|
|
1513
1516
|
if (options?.disallowWellKnown !== void 0 && typeof options.disallowWellKnown !== "boolean") throw new TypeError(`Expected disallowWellKnown to be a boolean, but got ${typeof options.disallowWellKnown}: ${String(options.disallowWellKnown)}.`);
|
|
1514
1517
|
if (options?.allowSingle !== void 0 && typeof options.allowSingle !== "boolean") throw new TypeError(`Expected allowSingle to be a boolean, but got ${typeof options.allowSingle}: ${String(options.allowSingle)}.`);
|
|
1515
|
-
const metavar = options?.metavar ?? "PORT-PORT";
|
|
1516
|
-
require_nonempty.ensureNonEmptyString(metavar);
|
|
1517
1518
|
const separator = options?.separator ?? "-";
|
|
1519
|
+
if (/\p{Nd}/u.test(separator)) throw new TypeError(`Expected separator to not contain digits, but got: ${JSON.stringify(separator)}.`);
|
|
1520
|
+
const metavar = options?.metavar ?? `PORT${separator}PORT`;
|
|
1521
|
+
require_nonempty.ensureNonEmptyString(metavar);
|
|
1518
1522
|
const allowSingle = options?.allowSingle ?? false;
|
|
1519
1523
|
const isBigInt = options?.type === "bigint";
|
|
1520
1524
|
const portParser = isBigInt ? port({
|
package/dist/valueparser.d.cts
CHANGED
|
@@ -1049,8 +1049,8 @@ interface SocketAddressValue {
|
|
|
1049
1049
|
*/
|
|
1050
1050
|
interface SocketAddressOptions {
|
|
1051
1051
|
/**
|
|
1052
|
-
* The metavariable name for this parser.
|
|
1053
|
-
* @
|
|
1052
|
+
* The metavariable name for this parser. If not specified, it is derived
|
|
1053
|
+
* from the {@link separator} (e.g., `"HOST:PORT"` for `":"`).
|
|
1054
1054
|
*/
|
|
1055
1055
|
readonly metavar?: NonEmptyString;
|
|
1056
1056
|
/**
|
|
@@ -1123,6 +1123,8 @@ interface SocketAddressOptions {
|
|
|
1123
1123
|
*
|
|
1124
1124
|
* @param options - Options for socket address validation.
|
|
1125
1125
|
* @returns A value parser for socket addresses.
|
|
1126
|
+
* @throws {TypeError} If `separator` contains digit characters, since digits
|
|
1127
|
+
* in the separator would cause ambiguous splitting of port input.
|
|
1126
1128
|
* @since 0.10.0
|
|
1127
1129
|
*
|
|
1128
1130
|
* @example
|
|
@@ -1185,8 +1187,8 @@ interface PortRangeOptionsNumber {
|
|
|
1185
1187
|
*/
|
|
1186
1188
|
readonly type?: "number";
|
|
1187
1189
|
/**
|
|
1188
|
-
* The metavariable name for this parser.
|
|
1189
|
-
* @
|
|
1190
|
+
* The metavariable name for this parser. If not specified, it is derived
|
|
1191
|
+
* from the {@link separator} (e.g., `"PORT-PORT"` for `"-"`).
|
|
1190
1192
|
*/
|
|
1191
1193
|
readonly metavar?: NonEmptyString;
|
|
1192
1194
|
/**
|
|
@@ -1265,8 +1267,8 @@ interface PortRangeOptionsBigInt {
|
|
|
1265
1267
|
*/
|
|
1266
1268
|
readonly type: "bigint";
|
|
1267
1269
|
/**
|
|
1268
|
-
* The metavariable name for this parser.
|
|
1269
|
-
* @
|
|
1270
|
+
* The metavariable name for this parser. If not specified, it is derived
|
|
1271
|
+
* from the {@link separator} (e.g., `"PORT-PORT"` for `"-"`).
|
|
1270
1272
|
*/
|
|
1271
1273
|
readonly metavar?: NonEmptyString;
|
|
1272
1274
|
/**
|
|
@@ -1346,6 +1348,8 @@ interface PortRangeOptionsBigInt {
|
|
|
1346
1348
|
*
|
|
1347
1349
|
* @param options - Options for port range validation.
|
|
1348
1350
|
* @returns A value parser for port ranges.
|
|
1351
|
+
* @throws {TypeError} If `separator` contains digit characters, since digits
|
|
1352
|
+
* in the separator would cause ambiguous splitting of numeric port input.
|
|
1349
1353
|
* @since 0.10.0
|
|
1350
1354
|
*
|
|
1351
1355
|
* @example
|
package/dist/valueparser.d.ts
CHANGED
|
@@ -1049,8 +1049,8 @@ interface SocketAddressValue {
|
|
|
1049
1049
|
*/
|
|
1050
1050
|
interface SocketAddressOptions {
|
|
1051
1051
|
/**
|
|
1052
|
-
* The metavariable name for this parser.
|
|
1053
|
-
* @
|
|
1052
|
+
* The metavariable name for this parser. If not specified, it is derived
|
|
1053
|
+
* from the {@link separator} (e.g., `"HOST:PORT"` for `":"`).
|
|
1054
1054
|
*/
|
|
1055
1055
|
readonly metavar?: NonEmptyString;
|
|
1056
1056
|
/**
|
|
@@ -1123,6 +1123,8 @@ interface SocketAddressOptions {
|
|
|
1123
1123
|
*
|
|
1124
1124
|
* @param options - Options for socket address validation.
|
|
1125
1125
|
* @returns A value parser for socket addresses.
|
|
1126
|
+
* @throws {TypeError} If `separator` contains digit characters, since digits
|
|
1127
|
+
* in the separator would cause ambiguous splitting of port input.
|
|
1126
1128
|
* @since 0.10.0
|
|
1127
1129
|
*
|
|
1128
1130
|
* @example
|
|
@@ -1185,8 +1187,8 @@ interface PortRangeOptionsNumber {
|
|
|
1185
1187
|
*/
|
|
1186
1188
|
readonly type?: "number";
|
|
1187
1189
|
/**
|
|
1188
|
-
* The metavariable name for this parser.
|
|
1189
|
-
* @
|
|
1190
|
+
* The metavariable name for this parser. If not specified, it is derived
|
|
1191
|
+
* from the {@link separator} (e.g., `"PORT-PORT"` for `"-"`).
|
|
1190
1192
|
*/
|
|
1191
1193
|
readonly metavar?: NonEmptyString;
|
|
1192
1194
|
/**
|
|
@@ -1265,8 +1267,8 @@ interface PortRangeOptionsBigInt {
|
|
|
1265
1267
|
*/
|
|
1266
1268
|
readonly type: "bigint";
|
|
1267
1269
|
/**
|
|
1268
|
-
* The metavariable name for this parser.
|
|
1269
|
-
* @
|
|
1270
|
+
* The metavariable name for this parser. If not specified, it is derived
|
|
1271
|
+
* from the {@link separator} (e.g., `"PORT-PORT"` for `"-"`).
|
|
1270
1272
|
*/
|
|
1271
1273
|
readonly metavar?: NonEmptyString;
|
|
1272
1274
|
/**
|
|
@@ -1346,6 +1348,8 @@ interface PortRangeOptionsBigInt {
|
|
|
1346
1348
|
*
|
|
1347
1349
|
* @param options - Options for port range validation.
|
|
1348
1350
|
* @returns A value parser for port ranges.
|
|
1351
|
+
* @throws {TypeError} If `separator` contains digit characters, since digits
|
|
1352
|
+
* in the separator would cause ambiguous splitting of numeric port input.
|
|
1349
1353
|
* @since 0.10.0
|
|
1350
1354
|
*
|
|
1351
1355
|
* @example
|
package/dist/valueparser.js
CHANGED
|
@@ -1386,6 +1386,8 @@ function email(options) {
|
|
|
1386
1386
|
*
|
|
1387
1387
|
* @param options - Options for socket address validation.
|
|
1388
1388
|
* @returns A value parser for socket addresses.
|
|
1389
|
+
* @throws {TypeError} If `separator` contains digit characters, since digits
|
|
1390
|
+
* in the separator would cause ambiguous splitting of port input.
|
|
1389
1391
|
* @since 0.10.0
|
|
1390
1392
|
*
|
|
1391
1393
|
* @example
|
|
@@ -1406,9 +1408,10 @@ function email(options) {
|
|
|
1406
1408
|
* ```
|
|
1407
1409
|
*/
|
|
1408
1410
|
function socketAddress(options) {
|
|
1409
|
-
const metavar = options?.metavar ?? "HOST:PORT";
|
|
1410
|
-
ensureNonEmptyString(metavar);
|
|
1411
1411
|
const separator = options?.separator ?? ":";
|
|
1412
|
+
if (/\p{Nd}/u.test(separator)) throw new TypeError(`Expected separator to not contain digits, but got: ${JSON.stringify(separator)}.`);
|
|
1413
|
+
const metavar = options?.metavar ?? `HOST${separator}PORT`;
|
|
1414
|
+
ensureNonEmptyString(metavar);
|
|
1412
1415
|
const defaultPort = options?.defaultPort;
|
|
1413
1416
|
const requirePort = options?.requirePort ?? false;
|
|
1414
1417
|
const hostType = options?.host?.type ?? "both";
|
|
@@ -1512,9 +1515,10 @@ function socketAddress(options) {
|
|
|
1512
1515
|
function portRange(options) {
|
|
1513
1516
|
if (options?.disallowWellKnown !== void 0 && typeof options.disallowWellKnown !== "boolean") throw new TypeError(`Expected disallowWellKnown to be a boolean, but got ${typeof options.disallowWellKnown}: ${String(options.disallowWellKnown)}.`);
|
|
1514
1517
|
if (options?.allowSingle !== void 0 && typeof options.allowSingle !== "boolean") throw new TypeError(`Expected allowSingle to be a boolean, but got ${typeof options.allowSingle}: ${String(options.allowSingle)}.`);
|
|
1515
|
-
const metavar = options?.metavar ?? "PORT-PORT";
|
|
1516
|
-
ensureNonEmptyString(metavar);
|
|
1517
1518
|
const separator = options?.separator ?? "-";
|
|
1519
|
+
if (/\p{Nd}/u.test(separator)) throw new TypeError(`Expected separator to not contain digits, but got: ${JSON.stringify(separator)}.`);
|
|
1520
|
+
const metavar = options?.metavar ?? `PORT${separator}PORT`;
|
|
1521
|
+
ensureNonEmptyString(metavar);
|
|
1518
1522
|
const allowSingle = options?.allowSingle ?? false;
|
|
1519
1523
|
const isBigInt = options?.type === "bigint";
|
|
1520
1524
|
const portParser = isBigInt ? port({
|