@elaraai/east 0.0.1-beta.0 → 0.0.1-beta.10

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 (124) hide show
  1. package/README.md +44 -16
  2. package/dist/src/analyze.d.ts +4 -4
  3. package/dist/src/analyze.d.ts.map +1 -1
  4. package/dist/src/analyze.js +142 -44
  5. package/dist/src/analyze.js.map +1 -1
  6. package/dist/src/ast.d.ts +18 -7
  7. package/dist/src/ast.d.ts.map +1 -1
  8. package/dist/src/ast.js +1 -146
  9. package/dist/src/ast.js.map +1 -1
  10. package/dist/src/ast_to_ir.d.ts +7 -0
  11. package/dist/src/ast_to_ir.d.ts.map +1 -1
  12. package/dist/src/ast_to_ir.js +80 -11
  13. package/dist/src/ast_to_ir.js.map +1 -1
  14. package/dist/src/builtins.d.ts +1 -1
  15. package/dist/src/builtins.d.ts.map +1 -1
  16. package/dist/src/builtins.js +89 -64
  17. package/dist/src/builtins.js.map +1 -1
  18. package/dist/src/comparison.d.ts.map +1 -1
  19. package/dist/src/comparison.js +31 -2
  20. package/dist/src/comparison.js.map +1 -1
  21. package/dist/src/compile.d.ts.map +1 -1
  22. package/dist/src/compile.js +137 -221
  23. package/dist/src/compile.js.map +1 -1
  24. package/dist/src/default.d.ts.map +1 -1
  25. package/dist/src/default.js +2 -0
  26. package/dist/src/default.js.map +1 -1
  27. package/dist/src/eastir.d.ts +12 -10
  28. package/dist/src/eastir.d.ts.map +1 -1
  29. package/dist/src/eastir.js +20 -19
  30. package/dist/src/eastir.js.map +1 -1
  31. package/dist/src/expr/array.d.ts +66 -0
  32. package/dist/src/expr/array.d.ts.map +1 -1
  33. package/dist/src/expr/array.js +161 -51
  34. package/dist/src/expr/array.js.map +1 -1
  35. package/dist/src/expr/ast.d.ts.map +1 -1
  36. package/dist/src/expr/ast.js +6 -0
  37. package/dist/src/expr/ast.js.map +1 -1
  38. package/dist/src/expr/asyncfunction.d.ts +49 -0
  39. package/dist/src/expr/asyncfunction.d.ts.map +1 -0
  40. package/dist/src/expr/asyncfunction.js +60 -0
  41. package/dist/src/expr/asyncfunction.js.map +1 -0
  42. package/dist/src/expr/blob.d.ts +25 -1
  43. package/dist/src/expr/blob.d.ts.map +1 -1
  44. package/dist/src/expr/blob.js +36 -1
  45. package/dist/src/expr/blob.js.map +1 -1
  46. package/dist/src/expr/block.d.ts +82 -8
  47. package/dist/src/expr/block.d.ts.map +1 -1
  48. package/dist/src/expr/block.js +278 -16
  49. package/dist/src/expr/block.js.map +1 -1
  50. package/dist/src/expr/dict.js +47 -47
  51. package/dist/src/expr/dict.js.map +1 -1
  52. package/dist/src/expr/expr.d.ts +9 -0
  53. package/dist/src/expr/expr.d.ts.map +1 -1
  54. package/dist/src/expr/expr.js +5 -1
  55. package/dist/src/expr/expr.js.map +1 -1
  56. package/dist/src/expr/index.d.ts +112 -2
  57. package/dist/src/expr/index.d.ts.map +1 -1
  58. package/dist/src/expr/index.js +110 -8
  59. package/dist/src/expr/index.js.map +1 -1
  60. package/dist/src/expr/libs/array.js +1 -1
  61. package/dist/src/expr/libs/array.js.map +1 -1
  62. package/dist/src/expr/libs/dict.js +3 -3
  63. package/dist/src/expr/libs/dict.js.map +1 -1
  64. package/dist/src/expr/libs/integer.d.ts +19 -0
  65. package/dist/src/expr/libs/integer.d.ts.map +1 -1
  66. package/dist/src/expr/libs/integer.js +47 -0
  67. package/dist/src/expr/libs/integer.js.map +1 -1
  68. package/dist/src/expr/libs/set.js +2 -2
  69. package/dist/src/expr/libs/set.js.map +1 -1
  70. package/dist/src/expr/ref.js +1 -1
  71. package/dist/src/expr/ref.js.map +1 -1
  72. package/dist/src/expr/set.js +38 -38
  73. package/dist/src/expr/set.js.map +1 -1
  74. package/dist/src/expr/struct.d.ts +2 -0
  75. package/dist/src/expr/struct.d.ts.map +1 -1
  76. package/dist/src/expr/types.d.ts +8 -5
  77. package/dist/src/expr/types.d.ts.map +1 -1
  78. package/dist/src/expr/variant.d.ts +53 -0
  79. package/dist/src/expr/variant.d.ts.map +1 -1
  80. package/dist/src/expr/variant.js +56 -0
  81. package/dist/src/expr/variant.js.map +1 -1
  82. package/dist/src/fuzz.d.ts.map +1 -1
  83. package/dist/src/fuzz.js +5 -0
  84. package/dist/src/fuzz.js.map +1 -1
  85. package/dist/src/internal.d.ts +18 -9
  86. package/dist/src/internal.d.ts.map +1 -1
  87. package/dist/src/internal.js +22 -5
  88. package/dist/src/internal.js.map +1 -1
  89. package/dist/src/ir.d.ts +231 -33
  90. package/dist/src/ir.d.ts.map +1 -1
  91. package/dist/src/ir.js +3 -1
  92. package/dist/src/ir.js.map +1 -1
  93. package/dist/src/serialization/beast.d.ts.map +1 -1
  94. package/dist/src/serialization/beast.js +59 -18
  95. package/dist/src/serialization/beast.js.map +1 -1
  96. package/dist/src/serialization/beast2-stream.d.ts.map +1 -1
  97. package/dist/src/serialization/beast2-stream.js +5 -0
  98. package/dist/src/serialization/beast2-stream.js.map +1 -1
  99. package/dist/src/serialization/beast2.d.ts.map +1 -1
  100. package/dist/src/serialization/beast2.js +10 -4
  101. package/dist/src/serialization/beast2.js.map +1 -1
  102. package/dist/src/serialization/csv.d.ts +139 -0
  103. package/dist/src/serialization/csv.d.ts.map +1 -0
  104. package/dist/src/serialization/csv.js +615 -0
  105. package/dist/src/serialization/csv.js.map +1 -0
  106. package/dist/src/serialization/east.d.ts.map +1 -1
  107. package/dist/src/serialization/east.js +9 -1
  108. package/dist/src/serialization/east.js.map +1 -1
  109. package/dist/src/serialization/index.d.ts +1 -0
  110. package/dist/src/serialization/index.d.ts.map +1 -1
  111. package/dist/src/serialization/index.js +1 -0
  112. package/dist/src/serialization/index.js.map +1 -1
  113. package/dist/src/serialization/json.d.ts.map +1 -1
  114. package/dist/src/serialization/json.js +8 -2
  115. package/dist/src/serialization/json.js.map +1 -1
  116. package/dist/src/type_of_type.d.ts +29 -31
  117. package/dist/src/type_of_type.d.ts.map +1 -1
  118. package/dist/src/type_of_type.js +187 -14
  119. package/dist/src/type_of_type.js.map +1 -1
  120. package/dist/src/types.d.ts +59 -44
  121. package/dist/src/types.d.ts.map +1 -1
  122. package/dist/src/types.js +191 -91
  123. package/dist/src/types.js.map +1 -1
  124. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/expr/set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/expr/set.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,8 @@ export declare const StructExpr: {
29
29
  }>>>) => import("./types.js").SubtypeExprOrValue<T>): ExprType<T>;
