@optique/core 0.10.0-dev.295 → 0.10.0-dev.297
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 +200 -45
- package/dist/constructs.js +200 -45
- package/dist/dependency.cjs +163 -7
- package/dist/dependency.d.cts +58 -2
- package/dist/dependency.d.ts +58 -2
- package/dist/dependency.js +160 -7
- package/dist/index.cjs +4 -0
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/modifiers.cjs +133 -27
- package/dist/modifiers.js +134 -28
- package/dist/parser.d.cts +9 -0
- package/dist/parser.d.ts +9 -0
- package/dist/primitives.cjs +76 -4
- package/dist/primitives.js +77 -5
- package/package.json +1 -1
package/dist/dependency.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { message } from "./message.js";
|
|
2
|
+
|
|
1
3
|
//#region src/dependency.ts
|
|
2
4
|
/**
|
|
3
5
|
* A unique symbol used to identify dependency sources at compile time.
|
|
@@ -25,11 +27,23 @@ const DependencyId = Symbol.for("@optique/core/dependency/DependencyId");
|
|
|
25
27
|
*/
|
|
26
28
|
const DependencyIds = Symbol.for("@optique/core/dependency/DependencyIds");
|
|
27
29
|
/**
|
|
30
|
+
* A unique symbol used to store the default values function on derived parsers.
|
|
31
|
+
* This is used during partial dependency resolution to fill in missing values.
|
|
32
|
+
* @since 0.10.0
|
|
33
|
+
*/
|
|
34
|
+
const DefaultValues = Symbol.for("@optique/core/dependency/DefaultValues");
|
|
35
|
+
/**
|
|
28
36
|
* A unique symbol used to access the parseWithDependency method on derived parsers.
|
|
29
37
|
* @since 0.10.0
|
|
30
38
|
*/
|
|
31
39
|
const ParseWithDependency = Symbol.for("@optique/core/dependency/ParseWithDependency");
|
|
32
40
|
/**
|
|
41
|
+
* A unique symbol used to access the suggestWithDependency method on derived parsers.
|
|
42
|
+
* This method generates suggestions using the provided dependency values instead of defaults.
|
|
43
|
+
* @since 0.10.0
|
|
44
|
+
*/
|
|
45
|
+
const SuggestWithDependency = Symbol.for("@optique/core/dependency/SuggestWithDependency");
|
|
46
|
+
/**
|
|
33
47
|
* Creates a dependency source from a {@link ValueParser}.
|
|
34
48
|
*
|
|
35
49
|
* A dependency source wraps an existing value parser and enables creating
|
|
@@ -193,13 +207,23 @@ function createSyncDerivedFromParser(sourceId, options) {
|
|
|
193
207
|
[DerivedValueParserMarker]: true,
|
|
194
208
|
[DependencyId]: sourceId,
|
|
195
209
|
[DependencyIds]: allDependencyIds,
|
|
210
|
+
[DefaultValues]: options.defaultValues,
|
|
196
211
|
parse(input) {
|
|
197
212
|
const sourceValues = options.defaultValues();
|
|
198
213
|
const derivedParser = options.factory(...sourceValues);
|
|
199
214
|
return derivedParser.parse(input);
|
|
200
215
|
},
|
|
201
216
|
[ParseWithDependency](input, dependencyValue) {
|
|
202
|
-
|
|
217
|
+
let derivedParser;
|
|
218
|
+
try {
|
|
219
|
+
derivedParser = options.factory(...dependencyValue);
|
|
220
|
+
} catch (e) {
|
|
221
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
222
|
+
return {
|
|
223
|
+
success: false,
|
|
224
|
+
error: message`Factory error: ${msg}`
|
|
225
|
+
};
|
|
226
|
+
}
|
|
203
227
|
return derivedParser.parse(input);
|
|
204
228
|
},
|
|
205
229
|
format(value) {
|
|
@@ -211,6 +235,16 @@ function createSyncDerivedFromParser(sourceId, options) {
|
|
|
211
235
|
const sourceValues = options.defaultValues();
|
|
212
236
|
const derivedParser = options.factory(...sourceValues);
|
|
213
237
|
if (derivedParser.suggest) yield* derivedParser.suggest(prefix);
|
|
238
|
+
},
|
|
239
|
+
*[SuggestWithDependency](prefix, dependencyValue) {
|
|
240
|
+
let derivedParser;
|
|
241
|
+
try {
|
|
242
|
+
derivedParser = options.factory(...dependencyValue);
|
|
243
|
+
} catch {
|
|
244
|
+
const sourceValues = options.defaultValues();
|
|
245
|
+
derivedParser = options.factory(...sourceValues);
|
|
246
|
+
}
|
|
247
|
+
if (derivedParser.suggest) yield* derivedParser.suggest(prefix);
|
|
214
248
|
}
|
|
215
249
|
};
|
|
216
250
|
}
|
|
@@ -226,13 +260,23 @@ function createAsyncDerivedFromParserFromAsyncFactory(sourceId, options) {
|
|
|
226
260
|
[DerivedValueParserMarker]: true,
|
|
227
261
|
[DependencyId]: sourceId,
|
|
228
262
|
[DependencyIds]: allDependencyIds,
|
|
263
|
+
[DefaultValues]: options.defaultValues,
|
|
229
264
|
parse(input) {
|
|
230
265
|
const sourceValues = options.defaultValues();
|
|
231
266
|
const derivedParser = options.factory(...sourceValues);
|
|
232
267
|
return derivedParser.parse(input);
|
|
233
268
|
},
|
|
234
269
|
[ParseWithDependency](input, dependencyValue) {
|
|
235
|
-
|
|
270
|
+
let derivedParser;
|
|
271
|
+
try {
|
|
272
|
+
derivedParser = options.factory(...dependencyValue);
|
|
273
|
+
} catch (e) {
|
|
274
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
275
|
+
return Promise.resolve({
|
|
276
|
+
success: false,
|
|
277
|
+
error: message`Factory error: ${msg}`
|
|
278
|
+
});
|
|
279
|
+
}
|
|
236
280
|
return derivedParser.parse(input);
|
|
237
281
|
},
|
|
238
282
|
format(value) {
|
|
@@ -244,6 +288,16 @@ function createAsyncDerivedFromParserFromAsyncFactory(sourceId, options) {
|
|
|
244
288
|
const sourceValues = options.defaultValues();
|
|
245
289
|
const derivedParser = options.factory(...sourceValues);
|
|
246
290
|
if (derivedParser.suggest) for await (const suggestion of derivedParser.suggest(prefix)) yield suggestion;
|
|
291
|
+
},
|
|
292
|
+
async *[SuggestWithDependency](prefix, dependencyValue) {
|
|
293
|
+
let derivedParser;
|
|
294
|
+
try {
|
|
295
|
+
derivedParser = options.factory(...dependencyValue);
|
|
296
|
+
} catch {
|
|
297
|
+
const sourceValues = options.defaultValues();
|
|
298
|
+
derivedParser = options.factory(...sourceValues);
|
|
299
|
+
}
|
|
300
|
+
if (derivedParser.suggest) for await (const suggestion of derivedParser.suggest(prefix)) yield suggestion;
|
|
247
301
|
}
|
|
248
302
|
};
|
|
249
303
|
}
|
|
@@ -259,13 +313,23 @@ function createAsyncDerivedFromParserFromSyncFactory(sourceId, options) {
|
|
|
259
313
|
[DerivedValueParserMarker]: true,
|
|
260
314
|
[DependencyId]: sourceId,
|
|
261
315
|
[DependencyIds]: allDependencyIds,
|
|
316
|
+
[DefaultValues]: options.defaultValues,
|
|
262
317
|
parse(input) {
|
|
263
318
|
const sourceValues = options.defaultValues();
|
|
264
319
|
const derivedParser = options.factory(...sourceValues);
|
|
265
320
|
return Promise.resolve(derivedParser.parse(input));
|
|
266
321
|
},
|
|
267
322
|
[ParseWithDependency](input, dependencyValue) {
|
|
268
|
-
|
|
323
|
+
let derivedParser;
|
|
324
|
+
try {
|
|
325
|
+
derivedParser = options.factory(...dependencyValue);
|
|
326
|
+
} catch (e) {
|
|
327
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
328
|
+
return Promise.resolve({
|
|
329
|
+
success: false,
|
|
330
|
+
error: message`Factory error: ${msg}`
|
|
331
|
+
});
|
|
332
|
+
}
|
|
269
333
|
return Promise.resolve(derivedParser.parse(input));
|
|
270
334
|
},
|
|
271
335
|
format(value) {
|
|
@@ -277,6 +341,16 @@ function createAsyncDerivedFromParserFromSyncFactory(sourceId, options) {
|
|
|
277
341
|
const sourceValues = options.defaultValues();
|
|
278
342
|
const derivedParser = options.factory(...sourceValues);
|
|
279
343
|
if (derivedParser.suggest) yield* derivedParser.suggest(prefix);
|
|
344
|
+
},
|
|
345
|
+
*[SuggestWithDependency](prefix, dependencyValue) {
|
|
346
|
+
let derivedParser;
|
|
347
|
+
try {
|
|
348
|
+
derivedParser = options.factory(...dependencyValue);
|
|
349
|
+
} catch {
|
|
350
|
+
const sourceValues = options.defaultValues();
|
|
351
|
+
derivedParser = options.factory(...sourceValues);
|
|
352
|
+
}
|
|
353
|
+
if (derivedParser.suggest) yield* derivedParser.suggest(prefix);
|
|
280
354
|
}
|
|
281
355
|
};
|
|
282
356
|
}
|
|
@@ -310,7 +384,16 @@ function createSyncDerivedParser(sourceId, options) {
|
|
|
310
384
|
return derivedParser.parse(input);
|
|
311
385
|
},
|
|
312
386
|
[ParseWithDependency](input, dependencyValue) {
|
|
313
|
-
|
|
387
|
+
let derivedParser;
|
|
388
|
+
try {
|
|
389
|
+
derivedParser = options.factory(dependencyValue);
|
|
390
|
+
} catch (e) {
|
|
391
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
392
|
+
return {
|
|
393
|
+
success: false,
|
|
394
|
+
error: message`Factory error: ${msg}`
|
|
395
|
+
};
|
|
396
|
+
}
|
|
314
397
|
return derivedParser.parse(input);
|
|
315
398
|
},
|
|
316
399
|
format(value) {
|
|
@@ -322,6 +405,15 @@ function createSyncDerivedParser(sourceId, options) {
|
|
|
322
405
|
const sourceValue = options.defaultValue();
|
|
323
406
|
const derivedParser = options.factory(sourceValue);
|
|
324
407
|
if (derivedParser.suggest) yield* derivedParser.suggest(prefix);
|
|
408
|
+
},
|
|
409
|
+
*[SuggestWithDependency](prefix, dependencyValue) {
|
|
410
|
+
let derivedParser;
|
|
411
|
+
try {
|
|
412
|
+
derivedParser = options.factory(dependencyValue);
|
|
413
|
+
} catch {
|
|
414
|
+
derivedParser = options.factory(options.defaultValue());
|
|
415
|
+
}
|
|
416
|
+
if (derivedParser.suggest) yield* derivedParser.suggest(prefix);
|
|
325
417
|
}
|
|
326
418
|
};
|
|
327
419
|
}
|
|
@@ -341,7 +433,16 @@ function createAsyncDerivedParserFromAsyncFactory(sourceId, options) {
|
|
|
341
433
|
return derivedParser.parse(input);
|
|
342
434
|
},
|
|
343
435
|
[ParseWithDependency](input, dependencyValue) {
|
|
344
|
-
|
|
436
|
+
let derivedParser;
|
|
437
|
+
try {
|
|
438
|
+
derivedParser = options.factory(dependencyValue);
|
|
439
|
+
} catch (e) {
|
|
440
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
441
|
+
return Promise.resolve({
|
|
442
|
+
success: false,
|
|
443
|
+
error: message`Factory error: ${msg}`
|
|
444
|
+
});
|
|
445
|
+
}
|
|
345
446
|
return derivedParser.parse(input);
|
|
346
447
|
},
|
|
347
448
|
format(value) {
|
|
@@ -353,6 +454,15 @@ function createAsyncDerivedParserFromAsyncFactory(sourceId, options) {
|
|
|
353
454
|
const sourceValue = options.defaultValue();
|
|
354
455
|
const derivedParser = options.factory(sourceValue);
|
|
355
456
|
if (derivedParser.suggest) for await (const suggestion of derivedParser.suggest(prefix)) yield suggestion;
|
|
457
|
+
},
|
|
458
|
+
async *[SuggestWithDependency](prefix, dependencyValue) {
|
|
459
|
+
let derivedParser;
|
|
460
|
+
try {
|
|
461
|
+
derivedParser = options.factory(dependencyValue);
|
|
462
|
+
} catch {
|
|
463
|
+
derivedParser = options.factory(options.defaultValue());
|
|
464
|
+
}
|
|
465
|
+
if (derivedParser.suggest) for await (const suggestion of derivedParser.suggest(prefix)) yield suggestion;
|
|
356
466
|
}
|
|
357
467
|
};
|
|
358
468
|
}
|
|
@@ -372,7 +482,16 @@ function createAsyncDerivedParserFromSyncFactory(sourceId, options) {
|
|
|
372
482
|
return Promise.resolve(derivedParser.parse(input));
|
|
373
483
|
},
|
|
374
484
|
[ParseWithDependency](input, dependencyValue) {
|
|
375
|
-
|
|
485
|
+
let derivedParser;
|
|
486
|
+
try {
|
|
487
|
+
derivedParser = options.factory(dependencyValue);
|
|
488
|
+
} catch (e) {
|
|
489
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
490
|
+
return Promise.resolve({
|
|
491
|
+
success: false,
|
|
492
|
+
error: message`Factory error: ${msg}`
|
|
493
|
+
});
|
|
494
|
+
}
|
|
376
495
|
return Promise.resolve(derivedParser.parse(input));
|
|
377
496
|
},
|
|
378
497
|
format(value) {
|
|
@@ -384,6 +503,15 @@ function createAsyncDerivedParserFromSyncFactory(sourceId, options) {
|
|
|
384
503
|
const sourceValue = options.defaultValue();
|
|
385
504
|
const derivedParser = options.factory(sourceValue);
|
|
386
505
|
if (derivedParser.suggest) yield* derivedParser.suggest(prefix);
|
|
506
|
+
},
|
|
507
|
+
*[SuggestWithDependency](prefix, dependencyValue) {
|
|
508
|
+
let derivedParser;
|
|
509
|
+
try {
|
|
510
|
+
derivedParser = options.factory(dependencyValue);
|
|
511
|
+
} catch {
|
|
512
|
+
derivedParser = options.factory(options.defaultValue());
|
|
513
|
+
}
|
|
514
|
+
if (derivedParser.suggest) yield* derivedParser.suggest(prefix);
|
|
387
515
|
}
|
|
388
516
|
};
|
|
389
517
|
}
|
|
@@ -415,12 +543,15 @@ function isDeferredParseState(value) {
|
|
|
415
543
|
*/
|
|
416
544
|
function createDeferredParseState(rawInput, parser, preliminaryResult) {
|
|
417
545
|
const multipleIds = DependencyIds in parser ? parser[DependencyIds] : void 0;
|
|
546
|
+
const defaultValuesFn = DefaultValues in parser ? parser[DefaultValues] : void 0;
|
|
547
|
+
const defaultVals = defaultValuesFn ? defaultValuesFn() : void 0;
|
|
418
548
|
return {
|
|
419
549
|
[DeferredParseMarker]: true,
|
|
420
550
|
rawInput,
|
|
421
551
|
parser,
|
|
422
552
|
dependencyId: parser[DependencyId],
|
|
423
553
|
dependencyIds: multipleIds,
|
|
554
|
+
defaultValues: defaultVals,
|
|
424
555
|
preliminaryResult
|
|
425
556
|
};
|
|
426
557
|
}
|
|
@@ -491,6 +622,28 @@ function createPendingDependencySourceState(dependencyId) {
|
|
|
491
622
|
*/
|
|
492
623
|
const WrappedDependencySourceMarker = Symbol.for("@optique/core/dependency/WrappedDependencySourceMarker");
|
|
493
624
|
/**
|
|
625
|
+
* A unique symbol used to indicate that a wrapper transforms the dependency
|
|
626
|
+
* source value. This is used by withDefault to determine whether its default
|
|
627
|
+
* value should be registered as the dependency value.
|
|
628
|
+
*
|
|
629
|
+
* When a wrapper has this marker set to `true`, it means the wrapper transforms
|
|
630
|
+
* the dependency source value (e.g., via map()), so the wrapper's output is NOT
|
|
631
|
+
* a valid dependency source value.
|
|
632
|
+
*
|
|
633
|
+
* @since 0.10.0
|
|
634
|
+
*/
|
|
635
|
+
const TransformsDependencyValueMarker = Symbol.for("@optique/core/dependency/TransformsDependencyValueMarker");
|
|
636
|
+
/**
|
|
637
|
+
* Checks if a parser transforms the dependency value (has TransformsDependencyValueMarker).
|
|
638
|
+
*
|
|
639
|
+
* @param parser The parser to check.
|
|
640
|
+
* @returns `true` if the parser transforms the dependency value.
|
|
641
|
+
* @since 0.10.0
|
|
642
|
+
*/
|
|
643
|
+
function transformsDependencyValue(parser) {
|
|
644
|
+
return typeof parser === "object" && parser !== null && TransformsDependencyValueMarker in parser && parser[TransformsDependencyValueMarker] === true;
|
|
645
|
+
}
|
|
646
|
+
/**
|
|
494
647
|
* Checks if a parser wraps a dependency source (has WrappedDependencySourceMarker).
|
|
495
648
|
*
|
|
496
649
|
* @param parser The parser to check.
|
|
@@ -566,4 +719,4 @@ function formatDependencyError(error) {
|
|
|
566
719
|
}
|
|
567
720
|
|
|
568
721
|
//#endregion
|
|
569
|
-
export { DeferredParseMarker, DependencyId, DependencyIds, DependencyRegistry, DependencySourceMarker, DependencySourceStateMarker, DerivedValueParserMarker, ParseWithDependency, PendingDependencySourceStateMarker, WrappedDependencySourceMarker, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, formatDependencyError, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isPendingDependencySourceState, isWrappedDependencySource };
|
|
722
|
+
export { DefaultValues, DeferredParseMarker, DependencyId, DependencyIds, DependencyRegistry, DependencySourceMarker, DependencySourceStateMarker, DerivedValueParserMarker, ParseWithDependency, PendingDependencySourceStateMarker, SuggestWithDependency, TransformsDependencyValueMarker, WrappedDependencySourceMarker, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, formatDependencyError, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isPendingDependencySourceState, isWrappedDependencySource, transformsDependencyValue };
|
package/dist/index.cjs
CHANGED
|
@@ -11,6 +11,7 @@ const require_primitives = require('./primitives.cjs');
|
|
|
11
11
|
const require_parser = require('./parser.cjs');
|
|
12
12
|
const require_facade = require('./facade.cjs');
|
|
13
13
|
|
|
14
|
+
exports.DefaultValues = require_dependency.DefaultValues;
|
|
14
15
|
exports.DeferredParseMarker = require_dependency.DeferredParseMarker;
|
|
15
16
|
exports.DependencyId = require_dependency.DependencyId;
|
|
16
17
|
exports.DependencyIds = require_dependency.DependencyIds;
|
|
@@ -23,6 +24,8 @@ exports.ParseWithDependency = require_dependency.ParseWithDependency;
|
|
|
23
24
|
exports.PendingDependencySourceStateMarker = require_dependency.PendingDependencySourceStateMarker;
|
|
24
25
|
exports.RunError = require_facade.RunError;
|
|
25
26
|
exports.RunParserError = require_facade.RunParserError;
|
|
27
|
+
exports.SuggestWithDependency = require_dependency.SuggestWithDependency;
|
|
28
|
+
exports.TransformsDependencyValueMarker = require_dependency.TransformsDependencyValueMarker;
|
|
26
29
|
exports.WithDefaultError = require_modifiers.WithDefaultError;
|
|
27
30
|
exports.WrappedDependencySourceMarker = require_dependency.WrappedDependencySourceMarker;
|
|
28
31
|
exports.argument = require_primitives.argument;
|
|
@@ -95,6 +98,7 @@ exports.suggest = require_parser.suggest;
|
|
|
95
98
|
exports.suggestAsync = require_parser.suggestAsync;
|
|
96
99
|
exports.suggestSync = require_parser.suggestSync;
|
|
97
100
|
exports.text = require_message.text;
|
|
101
|
+
exports.transformsDependencyValue = require_dependency.transformsDependencyValue;
|
|
98
102
|
exports.tuple = require_constructs.tuple;
|
|
99
103
|
exports.url = require_valueparser.url;
|
|
100
104
|
exports.uuid = require_valueparser.uuid;
|
package/dist/index.d.cts
CHANGED
|
@@ -5,9 +5,9 @@ import { DocEntry, DocFragment, DocFragments, DocPage, DocPageFormatOptions, Doc
|
|
|
5
5
|
import { ChoiceOptions, ChoiceOptionsBase, ChoiceOptionsNumber, ChoiceOptionsString, FloatOptions, IntegerOptionsBigInt, IntegerOptionsNumber, LocaleOptions, StringOptions, UrlOptions, Uuid, UuidOptions, ValueParser, ValueParserResult, choice, float, integer, isValueParser, locale, string, url, uuid } from "./valueparser.cjs";
|
|
6
6
|
import { ConditionalErrorOptions, ConditionalOptions, DuplicateOptionError, LongestMatchErrorOptions, LongestMatchOptions, MergeOptions, NoMatchContext, ObjectErrorOptions, ObjectOptions, OrErrorOptions, OrOptions, TupleOptions, concat, conditional, group, longestMatch, merge, object, or, tuple } from "./constructs.cjs";
|
|
7
7
|
import { MultipleErrorOptions, MultipleOptions, WithDefaultError, WithDefaultOptions, map, multiple, optional, withDefault } from "./modifiers.cjs";
|
|
8
|
-
import { AnyDependencySource, CombineMode, CombinedDependencyMode, DeferredParseMarker, DeferredParseState, DependencyError, DependencyId, DependencyIds, DependencyMode, DependencyRegistry, DependencySource, DependencySourceMarker, DependencySourceState, DependencySourceStateMarker, DependencyValue, DependencyValues, DeriveAsyncOptions, DeriveFromAsyncOptions, DeriveFromOptions, DeriveFromSyncOptions, DeriveOptions, DeriveSyncOptions, DerivedValueParser, DerivedValueParserMarker, ParseWithDependency, PendingDependencySourceState, PendingDependencySourceStateMarker, ResolvedDependency, WrappedDependencySourceMarker, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, formatDependencyError, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isPendingDependencySourceState, isWrappedDependencySource } from "./dependency.cjs";
|
|
8
|
+
import { AnyDependencySource, CombineMode, CombinedDependencyMode, DefaultValues, DeferredParseMarker, DeferredParseState, DependencyError, DependencyId, DependencyIds, DependencyMode, DependencyRegistry, DependencySource, DependencySourceMarker, DependencySourceState, DependencySourceStateMarker, DependencyValue, DependencyValues, DeriveAsyncOptions, DeriveFromAsyncOptions, DeriveFromOptions, DeriveFromSyncOptions, DeriveOptions, DeriveSyncOptions, DerivedValueParser, DerivedValueParserMarker, ParseWithDependency, PendingDependencySourceState, PendingDependencySourceStateMarker, ResolvedDependency, SuggestWithDependency, TransformsDependencyValueMarker, WrappedDependencySourceMarker, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, formatDependencyError, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isPendingDependencySourceState, isWrappedDependencySource, transformsDependencyValue } from "./dependency.cjs";
|
|
9
9
|
import { ArgumentErrorOptions, ArgumentOptions, CommandErrorOptions, CommandOptions, FlagErrorOptions, FlagOptions, OptionErrorOptions, OptionOptions, OptionState, PassThroughFormat, PassThroughOptions, argument, command, constant, flag, option, passThrough } from "./primitives.cjs";
|
|
10
10
|
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";
|
|
11
11
|
import { ShellCompletion, bash, fish, nu, pwsh, zsh } from "./completion.cjs";
|
|
12
12
|
import { RunError, RunOptions, RunParserError, run, runParser, runParserAsync, runParserSync } from "./facade.cjs";
|
|
13
|
-
export { AnyDependencySource, ArgumentErrorOptions, ArgumentOptions, ChoiceOptions, ChoiceOptionsBase, ChoiceOptionsNumber, ChoiceOptionsString, CombineMode, CombineModes, CombinedDependencyMode, CommandErrorOptions, CommandOptions, ConditionalErrorOptions, ConditionalOptions, DeferredParseMarker, DeferredParseState, DependencyError, DependencyId, DependencyIds, DependencyMode, DependencyRegistry, DependencySource, DependencySourceMarker, DependencySourceState, DependencySourceStateMarker, DependencyValue, DependencyValues, DeriveAsyncOptions, DeriveFromAsyncOptions, DeriveFromOptions, DeriveFromSyncOptions, DeriveOptions, DeriveSyncOptions, DerivedValueParser, DerivedValueParserMarker, DocEntry, DocFragment, DocFragments, DocPage, DocPageFormatOptions, DocSection, DocState, DuplicateOptionError, FlagErrorOptions, FlagOptions, FloatOptions, InferMode, InferValue, IntegerOptionsBigInt, IntegerOptionsNumber, LocaleOptions, LongestMatchErrorOptions, LongestMatchOptions, MergeOptions, Message, MessageFormatOptions, MessageTerm, Mode, ModeIterable, ModeValue, MultipleErrorOptions, MultipleOptions, NoMatchContext, NonEmptyString, ObjectErrorOptions, ObjectOptions, OptionErrorOptions, OptionName, OptionOptions, OptionState, OrErrorOptions, OrOptions, ParseWithDependency, Parser, ParserContext, ParserResult, PassThroughFormat, PassThroughOptions, PendingDependencySourceState, PendingDependencySourceStateMarker, ResolvedDependency, Result, RunError, RunOptions, RunParserError, ShellCompletion, ShowDefaultOptions, StringOptions, Suggestion, TupleOptions, UrlOptions, Usage, UsageFormatOptions, UsageTerm, UsageTermFormatOptions, Uuid, UuidOptions, ValueParser, ValueParserResult, ValueSetOptions, WithDefaultError, WithDefaultOptions, WrappedDependencySourceMarker, argument, bash, choice, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, extractOptionNames, fish, flag, float, formatDependencyError, formatDocPage, formatMessage, formatUsage, formatUsageTerm, getDocPage, getDocPageAsync, getDocPageSync, group, integer, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isNonEmptyString, isPendingDependencySourceState, isValueParser, isWrappedDependencySource, locale, longestMatch, map, merge, message, metavar, multiple, normalizeUsage, nu, object, option, optionName, optionNames, optional, or, parse, parseAsync, parseSync, passThrough, pwsh, run, runParser, runParserAsync, runParserSync, string, suggest, suggestAsync, suggestSync, text, tuple, url, uuid, value, valueSet, values, withDefault, zsh };
|
|
13
|
+
export { AnyDependencySource, ArgumentErrorOptions, ArgumentOptions, ChoiceOptions, ChoiceOptionsBase, ChoiceOptionsNumber, ChoiceOptionsString, CombineMode, CombineModes, CombinedDependencyMode, CommandErrorOptions, CommandOptions, ConditionalErrorOptions, ConditionalOptions, DefaultValues, DeferredParseMarker, DeferredParseState, DependencyError, DependencyId, DependencyIds, DependencyMode, DependencyRegistry, DependencySource, DependencySourceMarker, DependencySourceState, DependencySourceStateMarker, DependencyValue, DependencyValues, DeriveAsyncOptions, DeriveFromAsyncOptions, DeriveFromOptions, DeriveFromSyncOptions, DeriveOptions, DeriveSyncOptions, DerivedValueParser, DerivedValueParserMarker, DocEntry, DocFragment, DocFragments, DocPage, DocPageFormatOptions, DocSection, DocState, DuplicateOptionError, FlagErrorOptions, FlagOptions, FloatOptions, InferMode, InferValue, IntegerOptionsBigInt, IntegerOptionsNumber, LocaleOptions, LongestMatchErrorOptions, LongestMatchOptions, MergeOptions, Message, MessageFormatOptions, MessageTerm, Mode, ModeIterable, ModeValue, MultipleErrorOptions, MultipleOptions, NoMatchContext, NonEmptyString, ObjectErrorOptions, ObjectOptions, OptionErrorOptions, OptionName, OptionOptions, OptionState, OrErrorOptions, OrOptions, ParseWithDependency, Parser, ParserContext, ParserResult, PassThroughFormat, PassThroughOptions, PendingDependencySourceState, PendingDependencySourceStateMarker, ResolvedDependency, Result, RunError, RunOptions, RunParserError, ShellCompletion, ShowDefaultOptions, StringOptions, SuggestWithDependency, Suggestion, TransformsDependencyValueMarker, TupleOptions, UrlOptions, Usage, UsageFormatOptions, UsageTerm, UsageTermFormatOptions, Uuid, UuidOptions, ValueParser, ValueParserResult, ValueSetOptions, WithDefaultError, WithDefaultOptions, WrappedDependencySourceMarker, argument, bash, choice, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, extractOptionNames, fish, flag, float, formatDependencyError, formatDocPage, formatMessage, formatUsage, formatUsageTerm, getDocPage, getDocPageAsync, getDocPageSync, group, integer, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isNonEmptyString, isPendingDependencySourceState, isValueParser, isWrappedDependencySource, locale, longestMatch, map, merge, message, metavar, multiple, normalizeUsage, nu, object, option, optionName, optionNames, optional, or, parse, parseAsync, parseSync, passThrough, pwsh, run, runParser, runParserAsync, runParserSync, string, suggest, suggestAsync, suggestSync, text, transformsDependencyValue, tuple, url, uuid, value, valueSet, values, withDefault, zsh };
|
package/dist/index.d.ts
CHANGED
|
@@ -5,9 +5,9 @@ import { DocEntry, DocFragment, DocFragments, DocPage, DocPageFormatOptions, Doc
|
|
|
5
5
|
import { ChoiceOptions, ChoiceOptionsBase, ChoiceOptionsNumber, ChoiceOptionsString, FloatOptions, IntegerOptionsBigInt, IntegerOptionsNumber, LocaleOptions, StringOptions, UrlOptions, Uuid, UuidOptions, ValueParser, ValueParserResult, choice, float, integer, isValueParser, locale, string, url, uuid } from "./valueparser.js";
|
|
6
6
|
import { ConditionalErrorOptions, ConditionalOptions, DuplicateOptionError, LongestMatchErrorOptions, LongestMatchOptions, MergeOptions, NoMatchContext, ObjectErrorOptions, ObjectOptions, OrErrorOptions, OrOptions, TupleOptions, concat, conditional, group, longestMatch, merge, object, or, tuple } from "./constructs.js";
|
|
7
7
|
import { MultipleErrorOptions, MultipleOptions, WithDefaultError, WithDefaultOptions, map, multiple, optional, withDefault } from "./modifiers.js";
|
|
8
|
-
import { AnyDependencySource, CombineMode, CombinedDependencyMode, DeferredParseMarker, DeferredParseState, DependencyError, DependencyId, DependencyIds, DependencyMode, DependencyRegistry, DependencySource, DependencySourceMarker, DependencySourceState, DependencySourceStateMarker, DependencyValue, DependencyValues, DeriveAsyncOptions, DeriveFromAsyncOptions, DeriveFromOptions, DeriveFromSyncOptions, DeriveOptions, DeriveSyncOptions, DerivedValueParser, DerivedValueParserMarker, ParseWithDependency, PendingDependencySourceState, PendingDependencySourceStateMarker, ResolvedDependency, WrappedDependencySourceMarker, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, formatDependencyError, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isPendingDependencySourceState, isWrappedDependencySource } from "./dependency.js";
|
|
8
|
+
import { AnyDependencySource, CombineMode, CombinedDependencyMode, DefaultValues, DeferredParseMarker, DeferredParseState, DependencyError, DependencyId, DependencyIds, DependencyMode, DependencyRegistry, DependencySource, DependencySourceMarker, DependencySourceState, DependencySourceStateMarker, DependencyValue, DependencyValues, DeriveAsyncOptions, DeriveFromAsyncOptions, DeriveFromOptions, DeriveFromSyncOptions, DeriveOptions, DeriveSyncOptions, DerivedValueParser, DerivedValueParserMarker, ParseWithDependency, PendingDependencySourceState, PendingDependencySourceStateMarker, ResolvedDependency, SuggestWithDependency, TransformsDependencyValueMarker, WrappedDependencySourceMarker, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, formatDependencyError, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isPendingDependencySourceState, isWrappedDependencySource, transformsDependencyValue } from "./dependency.js";
|
|
9
9
|
import { ArgumentErrorOptions, ArgumentOptions, CommandErrorOptions, CommandOptions, FlagErrorOptions, FlagOptions, OptionErrorOptions, OptionOptions, OptionState, PassThroughFormat, PassThroughOptions, argument, command, constant, flag, option, passThrough } from "./primitives.js";
|
|
10
10
|
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";
|
|
11
11
|
import { ShellCompletion, bash, fish, nu, pwsh, zsh } from "./completion.js";
|
|
12
12
|
import { RunError, RunOptions, RunParserError, run, runParser, runParserAsync, runParserSync } from "./facade.js";
|
|
13
|
-
export { AnyDependencySource, ArgumentErrorOptions, ArgumentOptions, ChoiceOptions, ChoiceOptionsBase, ChoiceOptionsNumber, ChoiceOptionsString, CombineMode, CombineModes, CombinedDependencyMode, CommandErrorOptions, CommandOptions, ConditionalErrorOptions, ConditionalOptions, DeferredParseMarker, DeferredParseState, DependencyError, DependencyId, DependencyIds, DependencyMode, DependencyRegistry, DependencySource, DependencySourceMarker, DependencySourceState, DependencySourceStateMarker, DependencyValue, DependencyValues, DeriveAsyncOptions, DeriveFromAsyncOptions, DeriveFromOptions, DeriveFromSyncOptions, DeriveOptions, DeriveSyncOptions, DerivedValueParser, DerivedValueParserMarker, DocEntry, DocFragment, DocFragments, DocPage, DocPageFormatOptions, DocSection, DocState, DuplicateOptionError, FlagErrorOptions, FlagOptions, FloatOptions, InferMode, InferValue, IntegerOptionsBigInt, IntegerOptionsNumber, LocaleOptions, LongestMatchErrorOptions, LongestMatchOptions, MergeOptions, Message, MessageFormatOptions, MessageTerm, Mode, ModeIterable, ModeValue, MultipleErrorOptions, MultipleOptions, NoMatchContext, NonEmptyString, ObjectErrorOptions, ObjectOptions, OptionErrorOptions, OptionName, OptionOptions, OptionState, OrErrorOptions, OrOptions, ParseWithDependency, Parser, ParserContext, ParserResult, PassThroughFormat, PassThroughOptions, PendingDependencySourceState, PendingDependencySourceStateMarker, ResolvedDependency, Result, RunError, RunOptions, RunParserError, ShellCompletion, ShowDefaultOptions, StringOptions, Suggestion, TupleOptions, UrlOptions, Usage, UsageFormatOptions, UsageTerm, UsageTermFormatOptions, Uuid, UuidOptions, ValueParser, ValueParserResult, ValueSetOptions, WithDefaultError, WithDefaultOptions, WrappedDependencySourceMarker, argument, bash, choice, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, extractOptionNames, fish, flag, float, formatDependencyError, formatDocPage, formatMessage, formatUsage, formatUsageTerm, getDocPage, getDocPageAsync, getDocPageSync, group, integer, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isNonEmptyString, isPendingDependencySourceState, isValueParser, isWrappedDependencySource, locale, longestMatch, map, merge, message, metavar, multiple, normalizeUsage, nu, object, option, optionName, optionNames, optional, or, parse, parseAsync, parseSync, passThrough, pwsh, run, runParser, runParserAsync, runParserSync, string, suggest, suggestAsync, suggestSync, text, tuple, url, uuid, value, valueSet, values, withDefault, zsh };
|
|
13
|
+
export { AnyDependencySource, ArgumentErrorOptions, ArgumentOptions, ChoiceOptions, ChoiceOptionsBase, ChoiceOptionsNumber, ChoiceOptionsString, CombineMode, CombineModes, CombinedDependencyMode, CommandErrorOptions, CommandOptions, ConditionalErrorOptions, ConditionalOptions, DefaultValues, DeferredParseMarker, DeferredParseState, DependencyError, DependencyId, DependencyIds, DependencyMode, DependencyRegistry, DependencySource, DependencySourceMarker, DependencySourceState, DependencySourceStateMarker, DependencyValue, DependencyValues, DeriveAsyncOptions, DeriveFromAsyncOptions, DeriveFromOptions, DeriveFromSyncOptions, DeriveOptions, DeriveSyncOptions, DerivedValueParser, DerivedValueParserMarker, DocEntry, DocFragment, DocFragments, DocPage, DocPageFormatOptions, DocSection, DocState, DuplicateOptionError, FlagErrorOptions, FlagOptions, FloatOptions, InferMode, InferValue, IntegerOptionsBigInt, IntegerOptionsNumber, LocaleOptions, LongestMatchErrorOptions, LongestMatchOptions, MergeOptions, Message, MessageFormatOptions, MessageTerm, Mode, ModeIterable, ModeValue, MultipleErrorOptions, MultipleOptions, NoMatchContext, NonEmptyString, ObjectErrorOptions, ObjectOptions, OptionErrorOptions, OptionName, OptionOptions, OptionState, OrErrorOptions, OrOptions, ParseWithDependency, Parser, ParserContext, ParserResult, PassThroughFormat, PassThroughOptions, PendingDependencySourceState, PendingDependencySourceStateMarker, ResolvedDependency, Result, RunError, RunOptions, RunParserError, ShellCompletion, ShowDefaultOptions, StringOptions, SuggestWithDependency, Suggestion, TransformsDependencyValueMarker, TupleOptions, UrlOptions, Usage, UsageFormatOptions, UsageTerm, UsageTermFormatOptions, Uuid, UuidOptions, ValueParser, ValueParserResult, ValueSetOptions, WithDefaultError, WithDefaultOptions, WrappedDependencySourceMarker, argument, bash, choice, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, extractOptionNames, fish, flag, float, formatDependencyError, formatDocPage, formatMessage, formatUsage, formatUsageTerm, getDocPage, getDocPageAsync, getDocPageSync, group, integer, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isNonEmptyString, isPendingDependencySourceState, isValueParser, isWrappedDependencySource, locale, longestMatch, map, merge, message, metavar, multiple, normalizeUsage, nu, object, option, optionName, optionNames, optional, or, parse, parseAsync, parseSync, passThrough, pwsh, run, runParser, runParserAsync, runParserSync, string, suggest, suggestAsync, suggestSync, text, transformsDependencyValue, tuple, url, uuid, value, valueSet, values, withDefault, zsh };
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { commandLine, envVar, formatMessage, message, metavar, optionName, optionNames, text, value, valueSet, values } from "./message.js";
|
|
2
2
|
import { bash, fish, nu, pwsh, zsh } from "./completion.js";
|
|
3
|
-
import { DeferredParseMarker, DependencyId, DependencyIds, DependencyRegistry, DependencySourceMarker, DependencySourceStateMarker, DerivedValueParserMarker, ParseWithDependency, PendingDependencySourceStateMarker, WrappedDependencySourceMarker, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, formatDependencyError, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isPendingDependencySourceState, isWrappedDependencySource } from "./dependency.js";
|
|
3
|
+
import { DefaultValues, DeferredParseMarker, DependencyId, DependencyIds, DependencyRegistry, DependencySourceMarker, DependencySourceStateMarker, DerivedValueParserMarker, ParseWithDependency, PendingDependencySourceStateMarker, SuggestWithDependency, TransformsDependencyValueMarker, WrappedDependencySourceMarker, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, formatDependencyError, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isPendingDependencySourceState, isWrappedDependencySource, transformsDependencyValue } from "./dependency.js";
|
|
4
4
|
import { extractArgumentMetavars, extractCommandNames, extractOptionNames, formatUsage, formatUsageTerm, normalizeUsage } from "./usage.js";
|
|
5
5
|
import { DuplicateOptionError, concat, conditional, group, longestMatch, merge, object, or, tuple } from "./constructs.js";
|
|
6
6
|
import { formatDocPage } from "./doc.js";
|
|
@@ -11,4 +11,4 @@ import { argument, command, constant, flag, option, passThrough } from "./primit
|
|
|
11
11
|
import { getDocPage, getDocPageAsync, getDocPageSync, parse, parseAsync, parseSync, suggest, suggestAsync, suggestSync } from "./parser.js";
|
|
12
12
|
import { RunError, RunParserError, run, runParser, runParserAsync, runParserSync } from "./facade.js";
|
|
13
13
|
|
|
14
|
-
export { DeferredParseMarker, DependencyId, DependencyIds, DependencyRegistry, DependencySourceMarker, DependencySourceStateMarker, DerivedValueParserMarker, DuplicateOptionError, ParseWithDependency, PendingDependencySourceStateMarker, RunError, RunParserError, WithDefaultError, WrappedDependencySourceMarker, argument, bash, choice, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, extractOptionNames, fish, flag, float, formatDependencyError, formatDocPage, formatMessage, formatUsage, formatUsageTerm, getDocPage, getDocPageAsync, getDocPageSync, group, integer, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isNonEmptyString, isPendingDependencySourceState, isValueParser, isWrappedDependencySource, locale, longestMatch, map, merge, message, metavar, multiple, normalizeUsage, nu, object, option, optionName, optionNames, optional, or, parse, parseAsync, parseSync, passThrough, pwsh, run, runParser, runParserAsync, runParserSync, string, suggest, suggestAsync, suggestSync, text, tuple, url, uuid, value, valueSet, values, withDefault, zsh };
|
|
14
|
+
export { DefaultValues, DeferredParseMarker, DependencyId, DependencyIds, DependencyRegistry, DependencySourceMarker, DependencySourceStateMarker, DerivedValueParserMarker, DuplicateOptionError, ParseWithDependency, PendingDependencySourceStateMarker, RunError, RunParserError, SuggestWithDependency, TransformsDependencyValueMarker, WithDefaultError, WrappedDependencySourceMarker, argument, bash, choice, command, commandLine, concat, conditional, constant, createDeferredParseState, createDependencySourceState, createPendingDependencySourceState, dependency, deriveFrom, deriveFromAsync, deriveFromSync, ensureNonEmptyString, envVar, extractArgumentMetavars, extractCommandNames, extractOptionNames, fish, flag, float, formatDependencyError, formatDocPage, formatMessage, formatUsage, formatUsageTerm, getDocPage, getDocPageAsync, getDocPageSync, group, integer, isDeferredParseState, isDependencySource, isDependencySourceState, isDerivedValueParser, isNonEmptyString, isPendingDependencySourceState, isValueParser, isWrappedDependencySource, locale, longestMatch, map, merge, message, metavar, multiple, normalizeUsage, nu, object, option, optionName, optionNames, optional, or, parse, parseAsync, parseSync, passThrough, pwsh, run, runParser, runParserAsync, runParserSync, string, suggest, suggestAsync, suggestSync, text, transformsDependencyValue, tuple, url, uuid, value, valueSet, values, withDefault, zsh };
|
package/dist/modifiers.cjs
CHANGED
|
@@ -90,6 +90,11 @@ function optional(parser) {
|
|
|
90
90
|
}, prefix);
|
|
91
91
|
for await (const s of suggestions) yield s;
|
|
92
92
|
}
|
|
93
|
+
const innerHasWrappedDependency = require_dependency.isWrappedDependencySource(parser);
|
|
94
|
+
const innerHasDirectDependency = require_dependency.isPendingDependencySourceState(syncParser.initialState);
|
|
95
|
+
const wrappedDependencyMarker = innerHasWrappedDependency ? { [require_dependency.WrappedDependencySourceMarker]: parser[require_dependency.WrappedDependencySourceMarker] } : innerHasDirectDependency ? { [require_dependency.WrappedDependencySourceMarker]: syncParser.initialState } : {};
|
|
96
|
+
const hasWrappedDependencySource = require_dependency.WrappedDependencySourceMarker in wrappedDependencyMarker;
|
|
97
|
+
const wrappedPendingState = hasWrappedDependencySource ? wrappedDependencyMarker[require_dependency.WrappedDependencySourceMarker] : void 0;
|
|
93
98
|
return {
|
|
94
99
|
$mode: parser.$mode,
|
|
95
100
|
$valueType: [],
|
|
@@ -100,15 +105,32 @@ function optional(parser) {
|
|
|
100
105
|
terms: parser.usage
|
|
101
106
|
}],
|
|
102
107
|
initialState: void 0,
|
|
108
|
+
...wrappedDependencyMarker,
|
|
103
109
|
parse(context) {
|
|
104
110
|
if (isAsync) return parseOptionalStyleAsync(context, parser);
|
|
105
111
|
return parseOptionalStyleSync(context, syncParser);
|
|
106
112
|
},
|
|
107
113
|
complete(state) {
|
|
108
|
-
if (typeof state === "undefined")
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
114
|
+
if (typeof state === "undefined") {
|
|
115
|
+
if (innerHasWrappedDependency && wrappedPendingState) {
|
|
116
|
+
if (!isAsync) return syncParser.complete([wrappedPendingState]);
|
|
117
|
+
return parser.complete([wrappedPendingState]);
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
success: true,
|
|
121
|
+
value: void 0
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
if (Array.isArray(state) && state.length === 1 && require_dependency.isPendingDependencySourceState(state[0])) {
|
|
125
|
+
if (innerHasWrappedDependency) {
|
|
126
|
+
if (!isAsync) return syncParser.complete(state);
|
|
127
|
+
return parser.complete(state);
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
success: true,
|
|
131
|
+
value: void 0
|
|
132
|
+
};
|
|
133
|
+
}
|
|
112
134
|
if (!isAsync) return syncParser.complete(state[0]);
|
|
113
135
|
return parser.complete(state[0]);
|
|
114
136
|
},
|
|
@@ -178,7 +200,7 @@ function withDefault(parser, defaultValue, options) {
|
|
|
178
200
|
for await (const s of suggestions) yield s;
|
|
179
201
|
}
|
|
180
202
|
const innerInitialState = syncParser.initialState;
|
|
181
|
-
const wrappedDependencyMarker = require_dependency.isPendingDependencySourceState(innerInitialState) ? { [require_dependency.WrappedDependencySourceMarker]: innerInitialState } : {};
|
|
203
|
+
const wrappedDependencyMarker = require_dependency.isPendingDependencySourceState(innerInitialState) ? { [require_dependency.WrappedDependencySourceMarker]: innerInitialState } : require_dependency.isWrappedDependencySource(parser) ? { [require_dependency.WrappedDependencySourceMarker]: parser[require_dependency.WrappedDependencySourceMarker] } : {};
|
|
182
204
|
return {
|
|
183
205
|
$mode: parser.$mode,
|
|
184
206
|
$valueType: [],
|
|
@@ -195,29 +217,108 @@ function withDefault(parser, defaultValue, options) {
|
|
|
195
217
|
return parseOptionalStyleSync(context, syncParser);
|
|
196
218
|
},
|
|
197
219
|
complete(state) {
|
|
198
|
-
if (typeof state === "undefined")
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
220
|
+
if (typeof state === "undefined") {
|
|
221
|
+
if (require_dependency.transformsDependencyValue(parser)) {
|
|
222
|
+
const innerResult = !isAsync ? syncParser.complete(void 0) : parser.complete(void 0);
|
|
223
|
+
const handleInnerResult = (res) => {
|
|
224
|
+
if (require_dependency.isDependencySourceState(res)) try {
|
|
225
|
+
const value = typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
226
|
+
return require_dependency.createDependencySourceState({
|
|
227
|
+
success: true,
|
|
228
|
+
value
|
|
229
|
+
}, res[require_dependency.DependencyId]);
|
|
230
|
+
} catch (error) {
|
|
231
|
+
return {
|
|
232
|
+
success: false,
|
|
233
|
+
error: error instanceof WithDefaultError ? error.errorMessage : require_message.message`${require_message.text(String(error))}`
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
try {
|
|
237
|
+
const value = typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
238
|
+
return {
|
|
239
|
+
success: true,
|
|
240
|
+
value
|
|
241
|
+
};
|
|
242
|
+
} catch (error) {
|
|
243
|
+
return {
|
|
244
|
+
success: false,
|
|
245
|
+
error: error instanceof WithDefaultError ? error.errorMessage : require_message.message`${require_message.text(String(error))}`
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
if (innerResult instanceof Promise) return innerResult.then(handleInnerResult);
|
|
250
|
+
return handleInnerResult(innerResult);
|
|
251
|
+
}
|
|
252
|
+
if (require_dependency.isWrappedDependencySource(parser)) try {
|
|
253
|
+
const value = typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
254
|
+
const pendingState = parser[require_dependency.WrappedDependencySourceMarker];
|
|
255
|
+
return require_dependency.createDependencySourceState({
|
|
256
|
+
success: true,
|
|
257
|
+
value
|
|
258
|
+
}, pendingState[require_dependency.DependencyId]);
|
|
259
|
+
} catch (error) {
|
|
260
|
+
return {
|
|
261
|
+
success: false,
|
|
262
|
+
error: error instanceof WithDefaultError ? error.errorMessage : require_message.message`${require_message.text(String(error))}`
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
try {
|
|
266
|
+
const value = typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
267
|
+
return {
|
|
268
|
+
success: true,
|
|
269
|
+
value
|
|
270
|
+
};
|
|
271
|
+
} catch (error) {
|
|
272
|
+
return {
|
|
273
|
+
success: false,
|
|
274
|
+
error: error instanceof WithDefaultError ? error.errorMessage : require_message.message`${require_message.text(String(error))}`
|
|
275
|
+
};
|
|
276
|
+
}
|
|
209
277
|
}
|
|
210
|
-
if (require_dependency.isPendingDependencySourceState(state[0]))
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
278
|
+
if (require_dependency.isPendingDependencySourceState(state[0])) {
|
|
279
|
+
if (require_dependency.transformsDependencyValue(parser)) {
|
|
280
|
+
const innerResult = !isAsync ? syncParser.complete(state) : parser.complete(state);
|
|
281
|
+
const handleInnerResult = (res) => {
|
|
282
|
+
if (require_dependency.isDependencySourceState(res)) try {
|
|
283
|
+
const value = typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
284
|
+
return require_dependency.createDependencySourceState({
|
|
285
|
+
success: true,
|
|
286
|
+
value
|
|
287
|
+
}, res[require_dependency.DependencyId]);
|
|
288
|
+
} catch (error) {
|
|
289
|
+
return {
|
|
290
|
+
success: false,
|
|
291
|
+
error: error instanceof WithDefaultError ? error.errorMessage : require_message.message`${require_message.text(String(error))}`
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
try {
|
|
295
|
+
const value = typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
296
|
+
return {
|
|
297
|
+
success: true,
|
|
298
|
+
value
|
|
299
|
+
};
|
|
300
|
+
} catch (error) {
|
|
301
|
+
return {
|
|
302
|
+
success: false,
|
|
303
|
+
error: error instanceof WithDefaultError ? error.errorMessage : require_message.message`${require_message.text(String(error))}`
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
};
|
|
307
|
+
if (innerResult instanceof Promise) return innerResult.then(handleInnerResult);
|
|
308
|
+
return handleInnerResult(innerResult);
|
|
309
|
+
}
|
|
310
|
+
try {
|
|
311
|
+
const value = typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
312
|
+
return require_dependency.createDependencySourceState({
|
|
313
|
+
success: true,
|
|
314
|
+
value
|
|
315
|
+
}, state[0][require_dependency.DependencyId]);
|
|
316
|
+
} catch (error) {
|
|
317
|
+
return {
|
|
318
|
+
success: false,
|
|
319
|
+
error: error instanceof WithDefaultError ? error.errorMessage : require_message.message`${require_message.text(String(error))}`
|
|
320
|
+
};
|
|
321
|
+
}
|
|
221
322
|
}
|
|
222
323
|
if (!isAsync) return syncParser.complete(state[0]);
|
|
223
324
|
return parser.complete(state[0]);
|
|
@@ -300,10 +401,15 @@ function map(parser, transform) {
|
|
|
300
401
|
};
|
|
301
402
|
return res;
|
|
302
403
|
};
|
|
404
|
+
const dependencyMarkers = require_dependency.isWrappedDependencySource(parser) ? {
|
|
405
|
+
[require_dependency.WrappedDependencySourceMarker]: parser[require_dependency.WrappedDependencySourceMarker],
|
|
406
|
+
[require_dependency.TransformsDependencyValueMarker]: true
|
|
407
|
+
} : {};
|
|
303
408
|
return {
|
|
304
409
|
...parser,
|
|
305
410
|
$valueType: [],
|
|
306
411
|
complete,
|
|
412
|
+
...dependencyMarkers,
|
|
307
413
|
getDocFragments(state, _defaultValue) {
|
|
308
414
|
return parser.getDocFragments(state, void 0);
|
|
309
415
|
}
|