@elaraai/east 0.0.1-beta.3 → 0.0.1-beta.31

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 (191) hide show
  1. package/LICENSE.md +15 -666
  2. package/README.md +30 -8
  3. package/dist/src/analyze.d.ts +3 -0
  4. package/dist/src/analyze.d.ts.map +1 -1
  5. package/dist/src/analyze.js +76 -15
  6. package/dist/src/analyze.js.map +1 -1
  7. package/dist/src/ast.d.ts +37 -33
  8. package/dist/src/ast.d.ts.map +1 -1
  9. package/dist/src/ast_to_ir.d.ts +6 -0
  10. package/dist/src/ast_to_ir.d.ts.map +1 -1
  11. package/dist/src/ast_to_ir.js +135 -101
  12. package/dist/src/ast_to_ir.js.map +1 -1
  13. package/dist/src/builtins.d.ts +1 -1
  14. package/dist/src/builtins.d.ts.map +1 -1
  15. package/dist/src/builtins.js +32 -0
  16. package/dist/src/builtins.js.map +1 -1
  17. package/dist/src/comparison.d.ts.map +1 -1
  18. package/dist/src/comparison.js +12 -4
  19. package/dist/src/comparison.js.map +1 -1
  20. package/dist/src/compile.d.ts +26 -1
  21. package/dist/src/compile.d.ts.map +1 -1
  22. package/dist/src/compile.js +388 -257
  23. package/dist/src/compile.js.map +1 -1
  24. package/dist/src/datetime_format/types.d.ts +23 -23
  25. package/dist/src/eastir.d.ts +4 -0
  26. package/dist/src/eastir.d.ts.map +1 -1
  27. package/dist/src/eastir.js +27 -7
  28. package/dist/src/eastir.js.map +1 -1
  29. package/dist/src/error.d.ts +12 -1
  30. package/dist/src/error.d.ts.map +1 -1
  31. package/dist/src/error.js +31 -1
  32. package/dist/src/error.js.map +1 -1
  33. package/dist/src/expr/array.d.ts +109 -1
  34. package/dist/src/expr/array.d.ts.map +1 -1
  35. package/dist/src/expr/array.js +204 -44
  36. package/dist/src/expr/array.js.map +1 -1
  37. package/dist/src/expr/ast.d.ts +1 -1
  38. package/dist/src/expr/ast.d.ts.map +1 -1
  39. package/dist/src/expr/ast.js +16 -28
  40. package/dist/src/expr/ast.js.map +1 -1
  41. package/dist/src/expr/asyncfunction.js +1 -1
  42. package/dist/src/expr/asyncfunction.js.map +1 -1
  43. package/dist/src/expr/blob.d.ts +73 -1
  44. package/dist/src/expr/blob.d.ts.map +1 -1
  45. package/dist/src/expr/blob.js +97 -7
  46. package/dist/src/expr/blob.js.map +1 -1
  47. package/dist/src/expr/block.d.ts +232 -12
  48. package/dist/src/expr/block.d.ts.map +1 -1
  49. package/dist/src/expr/block.js +646 -140
  50. package/dist/src/expr/block.js.map +1 -1
  51. package/dist/src/expr/boolean.d.ts +44 -0
  52. package/dist/src/expr/boolean.d.ts.map +1 -1
  53. package/dist/src/expr/boolean.js +57 -5
  54. package/dist/src/expr/boolean.js.map +1 -1
  55. package/dist/src/expr/datetime.d.ts +135 -0
  56. package/dist/src/expr/datetime.d.ts.map +1 -1
  57. package/dist/src/expr/datetime.js +183 -33
  58. package/dist/src/expr/datetime.js.map +1 -1
  59. package/dist/src/expr/dict.d.ts +42 -0
  60. package/dist/src/expr/dict.d.ts.map +1 -1
  61. package/dist/src/expr/dict.js +105 -55
  62. package/dist/src/expr/dict.js.map +1 -1
  63. package/dist/src/expr/expr.d.ts +1 -1
  64. package/dist/src/expr/expr.d.ts.map +1 -1
  65. package/dist/src/expr/expr.js.map +1 -1
  66. package/dist/src/expr/float.d.ts +153 -0
  67. package/dist/src/expr/float.d.ts.map +1 -1
  68. package/dist/src/expr/float.js +190 -16
  69. package/dist/src/expr/float.js.map +1 -1
  70. package/dist/src/expr/function.d.ts +7 -2
  71. package/dist/src/expr/function.d.ts.map +1 -1
  72. package/dist/src/expr/function.js +1 -1
  73. package/dist/src/expr/function.js.map +1 -1
  74. package/dist/src/expr/index.d.ts +202 -2
  75. package/dist/src/expr/index.d.ts.map +1 -1
  76. package/dist/src/expr/index.js +207 -2
  77. package/dist/src/expr/index.js.map +1 -1
  78. package/dist/src/expr/integer.d.ts +180 -0
  79. package/dist/src/expr/integer.d.ts.map +1 -1
  80. package/dist/src/expr/integer.js +188 -17
  81. package/dist/src/expr/integer.js.map +1 -1
  82. package/dist/src/expr/libs/blob.js +2 -2
  83. package/dist/src/expr/libs/blob.js.map +1 -1
  84. package/dist/src/expr/libs/integer.d.ts +19 -0
  85. package/dist/src/expr/libs/integer.d.ts.map +1 -1
  86. package/dist/src/expr/libs/integer.js +47 -0
  87. package/dist/src/expr/libs/integer.js.map +1 -1
  88. package/dist/src/expr/libs/string.js +1 -1
  89. package/dist/src/expr/libs/string.js.map +1 -1
  90. package/dist/src/expr/recursive.d.ts +83 -0
  91. package/dist/src/expr/recursive.d.ts.map +1 -0
  92. package/dist/src/expr/recursive.js +99 -0
  93. package/dist/src/expr/recursive.js.map +1 -0
  94. package/dist/src/expr/ref.js +3 -3
  95. package/dist/src/expr/ref.js.map +1 -1
  96. package/dist/src/expr/set.d.ts +44 -2
  97. package/dist/src/expr/set.d.ts.map +1 -1
  98. package/dist/src/expr/set.js +97 -47
  99. package/dist/src/expr/set.js.map +1 -1
  100. package/dist/src/expr/string.d.ts +134 -0
  101. package/dist/src/expr/string.d.ts.map +1 -1
  102. package/dist/src/expr/string.js +172 -22
  103. package/dist/src/expr/string.js.map +1 -1
  104. package/dist/src/expr/struct.d.ts +1 -1
  105. package/dist/src/expr/struct.d.ts.map +1 -1
  106. package/dist/src/expr/struct.js +1 -1
  107. package/dist/src/expr/struct.js.map +1 -1
  108. package/dist/src/expr/types.d.ts +7 -6
  109. package/dist/src/expr/types.d.ts.map +1 -1
  110. package/dist/src/expr/variant.d.ts +123 -1
  111. package/dist/src/expr/variant.d.ts.map +1 -1
  112. package/dist/src/expr/variant.js +66 -2
  113. package/dist/src/expr/variant.js.map +1 -1
  114. package/dist/src/fuzz.d.ts +36 -2
  115. package/dist/src/fuzz.d.ts.map +1 -1
  116. package/dist/src/fuzz.js +344 -77
  117. package/dist/src/fuzz.js.map +1 -1
  118. package/dist/src/index.d.ts +1 -0
  119. package/dist/src/index.d.ts.map +1 -1
  120. package/dist/src/index.js +1 -0
  121. package/dist/src/index.js.map +1 -1
  122. package/dist/src/internal.d.ts +12 -0
  123. package/dist/src/internal.d.ts.map +1 -1
  124. package/dist/src/internal.js +13 -0
  125. package/dist/src/internal.js.map +1 -1
  126. package/dist/src/ir.d.ts +1551 -1505
  127. package/dist/src/ir.d.ts.map +1 -1
  128. package/dist/src/ir.js +49 -34
  129. package/dist/src/ir.js.map +1 -1
  130. package/dist/src/location.d.ts +30 -10
  131. package/dist/src/location.d.ts.map +1 -1
  132. package/dist/src/location.js +70 -28
  133. package/dist/src/location.js.map +1 -1
  134. package/dist/src/patch/apply.d.ts +15 -0
  135. package/dist/src/patch/apply.d.ts.map +1 -0
  136. package/dist/src/patch/apply.js +380 -0
  137. package/dist/src/patch/apply.js.map +1 -0
  138. package/dist/src/patch/compose.d.ts +15 -0
  139. package/dist/src/patch/compose.d.ts.map +1 -0
  140. package/dist/src/patch/compose.js +480 -0
  141. package/dist/src/patch/compose.js.map +1 -0
  142. package/dist/src/patch/diff.d.ts +15 -0
  143. package/dist/src/patch/diff.d.ts.map +1 -0
  144. package/dist/src/patch/diff.js +328 -0
  145. package/dist/src/patch/diff.js.map +1 -0
  146. package/dist/src/patch/fuzz.d.ts +73 -0
  147. package/dist/src/patch/fuzz.d.ts.map +1 -0
  148. package/dist/src/patch/fuzz.js +159 -0
  149. package/dist/src/patch/fuzz.js.map +1 -0
  150. package/dist/src/patch/index.d.ts +18 -0
  151. package/dist/src/patch/index.d.ts.map +1 -0
  152. package/dist/src/patch/index.js +20 -0
  153. package/dist/src/patch/index.js.map +1 -0
  154. package/dist/src/patch/invert.d.ts +15 -0
  155. package/dist/src/patch/invert.d.ts.map +1 -0
  156. package/dist/src/patch/invert.js +302 -0
  157. package/dist/src/patch/invert.js.map +1 -0
  158. package/dist/src/patch/type_of_patch.d.ts +17 -0
  159. package/dist/src/patch/type_of_patch.d.ts.map +1 -0
  160. package/dist/src/patch/type_of_patch.js +143 -0
  161. package/dist/src/patch/type_of_patch.js.map +1 -0
  162. package/dist/src/patch/types.d.ts +166 -0
  163. package/dist/src/patch/types.d.ts.map +1 -0
  164. package/dist/src/patch/types.js +69 -0
  165. package/dist/src/patch/types.js.map +1 -0
  166. package/dist/src/platform.d.ts +6 -0
  167. package/dist/src/platform.d.ts.map +1 -1
  168. package/dist/src/serialization/beast.d.ts.map +1 -1
  169. package/dist/src/serialization/beast.js +53 -18
  170. package/dist/src/serialization/beast.js.map +1 -1
  171. package/dist/src/serialization/beast2.d.ts +39 -3
  172. package/dist/src/serialization/beast2.d.ts.map +1 -1
  173. package/dist/src/serialization/beast2.js +241 -18
  174. package/dist/src/serialization/beast2.js.map +1 -1
  175. package/dist/src/serialization/csv.d.ts +139 -0
  176. package/dist/src/serialization/csv.d.ts.map +1 -0
  177. package/dist/src/serialization/csv.js +615 -0
  178. package/dist/src/serialization/csv.js.map +1 -0
  179. package/dist/src/serialization/index.d.ts +2 -1
  180. package/dist/src/serialization/index.d.ts.map +1 -1
  181. package/dist/src/serialization/index.js +2 -1
  182. package/dist/src/serialization/index.js.map +1 -1
  183. package/dist/src/type_of_type.d.ts +45 -34
  184. package/dist/src/type_of_type.d.ts.map +1 -1
  185. package/dist/src/type_of_type.js +62 -1
  186. package/dist/src/type_of_type.js.map +1 -1
  187. package/dist/src/types.d.ts +8 -8
  188. package/dist/src/types.d.ts.map +1 -1
  189. package/dist/src/types.js +4 -4
  190. package/dist/src/types.js.map +1 -1
  191. package/package.json +4 -5
