@thomasfosterau/effect-parse 0.0.0-stage → 0.1.0

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.
Files changed (133) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +550 -2
  3. package/dist/Ascii.d.ts +392 -0
  4. package/dist/Ascii.d.ts.map +1 -0
  5. package/dist/Ascii.js +610 -0
  6. package/dist/Ascii.js.map +1 -0
  7. package/dist/Binary.d.ts +153 -0
  8. package/dist/Binary.d.ts.map +1 -0
  9. package/dist/Binary.js +171 -0
  10. package/dist/Binary.js.map +1 -0
  11. package/dist/Bits.d.ts +60 -0
  12. package/dist/Bits.d.ts.map +1 -0
  13. package/dist/Bits.js +144 -0
  14. package/dist/Bits.js.map +1 -0
  15. package/dist/Encoding.d.ts +116 -0
  16. package/dist/Encoding.d.ts.map +1 -0
  17. package/dist/Encoding.js +85 -0
  18. package/dist/Encoding.js.map +1 -0
  19. package/dist/Expression.d.ts +124 -0
  20. package/dist/Expression.d.ts.map +1 -0
  21. package/dist/Expression.js +139 -0
  22. package/dist/Expression.js.map +1 -0
  23. package/dist/Input.d.ts +301 -0
  24. package/dist/Input.d.ts.map +1 -0
  25. package/dist/Input.js +312 -0
  26. package/dist/Input.js.map +1 -0
  27. package/dist/Nom.d.ts +518 -0
  28. package/dist/Nom.d.ts.map +1 -0
  29. package/dist/Nom.js +519 -0
  30. package/dist/Nom.js.map +1 -0
  31. package/dist/ParseError.d.ts +120 -0
  32. package/dist/ParseError.d.ts.map +1 -0
  33. package/dist/ParseError.js +301 -0
  34. package/dist/ParseError.js.map +1 -0
  35. package/dist/Parser.d.ts +1312 -0
  36. package/dist/Parser.d.ts.map +1 -0
  37. package/dist/Parser.js +1936 -0
  38. package/dist/Parser.js.map +1 -0
  39. package/dist/ParserSchema.d.ts +31 -0
  40. package/dist/ParserSchema.d.ts.map +1 -0
  41. package/dist/ParserSchema.js +56 -0
  42. package/dist/ParserSchema.js.map +1 -0
  43. package/dist/ParserStream.d.ts +127 -0
  44. package/dist/ParserStream.d.ts.map +1 -0
  45. package/dist/ParserStream.js +270 -0
  46. package/dist/ParserStream.js.map +1 -0
  47. package/dist/Text.d.ts +330 -0
  48. package/dist/Text.d.ts.map +1 -0
  49. package/dist/Text.js +529 -0
  50. package/dist/Text.js.map +1 -0
  51. package/dist/Token.d.ts +225 -0
  52. package/dist/Token.d.ts.map +1 -0
  53. package/dist/Token.js +294 -0
  54. package/dist/Token.js.map +1 -0
  55. package/dist/index.d.ts +17 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +17 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/internal/compiler/closure.d.ts +25 -0
  60. package/dist/internal/compiler/closure.d.ts.map +1 -0
  61. package/dist/internal/compiler/closure.js +1668 -0
  62. package/dist/internal/compiler/closure.js.map +1 -0
  63. package/dist/internal/compiler/entries.d.ts +19 -0
  64. package/dist/internal/compiler/entries.d.ts.map +1 -0
  65. package/dist/internal/compiler/entries.js +32 -0
  66. package/dist/internal/compiler/entries.js.map +1 -0
  67. package/dist/internal/compiler/first.d.ts +33 -0
  68. package/dist/internal/compiler/first.d.ts.map +1 -0
  69. package/dist/internal/compiler/first.js +235 -0
  70. package/dist/internal/compiler/first.js.map +1 -0
  71. package/dist/internal/compiler/jit.d.ts +20 -0
  72. package/dist/internal/compiler/jit.d.ts.map +1 -0
  73. package/dist/internal/compiler/jit.js +1030 -0
  74. package/dist/internal/compiler/jit.js.map +1 -0
  75. package/dist/internal/compiler/registry.d.ts +34 -0
  76. package/dist/internal/compiler/registry.d.ts.map +1 -0
  77. package/dist/internal/compiler/registry.js +46 -0
  78. package/dist/internal/compiler/registry.js.map +1 -0
  79. package/dist/internal/compiler/sets.d.ts +29 -0
  80. package/dist/internal/compiler/sets.d.ts.map +1 -0
  81. package/dist/internal/compiler/sets.js +85 -0
  82. package/dist/internal/compiler/sets.js.map +1 -0
  83. package/dist/internal/entries.d.ts +27 -0
  84. package/dist/internal/entries.d.ts.map +1 -0
  85. package/dist/internal/entries.js +42 -0
  86. package/dist/internal/entries.js.map +1 -0
  87. package/dist/internal/node.d.ts +251 -0
  88. package/dist/internal/node.d.ts.map +1 -0
  89. package/dist/internal/node.js +73 -0
  90. package/dist/internal/node.js.map +1 -0
  91. package/dist/internal/numbers.d.ts +41 -0
  92. package/dist/internal/numbers.d.ts.map +1 -0
  93. package/dist/internal/numbers.js +302 -0
  94. package/dist/internal/numbers.js.map +1 -0
  95. package/dist/internal/resume.d.ts +39 -0
  96. package/dist/internal/resume.d.ts.map +1 -0
  97. package/dist/internal/resume.js +37 -0
  98. package/dist/internal/resume.js.map +1 -0
  99. package/dist/internal/text.d.ts +72 -0
  100. package/dist/internal/text.d.ts.map +1 -0
  101. package/dist/internal/text.js +391 -0
  102. package/dist/internal/text.js.map +1 -0
  103. package/dist/internal/tokens.d.ts +93 -0
  104. package/dist/internal/tokens.d.ts.map +1 -0
  105. package/dist/internal/tokens.js +400 -0
  106. package/dist/internal/tokens.js.map +1 -0
  107. package/package.json +115 -3
  108. package/src/Ascii.ts +741 -0
  109. package/src/Binary.ts +228 -0
  110. package/src/Bits.ts +192 -0
  111. package/src/Encoding.ts +128 -0
  112. package/src/Expression.ts +245 -0
  113. package/src/Input.ts +429 -0
  114. package/src/Nom.ts +642 -0
  115. package/src/ParseError.ts +378 -0
  116. package/src/Parser.ts +2763 -0
  117. package/src/ParserSchema.ts +87 -0
  118. package/src/ParserStream.ts +390 -0
  119. package/src/Text.ts +757 -0
  120. package/src/Token.ts +416 -0
  121. package/src/index.ts +16 -0
  122. package/src/internal/compiler/closure.ts +1583 -0
  123. package/src/internal/compiler/entries.ts +36 -0
  124. package/src/internal/compiler/first.ts +252 -0
  125. package/src/internal/compiler/jit.ts +1091 -0
  126. package/src/internal/compiler/registry.ts +79 -0
  127. package/src/internal/compiler/sets.ts +100 -0
  128. package/src/internal/entries.ts +51 -0
  129. package/src/internal/node.ts +207 -0
  130. package/src/internal/numbers.ts +291 -0
  131. package/src/internal/resume.ts +55 -0
  132. package/src/internal/text.ts +411 -0
  133. package/src/internal/tokens.ts +409 -0