30
30
  function<const I extends any[], F extends ($: import("./block.js").BlockBuilder<import("../types.js").NeverType>, ...inputs: { [K in keyof I]: ExprType<I[K]>; }) => any>(input_types: I, output_type: undefined, body: F): import("./function.js").CallableFunctionExpr<I, import("./types.js").TypeOf<ReturnType<F> extends void ? import("../types.js").NeverType : ReturnType<F>>>;
31
31
  function<const I extends any[], O>(input_types: I, output_type: O, body: ($: import("./block.js").BlockBuilder<O>, ...inputs: { [K in keyof I]: ExprType<I[K]>; }) => import("./types.js").SubtypeExprOrValue<O> | void): import("./function.js").CallableFunctionExpr<I, O>;
32
+ asyncFunction<const I extends any[], F extends ($: import("./block.js").BlockBuilder<import("../types.js").NeverType>, ...inputs: { [K in keyof I]: ExprType<I[K]>; }) => any>(input_types: I, output_type: undefined, body: F): import("./asyncfunction.js").CallableAsyncFunctionExpr<I, import("./types.js").TypeOf<ReturnType<F> extends void ? import("../types.js").NeverType : ReturnType<F>>>;
33
+ asyncFunction<const I extends any[], O>(input_types: I, output_type: O, body: ($: import("./block.js").BlockBuilder<O>, ...inputs: { [K in keyof I]: ExprType<I[K]>; }) => import("./types.js").SubtypeExprOrValue<O> | void): import("./asyncfunction.js").CallableAsyncFunctionExpr<I, O>;
32
34
  print(expr: any): ExprType<import("../types.js").StringType>;
