@telorun/cel 0.0.0-stage → 0.108.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 (223) hide show
  1. package/LICENSE +17 -0
  2. package/README.md +281 -2
  3. package/dist/activation.d.ts +27 -0
  4. package/dist/activation.d.ts.map +1 -0
  5. package/dist/activation.js +24 -0
  6. package/dist/backend-runtime.d.ts +184 -0
  7. package/dist/backend-runtime.d.ts.map +1 -0
  8. package/dist/backend-runtime.js +425 -0
  9. package/dist/bounded-cache.d.ts +21 -0
  10. package/dist/bounded-cache.d.ts.map +1 -0
  11. package/dist/bounded-cache.js +42 -0
  12. package/dist/catalog-runtime.d.ts +59 -0
  13. package/dist/catalog-runtime.d.ts.map +1 -0
  14. package/dist/catalog-runtime.js +786 -0
  15. package/dist/cel-expression.d.ts +32 -0
  16. package/dist/cel-expression.d.ts.map +1 -0
  17. package/dist/cel-expression.js +29 -0
  18. package/dist/cel-map-value.d.ts +47 -0
  19. package/dist/cel-map-value.d.ts.map +1 -0
  20. package/dist/cel-map-value.js +85 -0
  21. package/dist/cel-program.d.ts +44 -0
  22. package/dist/cel-program.d.ts.map +1 -0
  23. package/dist/cel-program.js +72 -0
  24. package/dist/cel-type.d.ts +131 -0
  25. package/dist/cel-type.d.ts.map +1 -0
  26. package/dist/cel-type.js +293 -0
  27. package/dist/cel-value.d.ts +166 -0
  28. package/dist/cel-value.d.ts.map +1 -0
  29. package/dist/cel-value.js +225 -0
  30. package/dist/check-diagnostic.d.ts +54 -0
  31. package/dist/check-diagnostic.d.ts.map +1 -0
  32. package/dist/check-diagnostic.js +66 -0
  33. package/dist/checker.d.ts +86 -0
  34. package/dist/checker.d.ts.map +1 -0
  35. package/dist/checker.js +806 -0
  36. package/dist/closure-backend.d.ts +21 -0
  37. package/dist/closure-backend.d.ts.map +1 -0
  38. package/dist/closure-backend.js +487 -0
  39. package/dist/comprehension-bindings.d.ts +33 -0
  40. package/dist/comprehension-bindings.d.ts.map +1 -0
  41. package/dist/comprehension-bindings.js +50 -0
  42. package/dist/comprehension-runtime.d.ts +44 -0
  43. package/dist/comprehension-runtime.d.ts.map +1 -0
  44. package/dist/comprehension-runtime.js +137 -0
  45. package/dist/declared-chain.d.ts +35 -0
  46. package/dist/declared-chain.d.ts.map +1 -0
  47. package/dist/declared-chain.js +36 -0
  48. package/dist/duration-value.d.ts +70 -0
  49. package/dist/duration-value.d.ts.map +1 -0
  50. package/dist/duration-value.js +149 -0
  51. package/dist/emitted-module.d.ts +207 -0
  52. package/dist/emitted-module.d.ts.map +1 -0
  53. package/dist/emitted-module.js +359 -0
  54. package/dist/engine-version.d.ts +3 -0
  55. package/dist/engine-version.d.ts.map +1 -0
  56. package/dist/engine-version.js +8 -0
  57. package/dist/environment-digest.d.ts +44 -0
  58. package/dist/environment-digest.d.ts.map +1 -0
  59. package/dist/environment-digest.js +98 -0
  60. package/dist/environment.d.ts +291 -0
  61. package/dist/environment.d.ts.map +1 -0
  62. package/dist/environment.js +474 -0
  63. package/dist/function-catalog.d.ts +66 -0
  64. package/dist/function-catalog.d.ts.map +1 -0
  65. package/dist/function-catalog.js +77 -0
  66. package/dist/function-registry.d.ts +118 -0
  67. package/dist/function-registry.d.ts.map +1 -0
  68. package/dist/function-registry.js +292 -0
  69. package/dist/index.d.ts +93 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +65 -0
  72. package/dist/integer-arithmetic.d.ts +27 -0
  73. package/dist/integer-arithmetic.d.ts.map +1 -0
  74. package/dist/integer-arithmetic.js +58 -0
  75. package/dist/js-emitter.d.ts +133 -0
  76. package/dist/js-emitter.d.ts.map +1 -0
  77. package/dist/js-emitter.js +568 -0
  78. package/dist/json-schema-type.d.ts +182 -0
  79. package/dist/json-schema-type.d.ts.map +1 -0
  80. package/dist/json-schema-type.js +487 -0
  81. package/dist/json-text-scan.d.ts +28 -0
  82. package/dist/json-text-scan.d.ts.map +1 -0
  83. package/dist/json-text-scan.js +159 -0
  84. package/dist/lexer.d.ts +103 -0
  85. package/dist/lexer.d.ts.map +1 -0
  86. package/dist/lexer.js +458 -0
  87. package/dist/macro-check.d.ts +41 -0
  88. package/dist/macro-check.d.ts.map +1 -0
  89. package/dist/macro-check.js +162 -0
  90. package/dist/macro-shape.d.ts +24 -0
  91. package/dist/macro-shape.d.ts.map +1 -0
  92. package/dist/macro-shape.js +55 -0
  93. package/dist/member-read.d.ts +89 -0
  94. package/dist/member-read.d.ts.map +1 -0
  95. package/dist/member-read.js +166 -0
  96. package/dist/namespace-resolution.d.ts +35 -0
  97. package/dist/namespace-resolution.d.ts.map +1 -0
  98. package/dist/namespace-resolution.js +160 -0
  99. package/dist/nominal-type.d.ts +63 -0
  100. package/dist/nominal-type.d.ts.map +1 -0
  101. package/dist/nominal-type.js +98 -0
  102. package/dist/nullable-access.d.ts +38 -0
  103. package/dist/nullable-access.d.ts.map +1 -0
  104. package/dist/nullable-access.js +93 -0
  105. package/dist/parse-limits.d.ts +26 -0
  106. package/dist/parse-limits.d.ts.map +1 -0
  107. package/dist/parse-limits.js +21 -0
  108. package/dist/parser.d.ts +48 -0
  109. package/dist/parser.d.ts.map +1 -0
  110. package/dist/parser.js +503 -0
  111. package/dist/qualified-calls.d.ts +22 -0
  112. package/dist/qualified-calls.d.ts.map +1 -0
  113. package/dist/qualified-calls.js +27 -0
  114. package/dist/regular-expression.d.ts +48 -0
  115. package/dist/regular-expression.d.ts.map +1 -0
  116. package/dist/regular-expression.js +77 -0
  117. package/dist/reserved-words.d.ts +52 -0
  118. package/dist/reserved-words.d.ts.map +1 -0
  119. package/dist/reserved-words.js +77 -0
  120. package/dist/resolved-call.d.ts +46 -0
  121. package/dist/resolved-call.d.ts.map +1 -0
  122. package/dist/resolved-call.js +15 -0
  123. package/dist/root-references.d.ts +23 -0
  124. package/dist/root-references.d.ts.map +1 -0
  125. package/dist/root-references.js +120 -0
  126. package/dist/runtime-library.d.ts +67 -0
  127. package/dist/runtime-library.d.ts.map +1 -0
  128. package/dist/runtime-library.js +554 -0
  129. package/dist/serializer.d.ts +24 -0
  130. package/dist/serializer.d.ts.map +1 -0
  131. package/dist/serializer.js +256 -0
  132. package/dist/sha256.d.ts +20 -0
  133. package/dist/sha256.d.ts.map +1 -0
  134. package/dist/sha256.js +103 -0
  135. package/dist/signature.d.ts +72 -0
  136. package/dist/signature.d.ts.map +1 -0
  137. package/dist/signature.js +61 -0
  138. package/dist/signatures/function-catalog.json +788 -0
  139. package/dist/signatures/standard-library.json +229 -0
  140. package/dist/standard-library.d.ts +41 -0
  141. package/dist/standard-library.d.ts.map +1 -0
  142. package/dist/standard-library.js +85 -0
  143. package/dist/syntax-diagnostic.d.ts +61 -0
  144. package/dist/syntax-diagnostic.d.ts.map +1 -0
  145. package/dist/syntax-diagnostic.js +28 -0
  146. package/dist/syntax-tree.d.ts +160 -0
  147. package/dist/syntax-tree.d.ts.map +1 -0
  148. package/dist/syntax-tree.js +58 -0
  149. package/dist/timestamp-value.d.ts +62 -0
  150. package/dist/timestamp-value.d.ts.map +1 -0
  151. package/dist/timestamp-value.js +238 -0
  152. package/dist/tree-equality.d.ts +15 -0
  153. package/dist/tree-equality.d.ts.map +1 -0
  154. package/dist/tree-equality.js +105 -0
  155. package/dist/type-expression.d.ts +42 -0
  156. package/dist/type-expression.d.ts.map +1 -0
  157. package/dist/type-expression.js +154 -0
  158. package/dist/value-equality.d.ts +38 -0
  159. package/dist/value-equality.d.ts.map +1 -0
  160. package/dist/value-equality.js +196 -0
  161. package/dist/value-text.d.ts +25 -0
  162. package/dist/value-text.d.ts.map +1 -0
  163. package/dist/value-text.js +44 -0
  164. package/dist/zoned-calendar.d.ts +61 -0
  165. package/dist/zoned-calendar.d.ts.map +1 -0
  166. package/dist/zoned-calendar.js +143 -0
  167. package/package.json +56 -3
  168. package/src/activation.ts +32 -0
  169. package/src/backend-runtime.ts +604 -0
  170. package/src/bounded-cache.ts +45 -0
  171. package/src/catalog-runtime.ts +921 -0
  172. package/src/cel-expression.ts +53 -0
  173. package/src/cel-map-value.ts +97 -0
  174. package/src/cel-program.ts +103 -0
  175. package/src/cel-type.ts +359 -0
  176. package/src/cel-value.ts +361 -0
  177. package/src/check-diagnostic.ts +104 -0
  178. package/src/checker.ts +1045 -0
  179. package/src/closure-backend.ts +547 -0
  180. package/src/comprehension-bindings.ts +66 -0
  181. package/src/comprehension-runtime.ts +157 -0
  182. package/src/declared-chain.ts +45 -0
  183. package/src/duration-value.ts +160 -0
  184. package/src/emitted-module.ts +494 -0
  185. package/src/engine-version.ts +9 -0
  186. package/src/environment-digest.ts +111 -0
  187. package/src/environment.ts +761 -0
  188. package/src/function-catalog.ts +140 -0
  189. package/src/function-registry.ts +341 -0
  190. package/src/index.ts +407 -0
  191. package/src/integer-arithmetic.ts +64 -0
  192. package/src/js-emitter.ts +721 -0
  193. package/src/json-schema-type.ts +664 -0
  194. package/src/json-text-scan.ts +163 -0
  195. package/src/lexer.ts +562 -0
  196. package/src/macro-check.ts +197 -0
  197. package/src/macro-shape.ts +66 -0
  198. package/src/member-read.ts +167 -0
  199. package/src/namespace-resolution.ts +167 -0
  200. package/src/nominal-type.ts +149 -0
  201. package/src/nullable-access.ts +95 -0
  202. package/src/parse-limits.ts +36 -0
  203. package/src/parser.ts +554 -0
  204. package/src/qualified-calls.ts +39 -0
  205. package/src/regular-expression.ts +101 -0
  206. package/src/reserved-words.ts +94 -0
  207. package/src/resolved-call.ts +47 -0
  208. package/src/root-references.ts +126 -0
  209. package/src/runtime-library.ts +639 -0
  210. package/src/serializer.ts +262 -0
  211. package/src/sha256.ts +112 -0
  212. package/src/signature.ts +127 -0
  213. package/src/signatures/function-catalog.json +788 -0
  214. package/src/signatures/standard-library.json +235 -0
  215. package/src/standard-library.ts +149 -0
  216. package/src/syntax-diagnostic.ts +72 -0
  217. package/src/syntax-tree.ts +229 -0
  218. package/src/timestamp-value.ts +310 -0
  219. package/src/tree-equality.ts +130 -0
  220. package/src/type-expression.ts +182 -0
  221. package/src/value-equality.ts +201 -0
  222. package/src/value-text.ts +45 -0
  223. package/src/zoned-calendar.ts +178 -0
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Where a text stops being a prefix of any RFC 8259 JSON text.
3
+ *
4
+ * It is the offset `parseJson`'s refusal names, and it is computed here so the wording
5
+ * is the catalog's own and never the host JSON parser's: the host's verdict decides
6
+ * WHETHER a text is JSON, and this scan decides only how the refusal reads. A text the
7
+ * host refused and this scan reads as JSON is a defect here, raised as one with the
8
+ * host's error as its cause (`catalog-runtime.ts`).
9
+ *
10
+ * Its agreement with RFC 8259 is a property of the scan, never asserted at runtime. What
11
+ * holds it here is the catalog's own conformance rows, which pin the offset of thirteen
12
+ * refusals — a mid-text one, an end-of-input one, a bad escape, a leading zero, a byte-order
13
+ * mark and a raw control character among them. What those rows cannot reach is a text no row
14
+ * writes: the scan's agreement over arbitrary input was measured by differential fuzzing
15
+ * against the host parser where it was first written, and that measurement travels with the
16
+ * suite that made it rather than with this copy.
17
+ */
18
+ export interface JsonRefusal {
19
+ /** UTF-16 offset of the first offending code unit; the text's length when
20
+ * every prefix is viable and the text is merely incomplete. */
21
+ readonly offset: number;
22
+ readonly endOfInput: boolean;
23
+ }
24
+ /** The refusal of `text`, or `undefined` when it is a JSON text. Iterative, so
25
+ * nesting depth is bounded by memory rather than by the call stack. Neither
26
+ * stricter nor laxer than RFC 8259. */
27
+ export declare function scanJsonPrefix(text: string): JsonRefusal | undefined;
28
+ //# sourceMappingURL=json-text-scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-text-scan.d.ts","sourceRoot":"","sources":["../src/json-text-scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,WAAW;IAC1B;oEACgE;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAYD;;wCAEwC;AACxC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CA6HpE"}
@@ -0,0 +1,159 @@
1
+ const QUOTE = 0x22;
2
+ const BACKSLASH = 0x5c;
3
+ const SIMPLE_ESCAPES = '"\\/bfnrt';
4
+ const isWhitespace = (c) => c === " " || c === "\t" || c === "\n" || c === "\r";
5
+ const isDigit = (c) => c !== undefined && c >= "0" && c <= "9";
6
+ const isHexDigit = (c) => isDigit(c) || (c >= "a" && c <= "f") || (c >= "A" && c <= "F");
7
+ /** The refusal of `text`, or `undefined` when it is a JSON text. Iterative, so
8
+ * nesting depth is bounded by memory rather than by the call stack. Neither
9
+ * stricter nor laxer than RFC 8259. */
10
+ export function scanJsonPrefix(text) {
11
+ const length = text.length;
12
+ let at = 0;
13
+ // Each token reader returns the offset it refuses, or `undefined` once `at`
14
+ // is past the token.
15
+ const readString = () => {
16
+ at++;
17
+ for (;;) {
18
+ if (at >= length)
19
+ return length;
20
+ const code = text.charCodeAt(at);
21
+ if (code === QUOTE) {
22
+ at++;
23
+ return undefined;
24
+ }
25
+ if (code < 0x20)
26
+ return at;
27
+ at++;
28
+ if (code !== BACKSLASH)
29
+ continue;
30
+ if (at >= length)
31
+ return length;
32
+ const escape = text[at];
33
+ if (escape === "u") {
34
+ at++;
35
+ for (let digit = 0; digit < 4; digit++, at++) {
36
+ if (at >= length)
37
+ return length;
38
+ if (!isHexDigit(text[at]))
39
+ return at;
40
+ }
41
+ }
42
+ else if (SIMPLE_ESCAPES.includes(escape))
43
+ at++;
44
+ else
45
+ return at;
46
+ }
47
+ };
48
+ const readDigits = () => {
49
+ if (!isDigit(text[at]))
50
+ return at;
51
+ while (isDigit(text[at]))
52
+ at++;
53
+ return undefined;
54
+ };
55
+ const readNumber = () => {
56
+ if (text[at] === "-")
57
+ at++;
58
+ if (text[at] === "0")
59
+ at++;
60
+ else {
61
+ const refused = readDigits();
62
+ if (refused !== undefined)
63
+ return refused;
64
+ }
65
+ if (text[at] === ".") {
66
+ at++;
67
+ const refused = readDigits();
68
+ if (refused !== undefined)
69
+ return refused;
70
+ }
71
+ if (text[at] === "e" || text[at] === "E") {
72
+ at++;
73
+ if (text[at] === "+" || text[at] === "-")
74
+ at++;
75
+ return readDigits();
76
+ }
77
+ return undefined;
78
+ };
79
+ const readLiteral = (literal) => {
80
+ for (const expected of literal) {
81
+ if (text[at] !== expected)
82
+ return at;
83
+ at++;
84
+ }
85
+ return undefined;
86
+ };
87
+ const refusedAt = (offset) => ({ offset, endOfInput: offset >= length });
88
+ const open = [];
89
+ let state = "value";
90
+ for (;;) {
91
+ while (isWhitespace(text[at]))
92
+ at++;
93
+ const c = text[at];
94
+ if (state === "after") {
95
+ const container = open[open.length - 1];
96
+ if (container === undefined)
97
+ return at === length ? undefined : refusedAt(at);
98
+ if (c === ",") {
99
+ at++;
100
+ state = container === "{" ? "key" : "value";
101
+ }
102
+ else if (c === (container === "{" ? "}" : "]")) {
103
+ at++;
104
+ open.pop();
105
+ }
106
+ else
107
+ return refusedAt(at);
108
+ continue;
109
+ }
110
+ if (state === "key" || state === "keyOrClose") {
111
+ if (state === "keyOrClose" && c === "}") {
112
+ at++;
113
+ open.pop();
114
+ state = "after";
115
+ continue;
116
+ }
117
+ if (c !== '"')
118
+ return refusedAt(at);
119
+ const refused = readString();
120
+ if (refused !== undefined)
121
+ return refusedAt(refused);
122
+ while (isWhitespace(text[at]))
123
+ at++;
124
+ if (text[at] !== ":")
125
+ return refusedAt(at);
126
+ at++;
127
+ state = "value";
128
+ continue;
129
+ }
130
+ if (state === "valueOrClose" && c === "]") {
131
+ at++;
132
+ open.pop();
133
+ state = "after";
134
+ continue;
135
+ }
136
+ if (c === "{" || c === "[") {
137
+ at++;
138
+ open.push(c);
139
+ state = c === "{" ? "keyOrClose" : "valueOrClose";
140
+ continue;
141
+ }
142
+ let refused;
143
+ if (c === '"')
144
+ refused = readString();
145
+ else if (c === "-" || isDigit(c))
146
+ refused = readNumber();
147
+ else if (c === "t")
148
+ refused = readLiteral("true");
149
+ else if (c === "f")
150
+ refused = readLiteral("false");
151
+ else if (c === "n")
152
+ refused = readLiteral("null");
153
+ else
154
+ refused = at;
155
+ if (refused !== undefined)
156
+ return refusedAt(refused);
157
+ state = "after";
158
+ }
159
+ }
@@ -0,0 +1,103 @@
1
+ /**
2
+ * CEL's tokens.
3
+ *
4
+ * The lexer decodes literals as it reads them — a string token carries its text
5
+ * with every escape resolved, a bytes token its bytes, an integer its magnitude as
6
+ * a `bigint` — so nothing downstream re-reads source text to learn a value.
7
+ *
8
+ * It stops at the first thing it cannot read, reporting one diagnostic and ending
9
+ * the token stream there. The parser then builds whatever the tokens before it
10
+ * support, which is what leaves a half-typed expression usable.
11
+ *
12
+ * Three readings are deliberate, each pinned by the conformance vectors:
13
+ *
14
+ * - **Only a single-letter prefix** introduces a string: `r`, `R`, `b`, `B`. `br'x'`
15
+ * is the identifier `br` followed by a string, which no expression admits.
16
+ * - **A raw string still lets a backslash take the next character with it**, keeping
17
+ * both as written, so `r'\''` is a backslash and a quote rather than an unclosed
18
+ * string.
19
+ * - **A bytes literal holds the UTF-8 of its text.** `b'ÿ'` is `0xC3 0xBF`, two bytes,
20
+ * and an escape (`\xff`, `\303`) is the one byte it names. cel-spec's own answer, and
21
+ * the only reading under which `b'ÿ' == b'\303\277'` — a row — holds.
22
+ *
23
+ * A number never begins with `.`: `.5` is a dot and a number, and no expression
24
+ * admits that either.
25
+ */
26
+ import { FirstSyntaxDiagnostic } from "./syntax-diagnostic.js";
27
+ export declare const MAX_INT = 9223372036854775807n;
28
+ export declare const MIN_INT = -9223372036854775808n;
29
+ export declare const MAX_UINT = 18446744073709551615n;
30
+ export type TokenType =
31
+ /** A name, and a word read as a literal (`true`, `false`, `null`). */
32
+ "ident"
33
+ /** A member name written between backticks, whatever it spells. */
34
+ | "quotedIdent"
35
+ /** A reserved word with no other reading: refused wherever a name is read. */
36
+ | "reserved"
37
+ /** An operator written as a word (`in`). */
38
+ | "keyword" | "int" | "uint" | "double" | "string" | "bytes" | "punct" | "eof";
39
+ export interface Token {
40
+ readonly type: TokenType;
41
+ readonly start: number;
42
+ readonly end: number;
43
+ /** The lexeme, for `punct`; the name, for `ident` and `reserved`. */
44
+ readonly text: string;
45
+ readonly int?: bigint;
46
+ readonly double?: number;
47
+ readonly string?: string;
48
+ readonly bytes?: Uint8Array;
49
+ /**
50
+ * An integer magnitude of exactly 2^63 — legal only directly under a unary
51
+ * minus, which is how the int64 minimum is written.
52
+ */
53
+ readonly atIntBoundary?: boolean;
54
+ }
55
+ export declare class Lexer {
56
+ private readonly source;
57
+ private readonly diagnostics;
58
+ private at;
59
+ constructor(source: string, diagnostics: FirstSyntaxDiagnostic);
60
+ /** Every token up to the end of the source, or up to the first unreadable text. */
61
+ tokenize(): Token[];
62
+ private eof;
63
+ private skipIgnored;
64
+ private next;
65
+ private readPunctuation;
66
+ /**
67
+ * A member name between backticks. cel-spec's `ESCAPED_IDENTIFIER` takes no escapes
68
+ * and cannot hold a backtick, so the text between them is the name as written.
69
+ */
70
+ private readQuotedIdentifier;
71
+ /** An identifier, a literal word, or the prefix of a string literal. */
72
+ private readWord;
73
+ private readNumber;
74
+ private invalidNumber;
75
+ /**
76
+ * A string or bytes literal. `start` is the literal's own start (its prefix, when
77
+ * it has one) and `quoteAt` the opening quote.
78
+ */
79
+ private readQuoted;
80
+ private unterminated;
81
+ /** A raw literal: a backslash takes the next character with it, both kept as written. */
82
+ private scanRaw;
83
+ /**
84
+ * One character of a literal's text, as the literal holds it: a code unit in a string,
85
+ * the character's UTF-8 bytes in a bytes literal. Answers how many code units it read,
86
+ * since a character outside the basic plane is written as a surrogate pair.
87
+ */
88
+ private literalCharacter;
89
+ private scanEscaped;
90
+ /** Decodes one escape sequence onto `units`, answering where it ends. */
91
+ private readEscape;
92
+ private readHexEscape;
93
+ private readOctalEscape;
94
+ private readUnicodeEscape;
95
+ /** A leading surrogate stands only beside the trailing one that completes it. */
96
+ private readSurrogatePair;
97
+ }
98
+ /** Every token of the source, with at most one diagnostic for where it stopped. */
99
+ export declare function tokenize(source: string): {
100
+ tokens: Token[];
101
+ diagnostics: FirstSyntaxDiagnostic;
102
+ };
103
+ //# sourceMappingURL=lexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../src/lexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,eAAO,MAAM,OAAO,uBAAuB,CAAC;AAC5C,eAAO,MAAM,OAAO,wBAAwB,CAAC;AAC7C,eAAO,MAAM,QAAQ,wBAAwB,CAAC;AAE9C,MAAM,MAAM,SAAS;AACnB,sEAAsE;AACpE,OAAO;AACT,mEAAmE;GACjE,aAAa;AACf,8EAA8E;GAC5E,UAAU;AACZ,4CAA4C;GAC1C,SAAS,GACT,KAAK,GACL,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,OAAO,GACP,KAAK,CAAC;AAEV,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAgED,qBAAa,KAAK;IAId,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAJ9B,OAAO,CAAC,EAAE,CAAK;gBAGI,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,qBAAqB;IAGrD,mFAAmF;IACnF,QAAQ,IAAI,KAAK,EAAE;IAiBnB,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,IAAI;IAYZ,OAAO,CAAC,eAAe;IAoBvB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAe5B,wEAAwE;IACxE,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,UAAU;IA0ElB,OAAO,CAAC,aAAa;IAYrB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,YAAY;IAKpB,yFAAyF;IACzF,OAAO,CAAC,OAAO;IAuBf;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,WAAW;IAwBnB,yEAAyE;IACzE,OAAO,CAAC,UAAU;IAmClB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,iBAAiB;IA8BzB,iFAAiF;IACjF,OAAO,CAAC,iBAAiB;CAgB1B;AAkCD,mFAAmF;AACnF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,WAAW,EAAE,qBAAqB,CAAA;CAAE,CAIhG"}