@@ -410,5 +410,139 @@ export declare class StringExpr extends Expr<StringType> {
410
410
  * ```
411
411
  */
412
412
  encodeUtf16(): ExprType<BlobType>;
413
+ /**
414
+ * Checks if this string equals another value.
415
+ *
416
+ * @param other - The value to compare against
417
+ * @returns A BooleanExpr that is true if the values are equal
418
+ *
419
+ * @example
420
+ * ```ts
421
+ * const isEqual = East.function([StringType, StringType], BooleanType, ($, a, b) => {
422
+ * $.return(a.equals(b));
423
+ * });
424
+ * const compiled = East.compile(isEqual.toIR(), []);
425
+ * compiled("hello", "hello"); // true
426
+ * compiled("hello", "world"); // false
427
+ * ```
428
+ */
429
+ equals(other: StringExpr | string): BooleanExpr;
430
+ /**
431
+ * Checks if this string does not equal another value.
432
+ *
433
+ * @param other - The value to compare against
434
+ * @returns A BooleanExpr that is true if the values are not equal
435
+ *
436
+ * @example
437
+ * ```ts
438
+ * const isNotEqual = East.function([StringType, StringType], BooleanType, ($, a, b) => {
439
+ * $.return(a.notEquals(b));
440
+ * });
441
+ * const compiled = East.compile(isNotEqual.toIR(), []);
442
+ * compiled("hello", "world"); // true
443
+ * compiled("hello", "hello"); // false
444
+ * ```
445
+ */
446
+ notEquals(other: StringExpr | string): BooleanExpr;
447
+ /**
448
+ * Checks if this string is greater than another value (lexicographically).
449
+ *
450
+ * @param other - The value to compare against
451
+ * @returns A BooleanExpr that is true if this string is greater
452
+ *
453
+ * @example
454
+ * ```ts
455
+ * const isGreater = East.function([StringType, StringType], BooleanType, ($, a, b) => {
456
+ * $.return(a.greaterThan(b));
457
+ * });
458
+ * const compiled = East.compile(isGreater.toIR(), []);
459
+ * compiled("b", "a"); // true
460
+ * compiled("a", "b"); // false
461
+ * compiled("a", "a"); // false
462
+ * ```
463
+ */
464
+ greaterThan(other: StringExpr | string): BooleanExpr;
465
+ /**
466
+ * Checks if this string is less than another value (lexicographically).
467
+ *
468
+ * @param other - The value to compare against
469
+ * @returns A BooleanExpr that is true if this string is less
470
+ *
471
+ * @example
472
+ * ```ts
473
+ * const isLess = East.function([StringType, StringType], BooleanType, ($, a, b) => {
474
+ * $.return(a.lessThan(b));
475
+ * });
476
+ * const compiled = East.compile(isLess.toIR(), []);
477
+ * compiled("a", "b"); // true
478
+ * compiled("b", "a"); // false
479
+ * compiled("a", "a"); // false
480
+ * ```
481
+ */
482
+ lessThan(other: StringExpr | string): BooleanExpr;
483
+ /**
484
+ * Checks if this string is greater than or equal to another value (lexicographically).
485
+ *
486
+ * @param other - The value to compare against
487
+ * @returns A BooleanExpr that is true if this string is greater than or equal
488
+ *
489
+ * @example
490
+ * ```ts
491
+ * const isGreaterOrEqual = East.function([StringType, StringType], BooleanType, ($, a, b) => {
492
+ * $.return(a.greaterThanOrEqual(b));
493
+ * });
494
+ * const compiled = East.compile(isGreaterOrEqual.toIR(), []);
495
+ * compiled("b", "a"); // true
496
+ * compiled("a", "a"); // true
497
+ * compiled("a", "b"); // false
498
+ * ```
499
+ */
500
+ greaterThanOrEqual(other: StringExpr | string): BooleanExpr;
501
+ /**
502
+ * Checks if this string is less than or equal to another value (lexicographically).
503
+ *
504
+ * @param other - The value to compare against
505
+ * @returns A BooleanExpr that is true if this string is less than or equal
506
+ *
507
+ * @example
508
+ * ```ts
509
+ * const isLessOrEqual = East.function([StringType, StringType], BooleanType, ($, a, b) => {
510
+ * $.return(a.lessThanOrEqual(b));
511
+ * });
512
+ * const compiled = East.compile(isLessOrEqual.toIR(), []);
513
+ * compiled("a", "b"); // true
514
+ * compiled("a", "a"); // true
515
+ * compiled("b", "a"); // false
516
+ * ```
517
+ */
518
+ lessThanOrEqual(other: StringExpr | string): BooleanExpr;
519
+ /** Alias for {@link equals} */
520
+ eq: (other: StringExpr | string) => BooleanExpr;
521
+ /** Alias for {@link equals} */
522
+ equal: (other: StringExpr | string) => BooleanExpr;
523
+ /** Alias for {@link notEquals} */
524
+ ne: (other: StringExpr | string) => BooleanExpr;
525
+ /** Alias for {@link notEquals} */
526
+ notEqual: (other: StringExpr | string) => BooleanExpr;
527
+ /** Alias for {@link greaterThan} */
528
+ gt: (other: StringExpr | string) => BooleanExpr;
529
+ /** Alias for {@link greaterThan} */
530
+ greater: (other: StringExpr | string) => BooleanExpr;
531
+ /** Alias for {@link lessThan} */
532
+ lt: (other: StringExpr | string) => BooleanExpr;
533
+ /** Alias for {@link lessThan} */
534
+ less: (other: StringExpr | string) => BooleanExpr;
535
+ /** Alias for {@link greaterThanOrEqual} */
536
+ gte: (other: StringExpr | string) => BooleanExpr;
537
+ /** Alias for {@link greaterThanOrEqual} */
538
+ ge: (other: StringExpr | string) => BooleanExpr;
539
+ /** Alias for {@link greaterThanOrEqual} */
540
+ greaterEqual: (other: StringExpr | string) => BooleanExpr;
541
+ /** Alias for {@link lessThanOrEqual} */
542
+ lte: (other: StringExpr | string) => BooleanExpr;
543
+ /** Alias for {@link lessThanOrEqual} */
544
+ le: (other: StringExpr | string) => BooleanExpr;
545
+ /** Alias for {@link lessThanOrEqual} */
546
+ lessEqual: (other: StringExpr | string) => BooleanExpr;
413
547
  }
414
548
  //# sourceMappingURL=string.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../src/expr/string.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../src/expr/string.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { get_location } from "../location.js";
2
2
  import { ArrayType, BlobType, BooleanType, IntegerType, isDataType, StringType } from "../types.js";
3
3
  import { valueOrExprToAstTyped } from "./ast.js";
4
+ import { equal, notEqual, less, lessEqual, greater, greaterEqual } from "./block.js";
4
5
  import { AstSymbol, Expr, FactorySymbol } from "./expr.js";
5
6
  import { validateCrossPlatformCompatible } from "./regex_validation.js";
6
7
  /**
@@ -63,7 +64,7 @@ export class StringExpr extends Expr {
63
64
  return this[FactorySymbol]({
64
65
  ast_type: "Builtin",
65
66
  type: type,
66
- location: get_location(2),
67
+ location: get_location(),
67
68
  builtin: "Parse",
68
69
  type_parameters: [type],
69
70
  arguments: [this[AstSymbol]],
@@ -93,7 +94,7 @@ export class StringExpr extends Expr {
93
94
  ast_type: "Builtin",
94
95
  type: type,
95
96
  builtin: "StringParseJSON",
96
- location: { filename: "stdlib", line: 1, column: 1 },
97
+ location: [{ filename: "stdlib", line: 1, column: 1 }],
97
98
  type_parameters: [type],
98
99
  arguments: [this[AstSymbol]],
99
100
  });
@@ -120,7 +121,7 @@ export class StringExpr extends Expr {
120
121
  return this[FactorySymbol]({
121
122
  ast_type: "Builtin",
122
123
  type: StringType,
123
- location: get_location(2),
124
+ location: get_location(),
124
125
  builtin: "StringConcat",
125
126
  type_parameters: [],
126
127
  arguments: [this[AstSymbol], stringAst],
@@ -149,7 +150,7 @@ export class StringExpr extends Expr {
149
150
  return this[FactorySymbol]({
150
151
  ast_type: "Builtin",
151
152
  type: StringType,
152
- location: get_location(2),
153
+ location: get_location(),
153
154
  builtin: "StringRepeat",
154
155
  type_parameters: [],
155
156
  arguments: [this[AstSymbol], countAst],
@@ -175,7 +176,7 @@ export class StringExpr extends Expr {
175
176
  return this[FactorySymbol]({
176
177
  ast_type: "Builtin",
177
178
  type: IntegerType,
178
- location: get_location(2),
179
+ location: get_location(),
179
180
  builtin: "StringLength",
180
181
  type_parameters: [],
181
182
  arguments: [this[AstSymbol]],
@@ -207,7 +208,7 @@ export class StringExpr extends Expr {
207
208
  return this[FactorySymbol]({
208
209
  ast_type: "Builtin",
209
210
  type: StringType,
210
- location: get_location(2),
211
+ location: get_location(),
211
212
  builtin: "StringSubstring",
212
213
  type_parameters: [],
213
214
  arguments: [this[AstSymbol], fromAst, toAst],
@@ -233,7 +234,7 @@ export class StringExpr extends Expr {
233
234
  return this[FactorySymbol]({
234
235
  ast_type: "Builtin",
235
236
  type: StringType,
236
- location: get_location(2),
237
+ location: get_location(),
237
238
  builtin: "StringUpperCase",
238
239
  type_parameters: [],
239
240
  arguments: [this[AstSymbol]],
@@ -259,7 +260,7 @@ export class StringExpr extends Expr {
259
260
  return this[FactorySymbol]({
260
261
  ast_type: "Builtin",
261
262
  type: StringType,
262
- location: get_location(2),
263
+ location: get_location(),
263
264
  builtin: "StringLowerCase",
264
265
  type_parameters: [],
265
266
  arguments: [this[AstSymbol]],
@@ -288,7 +289,7 @@ export class StringExpr extends Expr {
288
289
  return this[FactorySymbol]({
289
290
  ast_type: "Builtin",
290
291
  type: ArrayType(StringType),
291
- location: get_location(2),
292
+ location: get_location(),
292
293
  builtin: "StringSplit",
293
294
  type_parameters: [],
294
295
  arguments: [this[AstSymbol], delimiterAst],
@@ -315,7 +316,7 @@ export class StringExpr extends Expr {
315
316
  return this[FactorySymbol]({
316
317
  ast_type: "Builtin",
317
318
  type: StringType,
318
- location: get_location(2),
319
+ location: get_location(),
319
320
  builtin: "StringTrim",
320
321
  type_parameters: [],
321
322
  arguments: [this[AstSymbol]],
@@ -341,7 +342,7 @@ export class StringExpr extends Expr {
341
342
  return this[FactorySymbol]({
342
343
  ast_type: "Builtin",
343
344
  type: StringType,
344
- location: get_location(2),
345
+ location: get_location(),
345
346
  builtin: "StringTrimStart",
346
347
  type_parameters: [],
347
348
  arguments: [this[AstSymbol]],
@@ -367,7 +368,7 @@ export class StringExpr extends Expr {
367
368
  return this[FactorySymbol]({
368
369
  ast_type: "Builtin",
369
370
  type: StringType,
370
- location: get_location(2),
371
+ location: get_location(),
371
372
  builtin: "StringTrimEnd",
372
373
  type_parameters: [],
373
374
  arguments: [this[AstSymbol]],
@@ -396,7 +397,7 @@ export class StringExpr extends Expr {
396
397
  return this[FactorySymbol]({
397
398
  ast_type: "Builtin",
398
399
  type: BooleanType,
399
- location: get_location(2),
400
+ location: get_location(),
400
401
  builtin: "StringStartsWith",
401
402
  type_parameters: [],
402
403
  arguments: [this[AstSymbol], prefixAst],
@@ -425,7 +426,7 @@ export class StringExpr extends Expr {
425
426
  return this[FactorySymbol]({
426
427
  ast_type: "Builtin",
427
428
  type: BooleanType,
428
- location: get_location(2),
429
+ location: get_location(),
429
430
  builtin: "StringEndsWith",
430
431
  type_parameters: [],
431
432
  arguments: [this[AstSymbol], suffixAst],
@@ -476,7 +477,7 @@ export class StringExpr extends Expr {
476
477
  return this[FactorySymbol]({
477
478
  ast_type: "Builtin",
478
479
  type: BooleanType,
479
- location: get_location(2),
480
+ location: get_location(),
480
481
  builtin: "RegexContains",
481
482
  type_parameters: [],
482
483
  arguments: [this[AstSymbol], patternAst, flagsAst],
@@ -487,7 +488,7 @@ export class StringExpr extends Expr {
487
488
  return this[FactorySymbol]({
488
489
  ast_type: "Builtin",
489
490
  type: BooleanType,
490
- location: get_location(2),
491
+ location: get_location(),
491
492
  builtin: "StringContains",
492
493
  type_parameters: [],
493
494
  arguments: [this[AstSymbol], substringAst],
@@ -539,7 +540,7 @@ export class StringExpr extends Expr {
539
540
  return this[FactorySymbol]({
540
541
  ast_type: "Builtin",
541
542
  type: IntegerType,
542
- location: get_location(2),
543
+ location: get_location(),
543
544
  builtin: "RegexIndexOf",
544
545
  type_parameters: [],
545
546
  arguments: [this[AstSymbol], patternAst, flagsAst],
@@ -550,7 +551,7 @@ export class StringExpr extends Expr {
550
551
  return this[FactorySymbol]({
551
552
  ast_type: "Builtin",
552
553
  type: IntegerType,
553
- location: get_location(2),
554
+ location: get_location(),
554
555
  builtin: "StringIndexOf",
555
556
  type_parameters: [],
556
557
  arguments: [this[AstSymbol], substringAst],
@@ -606,7 +607,7 @@ export class StringExpr extends Expr {
606
607
  return this[FactorySymbol]({
607
608
  ast_type: "Builtin",
608
609
  type: StringType,
609
- location: get_location(2),
610
+ location: get_location(),
610
611
  builtin: "RegexReplace",
611
612
  type_parameters: [],
612
613
  arguments: [this[AstSymbol], patternAst, flagsAst, replaceAst],
@@ -618,7 +619,7 @@ export class StringExpr extends Expr {
618
619
  return this[FactorySymbol]({
619
620
  ast_type: "Builtin",
620
621
  type: StringType,
621
- location: get_location(2),
622
+ location: get_location(),
622
623
  builtin: "StringReplace",
623
624
  type_parameters: [],
624
625
  arguments: [this[AstSymbol], searchAst, replaceAst],
@@ -646,7 +647,7 @@ export class StringExpr extends Expr {
646
647
  return this[FactorySymbol]({
647
648
  ast_type: "Builtin",
648
649
  type: BlobType,
649
- location: get_location(2),
650
+ location: get_location(),
650
651
  builtin: "StringEncodeUtf8",
651
652
  type_parameters: [],
652
653
  arguments: [this[AstSymbol]],
@@ -673,11 +674,160 @@ export class StringExpr extends Expr {
673
674
  return this[FactorySymbol]({
674
675
  ast_type: "Builtin",
675
676
  type: BlobType,
676
- location: get_location(2),
677
+ location: get_location(),
677
678
  builtin: "StringEncodeUtf16",
678
679
  type_parameters: [],
679
680
  arguments: [this[AstSymbol]],
680
681
  });
681
682
  }
683
+ /**
684
+ * Checks if this string equals another value.
685
+ *
686
+ * @param other - The value to compare against
687
+ * @returns A BooleanExpr that is true if the values are equal
688
+ *
689
+ * @example
690
+ * ```ts
691
+ * const isEqual = East.function([StringType, StringType], BooleanType, ($, a, b) => {
692
+ * $.return(a.equals(b));
693
+ * });
694
+ * const compiled = East.compile(isEqual.toIR(), []);
695
+ * compiled("hello", "hello"); // true
696
+ * compiled("hello", "world"); // false
697
+ * ```
698
+ */
699
+ equals(other) {
700
+ return equal(this, other);
701
+ }
702
+ /**
703
+ * Checks if this string does not equal another value.
704
+ *
705
+ * @param other - The value to compare against
706
+ * @returns A BooleanExpr that is true if the values are not equal
707
+ *
708
+ * @example
709
+ * ```ts
710
+ * const isNotEqual = East.function([StringType, StringType], BooleanType, ($, a, b) => {
711
+ * $.return(a.notEquals(b));
712
+ * });
713
+ * const compiled = East.compile(isNotEqual.toIR(), []);
714
+ * compiled("hello", "world"); // true
715
+ * compiled("hello", "hello"); // false
716
+ * ```
717
+ */
718
+ notEquals(other) {
719
+ return notEqual(this, other);
720
+ }
721
+ /**
722
+ * Checks if this string is greater than another value (lexicographically).
723
+ *
724
+ * @param other - The value to compare against
725
+ * @returns A BooleanExpr that is true if this string is greater
726
+ *
727
+ * @example
728
+ * ```ts
729
+ * const isGreater = East.function([StringType, StringType], BooleanType, ($, a, b) => {
730
+ * $.return(a.greaterThan(b));
731
+ * });
732
+ * const compiled = East.compile(isGreater.toIR(), []);
733
+ * compiled("b", "a"); // true
734
+ * compiled("a", "b"); // false
735
+ * compiled("a", "a"); // false
736
+ * ```
737
+ */
738
+ greaterThan(other) {
739
+ return greater(this, other);
740
+ }
741
+ /**
742
+ * Checks if this string is less than another value (lexicographically).
743
+ *
744
+ * @param other - The value to compare against
745
+ * @returns A BooleanExpr that is true if this string is less
746
+ *
747
+ * @example
748
+ * ```ts
749
+ * const isLess = East.function([StringType, StringType], BooleanType, ($, a, b) => {
750
+ * $.return(a.lessThan(b));
751
+ * });
752
+ * const compiled = East.compile(isLess.toIR(), []);
753
+ * compiled("a", "b"); // true
754
+ * compiled("b", "a"); // false
755
+ * compiled("a", "a"); // false
756
+ * ```
757
+ */
758
+ lessThan(other) {
759
+ return less(this, other);
760
+ }
761
+ /**
762
+ * Checks if this string is greater than or equal to another value (lexicographically).
763
+ *
764
+ * @param other - The value to compare against
765
+ * @returns A BooleanExpr that is true if this string is greater than or equal
766
+ *
767
+ * @example
768
+ * ```ts
769
+ * const isGreaterOrEqual = East.function([StringType, StringType], BooleanType, ($, a, b) => {
770
+ * $.return(a.greaterThanOrEqual(b));
771
+ * });
772
+ * const compiled = East.compile(isGreaterOrEqual.toIR(), []);
773
+ * compiled("b", "a"); // true
774
+ * compiled("a", "a"); // true
775
+ * compiled("a", "b"); // false
776
+ * ```
777
+ */
778
+ greaterThanOrEqual(other) {
779
+ return greaterEqual(this, other);
780
+ }
781
+ /**
782
+ * Checks if this string is less than or equal to another value (lexicographically).
783
+ *
784
+ * @param other - The value to compare against
785
+ * @returns A BooleanExpr that is true if this string is less than or equal
786
+ *
787
+ * @example
788
+ * ```ts
789
+ * const isLessOrEqual = East.function([StringType, StringType], BooleanType, ($, a, b) => {
790
+ * $.return(a.lessThanOrEqual(b));
791
+ * });
792
+ * const compiled = East.compile(isLessOrEqual.toIR(), []);
793
+ * compiled("a", "b"); // true
794
+ * compiled("a", "a"); // true
795
+ * compiled("b", "a"); // false
796
+ * ```
797
+ */
798
+ lessThanOrEqual(other) {
799
+ return lessEqual(this, other);
800
+ }
801
+ // ============================================================================
802
+ // Aliases for comparison operations
803
+ // ============================================================================
804
+ /** Alias for {@link equals} */
805
+ eq = this.equals;
806
+ /** Alias for {@link equals} */
807
+ equal = this.equals;
808
+ /** Alias for {@link notEquals} */
809
+ ne = this.notEquals;
810
+ /** Alias for {@link notEquals} */
811
+ notEqual = this.notEquals;
812
+ /** Alias for {@link greaterThan} */
813
+ gt = this.greaterThan;
814
+ /** Alias for {@link greaterThan} */
815
+ greater = this.greaterThan;
816
+ /** Alias for {@link lessThan} */
817
+ lt = this.lessThan;
818
+ /** Alias for {@link lessThan} */
819
+ less = this.lessThan;
820
+ /** Alias for {@link greaterThanOrEqual} */
821
+ gte = this.greaterThanOrEqual;
822
+ /** Alias for {@link greaterThanOrEqual} */
823
+ ge = this.greaterThanOrEqual;
824
+ /** Alias for {@link greaterThanOrEqual} */
825
+ greaterEqual = this.greaterThanOrEqual;
826
+ /** Alias for {@link lessThanOrEqual} */
827
+ lte = this.lessThanOrEqual;
828
+ /** Alias for {@link lessThanOrEqual} */
829
+ le = this.lessThanOrEqual;
830
+ /** Alias for {@link lessThanOrEqual} */
831
+ lessEqual = this.lessThanOrEqual;
682
832
  }
683
833
  //# sourceMappingURL=string.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../../../src/expr/string.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../../src/expr/string.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export declare const StructExpr: {
20
20
  from<T>(value: T): ExprType<import("./types.js").TypeOf<T>>;
21
21
  fromAst<T extends AST>(ast: T): ExprType<T["type"]>;
22
22
  block<F extends ($: import("./block.js").BlockBuilder<import("../types.js").NeverType>) => any>(body: F): ReturnType<F> extends void ? import("./never.js").NeverExpr : ExprType<import("./types.js").TypeOf<ReturnType<F>>>;
23
- error(message: import("./types.js").SubtypeExprOrValue<import("../types.js").StringType>, location?: import("../location.js").Location): ExprType<import("../types.js").NeverType>;
23
+ error(message: import("./types.js").SubtypeExprOrValue<import("../types.js").StringType>, location?: import("../location.js").Location[]): ExprType<import("../types.js").NeverType>;
24
24
  match<Cases extends Record<string, any>, Handlers extends { [K in keyof Cases]: ($: import("./block.js").BlockBuilder<import("../types.js").NeverType>, data: ExprType<Cases[K]>) => any; }>(variant: Expr<import("../types.js").VariantType<Cases>>, handlers: Handlers): ExprType<import("./types.js").TypeOf<{ [K in keyof Cases]: ReturnType<Handlers[K]>; }[keyof Cases]>>;
25
25
  tryCatch<T>(try_body: Expr<T>, catch_body: ($: import("./block.js").BlockBuilder<import("../types.js").NeverType>, message: ExprType<import("../types.js").StringType>, stack: ExprType<import("../types.js").ArrayType<StructType<{
26
26
  filename: import("../types.js").StringType;
@@ -1 +1 @@
1
- {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../../src/expr/struct.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAEL,SAAS,EACT,IAAI,EACJ,aAAa,EAEb,UAAU,EACV,KAAK,MAAM,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA4D3C,eAAO,MAAM,UAAU;SApBc,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,eAC5C,MAAM,OAAO,GAAG,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;sHAqBqoD,GAAI;uHAAoS,GAAI;2HAAsd,GAAI;4HAA8S,GAAI;;;;;;;;;;;;;CAFptF,CAAC;AACtC,MAAM,MAAM,UAAU,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG;KAAG,GAAG,IAAI,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;CAAE,CAAC"}
1
+ {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../../src/expr/struct.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAEL,SAAS,EACT,IAAI,EACJ,aAAa,EAEb,UAAU,EACV,KAAK,MAAM,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA4D3C,eAAO,MAAM,UAAU;SApBc,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,eAC5C,MAAM,OAAO,GAAG,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;sHAqB4oD,GAAI;uHAAoS,GAAI;2HAAsd,GAAI;4HAA8S,GAAI;;;;;;;;;;;;;CAF3tF,CAAC;AACtC,MAAM,MAAM,UAAU,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG;KAAG,GAAG,IAAI,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;CAAE,CAAC"}
@@ -53,7 +53,7 @@ const _StructExpr = class StructExpr extends Expr {
53
53
  get: () => this[FactorySymbol]({
54
54
  ast_type: "GetField",
55
55
  type,
56
- location: get_location(2),
56
+ location: get_location(),
57
57
  field: key,
58
58
  struct: ast,
59
59
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../src/expr/struct.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO;AACL,6DAA6D;AAC7D,SAAS,EACT,IAAI,EACJ,aAAa;AACb,6DAA6D;AAC7D,UAAU,EAEX,MAAM,WAAW,CAAC;AAGnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,WAAW,GAAG,MAAM,UAA+C,SAAQ,IAAwB;IACvG,YAAY,WAAmB,EAAE,GAAQ,EAAE,OAAe;QACxD,KAAK,CAAC,GAAG,CAAC,IAA0B,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAEpD,sDAAsD;QACtD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC/B,UAAU,EAAE,IAAI;gBAChB,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC7B,QAAQ,EAAE,UAAU;oBACpB,IAAI;oBACJ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;oBACzB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;iBACZ,CAAC;aACH,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"struct.js","sourceRoot":"","sources":["../../../src/expr/struct.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO;AACL,6DAA6D;AAC7D,SAAS,EACT,IAAI,EACJ,aAAa;AACb,6DAA6D;AAC7D,UAAU,EAEX,MAAM,WAAW,CAAC;AAGnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,WAAW,GAAG,MAAM,UAA+C,SAAQ,IAAwB;IACvG,YAAY,WAAmB,EAAE,GAAQ,EAAE,OAAe;QACxD,KAAK,CAAC,GAAG,CAAC,IAA0B,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAEpD,sDAAsD;QACtD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC/B,UAAU,EAAE,IAAI;gBAChB,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC7B,QAAQ,EAAE,UAAU;oBACpB,IAAI;oBACJ,QAAQ,EAAE,YAAY,EAAE;oBACxB,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;iBACZ,CAAC;aACH,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC"}
@@ -18,6 +18,7 @@ import type { SetExpr } from "./set.js";
18
18
  import type { DictExpr } from "./dict.js";
19
19
  import type { StructExpr } from "./struct.js";
20
20
  import type { VariantExpr } from "./variant.js";
21
+ import type { RecursiveExpr } from "./recursive.js";
21
22
  import type { CallableFunctionExpr } from "./function.js";
22
23
  import type { BlockBuilder } from "./block.js";
23
24
  import type { ref } from "../containers/ref.js";
@@ -31,11 +32,11 @@ export type SubtypeExprOrValue<T> = T extends never ? never : T extends NeverTyp
31
32
  [K in keyof Fields]: SubType<Fields[K]>;
32
33
  }>> | {
33
34
  [K in keyof Fields]: SubtypeExprOrValue<Fields[K]>;
34
- } : T extends VariantType<infer Cases> ? Expr<NeverType> | Expr<VariantType<{
35
+ } : T extends RecursiveType<infer U> ? RecursiveExpr<ExpandOnce<U, T>> | SubtypeExprOrValue<U> : T extends VariantType<infer Cases> ? Expr<NeverType> | Expr<VariantType<{
35
36
  [K in keyof Cases]?: SubType<Cases[K]>;
36
37
  }>> | {
37
38
  [K in keyof Cases]: variant<K, SubtypeExprOrValue<Cases[K]>>;
38
- }[keyof Cases] : T extends RecursiveType<infer U> ? Expr<T> | SubtypeExprOrValue<U> : T extends RecursiveTypeMarker ? any : T extends FunctionType<infer I, undefined> ? Expr<FunctionType<I, any>> | (($: BlockBuilder<NeverType>, ...input: {
39
+ }[keyof Cases] : T extends RecursiveTypeMarker ? any : T extends FunctionType<infer I, undefined> ? Expr<FunctionType<I, any>> | (($: BlockBuilder<NeverType>, ...input: {
39
40
  [K in keyof I]: ExprType<I[K]>;
40
41
  }) => any) : T extends FunctionType<infer I, infer O> ? Expr<FunctionType<I, SubType<O>>> | (($: BlockBuilder<O>, ...input: {
41
42
  [K in keyof I]: ExprType<I[K]>;
@@ -47,19 +48,19 @@ export type SubtypeExprOrValue<T> = T extends never ? never : T extends NeverTyp
47
48
  /** Expand a given recursive type one level deeper */
48
49
  export type ExpandOnce<T, NodeType> = T extends RefType<infer U> ? RefType<ExpandOnce<U, NodeType>> : T extends ArrayType<infer U> ? ArrayType<ExpandOnce<U, NodeType>> : T extends SetType<infer U> ? SetType<ExpandOnce<U, NodeType>> : T extends DictType<infer K, infer V> ? DictType<ExpandOnce<K, NodeType>, ExpandOnce<V, NodeType>> : T extends StructType<infer Fields> ? StructType<{
49
50
  [K in keyof Fields]: ExpandOnce<Fields[K], NodeType>;
50
- }> : T extends VariantType<infer Cases> ? VariantType<{
51
+ }> : T extends RecursiveType<infer U> ? RecursiveType<U> : T extends VariantType<infer Cases> ? VariantType<{
51
52
  [K in keyof Cases]: ExpandOnce<Cases[K], NodeType>;
52
- }> : T extends RecursiveType<infer U> ? RecursiveType<U> : T extends RecursiveTypeMarker ? NodeType : T;
53
+ }> : T extends RecursiveTypeMarker ? NodeType : T;
53
54
  /**
54
55
  * Type mapping from East types to their corresponding expression classes
55
56
  * This is the key type that provides concrete expression types to user code
56
57
  */
57
- export type ExprType<T> = T extends never ? never : T extends NeverType ? NeverExpr : T extends NeverType | NullType ? NullExpr : T extends NeverType | BooleanType ? BooleanExpr : T extends NeverType | IntegerType ? IntegerExpr : T extends NeverType | FloatType ? FloatExpr : T extends NeverType | StringType ? StringExpr : T extends NeverType | DateTimeType ? DateTimeExpr : T extends NeverType | BlobType ? BlobExpr : T extends NeverType | RefType<infer U> ? RefExpr<U> : T extends NeverType | ArrayType<infer V> ? ArrayExpr<V> : T extends NeverType | SetType<infer K> ? SetExpr<K> : T extends NeverType | DictType<infer K, infer V> ? DictExpr<K, V> : T extends NeverType | StructType<infer Fields> ? StructExpr<Fields> : T extends NeverType | VariantType<infer Cases> ? VariantExpr<Cases> : T extends NeverType | RecursiveType<infer U> ? ExprType<ExpandOnce<U, T>> : T extends NeverType | RecursiveTypeMarker ? NeverExpr : T extends NeverType | FunctionType<infer I, infer O> ? CallableFunctionExpr<I, O> : T extends NeverType | AsyncFunctionType<infer I, infer O> ? CallableAsyncFunctionExpr<I, O> : Expr<T>;
58
+ export type ExprType<T> = T extends never ? never : T extends NeverType ? NeverExpr : T extends NeverType | NullType ? NullExpr : T extends NeverType | BooleanType ? BooleanExpr : T extends NeverType | IntegerType ? IntegerExpr : T extends NeverType | FloatType ? FloatExpr : T extends NeverType | StringType ? StringExpr : T extends NeverType | DateTimeType ? DateTimeExpr : T extends NeverType | BlobType ? BlobExpr : T extends NeverType | RefType<infer U> ? RefExpr<U> : T extends NeverType | ArrayType<infer V> ? ArrayExpr<V> : T extends NeverType | SetType<infer K> ? SetExpr<K> : T extends NeverType | DictType<infer K, infer V> ? DictExpr<K, V> : T extends NeverType | StructType<infer Fields> ? StructExpr<Fields> : T extends NeverType | RecursiveType<infer U> ? RecursiveExpr<ExpandOnce<U, T>> : T extends NeverType | VariantType<infer Cases> ? VariantExpr<Cases> : T extends NeverType | RecursiveTypeMarker ? RecursiveExpr<any> : T extends NeverType | FunctionType<infer I, infer O> ? CallableFunctionExpr<I, O> : T extends NeverType | AsyncFunctionType<infer I, infer O> ? CallableAsyncFunctionExpr<I, O> : Expr<T>;
58
59
  /**
59
60
  * Type mapping from JavaScript/Expression values to East types
60
61
  * Used for type inference in factory methods
61
62
  */
62
- export type TypeOf<T> = T extends never ? never : T extends Expr<NeverType> ? NeverType : T extends null | Expr<NullType> ? NullType : T extends boolean | Expr<BooleanType> ? BooleanType : T extends bigint | Expr<IntegerType> ? IntegerType : T extends number | Expr<FloatType> ? FloatType : T extends string | Expr<StringType> ? StringType : T extends Date | Expr<DateTimeType> ? DateTimeType : T extends Uint8Array | Expr<BlobType> ? BlobType : T extends Expr<RefType<infer U>> ? RefType<U> : T extends ref<infer U> ? RefType<TypeOf<U>> : T extends Expr<ArrayType<infer U>> ? ArrayType<U> : T extends Array<infer U> ? ArrayType<TypeOf<U>> : T extends Expr<SetType<infer U>> ? SetType<U> : T extends Set<infer U> ? SetType<TypeOf<U>> : T extends Expr<DictType<infer K, infer V>> ? DictType<K, V> : T extends Map<infer K, infer V> ? DictType<TypeOf<K>, TypeOf<V>> : T extends Expr<FunctionType<infer I, infer O>> ? FunctionType<I, O> : T extends Expr<VariantType<infer Cases>> ? VariantType<Cases> : T extends variant<infer Case, infer U> ? Case extends string ? VariantType<{
63
+ export type TypeOf<T> = T extends never ? never : T extends Expr<NeverType> ? NeverType : T extends null | Expr<NullType> ? NullType : T extends boolean | Expr<BooleanType> ? BooleanType : T extends bigint | Expr<IntegerType> ? IntegerType : T extends number | Expr<FloatType> ? FloatType : T extends string | Expr<StringType> ? StringType : T extends Date | Expr<DateTimeType> ? DateTimeType : T extends Uint8Array | Expr<BlobType> ? BlobType : T extends Expr<RefType<infer U>> ? RefType<U> : T extends ref<infer U> ? RefType<TypeOf<U>> : T extends Expr<ArrayType<infer U>> ? ArrayType<U> : T extends Array<infer U> ? ArrayType<TypeOf<U>> : T extends Expr<SetType<infer U>> ? SetType<U> : T extends Set<infer U> ? SetType<TypeOf<U>> : T extends Expr<DictType<infer K, infer V>> ? DictType<K, V> : T extends Map<infer K, infer V> ? DictType<TypeOf<K>, TypeOf<V>> : T extends Expr<FunctionType<infer I, infer O>> ? FunctionType<I, O> : T extends Expr<RecursiveType<infer _U>> ? (T extends Expr<infer R> ? R : never) : T extends Expr<VariantType<infer Cases>> ? VariantType<Cases> : T extends variant<infer Case, infer U> ? Case extends string ? VariantType<{
63
64
  [K in Case]: TypeOf<U>;
64
65
  }> : never : T extends Expr<StructType<infer Fields>> ? StructType<keyof Fields extends keyof T ? {
65
66
  [K in (string & keyof T)]: TypeOf<T[K]>;