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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/LICENSE.md +15 -666
  2. package/README.md +30 -8
  3. package/dist/src/analyze.d.ts +3 -0
  4. package/dist/src/analyze.d.ts.map +1 -1
  5. package/dist/src/analyze.js +76 -15
  6. package/dist/src/analyze.js.map +1 -1
  7. package/dist/src/ast.d.ts +37 -33
  8. package/dist/src/ast.d.ts.map +1 -1
  9. package/dist/src/ast_to_ir.d.ts +6 -0
  10. package/dist/src/ast_to_ir.d.ts.map +1 -1
  11. package/dist/src/ast_to_ir.js +135 -101
  12. package/dist/src/ast_to_ir.js.map +1 -1
  13. package/dist/src/builtins.d.ts +1 -1
  14. package/dist/src/builtins.d.ts.map +1 -1
  15. package/dist/src/builtins.js +32 -0
  16. package/dist/src/builtins.js.map +1 -1
  17. package/dist/src/comparison.d.ts.map +1 -1
  18. package/dist/src/comparison.js +12 -4
  19. package/dist/src/comparison.js.map +1 -1
  20. package/dist/src/compile.d.ts +26 -1
  21. package/dist/src/compile.d.ts.map +1 -1
  22. package/dist/src/compile.js +388 -257
  23. package/dist/src/compile.js.map +1 -1
  24. package/dist/src/datetime_format/types.d.ts +23 -23
  25. package/dist/src/eastir.d.ts +4 -0
  26. package/dist/src/eastir.d.ts.map +1 -1
  27. package/dist/src/eastir.js +27 -7
  28. package/dist/src/eastir.js.map +1 -1
  29. package/dist/src/error.d.ts +12 -1
  30. package/dist/src/error.d.ts.map +1 -1
  31. package/dist/src/error.js +31 -1
  32. package/dist/src/error.js.map +1 -1
  33. package/dist/src/expr/array.d.ts +109 -1
  34. package/dist/src/expr/array.d.ts.map +1 -1
  35. package/dist/src/expr/array.js +204 -44
  36. package/dist/src/expr/array.js.map +1 -1
  37. package/dist/src/expr/ast.d.ts +1 -1
  38. package/dist/src/expr/ast.d.ts.map +1 -1
  39. package/dist/src/expr/ast.js +16 -28
  40. package/dist/src/expr/ast.js.map +1 -1
  41. package/dist/src/expr/asyncfunction.js +1 -1
  42. package/dist/src/expr/asyncfunction.js.map +1 -1
  43. package/dist/src/expr/blob.d.ts +73 -1
  44. package/dist/src/expr/blob.d.ts.map +1 -1
  45. package/dist/src/expr/blob.js +97 -7
  46. package/dist/src/expr/blob.js.map +1 -1
  47. package/dist/src/expr/block.d.ts +232 -12
  48. package/dist/src/expr/block.d.ts.map +1 -1
  49. package/dist/src/expr/block.js +646 -140
  50. package/dist/src/expr/block.js.map +1 -1
  51. package/dist/src/expr/boolean.d.ts +44 -0
  52. package/dist/src/expr/boolean.d.ts.map +1 -1
  53. package/dist/src/expr/boolean.js +57 -5
  54. package/dist/src/expr/boolean.js.map +1 -1
  55. package/dist/src/expr/datetime.d.ts +135 -0
  56. package/dist/src/expr/datetime.d.ts.map +1 -1
  57. package/dist/src/expr/datetime.js +183 -33
  58. package/dist/src/expr/datetime.js.map +1 -1
  59. package/dist/src/expr/dict.d.ts +42 -0
  60. package/dist/src/expr/dict.d.ts.map +1 -1
  61. package/dist/src/expr/dict.js +105 -55
  62. package/dist/src/expr/dict.js.map +1 -1
  63. package/dist/src/expr/expr.d.ts +1 -1
  64. package/dist/src/expr/expr.d.ts.map +1 -1
  65. package/dist/src/expr/expr.js.map +1 -1
  66. package/dist/src/expr/float.d.ts +153 -0
  67. package/dist/src/expr/float.d.ts.map +1 -1
  68. package/dist/src/expr/float.js +190 -16
  69. package/dist/src/expr/float.js.map +1 -1
  70. package/dist/src/expr/function.d.ts +7 -2
  71. package/dist/src/expr/function.d.ts.map +1 -1
  72. package/dist/src/expr/function.js +1 -1
  73. package/dist/src/expr/function.js.map +1 -1
  74. package/dist/src/expr/index.d.ts +202 -2
  75. package/dist/src/expr/index.d.ts.map +1 -1
  76. package/dist/src/expr/index.js +207 -2
  77. package/dist/src/expr/index.js.map +1 -1
  78. package/dist/src/expr/integer.d.ts +180 -0
  79. package/dist/src/expr/integer.d.ts.map +1 -1
  80. package/dist/src/expr/integer.js +188 -17
  81. package/dist/src/expr/integer.js.map +1 -1
  82. package/dist/src/expr/libs/blob.js +2 -2
  83. package/dist/src/expr/libs/blob.js.map +1 -1
  84. package/dist/src/expr/libs/integer.d.ts +19 -0
  85. package/dist/src/expr/libs/integer.d.ts.map +1 -1
  86. package/dist/src/expr/libs/integer.js +47 -0
  87. package/dist/src/expr/libs/integer.js.map +1 -1
  88. package/dist/src/expr/libs/string.js +1 -1
  89. package/dist/src/expr/libs/string.js.map +1 -1
  90. package/dist/src/expr/recursive.d.ts +83 -0
  91. package/dist/src/expr/recursive.d.ts.map +1 -0
  92. package/dist/src/expr/recursive.js +99 -0
  93. package/dist/src/expr/recursive.js.map +1 -0
  94. package/dist/src/expr/ref.js +3 -3
  95. package/dist/src/expr/ref.js.map +1 -1
  96. package/dist/src/expr/set.d.ts +44 -2
  97. package/dist/src/expr/set.d.ts.map +1 -1
  98. package/dist/src/expr/set.js +97 -47
  99. package/dist/src/expr/set.js.map +1 -1
  100. package/dist/src/expr/string.d.ts +134 -0
  101. package/dist/src/expr/string.d.ts.map +1 -1
  102. package/dist/src/expr/string.js +172 -22
  103. package/dist/src/expr/string.js.map +1 -1
  104. package/dist/src/expr/struct.d.ts +1 -1
  105. package/dist/src/expr/struct.d.ts.map +1 -1
  106. package/dist/src/expr/struct.js +1 -1
  107. package/dist/src/expr/struct.js.map +1 -1
  108. package/dist/src/expr/types.d.ts +7 -6
  109. package/dist/src/expr/types.d.ts.map +1 -1
  110. package/dist/src/expr/variant.d.ts +123 -1
  111. package/dist/src/expr/variant.d.ts.map +1 -1
  112. package/dist/src/expr/variant.js +66 -2
  113. package/dist/src/expr/variant.js.map +1 -1
  114. package/dist/src/fuzz.d.ts +36 -2
  115. package/dist/src/fuzz.d.ts.map +1 -1
  116. package/dist/src/fuzz.js +344 -77
  117. package/dist/src/fuzz.js.map +1 -1
  118. package/dist/src/index.d.ts +1 -0
  119. package/dist/src/index.d.ts.map +1 -1
  120. package/dist/src/index.js +1 -0
  121. package/dist/src/index.js.map +1 -1
  122. package/dist/src/internal.d.ts +12 -0
  123. package/dist/src/internal.d.ts.map +1 -1
  124. package/dist/src/internal.js +13 -0
  125. package/dist/src/internal.js.map +1 -1
  126. package/dist/src/ir.d.ts +1551 -1505
  127. package/dist/src/ir.d.ts.map +1 -1
  128. package/dist/src/ir.js +49 -34
  129. package/dist/src/ir.js.map +1 -1
  130. package/dist/src/location.d.ts +30 -10
  131. package/dist/src/location.d.ts.map +1 -1
  132. package/dist/src/location.js +70 -28
  133. package/dist/src/location.js.map +1 -1
  134. package/dist/src/patch/apply.d.ts +15 -0
  135. package/dist/src/patch/apply.d.ts.map +1 -0
  136. package/dist/src/patch/apply.js +380 -0
  137. package/dist/src/patch/apply.js.map +1 -0
  138. package/dist/src/patch/compose.d.ts +15 -0
  139. package/dist/src/patch/compose.d.ts.map +1 -0
  140. package/dist/src/patch/compose.js +480 -0
  141. package/dist/src/patch/compose.js.map +1 -0
  142. package/dist/src/patch/diff.d.ts +15 -0
  143. package/dist/src/patch/diff.d.ts.map +1 -0
  144. package/dist/src/patch/diff.js +328 -0
  145. package/dist/src/patch/diff.js.map +1 -0
  146. package/dist/src/patch/fuzz.d.ts +73 -0
  147. package/dist/src/patch/fuzz.d.ts.map +1 -0
  148. package/dist/src/patch/fuzz.js +159 -0
  149. package/dist/src/patch/fuzz.js.map +1 -0
  150. package/dist/src/patch/index.d.ts +18 -0
  151. package/dist/src/patch/index.d.ts.map +1 -0
  152. package/dist/src/patch/index.js +20 -0
  153. package/dist/src/patch/index.js.map +1 -0
  154. package/dist/src/patch/invert.d.ts +15 -0
  155. package/dist/src/patch/invert.d.ts.map +1 -0
  156. package/dist/src/patch/invert.js +302 -0
  157. package/dist/src/patch/invert.js.map +1 -0
  158. package/dist/src/patch/type_of_patch.d.ts +17 -0
  159. package/dist/src/patch/type_of_patch.d.ts.map +1 -0
  160. package/dist/src/patch/type_of_patch.js +143 -0
  161. package/dist/src/patch/type_of_patch.js.map +1 -0
  162. package/dist/src/patch/types.d.ts +166 -0
  163. package/dist/src/patch/types.d.ts.map +1 -0
  164. package/dist/src/patch/types.js +69 -0
  165. package/dist/src/patch/types.js.map +1 -0
  166. package/dist/src/platform.d.ts +6 -0
  167. package/dist/src/platform.d.ts.map +1 -1
  168. package/dist/src/serialization/beast.d.ts.map +1 -1
  169. package/dist/src/serialization/beast.js +53 -18
  170. package/dist/src/serialization/beast.js.map +1 -1
  171. package/dist/src/serialization/beast2.d.ts +39 -3
  172. package/dist/src/serialization/beast2.d.ts.map +1 -1
  173. package/dist/src/serialization/beast2.js +241 -18
  174. package/dist/src/serialization/beast2.js.map +1 -1
  175. package/dist/src/serialization/csv.d.ts +139 -0
  176. package/dist/src/serialization/csv.d.ts.map +1 -0
  177. package/dist/src/serialization/csv.js +615 -0
  178. package/dist/src/serialization/csv.js.map +1 -0
  179. package/dist/src/serialization/index.d.ts +2 -1
  180. package/dist/src/serialization/index.d.ts.map +1 -1
  181. package/dist/src/serialization/index.js +2 -1
  182. package/dist/src/serialization/index.js.map +1 -1
  183. package/dist/src/type_of_type.d.ts +45 -34
  184. package/dist/src/type_of_type.d.ts.map +1 -1
  185. package/dist/src/type_of_type.js +62 -1
  186. package/dist/src/type_of_type.js.map +1 -1
  187. package/dist/src/types.d.ts +8 -8
  188. package/dist/src/types.d.ts.map +1 -1
  189. package/dist/src/types.js +4 -4
  190. package/dist/src/types.js.map +1 -1
  191. package/package.json +4 -5