33
35
  str(strings: TemplateStringsArray, ...expressions: Expr[]): ExprType<import("../types.js").StringType>;
34
36
  equal<T>(a: Expr<T>, b: import("./types.js").SubtypeExprOrValue<T>): ExprType<import("../types.js").BooleanType>;
@@ -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;;;;;;;;;;;;;;;;;;;;sHAqB6iD,GAAI;uHAAoS,GAAI;;;;;;;;;;;;;CAFh3D,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;;;;;;;;;;;;;;;;;;;;sHAqByoD,GAAI;uHAAoS,GAAI;2HAAsd,GAAI;4HAA8S,GAAI;;;;;;;;;;;;;CAFxtF,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"}
@@ -3,7 +3,7 @@
3
3
  * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
4
  */
5
5
  import type { variant } from "../containers/variant.js";
6
- import type { ArrayType, BooleanType, FloatType, FunctionType, IntegerType, NeverType, NullType, StructType, StringType, VariantType, SubType, SetType, DictType, DateTimeType, BlobType, RecursiveType, RecursiveTypeMarker, RefType } from "../types.js";
6
+ import type { ArrayType, BooleanType, FloatType, FunctionType, IntegerType, NeverType, NullType, StructType, StringType, VariantType, SubType, SetType, DictType, DateTimeType, BlobType, RecursiveType, RecursiveTypeMarker, RefType, AsyncFunctionType } from "../types.js";
7
7
  import type { Expr } from "./expr.js";
8
8
  import type { NeverExpr } from "./never.js";
9
9
  import type { NullExpr } from "./null.js";
@@ -22,6 +22,7 @@ import type { CallableFunctionExpr } from "./function.js";
22
22
  import type { BlockBuilder } from "./block.js";
23
23
  import type { ref } from "../containers/ref.js";
24
24
  import type { RefExpr } from "./ref.js";
