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

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 (190) 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 +52 -13
  6. package/dist/src/analyze.js.map +1 -1
  7. package/dist/src/ast.d.ts +34 -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 +134 -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 +374 -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.map +1 -1
  26. package/dist/src/eastir.js +21 -5
  27. package/dist/src/eastir.js.map +1 -1
  28. package/dist/src/error.d.ts +12 -1
  29. package/dist/src/error.d.ts.map +1 -1
  30. package/dist/src/error.js +31 -1
  31. package/dist/src/error.js.map +1 -1
  32. package/dist/src/expr/array.d.ts +109 -1
  33. package/dist/src/expr/array.d.ts.map +1 -1
  34. package/dist/src/expr/array.js +204 -44
  35. package/dist/src/expr/array.js.map +1 -1
  36. package/dist/src/expr/ast.d.ts +1 -1
  37. package/dist/src/expr/ast.d.ts.map +1 -1
  38. package/dist/src/expr/ast.js +16 -28
  39. package/dist/src/expr/ast.js.map +1 -1
  40. package/dist/src/expr/asyncfunction.js +1 -1
  41. package/dist/src/expr/asyncfunction.js.map +1 -1
  42. package/dist/src/expr/blob.d.ts +73 -1
  43. package/dist/src/expr/blob.d.ts.map +1 -1
  44. package/dist/src/expr/blob.js +97 -7
  45. package/dist/src/expr/blob.js.map +1 -1
  46. package/dist/src/expr/block.d.ts +206 -8
  47. package/dist/src/expr/block.d.ts.map +1 -1
  48. package/dist/src/expr/block.js +623 -136
  49. package/dist/src/expr/block.js.map +1 -1
  50. package/dist/src/expr/boolean.d.ts +44 -0
  51. package/dist/src/expr/boolean.d.ts.map +1 -1
  52. package/dist/src/expr/boolean.js +57 -5
  53. package/dist/src/expr/boolean.js.map +1 -1
  54. package/dist/src/expr/datetime.d.ts +135 -0
  55. package/dist/src/expr/datetime.d.ts.map +1 -1
  56. package/dist/src/expr/datetime.js +183 -33
  57. package/dist/src/expr/datetime.js.map +1 -1
  58. package/dist/src/expr/dict.d.ts +42 -0
  59. package/dist/src/expr/dict.d.ts.map +1 -1
  60. package/dist/src/expr/dict.js +105 -55
  61. package/dist/src/expr/dict.js.map +1 -1
  62. package/dist/src/expr/expr.d.ts +1 -1
  63. package/dist/src/expr/expr.d.ts.map +1 -1
  64. package/dist/src/expr/expr.js.map +1 -1
  65. package/dist/src/expr/float.d.ts +153 -0
  66. package/dist/src/expr/float.d.ts.map +1 -1
  67. package/dist/src/expr/float.js +190 -16
  68. package/dist/src/expr/float.js.map +1 -1
  69. package/dist/src/expr/function.d.ts +7 -2
  70. package/dist/src/expr/function.d.ts.map +1 -1
  71. package/dist/src/expr/function.js +1 -1
  72. package/dist/src/expr/function.js.map +1 -1
  73. package/dist/src/expr/index.d.ts +202 -2
  74. package/dist/src/expr/index.d.ts.map +1 -1
  75. package/dist/src/expr/index.js +207 -2
  76. package/dist/src/expr/index.js.map +1 -1
  77. package/dist/src/expr/integer.d.ts +180 -0
  78. package/dist/src/expr/integer.d.ts.map +1 -1
  79. package/dist/src/expr/integer.js +188 -17
  80. package/dist/src/expr/integer.js.map +1 -1
  81. package/dist/src/expr/libs/blob.js +2 -2
  82. package/dist/src/expr/libs/blob.js.map +1 -1
  83. package/dist/src/expr/libs/integer.d.ts +19 -0
  84. package/dist/src/expr/libs/integer.d.ts.map +1 -1
  85. package/dist/src/expr/libs/integer.js +47 -0
  86. package/dist/src/expr/libs/integer.js.map +1 -1
  87. package/dist/src/expr/libs/string.js +1 -1
  88. package/dist/src/expr/libs/string.js.map +1 -1
  89. package/dist/src/expr/recursive.d.ts +83 -0
  90. package/dist/src/expr/recursive.d.ts.map +1 -0
  91. package/dist/src/expr/recursive.js +99 -0
  92. package/dist/src/expr/recursive.js.map +1 -0
  93. package/dist/src/expr/ref.js +3 -3
  94. package/dist/src/expr/ref.js.map +1 -1
  95. package/dist/src/expr/set.d.ts +44 -2
  96. package/dist/src/expr/set.d.ts.map +1 -1
  97. package/dist/src/expr/set.js +97 -47
  98. package/dist/src/expr/set.js.map +1 -1
  99. package/dist/src/expr/string.d.ts +134 -0
  100. package/dist/src/expr/string.d.ts.map +1 -1
  101. package/dist/src/expr/string.js +172 -22
  102. package/dist/src/expr/string.js.map +1 -1
  103. package/dist/src/expr/struct.d.ts +1 -1
  104. package/dist/src/expr/struct.d.ts.map +1 -1
  105. package/dist/src/expr/struct.js +1 -1
  106. package/dist/src/expr/struct.js.map +1 -1
  107. package/dist/src/expr/types.d.ts +7 -6
  108. package/dist/src/expr/types.d.ts.map +1 -1
  109. package/dist/src/expr/variant.d.ts +123 -1
  110. package/dist/src/expr/variant.d.ts.map +1 -1
  111. package/dist/src/expr/variant.js +66 -2
  112. package/dist/src/expr/variant.js.map +1 -1
  113. package/dist/src/fuzz.d.ts +36 -2
  114. package/dist/src/fuzz.d.ts.map +1 -1
  115. package/dist/src/fuzz.js +344 -77
  116. package/dist/src/fuzz.js.map +1 -1
  117. package/dist/src/index.d.ts +1 -0
  118. package/dist/src/index.d.ts.map +1 -1
  119. package/dist/src/index.js +1 -0
  120. package/dist/src/index.js.map +1 -1
  121. package/dist/src/internal.d.ts +12 -0
  122. package/dist/src/internal.d.ts.map +1 -1
  123. package/dist/src/internal.js +13 -0
  124. package/dist/src/internal.js.map +1 -1
  125. package/dist/src/ir.d.ts +1547 -1505
  126. package/dist/src/ir.d.ts.map +1 -1
  127. package/dist/src/ir.js +49 -34
  128. package/dist/src/ir.js.map +1 -1
  129. package/dist/src/location.d.ts +30 -10
  130. package/dist/src/location.d.ts.map +1 -1
  131. package/dist/src/location.js +70 -28
  132. package/dist/src/location.js.map +1 -1
  133. package/dist/src/patch/apply.d.ts +15 -0
  134. package/dist/src/patch/apply.d.ts.map +1 -0
  135. package/dist/src/patch/apply.js +380 -0
  136. package/dist/src/patch/apply.js.map +1 -0
  137. package/dist/src/patch/compose.d.ts +15 -0
  138. package/dist/src/patch/compose.d.ts.map +1 -0
  139. package/dist/src/patch/compose.js +480 -0
  140. package/dist/src/patch/compose.js.map +1 -0
  141. package/dist/src/patch/diff.d.ts +15 -0
  142. package/dist/src/patch/diff.d.ts.map +1 -0
  143. package/dist/src/patch/diff.js +328 -0
  144. package/dist/src/patch/diff.js.map +1 -0
  145. package/dist/src/patch/fuzz.d.ts +73 -0
  146. package/dist/src/patch/fuzz.d.ts.map +1 -0
  147. package/dist/src/patch/fuzz.js +159 -0
  148. package/dist/src/patch/fuzz.js.map +1 -0
  149. package/dist/src/patch/index.d.ts +18 -0
  150. package/dist/src/patch/index.d.ts.map +1 -0
  151. package/dist/src/patch/index.js +20 -0
  152. package/dist/src/patch/index.js.map +1 -0
  153. package/dist/src/patch/invert.d.ts +15 -0
  154. package/dist/src/patch/invert.d.ts.map +1 -0
  155. package/dist/src/patch/invert.js +302 -0
  156. package/dist/src/patch/invert.js.map +1 -0
  157. package/dist/src/patch/type_of_patch.d.ts +17 -0
  158. package/dist/src/patch/type_of_patch.d.ts.map +1 -0
  159. package/dist/src/patch/type_of_patch.js +143 -0
  160. package/dist/src/patch/type_of_patch.js.map +1 -0
  161. package/dist/src/patch/types.d.ts +166 -0
  162. package/dist/src/patch/types.d.ts.map +1 -0
  163. package/dist/src/patch/types.js +69 -0
  164. package/dist/src/patch/types.js.map +1 -0
  165. package/dist/src/platform.d.ts +6 -0
  166. package/dist/src/platform.d.ts.map +1 -1
  167. package/dist/src/serialization/beast.d.ts.map +1 -1
  168. package/dist/src/serialization/beast.js +53 -18
  169. package/dist/src/serialization/beast.js.map +1 -1
  170. package/dist/src/serialization/beast2.d.ts +39 -3
  171. package/dist/src/serialization/beast2.d.ts.map +1 -1
  172. package/dist/src/serialization/beast2.js +241 -18
  173. package/dist/src/serialization/beast2.js.map +1 -1
  174. package/dist/src/serialization/csv.d.ts +139 -0
  175. package/dist/src/serialization/csv.d.ts.map +1 -0
  176. package/dist/src/serialization/csv.js +615 -0
  177. package/dist/src/serialization/csv.js.map +1 -0
  178. package/dist/src/serialization/index.d.ts +2 -1
  179. package/dist/src/serialization/index.d.ts.map +1 -1
  180. package/dist/src/serialization/index.js +2 -1
  181. package/dist/src/serialization/index.js.map +1 -1
  182. package/dist/src/type_of_type.d.ts +45 -34
  183. package/dist/src/type_of_type.d.ts.map +1 -1
  184. package/dist/src/type_of_type.js +62 -1
  185. package/dist/src/type_of_type.js.map +1 -1
  186. package/dist/src/types.d.ts +8 -8
  187. package/dist/src/types.d.ts.map +1 -1
  188. package/dist/src/types.js +4 -4
  189. package/dist/src/types.js.map +1 -1
  190. package/package.json +4 -5