package/dist/Nom.d.ts ADDED
@@ -0,0 +1,518 @@
1
+ /**
2
+ * nom-flavoured names for effect-parse's parsers and combinators.
3
+ *
4
+ * effect-parse's main API follows winnow's naming (in camelCase). This module
5
+ * offers the names, and argument orders, that nom users know, so grammars
6
+ * can be ported with minimal changes:
7
+ *
8
+ * | nom | effect-parse |
9
+ * |---|---|
10
+ * | `tag("abc")` | `Token.literal("abc")` |
11
+ * | `many0(p)` | `Parser.repeat(p)` |
12
+ * | `separated_list1(sep, p)` | `Parser.separated(p, sep, { min: 1 })` |
13
+ * | `map_res(p, f)` | `Parser.tryMap(p, f)` |
14
+ * | `recognize(p)` | `Parser.taken(p)` |
15
+ * | `value(v, p)` | `Parser.as(p, v)` |
16
+ *
17
+ * nom's `streaming` and `complete` variants are not separate functions here.
18
+ * Whether input is partial is decided by the runner (`Parser.parsePartial`
19
+ * vs `Parser.parse`).
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * import { Result } from "effect"
24
+ * import { Nom, Parser } from "@thomasfosterau/effect-parse"
25
+ *
26
+ * const hexPrimary = Nom.mapRes(
27
+ * Nom.takeWhileMN(2, 2, (c: string) => /[0-9a-fA-F]/.test(c)),
28
+ * (s) => Result.succeed(parseInt(s, 16))
29
+ * )
30
+ * const hexColor = Nom.preceded(
31
+ * Nom.tag("#"),
32
+ * Nom.tuple(hexPrimary, hexPrimary, hexPrimary)
33
+ * )
34
+ *
35
+ * Parser.parse(hexColor, "#2F14DF") // Result.succeed([47, 20, 223])
36
+ * ```
37
+ *
38
+ * @since 0.1.0
39
+ */
40
+ import * as Option from "effect/Option";
41
+ import * as Result from "effect/Result";
42
+ import * as Ascii from "./Ascii.js";
43
+ import * as Binary from "./Binary.js";
44
+ import type { Input, Slice, Token as TokenOf } from "./Input.js";
45
+ import type { Parser } from "./Parser.js";
46
+ import * as P from "./Parser.js";
47
+ import * as Token from "./Token.js";
48
+ import type { TokenSet } from "./Token.js";
49
+ /**
50
+ * Matches a literal (nom's `tag`).
51
+ *
52
+ * @since 0.1.0
53
+ * @category bytes
54
+ */
55
+ export declare const tag: {
56
+ <const L extends string>(literal: L): Parser<L, never, never, string>;
57
+ (literal: Uint8Array): Parser<Uint8Array, never, never, Uint8Array>;
58
+ <const T>(literal: ReadonlyArray<T>): Parser<ReadonlyArray<T>, never, never, ReadonlyArray<T>>;
59
+ };
60
+ /**
61
+ * Matches a literal, ignoring ASCII case (nom's `tag_no_case`).
62
+ *
63
+ * @since 0.1.0
64
+ * @category bytes
65
+ */
66
+ export declare const tagNoCase: {
67
+ (literal: string): Parser<string>;
68
+ (literal: Uint8Array): Parser<Uint8Array, never, never, Uint8Array>;
69
+ };
70
+ /**
71
+ * Matches a single character (nom's `char`).
72
+ *
73
+ * @since 0.1.0
74
+ * @category character
75
+ */
76
+ export declare const char: <const C extends string>(c: C) => Parser<C>;
77
+ /**
78
+ * Matches any character (nom's `anychar`).
79
+ *
80
+ * @since 0.1.0
81
+ * @category character
82
+ */
83
+ export declare const anychar: Parser<string>;
84
+ /**
85
+ * @since 0.1.0
86
+ * @category character
87
+ */
88
+ export declare const oneOf: typeof Token.oneOf;
89
+ /**
90
+ * @since 0.1.0
91
+ * @category character
92
+ */
93
+ export declare const noneOf: typeof Token.noneOf;
94
+ /**
95
+ * @since 0.1.0
96
+ * @category character
97
+ */
98
+ export declare const satisfy: typeof Token.satisfy;
99
+ /**
100
+ * The longest non-empty run of tokens from a set (nom's `is_a`).
101
+ *
102
+ * @since 0.1.0
103
+ * @category bytes
104
+ */
105
+ export declare const isA: <I extends Input = string>(set: TokenSet<I>) => Parser<Slice<NoInfer<I>>, never, never, NoInfer<I>>;
106
+ /**
107
+ * The longest non-empty run of tokens *not* from a set (nom's `is_not`).
108
+ *
109
+ * @since 0.1.0
110
+ * @category bytes
111
+ */
112
+ export declare const isNot: <I extends Input = string>(set: TokenSet<I>) => Parser<Slice<NoInfer<I>>, never, never, NoInfer<I>>;
113
+ /**
114
+ * @since 0.1.0
115
+ * @category bytes
116
+ */
117
+ export declare const take: typeof Token.take;
118
+ /**
119
+ * @since 0.1.0
120
+ * @category bytes
121
+ */
122
+ export declare const takeWhile: <I extends Input = string>(predicate: (token: TokenOf<I>) => boolean) => Parser<Slice<NoInfer<I>>, never, never, NoInfer<I>>;
123
+ /**
124
+ * @since 0.1.0
125
+ * @category bytes
126
+ */
127
+ export declare const takeWhile1: <I extends Input = string>(predicate: (token: TokenOf<I>) => boolean) => Parser<Slice<NoInfer<I>>, never, never, NoInfer<I>>;
128
+ /**
129
+ * @since 0.1.0
130
+ * @category bytes
131
+ */
132
+ export declare const takeWhileMN: <I extends Input = string>(m: number, n: number, predicate: (token: TokenOf<I>) => boolean) => Parser<Slice<NoInfer<I>>, never, never, NoInfer<I>>;
133
+ /**
134
+ * @since 0.1.0
135
+ * @category bytes
136
+ */
137
+ export declare const takeTill: <I extends Input = string>(predicate: (token: TokenOf<I>) => boolean) => Parser<Slice<NoInfer<I>>, never, never, NoInfer<I>>;
138
+ /**
139
+ * @since 0.1.0
140
+ * @category bytes
141
+ */
142
+ export declare const takeTill1: <I extends Input = string>(predicate: (token: TokenOf<I>) => boolean) => Parser<Slice<NoInfer<I>>, never, never, NoInfer<I>>;
143
+ /**
144
+ * @since 0.1.0
145
+ * @category bytes
146
+ */
147
+ export declare const takeUntil: {
148
+ (literal: string, range?: P.Range): Parser<string, never, never, string>;
149
+ (literal: Uint8Array, range?: P.Range): Parser<Uint8Array, never, never, Uint8Array>;
150
+ <T>(literal: ReadonlyArray<T>, range?: P.Range): Parser<ReadonlyArray<T>, never, never, ReadonlyArray<T>>;
151
+ };
152
+ /**
153
+ * Recognizes an escaped string (nom's `escaped`).
154
+ *
155
+ * @since 0.1.0
156
+ * @category bytes
157
+ */
158
+ export declare const escaped: typeof Ascii.takeEscaped;
159
+ /**
160
+ * Unescapes an escaped string (nom's `escaped_transform`).
161
+ *
162
+ * @since 0.1.0
163
+ * @category bytes
164
+ */
165
+ export declare const escapedTransform: typeof Ascii.escaped;
166
+ /** @since 0.1.0 @category character */
167
+ export declare const alpha0: Parser<string, never, never, string>;
168
+ /** @since 0.1.0 @category character */
169
+ export declare const alpha1: Parser<string, never, never, string>;
170
+ /** @since 0.1.0 @category character */
171
+ export declare const digit0: Parser<string, never, never, string>;
172
+ /** @since 0.1.0 @category character */
173
+ export declare const digit1: Parser<string, never, never, string>;
174
+ /** @since 0.1.0 @category character */
175
+ export declare const hexDigit0: Parser<string, never, never, string>;
176
+ /** @since 0.1.0 @category character */
177
+ export declare const hexDigit1: Parser<string, never, never, string>;
178
+ /** @since 0.1.0 @category character */
179
+ export declare const octDigit0: Parser<string, never, never, string>;
180
+ /** @since 0.1.0 @category character */
181
+ export declare const octDigit1: Parser<string, never, never, string>;
182
+ /** @since 0.1.0 @category character */
183
+ export declare const alphanumeric0: Parser<string, never, never, string>;
184
+ /** @since 0.1.0 @category character */
185
+ export declare const alphanumeric1: Parser<string, never, never, string>;
186
+ /** @since 0.1.0 @category character */
187
+ export declare const space0: Parser<string, never, never, string>;
188
+ /** @since 0.1.0 @category character */
189
+ export declare const space1: Parser<string, never, never, string>;
190
+ /** @since 0.1.0 @category character */
191
+ export declare const multispace0: Parser<string, never, never, string>;
192
+ /** @since 0.1.0 @category character */
193
+ export declare const multispace1: Parser<string, never, never, string>;
194
+ /** @since 0.1.0 @category character */
195
+ export declare const lineEnding: Parser<"\n" | "\r\n", never, never, string>;
196
+ /** @since 0.1.0 @category character */
197
+ export declare const newline: Parser<"\n", never, never, string>;
198
+ /** @since 0.1.0 @category character */
199
+ export declare const tab: Parser<"\t", never, never, string>;
200
+ /** @since 0.1.0 @category character */
201
+ export declare const crlf: Parser<"\r\n", never, never, string>;
202
+ /**
203
+ * nom's `not_line_ending`.
204
+ *
205
+ * @since 0.1.0
206
+ * @category character
207
+ */
208
+ export declare const notLineEnding: Parser<string, never, never, string>;
209
+ /**
210
+ * A decimal unsigned integer (nom's `character::complete::u64` and friends).
211
+ *
212
+ * @since 0.1.0
213
+ * @category character
214
+ */
215
+ export declare const u64: Parser<number, string, never, string>;
216
+ /**
217
+ * A decimal signed integer (nom's `character::complete::i64` and friends).
218
+ *
219
+ * @since 0.1.0
220
+ * @category character
221
+ */
222
+ export declare const i64: Parser<number, string, never, string>;
223
+ /**
224
+ * nom's `double` (and `float`).
225
+ *
226
+ * @since 0.1.0
227
+ * @category number
228
+ */
229
+ export declare const double: Parser<number, never, never, string>;
230
+ /**
231
+ * nom's `recognize_float`.
232
+ *
233
+ * @since 0.1.0
234
+ * @category number
235
+ */
236
+ export declare const recognizeFloat: Parser<string>;
237
+ /**
238
+ * nom's `hex_u32`.
239
+ *
240
+ * @since 0.1.0
241
+ * @category number
242
+ */
243
+ export declare const hexU32: Parser<number, string, never, string>;
244
+ /** @since 0.1.0 @category number */
245
+ export declare const beU8: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
246
+ /** @since 0.1.0 @category number */
247
+ export declare const beI8: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
248
+ /** @since 0.1.0 @category number */
249
+ export declare const leU8: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
250
+ /** @since 0.1.0 @category number */
251
+ export declare const leI8: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
252
+ /** @since 0.1.0 @category number */
253
+ export declare const beU16: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
254
+ /** @since 0.1.0 @category number */
255
+ export declare const leU16: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
256
+ /** @since 0.1.0 @category number */
257
+ export declare const beI16: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
258
+ /** @since 0.1.0 @category number */
259
+ export declare const leI16: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
260
+ /** @since 0.1.0 @category number */
261
+ export declare const beU24: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
262
+ /** @since 0.1.0 @category number */
263
+ export declare const leU24: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
264
+ /** @since 0.1.0 @category number */
265
+ export declare const beI24: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
266
+ /** @since 0.1.0 @category number */
267
+ export declare const leI24: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
268
+ /** @since 0.1.0 @category number */
269
+ export declare const beU32: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
270
+ /** @since 0.1.0 @category number */
271
+ export declare const leU32: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
272
+ /** @since 0.1.0 @category number */
273
+ export declare const beI32: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
274
+ /** @since 0.1.0 @category number */
275
+ export declare const leI32: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
276
+ /** @since 0.1.0 @category number */
277
+ export declare const beU64: Parser<bigint, never, never, Uint8Array<ArrayBufferLike>>;
278
+ /** @since 0.1.0 @category number */
279
+ export declare const leU64: Parser<bigint, never, never, Uint8Array<ArrayBufferLike>>;
280
+ /** @since 0.1.0 @category number */
281
+ export declare const beI64: Parser<bigint, never, never, Uint8Array<ArrayBufferLike>>;
282
+ /** @since 0.1.0 @category number */
283
+ export declare const leI64: Parser<bigint, never, never, Uint8Array<ArrayBufferLike>>;
284
+ /** @since 0.1.0 @category number */
285
+ export declare const beU128: Parser<bigint, never, never, Uint8Array<ArrayBufferLike>>;
286
+ /** @since 0.1.0 @category number */
287
+ export declare const leU128: Parser<bigint, never, never, Uint8Array<ArrayBufferLike>>;
288
+ /** @since 0.1.0 @category number */
289
+ export declare const beI128: Parser<bigint, never, never, Uint8Array<ArrayBufferLike>>;
290
+ /** @since 0.1.0 @category number */
291
+ export declare const leI128: Parser<bigint, never, never, Uint8Array<ArrayBufferLike>>;
292
+ /** @since 0.1.0 @category number */
293
+ export declare const beF32: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
294
+ /** @since 0.1.0 @category number */
295
+ export declare const leF32: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
296
+ /** @since 0.1.0 @category number */
297
+ export declare const beF64: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
298
+ /** @since 0.1.0 @category number */
299
+ export declare const leF64: Parser<number, never, never, Uint8Array<ArrayBufferLike>>;
300
+ /**
301
+ * Zero or more (nom's `many0`).
302
+ *
303
+ * @since 0.1.0
304
+ * @category multi
305
+ */
306
+ export declare const many0: <A, E, R, I extends Input>(parser: Parser<A, E, R, I>) => Parser<Array<A>, E, R, I>;
307
+ /**
308
+ * One or more (nom's `many1`).
309
+ *
310
+ * @since 0.1.0
311
+ * @category multi
312
+ */
313
+ export declare const many1: <A, E, R, I extends Input>(parser: Parser<A, E, R, I>) => Parser<[A, ...Array<A>], E, R, I>;
314
+ /**
315
+ * Between `m` and `n` times (nom's `many_m_n`).
316
+ *
317
+ * @since 0.1.0
318
+ * @category multi
319
+ */
320
+ export declare const manyMN: <A, E, R, I extends Input>(m: number, n: number, parser: Parser<A, E, R, I>) => Parser<Array<A>, E, R, I>;
321
+ /**
322
+ * Exactly `count` times (nom's `count`).
323
+ *
324
+ * @since 0.1.0
325
+ * @category multi
326
+ */
327
+ export declare const count: <A, E, R, I extends Input>(parser: Parser<A, E, R, I>, count: number) => Parser<Array<A>, E, R, I>;
328
+ /**
329
+ * Repeats `parser` until `end` succeeds (nom's `many_till`).
330
+ *
331
+ * @since 0.1.0
332
+ * @category multi
333
+ */
334
+ export declare const manyTill: <A, E, R, I extends Input, B, E2, R2, I2 extends Input>(parser: Parser<A, E, R, I>, end: Parser<B, E2, R2, I2>) => Parser<[Array<A>, B], E | E2, R | R2, I & I2>;
335
+ /**
336
+ * Zero or more `parser` separated by `separator` (nom's `separated_list0`;
337
+ * note the separator comes first).
338
+ *
339
+ * @since 0.1.0
340
+ * @category multi
341
+ */
342
+ export declare const separatedList0: <S, E2, R2, I2 extends Input, A, E, R, I extends Input>(separator: Parser<S, E2, R2, I2>, parser: Parser<A, E, R, I>) => Parser<Array<A>, E | E2, R | R2, I & I2>;
343
+ /**
344
+ * One or more `parser` separated by `separator` (nom's `separated_list1`;
345
+ * note the separator comes first).
346
+ *
347
+ * @since 0.1.0
348
+ * @category multi
349
+ */
350
+ export declare const separatedList1: <S, E2, R2, I2 extends Input, A, E, R, I extends Input>(separator: Parser<S, E2, R2, I2>, parser: Parser<A, E, R, I>) => Parser<[A, ...Array<A>], E | E2, R | R2, I & I2>;
351
+ /**
352
+ * Folds zero or more (nom's `fold_many0`).
353
+ *
354
+ * @since 0.1.0
355
+ * @category multi
356
+ */
357
+ export declare const foldMany0: <A, E, R, I extends Input, B>(parser: Parser<A, E, R, I>, init: () => B, f: (acc: B, a: A) => B) => Parser<B, E, R, I>;
358
+ /**
359
+ * Folds one or more (nom's `fold_many1`).
360
+ *
361
+ * @since 0.1.0
362
+ * @category multi
363
+ */
364
+ export declare const foldMany1: <A, E, R, I extends Input, B>(parser: Parser<A, E, R, I>, init: () => B, f: (acc: B, a: A) => B) => Parser<B, E, R, I>;
365
+ /**
366
+ * Folds between `m` and `n` times (nom's `fold_many_m_n`).
367
+ *
368
+ * @since 0.1.0
369
+ * @category multi
370
+ */
371
+ export declare const foldManyMN: <A, E, R, I extends Input, B>(m: number, n: number, parser: Parser<A, E, R, I>, init: () => B, f: (acc: B, a: A) => B) => Parser<B, E, R, I>;
372
+ /**
373
+ * nom's `length_data`.
374
+ *
375
+ * @since 0.1.0
376
+ * @category multi
377
+ */
378
+ export declare const lengthData: typeof Binary.lengthTake;
379
+ /**
380
+ * nom's `length_value`.
381
+ *
382
+ * @since 0.1.0
383
+ * @category multi
384
+ */
385
+ export declare const lengthValue: typeof Binary.lengthAndThen;
386
+ /**
387
+ * nom's `length_count`.
388
+ *
389
+ * @since 0.1.0
390
+ * @category multi
391
+ */
392
+ export declare const lengthCount: typeof Binary.lengthRepeat;
393
+ /**
394
+ * nom's `pair`.
395
+ *
396
+ * @since 0.1.0
397
+ * @category sequence
398
+ */
399
+ export declare const pair: <A, E, R, I extends Input, B, E2, R2, I2 extends Input>(first: Parser<A, E, R, I>, second: Parser<B, E2, R2, I2>) => Parser<[A, B], E | E2, R | R2, I & I2>;
400
+ /**
401
+ * nom's tuples of parsers (`(a, b, c)`, formerly `tuple`).
402
+ *
403
+ * @since 0.1.0
404
+ * @category sequence
405
+ */
406
+ export declare const tuple: typeof P.seq;
407
+ /** @since 0.1.0 @category sequence */
408
+ export declare const preceded: typeof P.preceded;
409
+ /** @since 0.1.0 @category sequence */
410
+ export declare const terminated: typeof P.terminated;
411
+ /** @since 0.1.0 @category sequence */
412
+ export declare const delimited: typeof P.delimited;
413
+ /** @since 0.1.0 @category sequence */
414
+ export declare const separatedPair: typeof P.separatedPair;
415
+ /** @since 0.1.0 @category branch */
416
+ export declare const alt: typeof P.alt;
417
+ /** @since 0.1.0 @category branch */
418
+ export declare const permutation: typeof P.permutation;
419
+ /**
420
+ * nom's `map`.
421
+ *
422
+ * @since 0.1.0
423
+ * @category combinator
424
+ */
425
+ export declare const map: <A, E, R, I extends Input, B>(parser: Parser<A, E, R, I>, f: (a: A) => B) => Parser<B, E, R, I>;
426
+ /**
427
+ * nom's `map_res`: the function returns a `Result`.
428
+ *
429
+ * @since 0.1.0
430
+ * @category combinator
431
+ */
432
+ export declare const mapRes: <A, E, R, I extends Input, B, E2>(parser: Parser<A, E, R, I>, f: (a: A) => Result.Result<B, E2>) => Parser<B, E | E2, R, I>;
433
+ /**
434
+ * nom's `map_opt`: the function returns an `Option`.
435
+ *
436
+ * @since 0.1.0
437
+ * @category combinator
438
+ */
439
+ export declare const mapOpt: <A, E, R, I extends Input, B>(parser: Parser<A, E, R, I>, f: (a: A) => Option.Option<B>) => Parser<B, E, R, I>;
440
+ /**
441
+ * nom's `map_parser`.
442
+ *
443
+ * @since 0.1.0
444
+ * @category combinator
445
+ */
446
+ export declare const mapParser: <A extends Input, E, R, I extends Input, B, E2, R2>(parser: Parser<A, E, R, I>, applied: Parser<B, E2, R2, A>) => Parser<B, E | E2, R | R2, I>;
447
+ /**
448
+ * nom's `flat_map`.
449
+ *
450
+ * @since 0.1.0
451
+ * @category combinator
452
+ */
453
+ export declare const flatMap: <A, E, R, I extends Input, B, E2, R2, I2 extends Input>(parser: Parser<A, E, R, I>, f: (a: A) => Parser<B, E2, R2, I2>) => Parser<B, E | E2, R | R2, I & I2>;
454
+ /**
455
+ * nom's `value` (note the value comes first).
456
+ *
457
+ * @since 0.1.0
458
+ * @category combinator
459
+ */
460
+ export declare const value: <B, A, E, R, I extends Input>(val: B, parser: Parser<A, E, R, I>) => Parser<B, E, R, I>;
461
+ /**
462
+ * nom's `verify`.
463
+ *
464
+ * @since 0.1.0
465
+ * @category combinator
466
+ */
467
+ export declare const verify: <A, E, R, I extends Input>(parser: Parser<A, E, R, I>, predicate: (a: A) => boolean) => Parser<A, E, R, I>;
468
+ /**
469
+ * nom's `recognize`.
470
+ *
471
+ * @since 0.1.0
472
+ * @category combinator
473
+ */
474
+ export declare const recognize: typeof P.taken;
475
+ /**
476
+ * nom's `consumed`: returns `[consumed, output]`.
477
+ *
478
+ * @since 0.1.0
479
+ * @category combinator
480
+ */
481
+ export declare const consumed: <A, E, R, I extends Input>(parser: Parser<A, E, R, I>) => Parser<[Slice<I>, A], E, R, I>;
482
+ /** @since 0.1.0 @category combinator */
483
+ export declare const opt: typeof P.opt;
484
+ /** @since 0.1.0 @category combinator */
485
+ export declare const cond: typeof P.cond;
486
+ /** @since 0.1.0 @category combinator */
487
+ export declare const peek: typeof P.peek;
488
+ /** @since 0.1.0 @category combinator */
489
+ export declare const not: typeof P.not;
490
+ /** @since 0.1.0 @category combinator */
491
+ export declare const eof: Parser<void, never, never, Input>;
492
+ /** @since 0.1.0 @category combinator */
493
+ export declare const allConsuming: typeof P.allConsuming;
494
+ /** @since 0.1.0 @category combinator */
495
+ export declare const complete: typeof P.complete;
496
+ /** @since 0.1.0 @category combinator */
497
+ export declare const cut: typeof P.cut;
498
+ /** @since 0.1.0 @category combinator */
499
+ export declare const success: typeof P.succeed;
500
+ /**
501
+ * nom's `fail()`.
502
+ *
503
+ * @since 0.1.0
504
+ * @category combinator
505
+ */
506
+ export declare const fail: Parser<never, never, never, Input>;
507
+ /** @since 0.1.0 @category combinator */
508
+ export declare const rest: Parser<string, never, never, string>;
509
+ /** @since 0.1.0 @category combinator */
510
+ export declare const restLen: Parser<number, never, never, Input>;
511
+ /**
512
+ * nom's `context` (note the label comes first).
513
+ *
514
+ * @since 0.1.0
515
+ * @category error
516
+ */
517
+ export declare const context: <A, E, R, I extends Input>(label: string, parser: Parser<A, E, R, I>) => Parser<A, E, R, I>;
518
+ //# sourceMappingURL=Nom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Nom.d.ts","sourceRoot":"","sources":["../src/Nom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,CAAC,MAAM,aAAa,CAAA;AAChC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAM1C;;;;;GAKG;AACH,eAAO,MAAM,GAAG;;;;CAAgB,CAAA;AAEhC;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;CAAiB,CAAA;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,KAAK,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,KAAG,MAAM,CAAC,CAAC,CAAqB,CAAA;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAa,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,KAAK,oBAAc,CAAA;AAEhC;;;GAGG;AACH,eAAO,MAAM,MAAM,qBAAe,CAAA;AAElC;;;GAGG;AACH,eAAO,MAAM,OAAO,sBAAgB,CAAA;AAEpC;;;;;GAKG;AACH,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,KAAK,GAAG,MAAM,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAC9E,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,KAAK,GAAG,MAAM,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CACjF,CAAA;AAEpC;;;GAGG;AACH,eAAO,MAAM,IAAI,mBAAa,CAAA;AAE9B;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,KAAK,GAAG,MAAM,aACrC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,KACxC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAyC,CAAA;AAE9F;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,KAAK,GAAG,MAAM,aACtC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,KACxC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAqD,CAAA;AAE1G;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,KAAK,GAAG,MAAM,KAC/C,MAAM,KACN,MAAM,aACE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,KACxC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAA6D,CAAA;AAElH;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,KAAK,GAAG,MAAM,aACpC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,KACxC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAwC,CAAA;AAE7F;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,KAAK,GAAG,MAAM,aACrC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,KACxC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAoD,CAAA;AAEzG;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;CAAkB,CAAA;AAExC;;;;;GAKG;AACH,eAAO,MAAM,OAAO,0BAAoB,CAAA;AAExC;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,sBAAgB,CAAA;AAE7C,uCAAuC;AACvC,eAAO,MAAM,MAAM,sCAAe,CAAA;AAClC,uCAAuC;AACvC,eAAO,MAAM,MAAM,sCAAe,CAAA;AAClC,uCAAuC;AACvC,eAAO,MAAM,MAAM,sCAAe,CAAA;AAClC,uCAAuC;AACvC,eAAO,MAAM,MAAM,sCAAe,CAAA;AAClC,uCAAuC;AACvC,eAAO,MAAM,SAAS,sCAAkB,CAAA;AACxC,uCAAuC;AACvC,eAAO,MAAM,SAAS,sCAAkB,CAAA;AACxC,uCAAuC;AACvC,eAAO,MAAM,SAAS,sCAAkB,CAAA;AACxC,uCAAuC;AACvC,eAAO,MAAM,SAAS,sCAAkB,CAAA;AACxC,uCAAuC;AACvC,eAAO,MAAM,aAAa,sCAAsB,CAAA;AAChD,uCAAuC;AACvC,eAAO,MAAM,aAAa,sCAAsB,CAAA;AAChD,uCAAuC;AACvC,eAAO,MAAM,MAAM,sCAAe,CAAA;AAClC,uCAAuC;AACvC,eAAO,MAAM,MAAM,sCAAe,CAAA;AAClC,uCAAuC;AACvC,eAAO,MAAM,WAAW,sCAAoB,CAAA;AAC5C,uCAAuC;AACvC,eAAO,MAAM,WAAW,sCAAoB,CAAA;AAC5C,uCAAuC;AACvC,eAAO,MAAM,UAAU,6CAAmB,CAAA;AAC1C,uCAAuC;AACvC,eAAO,MAAM,OAAO,oCAAgB,CAAA;AACpC,uCAAuC;AACvC,eAAO,MAAM,GAAG,oCAAY,CAAA;AAC5B,uCAAuC;AACvC,eAAO,MAAM,IAAI,sCAAa,CAAA;AAC9B;;;;;GAKG;AACH,eAAO,MAAM,aAAa,sCAAuB,CAAA;AACjD;;;;;GAKG;AACH,eAAO,MAAM,GAAG,uCAAgB,CAAA;AAChC;;;;;GAKG;AACH,eAAO,MAAM,GAAG,uCAAe,CAAA;AAM/B;;;;;GAKG;AACH,eAAO,MAAM,MAAM,sCAAc,CAAA;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAwB,CAAA;AAElE;;;;;GAKG;AACH,eAAO,MAAM,MAAM,uCAAgB,CAAA;AAEnC,oCAAoC;AACpC,eAAO,MAAM,IAAI,2DAAY,CAAA;AAC7B,oCAAoC;AACpC,eAAO,MAAM,IAAI,2DAAY,CAAA;AAC7B,oCAAoC;AACpC,eAAO,MAAM,IAAI,2DAAY,CAAA;AAC7B,oCAAoC;AACpC,eAAO,MAAM,IAAI,2DAAY,CAAA;AAC7B,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,MAAM,2DAAgB,CAAA;AACnC,oCAAoC;AACpC,eAAO,MAAM,MAAM,2DAAgB,CAAA;AACnC,oCAAoC;AACpC,eAAO,MAAM,MAAM,2DAAgB,CAAA;AACnC,oCAAoC;AACpC,eAAO,MAAM,MAAM,2DAAgB,CAAA;AACnC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AACjC,oCAAoC;AACpC,eAAO,MAAM,KAAK,2DAAe,CAAA;AAMjC;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACnF,CAAA;AAElB;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAC/E,CAAA;AAE9B;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,KAC1C,MAAM,KACN,MAAM,UACD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACzB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAyC,CAAA;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,KAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAC3F,CAAA;AAEzB;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,KAAK,UACpE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OACrB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KACzB,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAA8B,CAAA;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,aACvE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,UACxB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACzB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAmC,CAAA;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,aACvE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,UACxB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACzB,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAA+C,CAAA;AAEjG;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,UAC3C,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QACpB,MAAM,CAAC,KACV,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KACrB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAgC,CAAA;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,UAC3C,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QACpB,MAAM,CAAC,KACV,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KACrB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAmD,CAAA;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,KACjD,MAAM,KACN,MAAM,UACD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QACpB,MAAM,CAAC,KACV,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KACrB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAA2D,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,UAAU,0BAAoB,CAAA;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,WAAW,6BAAuB,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,WAAW,4BAAsB,CAAA;AAM9C;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,KAAK,SACjE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UACjB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAyB,CAAA;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,KAAK,cAAQ,CAAA;AAE1B,sCAAsC;AACtC,eAAO,MAAM,QAAQ,mBAAa,CAAA;AAClC,sCAAsC;AACtC,eAAO,MAAM,UAAU,qBAAe,CAAA;AACtC,sCAAsC;AACtC,eAAO,MAAM,SAAS,oBAAc,CAAA;AACpC,sCAAsC;AACtC,eAAO,MAAM,aAAa,wBAAkB,CAAA;AAC5C,oCAAoC;AACpC,eAAO,MAAM,GAAG,cAAQ,CAAA;AACxB,oCAAoC;AACpC,eAAO,MAAM,WAAW,sBAAgB,CAAA;AAMxC;;;;;GAKG;AACH,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAC7F,CAAA;AAElB;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,EAAE,UAC5C,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACvB,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,KAChC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAwB,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,UACxC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACvB,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAC5B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAA2B,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,UACjE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WACjB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAC5B,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAiC,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,KAAK,UACnE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACvB,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KACjC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAyB,CAAA;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,OAAO,CAAC,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACtF,CAAA;AAEnB;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,UACrC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aACf,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,KAC3B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAgC,CAAA;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,gBAAU,CAAA;AAEhC;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAC7D,CAAA;AAEhD,wCAAwC;AACxC,eAAO,MAAM,GAAG,cAAQ,CAAA;AACxB,wCAAwC;AACxC,eAAO,MAAM,IAAI,eAAS,CAAA;AAC1B,wCAAwC;AACxC,eAAO,MAAM,IAAI,eAAS,CAAA;AAC1B,wCAAwC;AACxC,eAAO,MAAM,GAAG,cAAQ,CAAA;AACxB,wCAAwC;AACxC,eAAO,MAAM,GAAG,mCAAQ,CAAA;AACxB,wCAAwC;AACxC,eAAO,MAAM,YAAY,uBAAiB,CAAA;AAC1C,wCAAwC;AACxC,eAAO,MAAM,QAAQ,mBAAa,CAAA;AAClC,wCAAwC;AACxC,eAAO,MAAM,GAAG,cAAQ,CAAA;AACxB,wCAAwC;AACxC,eAAO,MAAM,OAAO,kBAAY,CAAA;AAChC;;;;;GAKG;AACH,eAAO,MAAM,IAAI,oCAAW,CAAA;AAC5B,wCAAwC;AACxC,eAAO,MAAM,IAAI,sCAAa,CAAA;AAC9B,wCAAwC;AACxC,eAAO,MAAM,OAAO,qCAAgB,CAAA;AAEpC;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,MAAM,UAAU,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACrF,CAAA"}