25
+ import type { CallableAsyncFunctionExpr } from "./asyncfunction.js";
25
26
  /**
26
27
  * Type mapping for values that can be passed to expression methods
27
28
  * Maps East types to their corresponding expression classes or JavaScript values
@@ -38,6 +39,10 @@ export type SubtypeExprOrValue<T> = T extends never ? never : T extends NeverTyp
38
39
  [K in keyof I]: ExprType<I[K]>;
39
40
  }) => any) : T extends FunctionType<infer I, infer O> ? Expr<FunctionType<I, SubType<O>>> | (($: BlockBuilder<O>, ...input: {
40
41
  [K in keyof I]: ExprType<I[K]>;
42
+ }) => void | SubtypeExprOrValue<O>) : T extends AsyncFunctionType<infer I, undefined> ? Expr<AsyncFunctionType<I, any>> | (($: BlockBuilder<NeverType>, ...input: {
43
+ [K in keyof I]: ExprType<I[K]>;
44
+ }) => any) : T extends AsyncFunctionType<infer I, infer O> ? Expr<AsyncFunctionType<I, SubType<O>>> | (($: BlockBuilder<O>, ...input: {
45
+ [K in keyof I]: ExprType<I[K]>;
41
46
  }) => void | SubtypeExprOrValue<O>) : Expr<NeverType> | Expr<T>;
42
47
  /** Expand a given recursive type one level deeper */
43
48
  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,7 +54,7 @@ export type ExpandOnce<T, NodeType> = T extends RefType<infer U> ? RefType<Expan
49
54
  * Type mapping from East types to their corresponding expression classes
50
55
  * This is the key type that provides concrete expression types to user code
51
56
  */
52
- 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> : Expr<T>;
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>;
53
58
  /**
54
59
  * Type mapping from JavaScript/Expression values to East types
55
60
  * Used for type inference in factory methods
@@ -60,9 +65,7 @@ export type TypeOf<T> = T extends never ? never : T extends Expr<NeverType> ? Ne
60
65
  [K in (string & keyof T)]: TypeOf<T[K]>;
61
66
  } : {
62
67
  [K in keyof Fields]: K extends keyof T ? TypeOf<T[K]> : Fields[K];
63
- }> : T extends ($: BlockBuilder<any>, ...args: infer I) => infer O ? FunctionType<{
64
- [K in keyof I]: TypeOf<I[K]>;
65
- }, TypeOf<O>> : T extends Expr<infer U> ? U : StructType<{
68
+ }> : T extends Expr<infer U> ? U : StructType<{
66
69
  [K in (string & keyof T)]: TypeOf<T[K]>;
67
70
  }>;
68
71
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/expr/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/expr/types.ts"],"names":[],"mappings":"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"}
@@ -133,5 +133,58 @@ export declare class VariantExpr<Cases extends Record<string, any>> extends Expr
133
133
  unwrap<Case extends keyof Cases, F extends ($: BlockBuilder<NeverType>) => any>(name: Case, onOther: F): ExprType<TypeUnion<Cases[Case], TypeOf<ReturnType<F>>>>;
134
134
  unwrap<Case extends keyof Cases>(name: Case): ExprType<Cases[Case]>;
135
135
  unwrap(): "some" extends keyof Cases ? ExprType<Cases["some"]> : ExprType<NeverType>;
136
+ /**
137
+ * Pattern match on this variant, handling specific cases with a default fallback.
138
+ *
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.
142
+ *
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
148
+ *
149
+ * @see {@link Expr.match} for exhaustive pattern matching requiring all cases
150
+ * @see {@link unwrap} for extracting a single case value
151
+ *
152
+ * @example
153
+ * ```ts
154
+ * const OptionType = VariantType({ some: IntegerType, none: NullType });
155
+ *
156
+ * // Handle only the 'some' case, use default for 'none'
157
+ * const getOrZero = East.function([OptionType], IntegerType, ($, opt) => {
158
+ * $.return(opt.match({
159
+ * some: ($, val) => val
160
+ * }, ($) => 0n));
161
+ * });
162
+ * const compiled = East.compile(getOrZero.toIR(), []);
163
+ * compiled(Expr.variant("some", 42n)); // 42n
164
+ * compiled(Expr.variant("none", null)); // 0n
165
+ * ```
166
+ *
167
+ * @example
168
+ * ```ts
169
+ * const ResultType = VariantType({ ok: IntegerType, error: StringType, pending: NullType });
170
+ *
171
+ * // Handle multiple cases with a default for the rest
172
+ * const handleResult = East.function([ResultType], IntegerType, ($, result) => {
173
+ * $.return(result.match({
174
+ * ok: ($, val) => val,
175
+ * error: ($, _msg) => -1n
176
+ * }, ($) => 0n)); // pending -> 0
177
+ * });
178
+ * const compiled = East.compile(handleResult.toIR(), []);
179
+ * compiled(Expr.variant("ok", 100n)); // 100n
180
+ * compiled(Expr.variant("error", "fail")); // -1n
181
+ * compiled(Expr.variant("pending", null)); // 0n
182
+ * ```
183
+ */
184
+ match<Handlers extends {
185
+ [K in keyof Cases]?: ($: BlockBuilder<NeverType>, data: ExprType<Cases[K]>) => any;
186
+ }, Default extends ($: BlockBuilder<NeverType>) => any>(handlers: Handlers, defaultHandler: Default): ExprType<TypeUnion<TypeOf<{
187
+ [K in keyof Handlers]: ReturnType<NonNullable<Handlers[K]>>;
188
+ }[keyof Handlers]>, TypeOf<ReturnType<Default>>>>;
136
189
  }
