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

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 (101) hide show
  1. package/README.md +39 -10
  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 +1 -0
  11. package/dist/src/ast_to_ir.d.ts.map +1 -1
  12. package/dist/src/ast_to_ir.js +71 -10
  13. package/dist/src/ast_to_ir.js.map +1 -1
  14. package/dist/src/builtins.d.ts.map +1 -1
  15. package/dist/src/builtins.js +79 -64
  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 +21 -0
  19. package/dist/src/comparison.js.map +1 -1
  20. package/dist/src/compile.d.ts.map +1 -1
  21. package/dist/src/compile.js +114 -220
  22. package/dist/src/compile.js.map +1 -1
  23. package/dist/src/default.d.ts.map +1 -1
  24. package/dist/src/default.js +2 -0
  25. package/dist/src/default.js.map +1 -1
  26. package/dist/src/eastir.d.ts +12 -10
  27. package/dist/src/eastir.d.ts.map +1 -1
  28. package/dist/src/eastir.js +20 -19
  29. package/dist/src/eastir.js.map +1 -1
  30. package/dist/src/expr/array.js +51 -51
  31. package/dist/src/expr/array.js.map +1 -1
  32. package/dist/src/expr/ast.d.ts.map +1 -1
  33. package/dist/src/expr/ast.js +6 -0
  34. package/dist/src/expr/ast.js.map +1 -1
  35. package/dist/src/expr/asyncfunction.d.ts +49 -0
  36. package/dist/src/expr/asyncfunction.d.ts.map +1 -0
  37. package/dist/src/expr/asyncfunction.js +60 -0
  38. package/dist/src/expr/asyncfunction.js.map +1 -0
  39. package/dist/src/expr/block.d.ts +60 -6
  40. package/dist/src/expr/block.d.ts.map +1 -1
  41. package/dist/src/expr/block.js +251 -14
  42. package/dist/src/expr/block.js.map +1 -1
  43. package/dist/src/expr/dict.js +47 -47
  44. package/dist/src/expr/dict.js.map +1 -1
  45. package/dist/src/expr/expr.d.ts +9 -0
  46. package/dist/src/expr/expr.d.ts.map +1 -1
  47. package/dist/src/expr/expr.js +5 -1
  48. package/dist/src/expr/expr.js.map +1 -1
  49. package/dist/src/expr/index.d.ts +73 -2
  50. package/dist/src/expr/index.d.ts.map +1 -1
  51. package/dist/src/expr/index.js +72 -8
  52. package/dist/src/expr/index.js.map +1 -1
  53. package/dist/src/expr/libs/array.js +1 -1
  54. package/dist/src/expr/libs/array.js.map +1 -1
  55. package/dist/src/expr/libs/dict.js +3 -3
  56. package/dist/src/expr/libs/dict.js.map +1 -1
  57. package/dist/src/expr/libs/set.js +2 -2
  58. package/dist/src/expr/libs/set.js.map +1 -1
  59. package/dist/src/expr/ref.js +1 -1
  60. package/dist/src/expr/ref.js.map +1 -1
  61. package/dist/src/expr/set.js +38 -38
  62. package/dist/src/expr/set.js.map +1 -1
  63. package/dist/src/expr/struct.d.ts +2 -0
  64. package/dist/src/expr/struct.d.ts.map +1 -1
  65. package/dist/src/expr/types.d.ts +8 -5
  66. package/dist/src/expr/types.d.ts.map +1 -1
  67. package/dist/src/fuzz.d.ts.map +1 -1
  68. package/dist/src/fuzz.js +5 -0
  69. package/dist/src/fuzz.js.map +1 -1
  70. package/dist/src/internal.d.ts +11 -9
  71. package/dist/src/internal.d.ts.map +1 -1
  72. package/dist/src/internal.js +15 -5
  73. package/dist/src/internal.js.map +1 -1
  74. package/dist/src/ir.d.ts +231 -33
  75. package/dist/src/ir.d.ts.map +1 -1
  76. package/dist/src/ir.js +3 -1
  77. package/dist/src/ir.js.map +1 -1
  78. package/dist/src/serialization/beast.d.ts.map +1 -1
  79. package/dist/src/serialization/beast.js +6 -0
  80. package/dist/src/serialization/beast.js.map +1 -1
  81. package/dist/src/serialization/beast2-stream.d.ts.map +1 -1
  82. package/dist/src/serialization/beast2-stream.js +5 -0
  83. package/dist/src/serialization/beast2-stream.js.map +1 -1
  84. package/dist/src/serialization/beast2.d.ts.map +1 -1
  85. package/dist/src/serialization/beast2.js +6 -0
  86. package/dist/src/serialization/beast2.js.map +1 -1
  87. package/dist/src/serialization/east.d.ts.map +1 -1
  88. package/dist/src/serialization/east.js +9 -1
  89. package/dist/src/serialization/east.js.map +1 -1
  90. package/dist/src/serialization/json.d.ts.map +1 -1
  91. package/dist/src/serialization/json.js +8 -2
  92. package/dist/src/serialization/json.js.map +1 -1
  93. package/dist/src/type_of_type.d.ts +19 -32
  94. package/dist/src/type_of_type.d.ts.map +1 -1
  95. package/dist/src/type_of_type.js +126 -14
  96. package/dist/src/type_of_type.js.map +1 -1
  97. package/dist/src/types.d.ts +59 -44
  98. package/dist/src/types.d.ts.map +1 -1
  99. package/dist/src/types.js +191 -91
  100. package/dist/src/types.js.map +1 -1
  101. package/package.json +3 -3
