@elaraai/east 0.0.1-beta.18 → 0.0.1-beta.19

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 (46) hide show
  1. package/README.md +1 -1
  2. package/dist/src/error.d.ts +4 -0
  3. package/dist/src/error.d.ts.map +1 -1
  4. package/dist/src/error.js +20 -0
  5. package/dist/src/error.js.map +1 -1
  6. package/dist/src/expr/array.d.ts +34 -0
  7. package/dist/src/expr/array.d.ts.map +1 -1
  8. package/dist/src/expr/array.js +39 -0
  9. package/dist/src/expr/array.js.map +1 -1
  10. package/dist/src/expr/blob.d.ts +40 -0
  11. package/dist/src/expr/blob.d.ts.map +1 -1
  12. package/dist/src/expr/blob.js +44 -0
  13. package/dist/src/expr/blob.js.map +1 -1
  14. package/dist/src/expr/boolean.d.ts +36 -0
  15. package/dist/src/expr/boolean.d.ts.map +1 -1
  16. package/dist/src/expr/boolean.js +41 -0
  17. package/dist/src/expr/boolean.js.map +1 -1
  18. package/dist/src/expr/datetime.d.ts +107 -0
  19. package/dist/src/expr/datetime.d.ts.map +1 -1
  20. package/dist/src/expr/datetime.js +119 -0
  21. package/dist/src/expr/datetime.js.map +1 -1
  22. package/dist/src/expr/dict.d.ts +34 -0
  23. package/dist/src/expr/dict.d.ts.map +1 -1
  24. package/dist/src/expr/dict.js +39 -0
  25. package/dist/src/expr/dict.js.map +1 -1
  26. package/dist/src/expr/float.d.ts +107 -0
  27. package/dist/src/expr/float.d.ts.map +1 -1
  28. package/dist/src/expr/float.js +122 -0
  29. package/dist/src/expr/float.js.map +1 -1
  30. package/dist/src/expr/integer.d.ts +107 -0
  31. package/dist/src/expr/integer.d.ts.map +1 -1
  32. package/dist/src/expr/integer.js +119 -0
  33. package/dist/src/expr/integer.js.map +1 -1
  34. package/dist/src/expr/set.d.ts +34 -0
  35. package/dist/src/expr/set.d.ts.map +1 -1
  36. package/dist/src/expr/set.js +39 -0
  37. package/dist/src/expr/set.js.map +1 -1
  38. package/dist/src/expr/string.d.ts +106 -0
  39. package/dist/src/expr/string.d.ts.map +1 -1
  40. package/dist/src/expr/string.js +119 -0
  41. package/dist/src/expr/string.js.map +1 -1
  42. package/dist/src/expr/variant.d.ts +72 -11
  43. package/dist/src/expr/variant.d.ts.map +1 -1
  44. package/dist/src/expr/variant.js +36 -39
  45. package/dist/src/expr/variant.js.map +1 -1
  46. package/package.json +1 -1
@@ -410,5 +410,111 @@ 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;
413
519
  }