package/dist/src/fuzz.js CHANGED
@@ -4,18 +4,36 @@
4
4
  *
5
5
  * @remarks
6
6
  */
7
- import { NullType, BooleanType, IntegerType, FloatType, StringType, DateTimeType, BlobType, ArrayType, SetType, DictType, StructType, VariantType, OptionType, } from "./types.js";
7
+ import { NullType, BooleanType, IntegerType, FloatType, StringType, DateTimeType, BlobType, ArrayType, SetType, DictType, StructType, VariantType, OptionType, RecursiveType, FunctionType, RefType, } from "./types.js";
8
8
  import { isVariant, variant } from "./containers/variant.js";
9
9
  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
+ /**
14
+ * Generates a random primitive East type.
15
+ */
16
+ function randomPrimitiveType() {
17
+ const r = Math.random() * 7;
18
+ if (r < 1)
19
+ return NullType;
20
+ if (r < 2)
21
+ return BooleanType;
22
+ if (r < 3)
23
+ return IntegerType;
24
+ if (r < 4)
25
+ return FloatType;
26
+ if (r < 5)
27
+ return StringType;
28
+ if (r < 6)
29
+ return DateTimeType;
30
+ return BlobType;
31
+ }
15
32
  /**
16
33
  * Generates a random East type for fuzz testing.
17
34
  *
18
35
  * @param depth - Current nesting depth (used internally to limit recursion)
36
+ * @param options - Configuration options
19
37
  * @returns A randomly generated {@link EastType}
20
38
  *
21
39
  * @remarks
@@ -25,34 +43,28 @@ import { ref } from "./containers/ref.js";
25
43
  * - Sets and Dicts use {@link StringType} keys (immutability constraint)
26
44
  * - Structs have 0-4 random fields
27
45
  * - Variants have 1-3 random cases, with 30% chance of {@link OptionType}
46
+ * - Recursive types include linked lists, trees, and option-wrapped patterns
47
+ * - Function types have 0-3 arguments with random input/output types
28
48
  */