@@ -41,9 +41,14 @@ export const EastTypeType = RecursiveType(type => VariantType({
41
41
  "Function": StructType({
42
42
  inputs: ArrayType(type),
43
43
  output: type,
44
- platforms: ArrayType(StringType), // list of Platform functions invoked
44
+ }),
45
+ "AsyncFunction": StructType({
46
+ inputs: ArrayType(type),
47
+ output: type,
45
48
  })
46
49
  }));
50
+ // Cache for memoizing toEastTypeValue results (top-level non-recursive calls only)
51
+ const toEastTypeValueCache = new WeakMap();
47
52
  export function toEastTypeValue(type, stack = [], is_recursive = false) {
48
53
  if (typeof type === "string") {
49
54
  // Used for generics (type parameters)
@@ -52,6 +57,19 @@ export function toEastTypeValue(type, stack = [], is_recursive = false) {
52
57
  if (isVariant(type)) {
53
58
  throw new Error(`Type is already an EastTypeValue`);
54
59
  }
60
+ // Memoization for top-level calls (empty stack, not in recursive context)
61
+ const isTopLevel = stack.length === 0 && !is_recursive;
62
+ if (isTopLevel) {
63
+ const cached = toEastTypeValueCache.get(type);
64
+ if (cached !== undefined)
65
+ return cached;
66
+ const result = toEastTypeValueImpl(type, stack, is_recursive);
67
+ toEastTypeValueCache.set(type, result);
68
+ return result;
69
+ }
70
+ return toEastTypeValueImpl(type, stack, is_recursive);
71
+ }
72
+ function toEastTypeValueImpl(type, stack, is_recursive) {
55
73
  if (is_recursive) {
56
74
  const idx = stack.indexOf(type);
57
75
  if (idx !== -1) {
@@ -125,15 +143,19 @@ export function toEastTypeValue(type, stack = [], is_recursive = false) {
125
143
  return toEastTypeValue(type.node, stack, true);
126
144
  }
127
145
  else if (type.type === "Function") {
128
- // TODO review this handling of platforms
129
- if (type.platforms == null) {
130
- throw new Error(`Function type has platforms = null`);
131
- }
132
146
  stack.push(type);
133
147
  const ret = variant("Function", {
134
148
  inputs: type.inputs.map(p => toEastTypeValue(p, stack, false)),
135
149
  output: toEastTypeValue(type.output, stack, false),
136
- platforms: type.platforms,
150
+ });
151
+ stack.pop();
152
+ return ret;
153
+ }
154
+ else if (type.type === "AsyncFunction") {
155
+ stack.push(type);
156
+ const ret = variant("AsyncFunction", {
157
+ inputs: type.inputs.map(p => toEastTypeValue(p, stack, false)),
158
+ output: toEastTypeValue(type.output, stack, false),
137
159
  });
138
160
  stack.pop();
139
161
  return ret;
@@ -153,7 +175,29 @@ export const EastTypeValueType = toEastTypeValue(EastTypeType);
153
175
  * @remarks
154
176
  * This is the {@link EastTypeValue} version of {@link isTypeEqual}.
155
177
  */
156
- export const isTypeValueEqual = equalFor(EastTypeValueType);
178
+ const isTypeValueEqualUncached = equalFor(EastTypeValueType);
179
+ const isTypeValueEqualCache = new WeakMap();
180
+ export function isTypeValueEqual(t1, t2) {
181
+ // Fast path: reference equality
182
+ if (t1 === t2)
183
+ return true;
184
+ // Check cache
185
+ const innerCache = isTypeValueEqualCache.get(t1);
186
+ if (innerCache) {
187
+ const cached = innerCache.get(t2);
188
+ if (cached !== undefined)
189
+ return cached;
190
+ }
191
+ const result = isTypeValueEqualUncached(t1, t2);
192
+ // Store in cache
193
+ let cache = isTypeValueEqualCache.get(t1);
194
+ if (!cache) {
195
+ cache = new WeakMap();
196
+ isTypeValueEqualCache.set(t1, cache);
197
+ }
198
+ cache.set(t2, result);
199
+ return result;
200
+ }
157
201
  /**
158
202
  * Checks if one EastTypeValue is a subtype of another.
159
203
  *
@@ -169,13 +213,40 @@ export const isTypeValueEqual = equalFor(EastTypeValueType);
169
213
  * - Mutable collections (Array, Set, Dict) are invariant
170
214
  * - {@link VariantType} supports width subtyping (more cases → fewer cases)
171
215
  * - {@link RecursiveType} is invariant for heap-to-heap, but allows head covariance for stack-to-heap
172
- * - {@link FunctionType} uses contravariant inputs and covariant outputs
216
+ * - {@link FunctionType} and {@link AsyncFunctionType} use contravariant inputs and covariant outputs (and FunctionType is a subtype of AsyncFunctionType if their signatures match)
173
217
  */
218
+ // Cache for memoizing isSubtypeValue results (top-level calls only)
219
+ const isSubtypeValueCache = new WeakMap();
174
220
  export function isSubtypeValue(t1, t2, stack1 = [], stack2 = []) {
175
221
  // Handle string type parameters (used for generics)
176
222
  if (typeof t1 === "string" || typeof t2 === "string") {
177
223
  return t1 === t2;
178
224
  }
225
+ // Fast path: reference equality (reflexivity - every type is subtype of itself)
226
+ if (t1 === t2)
227
+ return true;
228
+ // Memoization for top-level calls (empty stacks)
229
+ const isTopLevel = stack1.length === 0 && stack2.length === 0;
230
+ if (isTopLevel) {
231
+ const innerCache = isSubtypeValueCache.get(t1);
232
+ if (innerCache) {
233
+ const cached = innerCache.get(t2);
234
+ if (cached !== undefined)
235
+ return cached;
236
+ }
237
+ const result = isSubtypeValueImpl(t1, t2, stack1, stack2);
238
+ // Store in cache
239
+ let cache = isSubtypeValueCache.get(t1);
240
+ if (!cache) {
241
+ cache = new WeakMap();
242
+ isSubtypeValueCache.set(t1, cache);
243
+ }
244
+ cache.set(t2, result);
245
+ return result;
246
+ }
247
+ return isSubtypeValueImpl(t1, t2, stack1, stack2);
248
+ }
249
+ function isSubtypeValueImpl(t1, t2, stack1, stack2) {
179
250
  // Equi-recursive type subtyping: unfold recursive types when only one side is recursive
180
251
  if (t1.type === "Recursive") {
181
252
  if (t2.type === "Recursive") {
@@ -288,7 +359,7 @@ export function isSubtypeValue(t1, t2, stack1 = [], stack2 = []) {
288
359
  }
289
360
  }
290
361
  // Function type - contravariant inputs, covariant output
291
- if (t1.type === "Function" && t2.type === "Function") {
362
+ if (t1.type === "Function" && (t2.type === "Function" || t2.type === "AsyncFunction")) {
292
363
  const inputs1 = t1.value.inputs;
293
364
  const inputs2 = t2.value.inputs;
294
365
  if (inputs1.length !== inputs2.length)
@@ -296,12 +367,27 @@ export function isSubtypeValue(t1, t2, stack1 = [], stack2 = []) {
296
367
  stack1.push(t1);
297
368
  stack2.push(t2);
298
369
  try {
299
- // Only a subset of expected platform functions may be invoked
300
- for (const p of t1.value.platforms) {
301
- if (!t2.value.platforms.includes(p)) {
370
+ // Contravariant inputs: t2's inputs must be subtypes of t1's inputs
371
+ for (let i = 0; i < inputs1.length; i++) {
372
+ if (!isSubtypeValue(inputs2[i], inputs1[i], stack2, stack1))
302
373
  return false;
303
- }
304
374
  }
375
+ // Covariant output
376
+ return isSubtypeValue(t1.value.output, t2.value.output, stack1, stack2);
377
+ }
378
+ finally {
379
+ stack1.pop();
380
+ stack2.pop();
381
+ }
382
+ }
383
+ if (t1.type === "AsyncFunction" && t2.type === "AsyncFunction") {
384
+ const inputs1 = t1.value.inputs;
385
+ const inputs2 = t2.value.inputs;
386
+ if (inputs1.length !== inputs2.length)
387
+ return false;
388
+ stack1.push(t1);
389
+ stack2.push(t2);
390
+ try {
305
391
  // Contravariant inputs: t2's inputs must be subtypes of t1's inputs
306
392
  for (let i = 0; i < inputs1.length; i++) {
307
393
  if (!isSubtypeValue(inputs2[i], inputs1[i], stack2, stack1))
@@ -318,8 +404,29 @@ export function isSubtypeValue(t1, t2, stack1 = [], stack2 = []) {
318
404
  // Different type constructors - not subtypes
319
405
  return false;
320
406
  }
407
+ // Cache for memoizing expandTypeValue results (top-level calls only)
408
+ const expandTypeValueCache = new WeakMap();
321
409
  /** Expand recursive types one level deeper, if necessary */
322
410
  export function expandTypeValue(type, root = type, depth = 0n) {
411
+ // Fast path: primitive types cannot contain recursive references
412
+ if (type.type === "Never" || type.type === "Null" || type.type === "Boolean" ||
413
+ type.type === "Integer" || type.type === "Float" || type.type === "String" ||
414
+ type.type === "DateTime" || type.type === "Blob") {
415
+ return type;
416
+ }
417
+ // Memoization for top-level calls
418
+ const isTopLevel = root === type && depth === 0n;
419
+ if (isTopLevel) {
420
+ const cached = expandTypeValueCache.get(type);
421
+ if (cached !== undefined)
422
+ return cached;
423
+ const result = expandTypeValueImpl(type, root, depth);
424
+ expandTypeValueCache.set(type, result);
425
+ return result;
426
+ }
427
+ return expandTypeValueImpl(type, root, depth);
428
+ }
429
+ function expandTypeValueImpl(type, root, depth) {
323
430
  if (type.type === "Ref") {
324
431
  return variant("Ref", expandTypeValue(type.value, root, depth + 1n));
325
432
  }
@@ -348,7 +455,12 @@ export function expandTypeValue(type, root = type, depth = 0n) {
348
455
  return variant("Function", {
349
456
  inputs: type.value.inputs.map(i => expandTypeValue(i, root, depth + 1n)),
350
457
  output: expandTypeValue(type.value.output, root, depth + 1n),
351
- platforms: type.value.platforms,
458
+ });
459
+ }
460
+ else if (type.type === "AsyncFunction") {
461
+ return variant("AsyncFunction", {
462
+ inputs: type.value.inputs.map(i => expandTypeValue(i, root, depth + 1n)),
463
+ output: expandTypeValue(type.value.output, root, depth + 1n),
352
464
  });
353
465
  }
354
466
  else if (type.type === "Recursive" && depth === type.value) {
@@ -1 +1 @@
1
- {"version":3,"file":"type_of_type.js","sourceRoot":"","sources":["../../src/type_of_type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type_of_type.js","sourceRoot":"","sources":["../../src/type_of_type.ts"],"names":[],"mappings":"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"}
@@ -257,35 +257,64 @@ export declare function RecursiveType<F extends (self: RecursiveTypeMarker) => E
257
257
  * Functions are first-class values that can be serialized as IR but not as data.
258
258
  * The `platforms` field tracks which platform functions are invoked by this function
259
259
  * (transitively through any called functions), enabling effect tracking and async analysis.
260
+ *
261
+ * @see {@link AsyncFunctionType} for asynchronous functions.
260
262
  */
261
263
  export type FunctionType<I extends any[] = any[], O extends any = any> = {
262
264
  type: "Function";
263
265
  inputs: I;
264
266
  output: O;
265
- platforms: string[] | null;
266
267
  };
267
268
  /**
268
269
  * Constructs a Function type with the specified input and output types.
269
270
  *
271
+ * @param inputs - Array of {@link EastType} instances for each parameter
272
+ * @param output - The {@link EastType} of the return value
273
+ * @returns A Function type
274
+ *
275
+ * @see {@link AsyncFunctionType} for asynchronous functions.
276
+ */
277
+ export declare function FunctionType<const I extends any[], O extends any>(inputs: I, output: O): FunctionType<I, O>;
278
+ /**
279
+ * Represents an asynchronous Function type in East's type system.
280
+ *
270
281
  * @typeParam I - Tuple type of input parameter types
271
282
  * @typeParam O - The output/return type
283
+ *
284
+ * @remarks
285
+ * Functions are first-class values that can be serialized as IR but not as data.
286
+ * The `platforms` field tracks which platform functions are invoked by this function
287
+ * (transitively through any called functions), enabling effect tracking and async analysis.
288
+ *
289
+ * @see {@link FunctionType} for synchronous functions.
290
+ */
291
+ export type AsyncFunctionType<I extends any[] = any[], O extends any = any> = {
292
+ type: "AsyncFunction";
293
+ inputs: I;
294
+ output: O;
295
+ };
296
+ /**
297
+ * Constructs an AsyncFunction type with the specified input and output types.
298
+ *
272
299
  * @param inputs - Array of {@link EastType} instances for each parameter
273
300
  * @param output - The {@link EastType} of the return value
274
- * @returns A Function type
301
+ * @returns An AsyncFunction type
302
+ *
303
+ * @see {@link AsyncFunctionType} for asynchronous functions.
275
304
  */
276
- export declare function FunctionType<const I extends any[], O extends any>(inputs: I, output: O, platforms: string[] | null): FunctionType<I, O>;
305
+ export declare function AsyncFunctionType<const I extends any[], O extends any>(inputs: I, output: O): AsyncFunctionType<I, O>;
277
306
  /**
278
307
  * Union of all East types.
279
308
  *
280
309
  * @remarks
281
310
  * This includes all primitive types, compound types, and function types.
282
311
  */
283
- export type EastType = NeverType | NullType | BooleanType | IntegerType | FloatType | DateTimeType | StringType | BlobType | RefType | ArrayType | SetType | DictType | StructType | VariantType | RecursiveType | FunctionType;
312
+ export type EastType = NeverType | NullType | BooleanType | IntegerType | FloatType | DateTimeType | StringType | BlobType | RefType | ArrayType | SetType | DictType | StructType | VariantType | RecursiveType | FunctionType | AsyncFunctionType;
284
313
  /**
285
- * Union of all East data types (excludes {@link FunctionType}).
314
+ * Union of all East data types (excludes {@link FunctionType} and {@link AsyncFunctionType}).
286
315
  *
287
316
  * @remarks
288
- * Data types can be fully serialized to JSON and transmitted between runtimes.
317
+ * Data types have a total ordering, can be fully serialized and transmitted between runtimes.
289
318
  * Functions can be serialized as IR but not as pure data.
290
319
  */
291
320
  export type DataType = NeverType | NullType | BooleanType | IntegerType | FloatType | DateTimeType | StringType | BlobType | RefType | ArrayType | SetType | DictType | StructType | VariantType | RecursiveType;
@@ -294,7 +323,7 @@ export type DataType = NeverType | NullType | BooleanType | IntegerType | FloatT
294
323
  *
295
324
  * @remarks
296
325
  * Immutable types can be used as dictionary keys and set elements.
297
- * Excludes {@link RefType}, {@link ArrayType}, {@link SetType}, {@link DictType}, and {@link FunctionType}.
326
+ * Excludes {@link RefType}, {@link ArrayType}, {@link SetType}, {@link DictType}, {@link FunctionType} and {@link AsyncFunctionType}.
298
327
  */
299
328
  export type ImmutableType = NeverType | NullType | BooleanType | IntegerType | FloatType | StringType | DateTimeType | BlobType | StructType | VariantType | RecursiveType;
300
329
  /**
@@ -305,8 +334,7 @@ export type ImmutableType = NeverType | NullType | BooleanType | IntegerType | F
305
334
  * @returns `true` if the type is a pure data type, `false` if it contains functions
306
335
  *
307
336
  * @remarks
308
- * Data types can be fully serialized and transmitted between runtimes.
309
- * This recursively checks {@link StructType}, {@link VariantType}, and {@link RecursiveType} fields.
337
+ * Data types have a total ordering, can be fully serialized and transmitted between runtimes.
310
338
  */
311
339
  export declare function isDataType(type: EastType, recursive_type?: EastType): type is DataType;
312
340
  /**
@@ -317,8 +345,7 @@ export declare function isDataType(type: EastType, recursive_type?: EastType): t
317
345
  * @returns `true` if the type is immutable, `false` if it contains mutable collections or functions
318
346
  *
319
347
  * @remarks
320
- * Immutable types exclude {@link ArrayType}, {@link SetType}, {@link DictType}, and {@link FunctionType}.
321
- * This recursively checks {@link StructType}, {@link VariantType}, and {@link RecursiveType} fields.
348
+ * Immutable types exclude {@link ArrayType}, {@link SetType}, {@link DictType}, {@link FunctionType} and {@link AsyncFunctionType}.
322
349
  */
323
350
  export declare function isImmutableType(type: EastType, recursive_type?: EastType): type is ImmutableType;
324
351
  /**
@@ -339,7 +366,7 @@ export declare function isImmutableType(type: EastType, recursive_type?: EastTyp
339
366
  * - {@link RecursiveType} → recursive JavaScript values (no wrapper)
340
367
  * - {@link FunctionType} → JavaScript functions
341
368
  */
342
- export type ValueTypeOf<T> = T extends NeverType ? never : T extends NullType ? null : T extends BooleanType ? boolean : T extends IntegerType ? bigint : T extends RefType<infer U> ? ref<ValueTypeOf<U>> : T extends FloatType ? number : T extends StringType ? string : T extends DateTimeType ? Date : T extends BlobType ? Uint8Array : T extends ArrayType<infer U> ? ValueTypeOf<U>[] : T extends SetType<infer U> ? Set<ValueTypeOf<U>> : T extends DictType<infer U, infer V> ? Map<ValueTypeOf<U>, ValueTypeOf<V>> : T extends StructType<infer U> ? keyof U extends never ? {
369
+ export type ValueTypeOf<T> = T extends NeverType ? never : T extends NullType ? null : T extends BooleanType ? boolean : T extends IntegerType ? bigint : T extends FloatType ? number : T extends StringType ? string : T extends DateTimeType ? Date : T extends BlobType ? Uint8Array : T extends RefType<infer U> ? ref<ValueTypeOf<U>> : T extends ArrayType<infer U> ? ValueTypeOf<U>[] : T extends SetType<infer U> ? Set<ValueTypeOf<U>> : T extends DictType<infer U, infer V> ? Map<ValueTypeOf<U>, ValueTypeOf<V>> : T extends StructType<infer U> ? keyof U extends never ? {
343
370
  [K in never]: never;
344
371
  } : {
345
372
  [K in keyof U]: U[K] extends undefined ? never : ValueTypeOf<Exclude<U[K], undefined>>;
@@ -351,7 +378,9 @@ export type ValueTypeOf<T> = T extends NeverType ? never : T extends NullType ?
351
378
  };
352
379
  }[keyof U], undefined> : T extends RecursiveType<infer U> ? ValueTypeOf<U> : T extends RecursiveTypeMarker ? any : T extends FunctionType<infer I, infer O> ? (...inputs: {
353
380
  [K in keyof I]: ValueTypeOf<I[K]>;
354
- }) => ValueTypeOf<O> : any;
381
+ }) => ValueTypeOf<O> : T extends AsyncFunctionType<infer I, infer O> ? (...inputs: {
382
+ [K in keyof I]: ValueTypeOf<I[K]>;
383
+ }) => Promise<ValueTypeOf<O>> : any;
355
384
  /**
356
385
  * Maps a TypeScript value type to its corresponding East type (type-level).
357
386
  *
@@ -379,20 +408,6 @@ export type EastTypeOf<V> = V extends never ? NeverType : V extends null ? NullT
379
408
  * For arrays, it infers the element type from the first element.
380
409
  */
381
410
  export declare function EastTypeOf<V>(value: V): EastTypeOf<V>;
382
- /**
383
- * Checks if two East types are structurally equal.
384
- *
385
- * @param t1 - First {@link EastType} to compare
386
- * @param t2 - Second {@link EastType} to compare
387
- * @param r1 - Internal parameter for tracking the first recursive type being compared
388
- * @param r2 - Internal parameter for tracking the second recursive type being compared
389
- * @returns `true` if the types are equal, `false` otherwise
390
- *
391
- * @remarks
392
- * Performs structural equality checking, recursively comparing compound types.
393
- * For {@link StructType} and {@link VariantType}, field/case order matters.
394
- * For {@link RecursiveType}, uses cycle tracking to handle recursive references.
395
- */
396
411
  export declare function isTypeEqual(t1: EastType, t2: EastType, r1?: EastType, r2?: EastType): boolean;
397
412
  /**
398
413
  * Checks if a JavaScript value conforms to an East type.
@@ -445,7 +460,7 @@ type ExpandOnce<T, NodeType> = T extends RefType<infer U> ? RefType<ExpandOnce<U
445
460
  * - {@link ArrayType}, {@link SetType}, {@link DictType} are invariant (mutable)
446
461
  * - {@link StructType} is covariant in all fields
447
462
  * - {@link VariantType} is covariant (subtypes can have fewer cases)
448
- * - {@link FunctionType} is contravariant in inputs, covariant in output
463
+ * - {@link FunctionType} and {@link AsyncFunctionType} are contravariant in inputs, covariant in output (and synchronous functions are subtypes of async functions)
449
464
  * - {@link RecursiveType} allows head covariance with tail invariance (one level deep)
450
465
  * - {@link NeverType} is a subtype of all types
451
466
  */
@@ -453,21 +468,7 @@ export type SubType<T> = T extends RecursiveType<infer U> ? RecursiveType<U> | E
453
468
  [K in keyof Fields]: SubType<Fields[K]>;
454
469
  }> : T extends VariantType<infer Cases> ? VariantType<{
455
470
  [K in keyof Cases]?: SubType<Cases[K]>;
456
- }> : T extends FunctionType<infer I, infer O> ? FunctionType<I, SubType<O>> : T;
457
- /**
458
- * Checks if one East type is a subtype of another.
459
- *
460
- * @param t1 - The potential subtype
461
- * @param t2 - The potential supertype
462
- * @returns `true` if t1 is a subtype of t2, `false` otherwise
463
- *
464
- * @remarks
465
- * Implements East's subtyping rules:
466
- * - {@link NeverType} is a subtype of all types
467
- * - Mutable collections ({@link ArrayType}, {@link SetType}, {@link DictType}) are invariant
468
- * - {@link VariantType} supports width subtyping (more cases → fewer cases)
469
- * - {@link FunctionType} uses contravariant inputs and covariant outputs
470
- */
471
+ }> : T extends FunctionType<infer I, infer O> ? FunctionType<I, SubType<O>> : T extends AsyncFunctionType<infer I, infer O> ? AsyncFunctionType<I, SubType<O>> | FunctionType<I, SubType<O>> : T;
471
472
  export declare function isSubtype(t1: EastType, t2: EastType): boolean;
472
473
  /**
473
474
  * Computes the union of two East types (type-level).
@@ -481,6 +482,7 @@ export declare function isSubtype(t1: EastType, t2: EastType): boolean;
481
482
  * - {@link StructType} unions require same fields, unions field types
482
483
  * - {@link VariantType} unions combine all cases from both types
483
484
  * - {@link FunctionType} unions intersect inputs (contravariant), union outputs (covariant)
485
+ * - {@link AsyncFunctionType} unions intersect inputs (contravariant), union outputs (covariant), and synchronous functions are subtypes of async functions
484
486
  * - Mutable collections must have identical element/key/value types
485
487
  */
486
488
  export type TypeUnion<T1, T2> = T1 extends NeverType ? T2 : T2 extends NeverType ? T1 : T1 extends StructType<infer Fields1> ? T2 extends StructType<infer Fields2> ? StructType<{
@@ -493,6 +495,12 @@ export type TypeUnion<T1, T2> = T1 extends NeverType ? T2 : T2 extends NeverType
493
495
  [K in keyof Cases1 & keyof Cases2]: TypeUnion<Cases1[K], Cases2[K]>;
494
496
  }> : never : T1 extends FunctionType<infer I1, infer O1> ? T2 extends FunctionType<infer I2, infer O2> ? FunctionType<{
495
497
  [K in keyof I1 & keyof I2]: TypeIntersect<I1[K], I2[K]>;
498
+ }, TypeUnion<O1, O2>> : T2 extends AsyncFunctionType<infer I2, infer O2> ? AsyncFunctionType<{
499
+ [K in keyof I1 & keyof I2]: TypeIntersect<I1[K], I2[K]>;
500
+ }, TypeUnion<O1, O2>> : never : T1 extends AsyncFunctionType<infer I1, infer O1> ? T2 extends FunctionType<infer I2, infer O2> ? AsyncFunctionType<{
501
+ [K in keyof I1 & keyof I2]: TypeIntersect<I1[K], I2[K]>;
502
+ }, TypeUnion<O1, O2>> : T2 extends AsyncFunctionType<infer I2, infer O2> ? AsyncFunctionType<{
503
+ [K in keyof I1 & keyof I2]: TypeIntersect<I1[K], I2[K]>;
496
504
  }, TypeUnion<O1, O2>> : never : T1 extends T2 ? T1 : never;
497
505
  /**
498
506
  * Computes the intersection of two East types (type-level).
@@ -505,7 +513,8 @@ export type TypeUnion<T1, T2> = T1 extends NeverType ? T2 : T2 extends NeverType
505
513
  * - {@link NeverType} is absorbing: `Intersect<Never, T> = Never`
506
514
  * - {@link StructType} intersections require same fields, intersect field types
507
515
  * - {@link VariantType} intersections keep only common cases
508
- * - {@link FunctionType} intersections union inputs (contravariant), intersect outputs (covariant)
516
+ * - {@link FunctionType} intersections union inputs (contravariant), intersect outputs (covariant), and synchronous functions are subtypes of async functions
517
+ * - {@link AsyncFunctionType} intersections union inputs (contravariant), intersect outputs (covariant)
509
518
  * - Mutable collections must have identical element/key/value types
510
519
  */
511
520
  export type TypeIntersect<T1, T2> = T1 extends NeverType ? NeverType : T2 extends NeverType ? NeverType : T1 extends StructType<infer Fields1> ? T2 extends StructType<infer Fields2> ? StructType<{
@@ -514,6 +523,12 @@ export type TypeIntersect<T1, T2> = T1 extends NeverType ? NeverType : T2 extend
514
523
  [K in keyof Cases1 & keyof Cases2]: TypeIntersect<Cases1[K], Cases2[K]>;
515
524
  }> : never : T1 extends FunctionType<infer I1, infer O1> ? T2 extends FunctionType<infer I2, infer O2> ? FunctionType<{
516
525
  [K in keyof I1 & keyof I2]: TypeUnion<I1[K], I2[K]>;
526
+ }, TypeIntersect<O1, O2>> : T2 extends AsyncFunctionType<infer I2, infer O2> ? FunctionType<{
527
+ [K in keyof I1 & keyof I2]: TypeUnion<I1[K], I2[K]>;
528
+ }, TypeIntersect<O1, O2>> : never : T1 extends AsyncFunctionType<infer I1, infer O1> ? T2 extends FunctionType<infer I2, infer O2> ? FunctionType<{
529
+ [K in keyof I1 & keyof I2]: TypeUnion<I1[K], I2[K]>;
530
+ }, TypeIntersect<O1, O2>> : T2 extends AsyncFunctionType<infer I2, infer O2> ? AsyncFunctionType<{
531
+ [K in keyof I1 & keyof I2]: TypeUnion<I1[K], I2[K]>;
517
532
  }, TypeIntersect<O1, O2>> : never : T1 extends T2 ? T1 : never;
518
533
  /**
519
534
  * Computes the union of two East types at runtime.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}