@optique/core 1.0.0-dev.494 → 1.0.0-dev.496
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.d.cts +5 -2
- package/dist/constructs.d.ts +5 -2
- package/package.json +1 -1
package/dist/constructs.d.cts
CHANGED
|
@@ -110,6 +110,9 @@ type OrParserArity = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14
|
|
|
110
110
|
type OrArityLimitError = {
|
|
111
111
|
readonly __optiqueOrArityLimit: "or() requires between 1 and 15 parser arguments. Nest or() to combine more.";
|
|
112
112
|
};
|
|
113
|
+
type OrTailOptions = OrOptions & {
|
|
114
|
+
readonly $valueType?: never;
|
|
115
|
+
};
|
|
113
116
|
type IsTuple<T extends readonly unknown[]> = number extends T["length"] ? false : true;
|
|
114
117
|
type OrArityGuard<TParsers extends readonly unknown[]> = IsTuple<TParsers> extends true ? TParsers["length"] extends OrParserArity ? unknown : OrArityLimitError : unknown;
|
|
115
118
|
/**
|
|
@@ -437,7 +440,7 @@ declare function or<MA extends Mode, MB extends Mode, MC extends Mode, MD extend
|
|
|
437
440
|
* Creates a parser that combines fifteen mutually exclusive parsers into one.
|
|
438
441
|
* The resulting parser will try each of the provided parsers in order,
|
|
439
442
|
* and return the result of the first successful parser.
|
|
440
|
-
* @since 0.
|
|
443
|
+
* @since 1.0.0
|
|
441
444
|
*/
|
|
442
445
|
declare function or<MA extends Mode, MB extends Mode, MC extends Mode, MD extends Mode, ME extends Mode, MF extends Mode, MG extends Mode, MH extends Mode, MI extends Mode, MJ extends Mode, MK extends Mode, ML extends Mode, MM extends Mode, MN extends Mode, MO extends Mode, TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN, TO, TStateA, TStateB, TStateC, TStateD, TStateE, TStateF, TStateG, TStateH, TStateI, TStateJ, TStateK, TStateL, TStateM, TStateN, TStateO>(a: Parser<MA, TA, TStateA>, b: Parser<MB, TB, TStateB>, c: Parser<MC, TC, TStateC>, d: Parser<MD, TD, TStateD>, e: Parser<ME, TE, TStateE>, f: Parser<MF, TF, TStateF>, g: Parser<MG, TG, TStateG>, h: Parser<MH, TH, TStateH>, i: Parser<MI, TI, TStateI>, j: Parser<MJ, TJ, TStateJ>, k: Parser<MK, TK, TStateK>, l: Parser<ML, TL, TStateL>, m: Parser<MM, TM, TStateM>, n: Parser<MN, TN, TStateN>, o: Parser<MO, TO, TStateO>): Parser<CombineModes<readonly [MA, MB, MC, MD, ME, MF, MG, MH, MI, MJ, MK, ML, MM, MN, MO]>, TA | TB | TC | TD | TE | TF | TG | TH | TI | TJ | TK | TL | TM | TN | TO, undefined | [0, ParserResult<TStateA>] | [1, ParserResult<TStateB>] | [2, ParserResult<TStateC>] | [3, ParserResult<TStateD>] | [4, ParserResult<TStateE>] | [5, ParserResult<TStateF>] | [6, ParserResult<TStateG>] | [7, ParserResult<TStateH>] | [8, ParserResult<TStateI>] | [9, ParserResult<TStateJ>] | [10, ParserResult<TStateK>] | [11, ParserResult<TStateL>] | [12, ParserResult<TStateM>] | [13, ParserResult<TStateN>] | [14, ParserResult<TStateO>]>;
|
|
443
446
|
/**
|
|
@@ -474,7 +477,7 @@ declare function or<TA extends Parser<Mode, unknown, unknown>, TB extends Parser
|
|
|
474
477
|
* @returns A parser that succeeds if any of the input parsers succeed.
|
|
475
478
|
* @since 0.5.0
|
|
476
479
|
*/
|
|
477
|
-
declare function or<const TParsers extends readonly Parser<Mode, unknown, unknown>[]>(...rest: [...parsers: TParsers, options:
|
|
480
|
+
declare function or<const TParsers extends readonly Parser<Mode, unknown, unknown>[]>(...rest: [...parsers: TParsers, options: OrTailOptions] & OrArityGuard<TParsers>): Parser<CombineModes<{ readonly [K in keyof TParsers]: ExtractMode<TParsers[K]> }>, InferValue<TParsers[number]>, undefined | [number, ParserResult<unknown>]>;
|
|
478
481
|
declare function or<const TParsers extends readonly Parser<Mode, unknown, unknown>[]>(...parsers: TParsers & OrArityGuard<TParsers>): Parser<CombineModes<{ readonly [K in keyof TParsers]: ExtractMode<TParsers[K]> }>, InferValue<TParsers[number]>, undefined | [number, ParserResult<unknown>]>;
|
|
479
482
|
/**
|
|
480
483
|
* Options for customizing error messages in the {@link longestMatch}
|
package/dist/constructs.d.ts
CHANGED
|
@@ -110,6 +110,9 @@ type OrParserArity = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14
|
|
|
110
110
|
type OrArityLimitError = {
|
|
111
111
|
readonly __optiqueOrArityLimit: "or() requires between 1 and 15 parser arguments. Nest or() to combine more.";
|
|
112
112
|
};
|
|
113
|
+
type OrTailOptions = OrOptions & {
|
|
114
|
+
readonly $valueType?: never;
|
|
115
|
+
};
|
|
113
116
|
type IsTuple<T extends readonly unknown[]> = number extends T["length"] ? false : true;
|
|
114
117
|
type OrArityGuard<TParsers extends readonly unknown[]> = IsTuple<TParsers> extends true ? TParsers["length"] extends OrParserArity ? unknown : OrArityLimitError : unknown;
|
|
115
118
|
/**
|
|
@@ -437,7 +440,7 @@ declare function or<MA extends Mode, MB extends Mode, MC extends Mode, MD extend
|
|
|
437
440
|
* Creates a parser that combines fifteen mutually exclusive parsers into one.
|
|
438
441
|
* The resulting parser will try each of the provided parsers in order,
|
|
439
442
|
* and return the result of the first successful parser.
|
|
440
|
-
* @since 0.
|
|
443
|
+
* @since 1.0.0
|
|
441
444
|
*/
|
|
442
445
|
declare function or<MA extends Mode, MB extends Mode, MC extends Mode, MD extends Mode, ME extends Mode, MF extends Mode, MG extends Mode, MH extends Mode, MI extends Mode, MJ extends Mode, MK extends Mode, ML extends Mode, MM extends Mode, MN extends Mode, MO extends Mode, TA, TB, TC, TD, TE, TF, TG, TH, TI, TJ, TK, TL, TM, TN, TO, TStateA, TStateB, TStateC, TStateD, TStateE, TStateF, TStateG, TStateH, TStateI, TStateJ, TStateK, TStateL, TStateM, TStateN, TStateO>(a: Parser<MA, TA, TStateA>, b: Parser<MB, TB, TStateB>, c: Parser<MC, TC, TStateC>, d: Parser<MD, TD, TStateD>, e: Parser<ME, TE, TStateE>, f: Parser<MF, TF, TStateF>, g: Parser<MG, TG, TStateG>, h: Parser<MH, TH, TStateH>, i: Parser<MI, TI, TStateI>, j: Parser<MJ, TJ, TStateJ>, k: Parser<MK, TK, TStateK>, l: Parser<ML, TL, TStateL>, m: Parser<MM, TM, TStateM>, n: Parser<MN, TN, TStateN>, o: Parser<MO, TO, TStateO>): Parser<CombineModes<readonly [MA, MB, MC, MD, ME, MF, MG, MH, MI, MJ, MK, ML, MM, MN, MO]>, TA | TB | TC | TD | TE | TF | TG | TH | TI | TJ | TK | TL | TM | TN | TO, undefined | [0, ParserResult<TStateA>] | [1, ParserResult<TStateB>] | [2, ParserResult<TStateC>] | [3, ParserResult<TStateD>] | [4, ParserResult<TStateE>] | [5, ParserResult<TStateF>] | [6, ParserResult<TStateG>] | [7, ParserResult<TStateH>] | [8, ParserResult<TStateI>] | [9, ParserResult<TStateJ>] | [10, ParserResult<TStateK>] | [11, ParserResult<TStateL>] | [12, ParserResult<TStateM>] | [13, ParserResult<TStateN>] | [14, ParserResult<TStateO>]>;
|
|
443
446
|
/**
|
|
@@ -474,7 +477,7 @@ declare function or<TA extends Parser<Mode, unknown, unknown>, TB extends Parser
|
|
|
474
477
|
* @returns A parser that succeeds if any of the input parsers succeed.
|
|
475
478
|
* @since 0.5.0
|
|
476
479
|
*/
|
|
477
|
-
declare function or<const TParsers extends readonly Parser<Mode, unknown, unknown>[]>(...rest: [...parsers: TParsers, options:
|
|
480
|
+
declare function or<const TParsers extends readonly Parser<Mode, unknown, unknown>[]>(...rest: [...parsers: TParsers, options: OrTailOptions] & OrArityGuard<TParsers>): Parser<CombineModes<{ readonly [K in keyof TParsers]: ExtractMode<TParsers[K]> }>, InferValue<TParsers[number]>, undefined | [number, ParserResult<unknown>]>;
|
|
478
481
|
declare function or<const TParsers extends readonly Parser<Mode, unknown, unknown>[]>(...parsers: TParsers & OrArityGuard<TParsers>): Parser<CombineModes<{ readonly [K in keyof TParsers]: ExtractMode<TParsers[K]> }>, InferValue<TParsers[number]>, undefined | [number, ParserResult<unknown>]>;
|
|
479
482
|
/**
|
|
480
483
|
* Options for customizing error messages in the {@link longestMatch}
|