29
- export function randomType(depth = 0) {
49
+ export function randomType(depth = 0, options = {}) {
50
+ const { includeRecursive = true, includeFunctions = true } = options;
30
51
  // Limit nesting to avoid stack overflow and keep tests fast
31
52
  const maxDepth = 3;
32
53
  // Higher chance of primitives at deeper levels
33
54
  const primitiveWeight = depth >= maxDepth ? 0.9 : 0.5;
34
55
  if (Math.random() < primitiveWeight) {
35
- // Primitive type
36
- const r = Math.random() * 7;
37
- if (r < 1)
38
- return NullType;
39
- if (r < 2)
40
- return BooleanType;
41
- if (r < 3)
42
- return IntegerType;
43
- if (r < 4)
44
- return FloatType;
45
- if (r < 5)
46
- return StringType;
47
- if (r < 6)
48
- return DateTimeType;
49
- return BlobType;
50
- }
51
- // Complex type
52
- const r = Math.random() * 5;
56
+ return randomPrimitiveType();
57
+ }
58
+ // Complex type - weights adjusted based on options
59
+ let totalWeight = 5; // Array, Set, Dict, Struct, Variant
60
+ if (includeRecursive && depth === 0)
61
+ totalWeight += 1; // Recursive only at top level
62
+ if (includeFunctions)
63
+ totalWeight += 1;
64
+ const r = Math.random() * totalWeight;
53
65
  if (r < 1) {
54
66
  // Array
55
- return ArrayType(randomType(depth + 1));
67
+ return ArrayType(randomType(depth + 1, { includeRecursive: false, includeFunctions: false }));
56
68
  }
57
69
  else if (r < 2) {
58
70
  // Set (keys must be immutable)
@@ -60,39 +72,155 @@ export function randomType(depth = 0) {
60
72
  }
61
73
  else if (r < 3) {
62
74
  // Dict (keys must be immutable)
63
- return DictType(StringType, randomType(depth + 1));
75
+ return DictType(StringType, randomType(depth + 1, { includeRecursive: false, includeFunctions: false }));
64
76
  }
65
77
  else if (r < 4) {
66
78
  // Struct with 0-4 fields
67
79
  const fieldCount = Math.floor(Math.random() * 5);
68
80
  const fields = {};
69
81
  for (let i = 0; i < fieldCount; i++) {
70
- fields[`field${i}`] = randomType(depth + 1);
82
+ fields[`field${i}`] = randomType(depth + 1, { includeRecursive: false, includeFunctions: false });
71
83
  }
72
84
  return StructType(fields);
73
85
  }
74
- else {
86
+ else if (r < 5) {
75
87
  // Variant
76
88
  if (Math.random() < 0.3) {
77
89
  // Option type (common variant pattern)
78
- return OptionType(randomType(depth + 1));
90
+ return OptionType(randomType(depth + 1, { includeRecursive: false, includeFunctions: false }));
79
91
  }
80
92
  else {
81
93
  // Custom variant with 1-3 cases
82
94
  const caseCount = 1 + Math.floor(Math.random() * 3);
83
95
  const cases = {};
84
96
  for (let i = 0; i < caseCount; i++) {
85
- cases[`case${i}`] = randomType(depth + 1);
97
+ cases[`case${i}`] = randomType(depth + 1, { includeRecursive: false, includeFunctions: false });
86
98
  }
87
99
  return VariantType(cases);
88
100
  }
89
101
  }
102
+ else if (r < 6 && includeRecursive && depth === 0) {
103
+ // Recursive type - only at top level to avoid nested recursion complexity
104
+ return randomRecursiveType();
105
+ }
106
+ else {
107
+ // Function type
108
+ return randomFunctionType();
109
+ }
90
110
  }
91
- export function randomValueFor(type) {
92
- // Convert EastTypeValue to EastType if needed
93
- if (!isVariant(type)) {
94
- type = toEastTypeValue(type);
111
+ /**
112
+ * Generates a random recursive type pattern.
113
+ *
114
+ * @returns A randomly generated {@link RecursiveType}
115
+ *
116
+ * @remarks
117
+ * Generates common recursive patterns:
118
+ * - Linked list: `rec t. <nil: Null, cons: (head: T, tail: t)>`
119
+ * - Tree: `rec t. (value: T, children: Array<t>)`
120
+ * - Option chain: `rec t. (value: T, next: Option<t>)`
121
+ * - Binary tree: `rec t. <leaf: T, node: (left: t, right: t)>`
122
+ * - Nested variant: `rec t. <a: T, b: (inner: t)>`
123
+ */
124
+ export function randomRecursiveType() {
125
+ const innerType = randomPrimitiveType();
126
+ const pattern = Math.floor(Math.random() * 5);
127
+ switch (pattern) {
128
+ case 0:
129
+ // Linked list: rec t. <nil: Null, cons: (head: T, tail: t)>
130
+ return RecursiveType((self) => VariantType({
131
+ nil: NullType,
132
+ cons: StructType({ head: innerType, tail: self }),
133
+ }));
134
+ case 1:
135
+ // Tree with children array: rec t. (value: T, children: Array<t>)
136
+ return RecursiveType((self) => StructType({
137
+ value: innerType,
138
+ children: ArrayType(self),
139
+ }));
140
+ case 2:
141
+ // Option chain: rec t. (value: T, next: Option<t>)
142
+ return RecursiveType((self) => StructType({
143
+ value: innerType,
144
+ next: OptionType(self),
145
+ }));
146
+ case 3:
147
+ // Binary tree: rec t. <leaf: T, node: (left: t, right: t)>
148
+ return RecursiveType((self) => VariantType({
149
+ leaf: innerType,
150
+ node: StructType({ left: self, right: self }),
151
+ }));
152
+ case 4:
153
+ default:
154
+ // Nested variant with ref: rec t. <done: T, more: Ref<t>>
155
+ return RecursiveType((self) => VariantType({
156
+ done: innerType,
157
+ more: RefType(self),
158
+ }));
159
+ }
160
+ }
161
+ /**
162
+ * Generates a random function type.
163
+ *
164
+ * @returns A randomly generated {@link FunctionType}
165
+ *
166
+ * @remarks
167
+ * Functions have 0-3 arguments with random primitive or simple types.
168
+ * Output types are also kept simple to avoid excessive nesting.
169
+ */
170
+ export function randomFunctionType() {
171
+ const argCount = Math.floor(Math.random() * 4);
172
+ const args = [];
173
+ for (let i = 0; i < argCount; i++) {
174
+ // Use simple types for arguments to keep things manageable
175
+ const argType = Math.random() < 0.7
176
+ ? randomPrimitiveType()
177
+ : ArrayType(randomPrimitiveType());
178
+ args.push(argType);
95
179
  }
180
+ // Output type - also keep simple
181
+ const outputType = Math.random() < 0.7
182
+ ? randomPrimitiveType()
183
+ : StructType({
184
+ result: randomPrimitiveType(),
185
+ status: BooleanType,
186
+ });
187
+ return FunctionType(args, outputType);
188
+ }
189
+ /**
190
+ * Check if a type contains any `.Recursive n` back-references.
191
+ * A type without recursive refs is "terminal" - it won't cause infinite recursion.
192
+ * @internal
193
+ */
194
+ function containsRecursive(type) {
195
+ switch (type.type) {
196
+ case "Recursive":
197
+ return true;
198
+ case "Ref":
199
+ case "Array":
200
+ return containsRecursive(type.value);
201
+ case "Set":
202
+ return containsRecursive(type.value);
203
+ case "Dict":
204
+ return containsRecursive(type.value.key) || containsRecursive(type.value.value);
205
+ case "Struct":
206
+ return type.value.some(f => containsRecursive(f.type));
207
+ case "Variant":
208
+ return type.value.some(c => containsRecursive(c.type));
209
+ default:
210
+ // Primitives, functions don't contain recursive refs
211
+ return false;
212
+ }
213
+ }
214
+ /**
215
+ * Internal helper that generates random values with explicit depth passing.
216
+ * Returns a function that takes depth and produces a value.
217
+ *
218
+ * This design passes depth explicitly through all generators, avoiding the bug
219
+ * where shared mutable depth state was incorrectly restored after generating
220
+ * sibling fields in structs.
221
+ * @internal
222
+ */
223
+ function buildValueGenerator(type, ctx) {
96
224
  if (type.type === "Never") {
97
225
  throw new Error("Cannot generate values for Never type");
98
226
  }
@@ -100,13 +228,13 @@ export function randomValueFor(type) {
100
228
  return () => null;
101
229
  }
102
230
  else if (type.type === "Boolean") {
103
- return (() => Math.random() < 0.5);
231
+ return () => Math.random() < 0.5;
104
232
  }
105
233
  else if (type.type === "Integer") {
106
- return (() => BigInt(Math.floor(Math.random() * 200) - 100));
234
+ return () => BigInt(Math.floor(Math.random() * 200) - 100);
107
235
  }
108
236
  else if (type.type === "Float") {
109
- return (() => {
237
+ return () => {
110
238
  const r = Math.random();
111
239
  if (r < 0.05)
112
240
  return NaN;
@@ -119,98 +247,235 @@ export function randomValueFor(type) {
119
247
  if (r < 0.25)
120
248
  return -0.0;
121
249
  return Math.random() * 200 - 100;
122
- });
250
+ };
123
251
  }
124
252
  else if (type.type === "String") {
125
- return (() => {
253
+ return () => {
126
254
  const length = Math.floor(Math.random() * 20);
127
255
  if (length === 0)
128
256
  return "";
129
257
  return Math.random().toString(36).substring(2, 2 + length);
130
- });
258
+ };
131
259
  }
132
260
  else if (type.type === "DateTime") {
133
- return (() => {
261
+ return () => {
134
262
  const year2025 = new Date("2025-01-01T00:00:00.000Z").valueOf();
135
263
  const oneYear = 1000 * 60 * 60 * 24 * 365;
136
264
  return new Date(year2025 + Math.floor(Math.random() * oneYear));
137
- });
265
+ };
138
266
  }
139
267
  else if (type.type === "Blob") {
140
- return (() => {
141
- const length = Math.floor(Math.random() * 100); // Keep small for speed
268
+ return () => {
269
+ const length = Math.floor(Math.random() * 100);
142
270
  const arr = new Uint8Array(length);
143
271
  for (let i = 0; i < length; i++) {
144
272
  arr[i] = Math.floor(Math.random() * 256);
145
273
  }
146
274
  return arr;
147
- });
275
+ };
148
276
  }
149
277
  else if (type.type === "Ref") {
150
- const valueFn = randomValueFor(type.value);
151
- return (() => ref(valueFn()));
278
+ // Create function shell, push, recurse, pop - like apply.ts pattern
279
+ let valueGen;
280
+ const ret = (depth) => ref(valueGen(depth));
281
+ ctx.generators.push(ret);
282
+ valueGen = buildValueGenerator(type.value, ctx);
283
+ ctx.generators.pop();
284
+ return ret;
152
285
  }
153
286
  else if (type.type === "Array") {
154
- const itemFn = randomValueFor(type.value);
155
- return (() => {
156
- const length = Math.floor(Math.random() * 5);
157
- return Array.from({ length }, itemFn);
158
- });
287
+ let itemGen;
288
+ const ret = (depth) => {
289
+ const maxLen = depth >= ctx.maxDepth ? 0 : Math.max(1, 5 - depth);
290
+ const length = Math.floor(Math.random() * (maxLen + 1));
291
+ return Array.from({ length }, () => itemGen(depth));
292
+ };
293
+ ctx.generators.push(ret);
294
+ itemGen = buildValueGenerator(type.value, ctx);
295
+ ctx.generators.pop();
296
+ return ret;
159
297
  }
160
298
  else if (type.type === "Set") {
161
- const itemFn = randomValueFor(type.value);
162
- return (() => {
163
- const length = Math.floor(Math.random() * 5);
299
+ let itemGen;
300
+ const ret = (depth) => {
301
+ const maxLen = depth >= ctx.maxDepth ? 0 : 5;
302
+ const length = Math.floor(Math.random() * (maxLen + 1));
164
303
  const set = new Set();
165
304
  for (let i = 0; i < length; i++) {
166
- set.add(itemFn());
305
+ set.add(itemGen(depth));
167
306
  }
168
307
  return set;
169
- });
308
+ };
309
+ ctx.generators.push(ret);
310
+ itemGen = buildValueGenerator(type.value, ctx);
311
+ ctx.generators.pop();
312
+ return ret;
170
313
  }
171
314
  else if (type.type === "Dict") {
172
- const keyFn = randomValueFor(type.value.key);
173
- const valueFn = randomValueFor(type.value.value);
174
- return (() => {
175
- const length = Math.floor(Math.random() * 5);
315
+ let keyGen;
316
+ let valueGen;
317
+ const ret = (depth) => {
318
+ const maxLen = depth >= ctx.maxDepth ? 0 : 5;
319
+ const length = Math.floor(Math.random() * (maxLen + 1));
176
320
  const dict = new Map();
177
321
  for (let i = 0; i < length; i++) {
178
- dict.set(keyFn(), valueFn());
322
+ dict.set(keyGen(depth), valueGen(depth));
179
323
  }
180
324
  return dict;
181
- });
325
+ };
326
+ ctx.generators.push(ret);
327
+ keyGen = buildValueGenerator(type.value.key, ctx);
328
+ valueGen = buildValueGenerator(type.value.value, ctx);
329
+ ctx.generators.pop();
330
+ return ret;
182
331
  }
183
332
  else if (type.type === "Struct") {
184
- const fieldFns = Object.fromEntries(type.value.map(({ name, type: fieldType }) => [name, randomValueFor(fieldType)]));
185
- return (() => {
333
+ let fieldGens;
334
+ const ret = (depth) => {
186
335
  const obj = {};
187
- for (const [key, fn] of Object.entries(fieldFns)) {
188
- obj[key] = fn();
336
+ for (const { name, gen } of fieldGens) {
337
+ obj[name] = gen(depth);
189
338
  }
190
339
  return obj;
191
- });
340
+ };
341
+ ctx.generators.push(ret);
342
+ fieldGens = type.value.map(({ name, type: fieldType }) => ({
343
+ name,
344
+ gen: buildValueGenerator(fieldType, ctx),
345
+ }));
346
+ ctx.generators.pop();
347
+ return ret;
192
348
  }
193
349
  else if (type.type === "Variant") {
194
- const caseKeys = type.value.map(({ name }) => name);
195
- const caseFns = Object.fromEntries(type.value.map(({ name, type: caseType }) => [name, randomValueFor(caseType)]));
196
- return (() => {
197
- const caseKey = caseKeys[Math.floor(Math.random() * caseKeys.length)];
198
- return variant(caseKey, caseFns[caseKey]());
199
- });
350
+ let caseInfos;
351
+ const ret = (depth) => {
352
+ const terminalCases = caseInfos.filter((c) => c.isTerminal);
353
+ const nonTerminalCases = caseInfos.filter((c) => !c.isTerminal);
354
+ let chosen;
355
+ if (depth >= ctx.maxDepth && terminalCases.length > 0) {
356
+ chosen = terminalCases[Math.floor(Math.random() * terminalCases.length)];
357
+ }
358
+ else if (terminalCases.length > 0 && nonTerminalCases.length > 0) {
359
+ const terminalProb = Math.min(0.3 + depth * 0.2, 0.9);
360
+ if (Math.random() < terminalProb) {
361
+ chosen = terminalCases[Math.floor(Math.random() * terminalCases.length)];
362
+ }
363
+ else {
364
+ chosen = nonTerminalCases[Math.floor(Math.random() * nonTerminalCases.length)];
365
+ }
366
+ }
367
+ else {
368
+ chosen = caseInfos[Math.floor(Math.random() * caseInfos.length)];
369
+ }
370
+ return variant(chosen.name, chosen.gen(depth));
371
+ };
372
+ ctx.generators.push(ret);
373
+ caseInfos = type.value.map(({ name, type: caseType }) => ({
374
+ name,
375
+ gen: buildValueGenerator(caseType, ctx),
376
+ isTerminal: !containsRecursive(caseType),
377
+ }));
378
+ ctx.generators.pop();
379
+ return ret;
200
380
  }
201
381
  else if (type.type === "Recursive") {
202
- throw new Error("Cannot generate values for Recursive type");
382
+ // Look up the generator from the context stack using de Bruijn index
383
+ // IMPORTANT: Capture the generator reference at BUILD time, not runtime,
384
+ // because the stack will be popped after building completes.
385
+ const backRefIndex = Number(type.value);
386
+ const index = ctx.generators.length - backRefIndex;
387
+ if (index < 0 || index >= ctx.generators.length) {
388
+ throw new Error(`Invalid recursive back-reference: ${backRefIndex}, stack size: ${ctx.generators.length}`);
389
+ }
390
+ const generator = ctx.generators[index];
391
+ if (!generator) {
392
+ throw new Error(`Recursive generator not found at index ${index}`);
393
+ }
394
+ // Return a generator that calls the captured recursive generator with depth+1
395
+ return (depth) => generator(depth + 1);
203
396
  }
204
397
  else if (type.type === "Function") {
205
- throw new Error("Cannot generate values for Function type");
398
+ let outputGen;
399
+ const ret = (depth) => {
400
+ return (..._args) => outputGen(depth);
401
+ };
402
+ ctx.generators.push(ret);
403
+ outputGen = buildValueGenerator(type.value.output, ctx);
404
+ ctx.generators.pop();
405
+ return ret;
206
406
  }
207
407
  else if (type.type === "AsyncFunction") {
208
- throw new Error("Cannot generate values for AsyncFunction type");
408
+ let outputGen;
409
+ const ret = (depth) => {
410
+ return (..._args) => Promise.resolve(outputGen(depth));
411
+ };
412
+ ctx.generators.push(ret);
413
+ outputGen = buildValueGenerator(type.value.output, ctx);
414
+ ctx.generators.pop();
415
+ return ret;
209
416
  }
210
417
  else {
211
418
  throw new Error(`Unhandled type: ${printType(type)}`);
212
419
  }
213
420
  }
421
+ /**
422
+ * Internal helper to handle RecursiveType before conversion.
423
+ * Sets up the context stack and builds the value generator.
424
+ *
425
+ * The key insight: we create the generator function first, register it in the
426
+ * context stack, then build the inner generator. This allows the inner generator
427
+ * to find the outer generator via de Bruijn index lookup when it hits a
428
+ * `.Recursive n` back-reference.
429
+ * @internal
430
+ */
431
+ function randomValueForRecursive(innerNode, ctx) {
432
+ // The inner generator - will be set after building
433
+ let innerGen = null;
434
+ // Create the self-referential generator
435
+ // This will be called when we hit a .Recursive n back-reference
436
+ const selfGenerator = (depth) => {
437
+ if (!innerGen) {
438
+ throw new Error("Internal error: recursive generator not initialized");
439
+ }
440
+ // Hard limit to prevent stack overflow
441
+ if (depth > ctx.maxDepth + 5) {
442
+ throw new Error("Fuzz value generation exceeded max recursion depth");
443
+ }
444
+ return innerGen(depth);
445
+ };
446
+ // Push BEFORE building the inner generator so .Recursive can find it
447
+ ctx.generators.push(selfGenerator);
448
+ // Convert inner node to EastTypeValue with recursive context
449
+ // Pass empty stack - the type structure will build up the stack naturally
450
+ // as it recurses. When self-references (RecursiveType pointing back) are hit,
451
+ // they'll find the struct in the stack and return .Recursive indices.
452
+ const innerTypeValue = toEastTypeValue(innerNode, [], true);
453
+ // Build the inner generator
454
+ innerGen = buildValueGenerator(innerTypeValue, ctx);
455
+ // Pop after building (generator is now self-contained via closure)
456
+ ctx.generators.pop();
457
+ // Return a function that starts generation at depth 0
458
+ return () => selfGenerator(0);
459
+ }
460
+ export function randomValueFor(type) {
461
+ const ctx = {
462
+ generators: [],
463
+ maxDepth: 5, // Limit recursion depth to avoid huge values
464
+ };
465
+ // Check if this is an EastType (not yet converted)
466
+ if (!isVariant(type)) {
467
+ // Handle RecursiveType specially before conversion
468
+ if (type.type === "Recursive") {
469
+ return randomValueForRecursive(type.node, ctx);
470
+ }
471
+ // Convert other EastTypes to EastTypeValue
472
+ const typeValue = toEastTypeValue(type);
473
+ const gen = buildValueGenerator(typeValue, ctx);
474
+ return () => gen(0);
475
+ }
476
+ const gen = buildValueGenerator(type, ctx);
477
+ return () => gen(0);
478
+ }
214
479
  /**
215
480
  * Runs a fuzz test over a generic function parameterized by a type.
216
481
  *
@@ -247,7 +512,9 @@ export function randomValueFor(type) {
247
512
  * );
248
513
  * ```
249
514
  */
250
- export async function fuzzerTest(fn, n_types = 100, n_samples = 10) {
515
+ export async function fuzzerTest(fn, n_types = 100, n_samples = 10, options = {}) {
516
+ // Default: include recursive types but NOT functions (can't generate values for functions)
517
+ const { includeRecursive = true, includeFunctions = false } = options;
251
518
  let n_type_success = 0;
252
519
  let n_type_fail = 0;
253
520
  const type_cache = new Set();
@@ -258,7 +525,7 @@ export async function fuzzerTest(fn, n_types = 100, n_samples = 10) {
258
525
  let type;
259
526
  let attempts = 0;
260
527
  while (true) {
261
- type = randomType();
528
+ type = randomType(0, { includeRecursive, includeFunctions });
262
529
  const typeStr = printType(type);
263
530
  if (!type_cache.has(typeStr)) {
264
531
  type_cache.add(typeStr);
@@ -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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"}
@@ -18,4 +18,5 @@ export * from './error.js';
18
18
  export * from './compile.js';
19
19
  export * from './default.js';
20
20
  export * from './eastir.js';
21
+ export * from './patch/index.js';
21
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}
package/dist/src/index.js CHANGED
@@ -18,4 +18,5 @@ export * from './error.js';
18
18
  export * from './compile.js';
19
19
  export * from './default.js';
20
20
  export * from './eastir.js';
21
+ export * from './patch/index.js';
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}