414
520
  //# 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
  /**
@@ -679,5 +680,123 @@ export class StringExpr extends Expr {
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
+ }
682
801
  }
683
802
  //# 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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"}
@@ -6,7 +6,8 @@ import type { AST } from "../ast.js";
6
6
  import { BooleanType, NeverType, StringType, TypeUnion, VariantType } from "../types.js";
7
7
  import type { BlockBuilder } from "./block.js";
8
8
  import { Expr, type ToExpr } from "./expr.js";
9
- import type { ExprType, TypeOf } from "./types.js";
9
+ import type { ExprType, TypeOf, SubtypeExprOrValue } from "./types.js";
10
+ import type { BooleanExpr } from "./boolean.js";
10
11
  /**
11
12
  * Expression representing variant (sum type/tagged union) values.
12
13
  *
@@ -134,17 +135,17 @@ export declare class VariantExpr<Cases extends Record<string, any>> extends Expr
134
135
  unwrap<Case extends keyof Cases>(name: Case): ExprType<Cases[Case]>;
135
136
  unwrap(): "some" extends keyof Cases ? ExprType<Cases["some"]> : ExprType<NeverType>;
136
137
  /**
137
- * Pattern match on this variant, handling specific cases with a default fallback.
138
+ * Pattern match on this variant.
138
139
  *
139
- * This method allows partial matching where you only need to handle the cases you care about,
140
- * with a required default handler for any unmatched cases. This is more ergonomic than
141
- * exhaustive matching when you only need to handle a subset of cases.
140
+ * This method supports two modes:
141
+ * 1. **Exhaustive matching**: Provide handlers for all cases, no default needed
142
+ * 2. **Partial matching**: Provide handlers for some cases with a default fallback
142
143
  *
143
- * @typeParam Handlers - Partial record of case handlers
144
- * @typeParam Default - Type of the default handler function
145
- * @param handlers - Object mapping case names to handler functions (not all cases required)
146
- * @param defaultHandler - Required handler for any unmatched cases
147
- * @returns Expression of the union type of all handler return types and default return type
144
+ * @typeParam Handlers - Record of case handlers (all cases required for exhaustive, partial for default mode)
145
+ * @typeParam Default - Type of the default handler function (only for partial matching)
146
+ * @param handlers - Object mapping case names to handler functions
147
+ * @param defaultHandler - Optional handler for unmatched cases (required if not all cases are handled)
148
+ * @returns Expression of the union type of all handler return types
148
149
  *
149
150
  * @see {@link Expr.match} for exhaustive pattern matching requiring all cases
150
151
  * @see {@link unwrap} for extracting a single case value
@@ -153,7 +154,23 @@ export declare class VariantExpr<Cases extends Record<string, any>> extends Expr
153
154
  * ```ts
154
155
  * const OptionType = VariantType({ some: IntegerType, none: NullType });
155
156
  *
156
- * // Handle only the 'some' case, use default for 'none'
157
+ * // Exhaustive matching - all cases handled, no default needed
158
+ * const getValue = East.function([OptionType], IntegerType, ($, opt) => {
159
+ * $.return(opt.match({
160
+ * some: ($, val) => val,
161
+ * none: ($) => 0n
162
+ * }));
163
+ * });
164
+ * const compiled = East.compile(getValue.toIR(), []);
165
+ * compiled(Expr.variant("some", 42n)); // 42n
166
+ * compiled(Expr.variant("none", null)); // 0n
167
+ * ```
168
+ *
169
+ * @example
170
+ * ```ts
171
+ * const OptionType = VariantType({ some: IntegerType, none: NullType });
172
+ *
173
+ * // Partial matching - only handle some cases, use default for rest
157
174
  * const getOrZero = East.function([OptionType], IntegerType, ($, opt) => {
158
175
  * $.return(opt.match({
159
176
  * some: ($, val) => val
@@ -181,10 +198,54 @@ export declare class VariantExpr<Cases extends Record<string, any>> extends Expr
181
198
  * compiled(Expr.variant("pending", null)); // 0n
182
199
  * ```
183
200
  */
201
+ match<Handlers extends {
202
+ [K in keyof Cases]: ($: BlockBuilder<NeverType>, data: ExprType<Cases[K]>) => any;
203
+ }>(handlers: Handlers): ExprType<TypeOf<{
204
+ [K in keyof Handlers]: ReturnType<Handlers[K]>;
205
+ }[keyof Handlers]>>;
184
206
  match<Handlers extends {
185
207
  [K in keyof Cases]?: ($: BlockBuilder<NeverType>, data: ExprType<Cases[K]>) => any;
186
208
  }, Default extends ($: BlockBuilder<NeverType>) => any>(handlers: Handlers, defaultHandler: Default): ExprType<TypeUnion<TypeOf<{
187
209
  [K in keyof Handlers]: ReturnType<NonNullable<Handlers[K]>>;
188
210
  }[keyof Handlers]>, TypeOf<ReturnType<Default>>>>;
