@optique/core 1.0.0-dev.509 → 1.0.0-dev.513
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 +42 -1
- package/dist/constructs.d.ts +42 -1
- package/package.json +1 -1
package/dist/constructs.d.cts
CHANGED
|
@@ -838,6 +838,9 @@ type LongestMatchArityGuard<TParsers extends readonly unknown[]> = IsTuple<TPars
|
|
|
838
838
|
* Creates a parser that selects the successful branch that consumed
|
|
839
839
|
* the most input tokens.
|
|
840
840
|
*
|
|
841
|
+
* The resulting parser tries every given parser and returns the
|
|
842
|
+
* successful result that consumed more input than the others.
|
|
843
|
+
*
|
|
841
844
|
* @param parsers Parsers to evaluate and compare by consumed input.
|
|
842
845
|
* @returns A parser that yields the best successful branch result.
|
|
843
846
|
* Type inference is precise for tuple calls up to 15 parser arguments.
|
|
@@ -848,6 +851,9 @@ declare function longestMatch<const TParsers extends readonly Parser<"sync", unk
|
|
|
848
851
|
* Creates a parser that selects the successful branch that consumed
|
|
849
852
|
* the most input tokens.
|
|
850
853
|
*
|
|
854
|
+
* The resulting parser tries every given parser and returns the
|
|
855
|
+
* successful result that consumed more input than the others.
|
|
856
|
+
*
|
|
851
857
|
* @param parsers Parsers to evaluate and compare by consumed input.
|
|
852
858
|
* @returns A parser that yields the best successful branch result.
|
|
853
859
|
* Type inference is precise for tuple calls up to 15 parser arguments.
|
|
@@ -858,6 +864,9 @@ declare function longestMatch<const TParsers extends readonly Parser<Mode, unkno
|
|
|
858
864
|
* Creates a parser that selects the successful branch that consumed
|
|
859
865
|
* the most input tokens, with custom error options.
|
|
860
866
|
*
|
|
867
|
+
* The resulting parser tries every given parser and returns the
|
|
868
|
+
* successful result that consumed more input than the others.
|
|
869
|
+
*
|
|
861
870
|
* @param rest Parsers to compare, followed by error customization options.
|
|
862
871
|
* @returns A parser that yields the best successful branch result.
|
|
863
872
|
* Type inference is precise for tuple calls up to 15 parser arguments.
|
|
@@ -1085,11 +1094,15 @@ type MergeTailOptions = MergeOptions & {
|
|
|
1085
1094
|
type MergeArityGuard<TParsers extends readonly unknown[]> = IsTuple<TParsers> extends true ? TParsers["length"] extends MergeParserArity ? unknown : MergeArityLimitError : unknown;
|
|
1086
1095
|
type MergeParsers = readonly Parser<Mode, unknown, unknown>[];
|
|
1087
1096
|
type EnsureMergeParsers<TParsers extends MergeParsers> = { readonly [K in keyof TParsers]: ExtractObjectTypes<TParsers[K]> extends never ? never : TParsers[K] };
|
|
1088
|
-
type
|
|
1097
|
+
type IntersectMergeValues<TParsers extends MergeParsers> = TParsers extends readonly [infer THead extends Parser<Mode, unknown, unknown>, ...infer TRest extends MergeParsers] ? ExtractObjectTypes<THead> & IntersectMergeValues<TRest> : unknown;
|
|
1098
|
+
type MergeValues<TParsers extends MergeParsers> = IsTuple<TParsers> extends true ? IntersectMergeValues<TParsers> : Record<string | symbol, unknown>;
|
|
1089
1099
|
type MergeReturnType<TParsers extends MergeParsers> = Parser<CombineModes<{ readonly [K in keyof TParsers]: ExtractMode<TParsers[K]> }>, MergeValues<TParsers>, Record<string | symbol, unknown>>;
|
|
1090
1100
|
/**
|
|
1091
1101
|
* Merges multiple object-like parsers into one parser.
|
|
1092
1102
|
*
|
|
1103
|
+
* This is useful for combining separate object parsers into one
|
|
1104
|
+
* unified parser while keeping fields grouped by parser boundaries.
|
|
1105
|
+
*
|
|
1093
1106
|
* @param parsers Parsers to merge in declaration order.
|
|
1094
1107
|
* @returns A parser that merges parsed object fields from all parsers.
|
|
1095
1108
|
* Type inference is precise for tuple calls up to 15 parser arguments.
|
|
@@ -1099,6 +1112,9 @@ declare function merge<const TParsers extends MergeParsers>(...parsers: EnsureMe
|
|
|
1099
1112
|
/**
|
|
1100
1113
|
* Merges multiple object-like parsers into one parser, with options.
|
|
1101
1114
|
*
|
|
1115
|
+
* This is useful for combining separate object parsers into one
|
|
1116
|
+
* unified parser while keeping fields grouped by parser boundaries.
|
|
1117
|
+
*
|
|
1102
1118
|
* @param rest Parsers to merge, followed by merge options.
|
|
1103
1119
|
* @returns A parser that merges parsed object fields from all parsers.
|
|
1104
1120
|
* Type inference is precise for tuple calls up to 15 parser arguments.
|
|
@@ -1108,6 +1124,9 @@ declare function merge<const TParsers extends MergeParsers>(...rest: [...parsers
|
|
|
1108
1124
|
/**
|
|
1109
1125
|
* Merges multiple object-like parsers into one labeled parser.
|
|
1110
1126
|
*
|
|
1127
|
+
* This is useful for combining separate object parsers into one
|
|
1128
|
+
* unified parser while keeping fields grouped by parser boundaries.
|
|
1129
|
+
*
|
|
1111
1130
|
* @param label Label used in documentation output.
|
|
1112
1131
|
* @param parsers Parsers to merge in declaration order.
|
|
1113
1132
|
* @returns A parser that merges parsed object fields from all parsers.
|
|
@@ -1115,6 +1134,19 @@ declare function merge<const TParsers extends MergeParsers>(...rest: [...parsers
|
|
|
1115
1134
|
* @since 0.4.0
|
|
1116
1135
|
*/
|
|
1117
1136
|
declare function merge<const TParsers extends MergeParsers>(label: string, ...parsers: EnsureMergeParsers<TParsers> & MergeArityGuard<TParsers>): MergeReturnType<TParsers>;
|
|
1137
|
+
/**
|
|
1138
|
+
* Merges multiple object-like parsers into one labeled parser, with options.
|
|
1139
|
+
*
|
|
1140
|
+
* This is useful for combining separate object parsers into one
|
|
1141
|
+
* unified parser while keeping fields grouped by parser boundaries.
|
|
1142
|
+
*
|
|
1143
|
+
* @param label Label used in documentation output.
|
|
1144
|
+
* @param rest Parsers to merge, followed by merge options.
|
|
1145
|
+
* @returns A parser that merges parsed object fields from all parsers.
|
|
1146
|
+
* Type inference is precise for tuple calls up to 15 parser arguments.
|
|
1147
|
+
* @since 0.7.0
|
|
1148
|
+
*/
|
|
1149
|
+
declare function merge<const TParsers extends MergeParsers>(label: string, ...rest: [...parsers: EnsureMergeParsers<TParsers>, options: MergeTailOptions] & MergeArityGuard<TParsers>): MergeReturnType<TParsers>;
|
|
1118
1150
|
type ConcatParserArity = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15;
|
|
1119
1151
|
type ConcatArityLimitError = {
|
|
1120
1152
|
readonly __optiqueConcatArityLimit: "concat() requires between 1 and 15 parser arguments. Nest concat() to combine more.";
|
|
@@ -1127,6 +1159,15 @@ type ConcatValues<TParsers extends ConcatParsers> = IsTuple<TParsers> extends tr
|
|
|
1127
1159
|
/**
|
|
1128
1160
|
* Concatenates tuple parsers into one parser with a flattened tuple value.
|
|
1129
1161
|
*
|
|
1162
|
+
* Unlike {@link merge}, which combines object fields, this combines tuple
|
|
1163
|
+
* entries in order into one flattened tuple value.
|
|
1164
|
+
*
|
|
1165
|
+
* @example
|
|
1166
|
+
* ```typescript
|
|
1167
|
+
* const parser = concat(tuple([string()]), tuple([number()]));
|
|
1168
|
+
* // parser value: [string, number]
|
|
1169
|
+
* ```
|
|
1170
|
+
*
|
|
1130
1171
|
* @param parsers Tuple parsers to concatenate.
|
|
1131
1172
|
* @returns A parser with flattened tuple values from all parsers.
|
|
1132
1173
|
* Type inference is precise for tuple calls up to 15 parser arguments.
|
package/dist/constructs.d.ts
CHANGED
|
@@ -838,6 +838,9 @@ type LongestMatchArityGuard<TParsers extends readonly unknown[]> = IsTuple<TPars
|
|
|
838
838
|
* Creates a parser that selects the successful branch that consumed
|
|
839
839
|
* the most input tokens.
|
|
840
840
|
*
|
|
841
|
+
* The resulting parser tries every given parser and returns the
|
|
842
|
+
* successful result that consumed more input than the others.
|
|
843
|
+
*
|
|
841
844
|
* @param parsers Parsers to evaluate and compare by consumed input.
|
|
842
845
|
* @returns A parser that yields the best successful branch result.
|
|
843
846
|
* Type inference is precise for tuple calls up to 15 parser arguments.
|
|
@@ -848,6 +851,9 @@ declare function longestMatch<const TParsers extends readonly Parser<"sync", unk
|
|
|
848
851
|
* Creates a parser that selects the successful branch that consumed
|
|
849
852
|
* the most input tokens.
|
|
850
853
|
*
|
|
854
|
+
* The resulting parser tries every given parser and returns the
|
|
855
|
+
* successful result that consumed more input than the others.
|
|
856
|
+
*
|
|
851
857
|
* @param parsers Parsers to evaluate and compare by consumed input.
|
|
852
858
|
* @returns A parser that yields the best successful branch result.
|
|
853
859
|
* Type inference is precise for tuple calls up to 15 parser arguments.
|
|
@@ -858,6 +864,9 @@ declare function longestMatch<const TParsers extends readonly Parser<Mode, unkno
|
|
|
858
864
|
* Creates a parser that selects the successful branch that consumed
|
|
859
865
|
* the most input tokens, with custom error options.
|
|
860
866
|
*
|
|
867
|
+
* The resulting parser tries every given parser and returns the
|
|
868
|
+
* successful result that consumed more input than the others.
|
|
869
|
+
*
|
|
861
870
|
* @param rest Parsers to compare, followed by error customization options.
|
|
862
871
|
* @returns A parser that yields the best successful branch result.
|
|
863
872
|
* Type inference is precise for tuple calls up to 15 parser arguments.
|
|
@@ -1085,11 +1094,15 @@ type MergeTailOptions = MergeOptions & {
|
|
|
1085
1094
|
type MergeArityGuard<TParsers extends readonly unknown[]> = IsTuple<TParsers> extends true ? TParsers["length"] extends MergeParserArity ? unknown : MergeArityLimitError : unknown;
|
|
1086
1095
|
type MergeParsers = readonly Parser<Mode, unknown, unknown>[];
|
|
1087
1096
|
type EnsureMergeParsers<TParsers extends MergeParsers> = { readonly [K in keyof TParsers]: ExtractObjectTypes<TParsers[K]> extends never ? never : TParsers[K] };
|
|
1088
|
-
type
|
|
1097
|
+
type IntersectMergeValues<TParsers extends MergeParsers> = TParsers extends readonly [infer THead extends Parser<Mode, unknown, unknown>, ...infer TRest extends MergeParsers] ? ExtractObjectTypes<THead> & IntersectMergeValues<TRest> : unknown;
|
|
1098
|
+
type MergeValues<TParsers extends MergeParsers> = IsTuple<TParsers> extends true ? IntersectMergeValues<TParsers> : Record<string | symbol, unknown>;
|
|
1089
1099
|
type MergeReturnType<TParsers extends MergeParsers> = Parser<CombineModes<{ readonly [K in keyof TParsers]: ExtractMode<TParsers[K]> }>, MergeValues<TParsers>, Record<string | symbol, unknown>>;
|
|
1090
1100
|
/**
|
|
1091
1101
|
* Merges multiple object-like parsers into one parser.
|
|
1092
1102
|
*
|
|
1103
|
+
* This is useful for combining separate object parsers into one
|
|
1104
|
+
* unified parser while keeping fields grouped by parser boundaries.
|
|
1105
|
+
*
|
|
1093
1106
|
* @param parsers Parsers to merge in declaration order.
|
|
1094
1107
|
* @returns A parser that merges parsed object fields from all parsers.
|
|
1095
1108
|
* Type inference is precise for tuple calls up to 15 parser arguments.
|
|
@@ -1099,6 +1112,9 @@ declare function merge<const TParsers extends MergeParsers>(...parsers: EnsureMe
|
|
|
1099
1112
|
/**
|
|
1100
1113
|
* Merges multiple object-like parsers into one parser, with options.
|
|
1101
1114
|
*
|
|
1115
|
+
* This is useful for combining separate object parsers into one
|
|
1116
|
+
* unified parser while keeping fields grouped by parser boundaries.
|
|
1117
|
+
*
|
|
1102
1118
|
* @param rest Parsers to merge, followed by merge options.
|
|
1103
1119
|
* @returns A parser that merges parsed object fields from all parsers.
|
|
1104
1120
|
* Type inference is precise for tuple calls up to 15 parser arguments.
|
|
@@ -1108,6 +1124,9 @@ declare function merge<const TParsers extends MergeParsers>(...rest: [...parsers
|
|
|
1108
1124
|
/**
|
|
1109
1125
|
* Merges multiple object-like parsers into one labeled parser.
|
|
1110
1126
|
*
|
|
1127
|
+
* This is useful for combining separate object parsers into one
|
|
1128
|
+
* unified parser while keeping fields grouped by parser boundaries.
|
|
1129
|
+
*
|
|
1111
1130
|
* @param label Label used in documentation output.
|
|
1112
1131
|
* @param parsers Parsers to merge in declaration order.
|
|
1113
1132
|
* @returns A parser that merges parsed object fields from all parsers.
|
|
@@ -1115,6 +1134,19 @@ declare function merge<const TParsers extends MergeParsers>(...rest: [...parsers
|
|
|
1115
1134
|
* @since 0.4.0
|
|
1116
1135
|
*/
|
|
1117
1136
|
declare function merge<const TParsers extends MergeParsers>(label: string, ...parsers: EnsureMergeParsers<TParsers> & MergeArityGuard<TParsers>): MergeReturnType<TParsers>;
|
|
1137
|
+
/**
|
|
1138
|
+
* Merges multiple object-like parsers into one labeled parser, with options.
|
|
1139
|
+
*
|
|
1140
|
+
* This is useful for combining separate object parsers into one
|
|
1141
|
+
* unified parser while keeping fields grouped by parser boundaries.
|
|
1142
|
+
*
|
|
1143
|
+
* @param label Label used in documentation output.
|
|
1144
|
+
* @param rest Parsers to merge, followed by merge options.
|
|
1145
|
+
* @returns A parser that merges parsed object fields from all parsers.
|
|
1146
|
+
* Type inference is precise for tuple calls up to 15 parser arguments.
|
|
1147
|
+
* @since 0.7.0
|
|
1148
|
+
*/
|
|
1149
|
+
declare function merge<const TParsers extends MergeParsers>(label: string, ...rest: [...parsers: EnsureMergeParsers<TParsers>, options: MergeTailOptions] & MergeArityGuard<TParsers>): MergeReturnType<TParsers>;
|
|
1118
1150
|
type ConcatParserArity = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15;
|
|
1119
1151
|
type ConcatArityLimitError = {
|
|
1120
1152
|
readonly __optiqueConcatArityLimit: "concat() requires between 1 and 15 parser arguments. Nest concat() to combine more.";
|
|
@@ -1127,6 +1159,15 @@ type ConcatValues<TParsers extends ConcatParsers> = IsTuple<TParsers> extends tr
|
|
|
1127
1159
|
/**
|
|
1128
1160
|
* Concatenates tuple parsers into one parser with a flattened tuple value.
|
|
1129
1161
|
*
|
|
1162
|
+
* Unlike {@link merge}, which combines object fields, this combines tuple
|
|
1163
|
+
* entries in order into one flattened tuple value.
|
|
1164
|
+
*
|
|
1165
|
+
* @example
|
|
1166
|
+
* ```typescript
|
|
1167
|
+
* const parser = concat(tuple([string()]), tuple([number()]));
|
|
1168
|
+
* // parser value: [string, number]
|
|
1169
|
+
* ```
|
|
1170
|
+
*
|
|
1130
1171
|
* @param parsers Tuple parsers to concatenate.
|
|
1131
1172
|
* @returns A parser with flattened tuple values from all parsers.
|
|
1132
1173
|
* Type inference is precise for tuple calls up to 15 parser arguments.
|