@@ -9,6 +9,7 @@ import type { IntegerExpr } from "./integer.js";
9
9
  import type { StringExpr } from "./string.js";
10
10
  import { Expr, type ToExpr } from "./expr.js";
11
11
  import type { SubtypeExprOrValue } from "./types.js";
12
+ import type { BooleanExpr } from "./boolean.js";
12
13
  /**
13
14
  * Expression representing date and time values and operations.
14
15
  *
@@ -493,6 +494,140 @@ export declare class DateTimeExpr extends Expr<DateTimeType> {
493
494
  * ```
494
495
  */
495
496
  printFormatted(formatString: string): StringExpr;
497
+ /**
498
+ * Checks if this DateTime equals another value.
499
+ *
500
+ * @param other - The value to compare against
501
+ * @returns A BooleanExpr that is true if the values are equal
502
+ *
503
+ * @example
504
+ * ```ts
505
+ * const isEqual = East.function([DateTimeType, DateTimeType], BooleanType, ($, a, b) => {
506
+ * $.return(a.equals(b));
507
+ * });
508
+ * const compiled = East.compile(isEqual.toIR(), []);
509
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // true
510
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-16T00:00:00.000Z")); // false
511
+ * ```
512
+ */
513
+ equals(other: DateTimeExpr | Date): BooleanExpr;
514
+ /**
515
+ * Checks if this DateTime does not equal another value.
516
+ *
517
+ * @param other - The value to compare against
518
+ * @returns A BooleanExpr that is true if the values are not equal
519
+ *
520
+ * @example
521
+ * ```ts
522
+ * const isNotEqual = East.function([DateTimeType, DateTimeType], BooleanType, ($, a, b) => {
523
+ * $.return(a.notEquals(b));
524
+ * });
525
+ * const compiled = East.compile(isNotEqual.toIR(), []);
526
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-16T00:00:00.000Z")); // true
527
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // false
528
+ * ```
529
+ */
530
+ notEquals(other: DateTimeExpr | Date): BooleanExpr;
531
+ /**
532
+ * Checks if this DateTime is after another value.
533
+ *
534
+ * @param other - The value to compare against
535
+ * @returns A BooleanExpr that is true if this DateTime is after the other
536
+ *
537
+ * @example
538
+ * ```ts
539
+ * const isAfter = East.function([DateTimeType, DateTimeType], BooleanType, ($, a, b) => {
540
+ * $.return(a.greaterThan(b));
541
+ * });
542
+ * const compiled = East.compile(isAfter.toIR(), []);
543
+ * compiled(new Date("2025-01-16T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // true
544
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-16T00:00:00.000Z")); // false
545
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // false
546
+ * ```
547
+ */
548
+ greaterThan(other: DateTimeExpr | Date): BooleanExpr;
549
+ /**
550
+ * Checks if this DateTime is before another value.
551
+ *
552
+ * @param other - The value to compare against
553
+ * @returns A BooleanExpr that is true if this DateTime is before the other
554
+ *
555
+ * @example
556
+ * ```ts
557
+ * const isBefore = East.function([DateTimeType, DateTimeType], BooleanType, ($, a, b) => {
558
+ * $.return(a.lessThan(b));
559
+ * });
560
+ * const compiled = East.compile(isBefore.toIR(), []);
561
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-16T00:00:00.000Z")); // true
562
+ * compiled(new Date("2025-01-16T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // false
563
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // false
564
+ * ```
565
+ */
566
+ lessThan(other: DateTimeExpr | Date): BooleanExpr;
567
+ /**
568
+ * Checks if this DateTime is after or equal to another value.
569
+ *
570
+ * @param other - The value to compare against
571
+ * @returns A BooleanExpr that is true if this DateTime is after or equal to the other
572
+ *
573
+ * @example
574
+ * ```ts
575
+ * const isAfterOrEqual = East.function([DateTimeType, DateTimeType], BooleanType, ($, a, b) => {
576
+ * $.return(a.greaterThanOrEqual(b));
577
+ * });
578
+ * const compiled = East.compile(isAfterOrEqual.toIR(), []);
579
+ * compiled(new Date("2025-01-16T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // true
580
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // true
581
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-16T00:00:00.000Z")); // false
582
+ * ```
583
+ */
584
+ greaterThanOrEqual(other: DateTimeExpr | Date): BooleanExpr;
585
+ /**
586
+ * Checks if this DateTime is before or equal to another value.
587
+ *
588
+ * @param other - The value to compare against
589
+ * @returns A BooleanExpr that is true if this DateTime is before or equal to the other
590
+ *
591
+ * @example
592
+ * ```ts
593
+ * const isBeforeOrEqual = East.function([DateTimeType, DateTimeType], BooleanType, ($, a, b) => {
594
+ * $.return(a.lessThanOrEqual(b));
595
+ * });
596
+ * const compiled = East.compile(isBeforeOrEqual.toIR(), []);
597
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-16T00:00:00.000Z")); // true
598
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // true
599
+ * compiled(new Date("2025-01-16T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // false
600
+ * ```
601
+ */
602
+ lessThanOrEqual(other: DateTimeExpr | Date): BooleanExpr;
603
+ /** Alias for {@link equals} */
604
+ eq: (other: DateTimeExpr | Date) => BooleanExpr;
605
+ /** Alias for {@link equals} */
606
+ equal: (other: DateTimeExpr | Date) => BooleanExpr;
607
+ /** Alias for {@link notEquals} */
608
+ ne: (other: DateTimeExpr | Date) => BooleanExpr;
609
+ /** Alias for {@link notEquals} */
610
+ notEqual: (other: DateTimeExpr | Date) => BooleanExpr;
611
+ /** Alias for {@link greaterThan} */
612
+ gt: (other: DateTimeExpr | Date) => BooleanExpr;
613
+ /** Alias for {@link greaterThan} */
614
+ greater: (other: DateTimeExpr | Date) => BooleanExpr;
615
+ /** Alias for {@link lessThan} */
616
+ lt: (other: DateTimeExpr | Date) => BooleanExpr;
617
+ /** Alias for {@link lessThan} */
618
+ less: (other: DateTimeExpr | Date) => BooleanExpr;
619
+ /** Alias for {@link greaterThanOrEqual} */
620
+ gte: (other: DateTimeExpr | Date) => BooleanExpr;
621
+ /** Alias for {@link greaterThanOrEqual} */
622
+ ge: (other: DateTimeExpr | Date) => BooleanExpr;
623
+ /** Alias for {@link greaterThanOrEqual} */
624
+ greaterEqual: (other: DateTimeExpr | Date) => BooleanExpr;
625
+ /** Alias for {@link lessThanOrEqual} */
626
+ lte: (other: DateTimeExpr | Date) => BooleanExpr;
627
+ /** Alias for {@link lessThanOrEqual} */
628
+ le: (other: DateTimeExpr | Date) => BooleanExpr;
629
+ /** Alias for {@link lessThanOrEqual} */
630
+ lessEqual: (other: DateTimeExpr | Date) => BooleanExpr;
496
631
  }