211
+ /**
212
+ * Checks if this variant equals another variant (same tag and value).
213
+ *
214
+ * @param other - The variant to compare against
215
+ * @returns A BooleanExpr that is true if the variants are equal
216
+ *
217
+ * @example
218
+ * ```ts
219
+ * const OptionType = VariantType({ some: IntegerType, none: NullType });
220
+ *
221
+ * const isEqual = East.function([OptionType, OptionType], BooleanType, ($, a, b) => {
222
+ * $.return(a.equals(b));
223
+ * });
224
+ * const compiled = East.compile(isEqual.toIR(), []);
225
+ * compiled(variant("some", 42n), variant("some", 42n)); // true
226
+ * compiled(variant("some", 42n), variant("some", 0n)); // false
227
+ * compiled(variant("some", 42n), variant("none", null)); // false
228
+ * ```
229
+ */
230
+ equals(other: SubtypeExprOrValue<VariantType<Cases>>): BooleanExpr;
231
+ /**
232
+ * Checks if this variant does not equal another variant.
233
+ *
234
+ * @param other - The variant to compare against
235
+ * @returns A BooleanExpr that is true if the variants are not equal
236
+ *
237
+ * @example
238
+ * ```ts
239
+ * const OptionType = VariantType({ some: IntegerType, none: NullType });
240
+ *
241
+ * const isNotEqual = East.function([OptionType, OptionType], BooleanType, ($, a, b) => {
242
+ * $.return(a.notEquals(b));
243
+ * });
244
+ * const compiled = East.compile(isNotEqual.toIR(), []);
245
+ * compiled(variant("some", 42n), variant("some", 0n)); // true
246
+ * compiled(variant("some", 42n), variant("some", 42n)); // false
247
+ * ```
248
+ */
249
+ notEquals(other: SubtypeExprOrValue<VariantType<Cases>>): BooleanExpr;
189
250
  }
190
251
  //# sourceMappingURL=variant.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"variant.d.ts","sourceRoot":"","sources":["../../../src/expr/variant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,WAAW,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;IAI3D;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC;IAK9B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC;IAKhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,MAAM,CAAC,IAAI,SAAS,MAAM,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChK,MAAM,CAAC,IAAI,SAAS,MAAM,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,IAAI,MAAM,SAAS,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC;IASpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,KAAK,CACH,QAAQ,SAAS;SAAG,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;KAAE,EACvG,OAAO,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,KAAK,GAAG,EAEnD,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,OAAO,GACtB,QAAQ,CAAC,SAAS,CACnB,MAAM,CAAC;SAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC,MAAM,QAAQ,CAAC,CAAC,EACvF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAC5B,CAAC;CAWH"}