137
190
  //# 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;CAQrF"}
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"}
@@ -101,5 +101,61 @@ export class VariantExpr extends Expr {
101
101
  const handlers = Object.fromEntries(Object.keys(this.cases).map(caseName => [caseName, caseName === name ? (_$, data) => data : ($, _data) => onOther($)]));
102
102
  return Expr.match(this, handlers);
103
103
  }
104
+ /**
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.
110
+ *
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
119
+ *
120
+ * @example
121
+ * ```ts
122
+ * const OptionType = VariantType({ some: IntegerType, none: NullType });
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));
129
+ * });
130
+ * const compiled = East.compile(getOrZero.toIR(), []);
131
+ * compiled(Expr.variant("some", 42n)); // 42n
132
+ * compiled(Expr.variant("none", null)); // 0n
133
+ * ```
134
+ *
135
+ * @example
136
+ * ```ts
137
+ * const ResultType = VariantType({ ok: IntegerType, error: StringType, pending: NullType });
138
+ *
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
145
+ * });
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
150
+ * ```
151
+ */
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);
159
+ }
104
160
  }
105
161
  //# 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;CACF"}
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 +1 @@
1
- {"version":3,"file":"fuzz.d.ts","sourceRoot":"","sources":["../../src/fuzz.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,WAAW,EAcjB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGxE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAE,MAAU,GAAG,QAAQ,CAqDtD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,CAAA;AAC9D,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,CAAA;AAyGjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,UAAU,CAC9B,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EACrD,OAAO,GAAE,MAAY,EACrB,SAAS,GAAE,MAAW,GACrB,OAAO,CAAC,OAAO,CAAC,CAyDlB"}
1
+ {"version":3,"file":"fuzz.d.ts","sourceRoot":"","sources":["../../src/fuzz.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,WAAW,EAcjB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAMxE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAE,MAAU,GAAG,QAAQ,CAqDtD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,CAAA;AAC9D,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,CAAA;AA2GjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,UAAU,CAC9B,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EACrD,OAAO,GAAE,MAAY,EACrB,SAAS,GAAE,MAAW,GACrB,OAAO,CAAC,OAAO,CAAC,CAyDlB"}
package/dist/src/fuzz.js CHANGED
@@ -10,6 +10,8 @@ import { printType } from "./types.js";
10
10
  import { printFor } from "./serialization/east.js";
11
11
  import { toEastTypeValue } from "./type_of_type.js";
12
12
  import { ref } from "./containers/ref.js";
13
+ // TODO generate RefType
14
+ // TODO generate RecursiveType
13
15
  /**
14
16
  * Generates a random East type for fuzz testing.
15
17
  *
@@ -202,6 +204,9 @@ export function randomValueFor(type) {
202
204
  else if (type.type === "Function") {
203
205
  throw new Error("Cannot generate values for Function type");
204
206
  }
207
+ else if (type.type === "AsyncFunction") {
208
+ throw new Error("Cannot generate values for AsyncFunction type");
209
+ }
205
210
  else {
206
211
  throw new Error(`Unhandled type: ${printType(type)}`);
207
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fuzz.js","sourceRoot":"","sources":["../../src/fuzz.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fuzz.js","sourceRoot":"","sources":["../../src/fuzz.ts"],"names":[],"mappings":"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"}
@@ -6,16 +6,25 @@
6
6
  * Internal exports for East
7
7
  * These are more internal APIs that may be useful for tools and integrations
8
8
  */
9
- import type { EastType } from './types.js';
10
9
  import { platform } from './expr/block.js';
11
- export { EastIR } from './eastir.js';
12
- export type { PlatformFunction } from './platform.js';
13
- export { FunctionExpr, type CallableFunctionExpr } from './expr/function.js';
14
- export { platform };
15
- export type { EastType };
16
- export { EastError } from './error.js';
17
- export type { LocationValue } from './ir.js';
18
- export { type LiteralValue, LiteralValueType } from './type_of_type.js';
10
+ import type { EastType } from './types.js';
11
+ export { TypeSymbol } from './expr/expr.js';
12
+ export * from './eastir.js';
13
+ export * from './platform.js';
14
+ export * from './expr/block.js';
15
+ export * from './expr/function.js';
16
+ export * from './error.js';
17
+ export * from './ir.js';
18
+ export { OutOfScopeException } from './ast_to_ir.js';
19
+ export * from './type_of_type.js';
20
+ export * from './types.js';
21
+ export { decodeBeast2For, encodeBeast2For } from './serialization/beast2.js';
22
+ export * from './datetime_format/types.js';
23
+ export * from './datetime_format/tokenize.js';
24
+ export * from './datetime_format/print.js';
25
+ export * from './datetime_format/parse.js';
26
+ export { analyzeIR } from './analyze.js';
27
+ export { compile_internal } from './compile.js';
19
28
  /**
20
29
  * Type helper for platform function definitions.
21
30
  * Use this to properly type platform function declarations.
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,QAAQ,EAAE,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,KAAK,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAExE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,QAAQ,EAAE,EAAE,MAAM,SAAS,QAAQ,IAC9E,UAAU,CAAC,OAAO,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC7E,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,QAAQ,EAAE,EAAE,MAAM,SAAS,QAAQ,IAC9E,UAAU,CAAC,OAAO,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC"}
@@ -2,10 +2,27 @@
2
2
  * Copyright (c) 2025 Elara AI Pty Ltd
3
3
  * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
4
  */
5
+ /**
6
+ * Internal exports for East
7
+ * These are more internal APIs that may be useful for tools and integrations
8
+ */
5
9
  import { platform } from './expr/block.js';
6
- export { EastIR } from './eastir.js';
7
- export { FunctionExpr } from './expr/function.js';
8
- export { platform };
9
- export { EastError } from './error.js';
10
- export { LiteralValueType } from './type_of_type.js';
10
+ export { TypeSymbol } from './expr/expr.js';
11
+ export * from './eastir.js';
12
+ export * from './platform.js';
13
+ export * from './expr/block.js';
14
+ export * from './expr/function.js';
15
+ export * from './error.js';
16
+ export * from './ir.js';
17
+ export { OutOfScopeException } from './ast_to_ir.js';
18
+ export * from './type_of_type.js';
19
+ export * from './types.js';
20
+ export { decodeBeast2For, encodeBeast2For } from './serialization/beast2.js';
21
+ export * from './datetime_format/types.js';
22
+ export * from './datetime_format/tokenize.js';
23
+ export * from './datetime_format/print.js';
24
+ export * from './datetime_format/parse.js';
25
+ // Profiling exports - for performance analysis
26
+ export { analyzeIR } from './analyze.js';
27
+ export { compile_internal } from './compile.js';
11
28
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,YAAY,EAA6B,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAqB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC7E,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}