497
632
  export declare function fromEpochMilliseconds(milliseconds: IntegerExpr | bigint): DateTimeExpr;
498
633
  export declare function fromComponents(year: IntegerExpr | bigint, month?: IntegerExpr | bigint, day?: IntegerExpr | bigint, hour?: IntegerExpr | bigint, minute?: IntegerExpr | bigint, second?: IntegerExpr | bigint, millisecond?: IntegerExpr | bigint): DateTimeExpr;
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../src/expr/datetime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../src/expr/datetime.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { valueOrExprToAst } from "./ast.js";
5
5
  import { tokenizeDateTimeFormat } from "../datetime_format/tokenize.js";
6
6
  import { DateTimeFormatTokenType } from "../datetime_format/types.js";
7
7
  import { validateDateTimeFormatTokens } from "../datetime_format/validate.js";
8
+ import { equal, notEqual, less, lessEqual, greater, greaterEqual } from "./block.js";
8
9
  /**
9
10
  * Expression representing date and time values and operations.
10
11
  *
@@ -55,7 +56,7 @@ export class DateTimeExpr extends Expr {
55
56
  return this[FactorySymbol]({
56
57
  ast_type: "Builtin",
57
58
  type: IntegerType,
58
- location: get_location(2),
59
+ location: get_location(),
59
60
  builtin: "DateTimeGetYear",
60
61
  type_parameters: [],
61
62
  arguments: [this[AstSymbol]],
@@ -80,7 +81,7 @@ export class DateTimeExpr extends Expr {
80
81
  return this[FactorySymbol]({
81
82
  ast_type: "Builtin",
82
83
  type: IntegerType,
83
- location: get_location(2),
84
+ location: get_location(),
84
85
  builtin: "DateTimeGetMonth",
85
86
  type_parameters: [],
86
87
  arguments: [this[AstSymbol]],
@@ -105,7 +106,7 @@ export class DateTimeExpr extends Expr {
105
106
  return this[FactorySymbol]({
106
107
  ast_type: "Builtin",
107
108
  type: IntegerType,
108
- location: get_location(2),
109
+ location: get_location(),
109
110
  builtin: "DateTimeGetDayOfMonth",
110
111
  type_parameters: [],
111
112
  arguments: [this[AstSymbol]],
@@ -130,7 +131,7 @@ export class DateTimeExpr extends Expr {
130
131
  return this[FactorySymbol]({
131
132
  ast_type: "Builtin",
132
133
  type: IntegerType,
133
- location: get_location(2),
134
+ location: get_location(),
134
135
  builtin: "DateTimeGetHour",
135
136
  type_parameters: [],
136
137
  arguments: [this[AstSymbol]],
@@ -155,7 +156,7 @@ export class DateTimeExpr extends Expr {
155
156
  return this[FactorySymbol]({
156
157
  ast_type: "Builtin",
157
158
  type: IntegerType,
158
- location: get_location(2),
159
+ location: get_location(),
159
160
  builtin: "DateTimeGetMinute",
160
161
  type_parameters: [],
161
162
  arguments: [this[AstSymbol]],
@@ -180,7 +181,7 @@ export class DateTimeExpr extends Expr {
180
181
  return this[FactorySymbol]({
181
182
  ast_type: "Builtin",
182
183
  type: IntegerType,
183
- location: get_location(2),
184
+ location: get_location(),
184
185
  builtin: "DateTimeGetSecond",
185
186
  type_parameters: [],
186
187
  arguments: [this[AstSymbol]],
@@ -205,7 +206,7 @@ export class DateTimeExpr extends Expr {
205
206
  return this[FactorySymbol]({
206
207
  ast_type: "Builtin",
207
208
  type: IntegerType,
208
- location: get_location(2),
209
+ location: get_location(),
209
210
  builtin: "DateTimeGetDayOfWeek",
210
211
  type_parameters: [],
211
212
  arguments: [this[AstSymbol]],
@@ -230,7 +231,7 @@ export class DateTimeExpr extends Expr {
230
231
  return this[FactorySymbol]({
231
232
  ast_type: "Builtin",
232
233
  type: IntegerType,
233
- location: get_location(2),
234
+ location: get_location(),
234
235
  builtin: "DateTimeGetMillisecond",
235
236
  type_parameters: [],
236
237
  arguments: [this[AstSymbol]],
@@ -273,7 +274,7 @@ export class DateTimeExpr extends Expr {
273
274
  ms = this[FactorySymbol]({
274
275
  ast_type: "Builtin",
275
276
  type: IntegerType,
276
- location: get_location(2),
277
+ location: get_location(),
277
278
  builtin: "FloatToInteger",
278
279
  type_parameters: [],
279
280
  arguments: [milliseconds[AstSymbol]],
@@ -285,7 +286,7 @@ export class DateTimeExpr extends Expr {
285
286
  return this[FactorySymbol]({
286
287
  ast_type: "Builtin",
287
288
  type: DateTimeType,
288
- location: get_location(2),
289
+ location: get_location(),
289
290
  builtin: "DateTimeAddMilliseconds",
290
291
  type_parameters: [],
291
292
  arguments: [this[AstSymbol], ms[AstSymbol]],
@@ -323,7 +324,7 @@ export class DateTimeExpr extends Expr {
323
324
  const negated = this[FactorySymbol]({
324
325
  ast_type: "Builtin",
325
326
  type: IntegerType,
326
- location: get_location(2),
327
+ location: get_location(),
327
328
  builtin: "IntegerNegate",
328
329
  type_parameters: [],
329
330
  arguments: [milliseconds[AstSymbol]],
@@ -335,7 +336,7 @@ export class DateTimeExpr extends Expr {
335
336
  const negated = this[FactorySymbol]({
336
337
  ast_type: "Builtin",
337
338
  type: FloatType,
338
- location: get_location(2),
339
+ location: get_location(),
339
340
  builtin: "FloatNegate",
340
341
  type_parameters: [],
341
342
  arguments: [milliseconds[AstSymbol]],
@@ -501,7 +502,7 @@ export class DateTimeExpr extends Expr {
501
502
  ms = this[FactorySymbol]({
502
503
  ast_type: "Builtin",
503
504
  type: IntegerType,
504
- location: get_location(2),
505
+ location: get_location(),
505
506
  builtin: "IntegerMultiply",
506
507
  type_parameters: [],
507
508
  arguments: [value[AstSymbol], factorExpr[AstSymbol]],
@@ -512,7 +513,7 @@ export class DateTimeExpr extends Expr {
512
513
  const intValue = this[FactorySymbol]({
513
514
  ast_type: "Builtin",
514
515
  type: IntegerType,
515
- location: get_location(2),
516
+ location: get_location(),
516
517
  builtin: "FloatToInteger",
517
518
  type_parameters: [],
518
519
  arguments: [value[AstSymbol]],
@@ -521,7 +522,7 @@ export class DateTimeExpr extends Expr {
521
522
  ms = this[FactorySymbol]({
522
523
  ast_type: "Builtin",
523
524
  type: IntegerType,
524
- location: get_location(2),
525
+ location: get_location(),
525
526
  builtin: "IntegerMultiply",
526
527
  type_parameters: [],
527
528
  arguments: [intValue[AstSymbol], factorExpr[AstSymbol]],
@@ -548,7 +549,7 @@ export class DateTimeExpr extends Expr {
548
549
  negatedValue = this[FactorySymbol]({
549
550
  ast_type: "Builtin",
550
551
  type: IntegerType,
551
- location: get_location(2),
552
+ location: get_location(),
552
553
  builtin: "IntegerNegate",
553
554
  type_parameters: [],
554
555
  arguments: [value[AstSymbol]],
@@ -559,7 +560,7 @@ export class DateTimeExpr extends Expr {
559
560
  negatedValue = this[FactorySymbol]({
560
561
  ast_type: "Builtin",
561
562
  type: FloatType,
562
- location: get_location(2),
563
+ location: get_location(),
563
564
  builtin: "FloatNegate",
564
565
  type_parameters: [],
565
566
  arguments: [value[AstSymbol]],
@@ -593,7 +594,7 @@ export class DateTimeExpr extends Expr {
593
594
  return this[FactorySymbol]({
594
595
  ast_type: "Builtin",
595
596
  type: IntegerType,
596
- location: get_location(2),
597
+ location: get_location(),
597
598
  builtin: "DateTimeDurationMilliseconds",
598
599
  type_parameters: [],
599
600
  arguments: [otherAst, this[AstSymbol]],
@@ -622,7 +623,7 @@ export class DateTimeExpr extends Expr {
622
623
  const millisecondsFloat = this[FactorySymbol]({
623
624
  ast_type: "Builtin",
624
625
  type: FloatType,
625
- location: get_location(2),
626
+ location: get_location(),
626
627
  builtin: "IntegerToFloat",
627
628
  type_parameters: [],
628
629
  arguments: [milliseconds[AstSymbol]],
@@ -632,7 +633,7 @@ export class DateTimeExpr extends Expr {
632
633
  return this[FactorySymbol]({
633
634
  ast_type: "Builtin",
634
635
  type: FloatType,
635
- location: get_location(2),
636
+ location: get_location(),
636
637
  builtin: "FloatDivide",
637
638
  type_parameters: [],
638
639
  arguments: [millisecondsFloat[AstSymbol], divisor[AstSymbol]],
@@ -661,7 +662,7 @@ export class DateTimeExpr extends Expr {
661
662
  const millisecondsFloat = this[FactorySymbol]({
662
663
  ast_type: "Builtin",
663
664
  type: FloatType,
664
- location: get_location(2),
665
+ location: get_location(),
665
666
  builtin: "IntegerToFloat",
666
667
  type_parameters: [],
667
668
  arguments: [milliseconds[AstSymbol]],
@@ -671,7 +672,7 @@ export class DateTimeExpr extends Expr {
671
672
  return this[FactorySymbol]({
672
673
  ast_type: "Builtin",
673
674
  type: FloatType,
674
- location: get_location(2),
675
+ location: get_location(),
675
676
  builtin: "FloatDivide",
676
677
  type_parameters: [],
677
678
  arguments: [millisecondsFloat[AstSymbol], divisor[AstSymbol]],
@@ -700,7 +701,7 @@ export class DateTimeExpr extends Expr {
700
701
  const millisecondsFloat = this[FactorySymbol]({
701
702
  ast_type: "Builtin",
702
703
  type: FloatType,
703
- location: get_location(2),
704
+ location: get_location(),
704
705
  builtin: "IntegerToFloat",
705
706
  type_parameters: [],
706
707
  arguments: [milliseconds[AstSymbol]],
@@ -710,7 +711,7 @@ export class DateTimeExpr extends Expr {
710
711
  return this[FactorySymbol]({
711
712
  ast_type: "Builtin",
712
713
  type: FloatType,
713
- location: get_location(2),
714
+ location: get_location(),
714
715
  builtin: "FloatDivide",
715
716
  type_parameters: [],
716
717
  arguments: [millisecondsFloat[AstSymbol], divisor[AstSymbol]],
@@ -739,7 +740,7 @@ export class DateTimeExpr extends Expr {
739
740
  const millisecondsFloat = this[FactorySymbol]({
740
741
  ast_type: "Builtin",
741
742
  type: FloatType,
742
- location: get_location(2),
743
+ location: get_location(),
743
744
  builtin: "IntegerToFloat",
744
745
  type_parameters: [],
745
746
  arguments: [milliseconds[AstSymbol]],
@@ -749,7 +750,7 @@ export class DateTimeExpr extends Expr {
749
750
  return this[FactorySymbol]({
750
751
  ast_type: "Builtin",
751
752
  type: FloatType,
752
- location: get_location(2),
753
+ location: get_location(),
753
754
  builtin: "FloatDivide",
754
755
  type_parameters: [],
755
756
  arguments: [millisecondsFloat[AstSymbol], divisor[AstSymbol]],
@@ -778,7 +779,7 @@ export class DateTimeExpr extends Expr {
778
779
  const millisecondsFloat = this[FactorySymbol]({
779
780
  ast_type: "Builtin",
780
781
  type: FloatType,
781
- location: get_location(2),
782
+ location: get_location(),
782
783
  builtin: "IntegerToFloat",
783
784
  type_parameters: [],
784
785
  arguments: [milliseconds[AstSymbol]],
@@ -788,7 +789,7 @@ export class DateTimeExpr extends Expr {
788
789
  return this[FactorySymbol]({
789
790
  ast_type: "Builtin",
790
791
  type: FloatType,
791
- location: get_location(2),
792
+ location: get_location(),
792
793
  builtin: "FloatDivide",
793
794
  type_parameters: [],
794
795
  arguments: [millisecondsFloat[AstSymbol], divisor[AstSymbol]],
@@ -813,7 +814,7 @@ export class DateTimeExpr extends Expr {
813
814
  return this[FactorySymbol]({
814
815
  ast_type: "Builtin",
815
816
  type: IntegerType,
816
- location: get_location(2),
817
+ location: get_location(),
817
818
  builtin: "DateTimeToEpochMilliseconds",
818
819
  type_parameters: [],
819
820
  arguments: [this[AstSymbol]],
@@ -863,12 +864,161 @@ export class DateTimeExpr extends Expr {
863
864
  return this[FactorySymbol]({
864
865
  ast_type: "Builtin",
865
866
  type: StringType,
866
- location: get_location(2),
867
+ location: get_location(),
867
868
  builtin: "DateTimePrintFormat",
868
869
  type_parameters: [],
869
870
  arguments: [this[AstSymbol], tokensArray[AstSymbol]],
870
871
  });
871
872
  }
873
+ /**
874
+ * Checks if this DateTime equals another value.
875
+ *
876
+ * @param other - The value to compare against
877
+ * @returns A BooleanExpr that is true if the values are equal
878
+ *
879
+ * @example
880
+ * ```ts
881
+ * const isEqual = East.function([DateTimeType, DateTimeType], BooleanType, ($, a, b) => {
882
+ * $.return(a.equals(b));
883
+ * });
884
+ * const compiled = East.compile(isEqual.toIR(), []);
885
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // true
886
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-16T00:00:00.000Z")); // false
887
+ * ```
888
+ */
889
+ equals(other) {
890
+ return equal(this, other);
891
+ }
892
+ /**
893
+ * Checks if this DateTime does not equal another value.
894
+ *
895
+ * @param other - The value to compare against
896
+ * @returns A BooleanExpr that is true if the values are not equal
897
+ *
898
+ * @example
899
+ * ```ts
900
+ * const isNotEqual = East.function([DateTimeType, DateTimeType], BooleanType, ($, a, b) => {
901
+ * $.return(a.notEquals(b));
902
+ * });
903
+ * const compiled = East.compile(isNotEqual.toIR(), []);
904
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-16T00:00:00.000Z")); // true
905
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // false
906
+ * ```
907
+ */
908
+ notEquals(other) {
909
+ return notEqual(this, other);
910
+ }
911
+ /**
912
+ * Checks if this DateTime is after another value.
913
+ *
914
+ * @param other - The value to compare against
915
+ * @returns A BooleanExpr that is true if this DateTime is after the other
916
+ *
917
+ * @example
918
+ * ```ts
919
+ * const isAfter = East.function([DateTimeType, DateTimeType], BooleanType, ($, a, b) => {
920
+ * $.return(a.greaterThan(b));
921
+ * });
922
+ * const compiled = East.compile(isAfter.toIR(), []);
923
+ * compiled(new Date("2025-01-16T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // true
924
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-16T00:00:00.000Z")); // false
925
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // false
926
+ * ```
927
+ */
928
+ greaterThan(other) {
929
+ return greater(this, other);
930
+ }
931
+ /**
932
+ * Checks if this DateTime is before another value.
933
+ *
934
+ * @param other - The value to compare against
935
+ * @returns A BooleanExpr that is true if this DateTime is before the other
936
+ *
937
+ * @example
938
+ * ```ts
939
+ * const isBefore = East.function([DateTimeType, DateTimeType], BooleanType, ($, a, b) => {
940
+ * $.return(a.lessThan(b));
941
+ * });
942
+ * const compiled = East.compile(isBefore.toIR(), []);
943
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-16T00:00:00.000Z")); // true
944
+ * compiled(new Date("2025-01-16T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // false
945
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // false
946
+ * ```
947
+ */
948
+ lessThan(other) {
949
+ return less(this, other);
950
+ }
951
+ /**
952
+ * Checks if this DateTime is after or equal to another value.
953
+ *
954
+ * @param other - The value to compare against
955
+ * @returns A BooleanExpr that is true if this DateTime is after or equal to the other
956
+ *
957
+ * @example
958
+ * ```ts
959
+ * const isAfterOrEqual = East.function([DateTimeType, DateTimeType], BooleanType, ($, a, b) => {
960
+ * $.return(a.greaterThanOrEqual(b));
961
+ * });
962
+ * const compiled = East.compile(isAfterOrEqual.toIR(), []);
963
+ * compiled(new Date("2025-01-16T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // true
964
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // true
965
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-16T00:00:00.000Z")); // false
966
+ * ```
967
+ */
968
+ greaterThanOrEqual(other) {
969
+ return greaterEqual(this, other);
970
+ }
971
+ /**
972
+ * Checks if this DateTime is before or equal to another value.
973
+ *
974
+ * @param other - The value to compare against
975
+ * @returns A BooleanExpr that is true if this DateTime is before or equal to the other
976
+ *
977
+ * @example
978
+ * ```ts
979
+ * const isBeforeOrEqual = East.function([DateTimeType, DateTimeType], BooleanType, ($, a, b) => {
980
+ * $.return(a.lessThanOrEqual(b));
981
+ * });
982
+ * const compiled = East.compile(isBeforeOrEqual.toIR(), []);
983
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-16T00:00:00.000Z")); // true
984
+ * compiled(new Date("2025-01-15T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // true
985
+ * compiled(new Date("2025-01-16T00:00:00.000Z"), new Date("2025-01-15T00:00:00.000Z")); // false
986
+ * ```
987
+ */
988
+ lessThanOrEqual(other) {
989
+ return lessEqual(this, other);
990
+ }
991
+ // ============================================================================
992
+ // Aliases for comparison operations
993
+ // ============================================================================
994
+ /** Alias for {@link equals} */
995
+ eq = this.equals;
996
+ /** Alias for {@link equals} */
997
+ equal = this.equals;
998
+ /** Alias for {@link notEquals} */
999
+ ne = this.notEquals;
1000
+ /** Alias for {@link notEquals} */
1001
+ notEqual = this.notEquals;
1002
+ /** Alias for {@link greaterThan} */
1003
+ gt = this.greaterThan;
1004
+ /** Alias for {@link greaterThan} */
1005
+ greater = this.greaterThan;
1006
+ /** Alias for {@link lessThan} */
1007
+ lt = this.lessThan;
1008
+ /** Alias for {@link lessThan} */
1009
+ less = this.lessThan;
1010
+ /** Alias for {@link greaterThanOrEqual} */
1011
+ gte = this.greaterThanOrEqual;
1012
+ /** Alias for {@link greaterThanOrEqual} */
1013
+ ge = this.greaterThanOrEqual;
1014
+ /** Alias for {@link greaterThanOrEqual} */
1015
+ greaterEqual = this.greaterThanOrEqual;
1016
+ /** Alias for {@link lessThanOrEqual} */
1017
+ lte = this.lessThanOrEqual;
1018
+ /** Alias for {@link lessThanOrEqual} */
1019
+ le = this.lessThanOrEqual;
1020
+ /** Alias for {@link lessThanOrEqual} */
1021
+ lessEqual = this.lessThanOrEqual;
872
1022
  }