1
+ {"version":3,"file":"variant.d.ts","sourceRoot":"","sources":["../../../src/expr/variant.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { get_location } from "../location.js";
2
2
  import { BooleanType, NeverType, StringType, TypeUnion, VariantType } from "../types.js";
3
+ import { equal, notEqual } from "./block.js";
3
4
  import { Expr } from "./expr.js";
4
5
  /**
5
6
  * Expression representing variant (sum type/tagged union) values.
@@ -101,61 +102,57 @@ export class VariantExpr extends Expr {
101
102
  const handlers = Object.fromEntries(Object.keys(this.cases).map(caseName => [caseName, caseName === name ? (_$, data) => data : ($, _data) => onOther($)]));
102
103
  return Expr.match(this, handlers);
103
104
  }
105
+ // Implementation
106
+ match(handlers, defaultHandler) {
107
+ // Build complete handler set by filling unhandled cases with default (if provided)
108
+ const completeHandlers = Object.fromEntries(Object.keys(this.cases).map(caseName => [
109
+ caseName,
110
+ handlers[caseName] ?? (defaultHandler ? (($, _data) => defaultHandler($)) : undefined)
111
+ ]));
112
+ return Expr.match(this, completeHandlers);
113
+ }
104
114
  /**
105
- * Pattern match on this variant, handling specific cases with a default fallback.
106
- *
107
- * This method allows partial matching where you only need to handle the cases you care about,
108
- * with a required default handler for any unmatched cases. This is more ergonomic than
109
- * exhaustive matching when you only need to handle a subset of cases.
115
+ * Checks if this variant equals another variant (same tag and value).
110
116
  *
111
- * @typeParam Handlers - Partial record of case handlers
112
- * @typeParam Default - Type of the default handler function
113
- * @param handlers - Object mapping case names to handler functions (not all cases required)
114
- * @param defaultHandler - Required handler for any unmatched cases
115
- * @returns Expression of the union type of all handler return types and default return type
116
- *
117
- * @see {@link Expr.match} for exhaustive pattern matching requiring all cases
118
- * @see {@link unwrap} for extracting a single case value
117
+ * @param other - The variant to compare against
118
+ * @returns A BooleanExpr that is true if the variants are equal
119
119
  *
120
120
  * @example
121
121
  * ```ts
122
122
  * const OptionType = VariantType({ some: IntegerType, none: NullType });
123
123
  *
124
- * // Handle only the 'some' case, use default for 'none'
125
- * const getOrZero = East.function([OptionType], IntegerType, ($, opt) => {
126
- * $.return(opt.match({
127
- * some: ($, val) => val
128
- * }, ($) => 0n));
124
+ * const isEqual = East.function([OptionType, OptionType], BooleanType, ($, a, b) => {
125
+ * $.return(a.equals(b));
129
126
  * });
130
- * const compiled = East.compile(getOrZero.toIR(), []);
131
- * compiled(Expr.variant("some", 42n)); // 42n
132
- * compiled(Expr.variant("none", null)); // 0n
127
+ * const compiled = East.compile(isEqual.toIR(), []);
128
+ * compiled(variant("some", 42n), variant("some", 42n)); // true
129
+ * compiled(variant("some", 42n), variant("some", 0n)); // false
130
+ * compiled(variant("some", 42n), variant("none", null)); // false
133
131
  * ```
132
+ */
133
+ equals(other) {
134
+ return equal(this, other);
135
+ }
136
+ /**
137
+ * Checks if this variant does not equal another variant.
138
+ *
139
+ * @param other - The variant to compare against
140
+ * @returns A BooleanExpr that is true if the variants are not equal
134
141
  *
135
142
  * @example
136
143
  * ```ts
137
- * const ResultType = VariantType({ ok: IntegerType, error: StringType, pending: NullType });
144
+ * const OptionType = VariantType({ some: IntegerType, none: NullType });
138
145
  *
139
- * // Handle multiple cases with a default for the rest
140
- * const handleResult = East.function([ResultType], IntegerType, ($, result) => {
141
- * $.return(result.match({
142
- * ok: ($, val) => val,
143
- * error: ($, _msg) => -1n
144
- * }, ($) => 0n)); // pending -> 0
146
+ * const isNotEqual = East.function([OptionType, OptionType], BooleanType, ($, a, b) => {
147
+ * $.return(a.notEquals(b));
145
148
  * });
146
- * const compiled = East.compile(handleResult.toIR(), []);
147
- * compiled(Expr.variant("ok", 100n)); // 100n
148
- * compiled(Expr.variant("error", "fail")); // -1n
149
- * compiled(Expr.variant("pending", null)); // 0n
149
+ * const compiled = East.compile(isNotEqual.toIR(), []);
150
+ * compiled(variant("some", 42n), variant("some", 0n)); // true
151
+ * compiled(variant("some", 42n), variant("some", 42n)); // false
150
152
  * ```
151
153
  */
152
- match(handlers, defaultHandler) {
153
- // Build complete handler set by filling unhandled cases with default
154
- const completeHandlers = Object.fromEntries(Object.keys(this.cases).map(caseName => [
155
- caseName,
156
- handlers[caseName] ?? (($, _data) => defaultHandler($))
157
- ]));
158
- return Expr.match(this, completeHandlers);
154
+ notEquals(other) {
155
+ return notEqual(this, other);
159
156
  }
160
157
  }
161
158
  //# sourceMappingURL=variant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"variant.js","sourceRoot":"","sources":["../../../src/expr/variant.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzF,OAAO,EAAE,IAAI,EAAe,MAAM,WAAW,CAAC;AAG9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,OAAO,WAA+C,SAAQ,IAAwB;IACtE;IAApB,YAAoB,KAAY,EAAE,GAAQ,EAAE,OAAe;QACzD,KAAK,CAAC,GAAG,CAAC,IAA0B,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QADlC,UAAK,GAAL,KAAK,CAAO;IAEhC,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM;QACJ,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAU,CAAC,CAAsC,CAAC;QACvJ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,IAAiB;QACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAU,CAAC,CAAuC,CAAC;QACjK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IA4CD,MAAM,CAAC,OAAe,MAAM,EAAE,UAA+C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,8BAA8B,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACxJ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,8BAA8B,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC,yDAAyD;QACzJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAA2B,EAAE,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAA0B,EAAE,KAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAU,CAAC,CAAmC,CAAC;QACnQ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAQ,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,KAAK,CAIH,QAAkB,EAClB,cAAuB;QAKvB,qEAAqE;QACrE,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,QAAQ;YACP,QAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAA0B,EAAE,KAAU,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SAC/G,CAAC,CACoE,CAAC;QAEzE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAQ,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"variant.js","sourceRoot":"","sources":["../../../src/expr/variant.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elaraai/east",
3
- "version": "0.0.1-beta.18",
3
+ "version": "0.0.1-beta.19",
4
4
  "description": "East is a simple and fast language used by Elara AI Pty Ltd.",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",