873
1023
  export function fromEpochMilliseconds(milliseconds) {
874
1024
  const millis = typeof milliseconds === 'bigint' ? Expr.from(milliseconds, IntegerType) : milliseconds;
@@ -878,7 +1028,7 @@ export function fromEpochMilliseconds(milliseconds) {
878
1028
  return Expr.fromAst({
879
1029
  ast_type: "Builtin",
880
1030
  type: DateTimeType,
881
- location: get_location(2),
1031
+ location: get_location(),
882
1032
  builtin: "DateTimeFromEpochMilliseconds",
883
1033
  type_parameters: [],
884
1034
  arguments: [millis[AstSymbol]],
@@ -901,7 +1051,7 @@ export function fromComponents(year, month = 1n, day = 1n, hour = 0n, minute = 0
901
1051
  return Expr.fromAst({
902
1052
  ast_type: "Builtin",
903
1053
  type: DateTimeType,
904
- location: get_location(2),
1054
+ location: get_location(),
905
1055
  builtin: "DateTimeFromComponents",
906
1056
  type_parameters: [],
907
1057
  arguments: [y[AstSymbol], mo[AstSymbol], d[AstSymbol], h[AstSymbol], mi[AstSymbol], s[AstSymbol], ms[AstSymbol]],
@@ -970,7 +1120,7 @@ export function parseFormatted(input, formatString) {
970
1120
  return Expr.fromAst({
971
1121
  ast_type: "Builtin",
972
1122
  type: DateTimeType,
973
- location: get_location(2),
1123
+ location: get_location(),
974
1124
  builtin: "DateTimeParseFormat",
975
1125
  type_parameters: [],
976
1126
  arguments: [inputExpr[AstSymbol], tokensArray[AstSymbol]],