@elaraai/east 0.0.1-beta.25 → 0.0.1-beta.26
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.
- package/dist/src/ast_to_ir.js +1 -1
- package/dist/src/ast_to_ir.js.map +1 -1
- package/dist/src/builtins.d.ts +1 -1
- package/dist/src/builtins.d.ts.map +1 -1
- package/dist/src/builtins.js +22 -0
- package/dist/src/builtins.js.map +1 -1
- package/dist/src/compile.d.ts.map +1 -1
- package/dist/src/compile.js +35 -0
- package/dist/src/compile.js.map +1 -1
- package/dist/src/expr/array.d.ts +8 -0
- package/dist/src/expr/array.d.ts.map +1 -1
- package/dist/src/expr/array.js +11 -0
- package/dist/src/expr/array.js.map +1 -1
- package/dist/src/expr/blob.d.ts +8 -0
- package/dist/src/expr/blob.d.ts.map +1 -1
- package/dist/src/expr/blob.js +11 -0
- package/dist/src/expr/blob.js.map +1 -1
- package/dist/src/expr/block.d.ts +46 -0
- package/dist/src/expr/block.d.ts.map +1 -1
- package/dist/src/expr/block.js +124 -1
- package/dist/src/expr/block.js.map +1 -1
- package/dist/src/expr/boolean.d.ts +8 -0
- package/dist/src/expr/boolean.d.ts.map +1 -1
- package/dist/src/expr/boolean.js +11 -0
- package/dist/src/expr/boolean.js.map +1 -1
- package/dist/src/expr/datetime.d.ts +28 -0
- package/dist/src/expr/datetime.d.ts.map +1 -1
- package/dist/src/expr/datetime.js +31 -0
- package/dist/src/expr/datetime.js.map +1 -1
- package/dist/src/expr/dict.d.ts +8 -0
- package/dist/src/expr/dict.d.ts.map +1 -1
- package/dist/src/expr/dict.js +11 -0
- package/dist/src/expr/dict.js.map +1 -1
- package/dist/src/expr/float.d.ts +46 -0
- package/dist/src/expr/float.d.ts.map +1 -1
- package/dist/src/expr/float.js +52 -0
- package/dist/src/expr/float.js.map +1 -1
- package/dist/src/expr/index.d.ts +91 -2
- package/dist/src/expr/index.d.ts.map +1 -1
- package/dist/src/expr/index.js +97 -2
- package/dist/src/expr/index.js.map +1 -1
- package/dist/src/expr/integer.d.ts +73 -0
- package/dist/src/expr/integer.d.ts.map +1 -1
- package/dist/src/expr/integer.js +52 -0
- package/dist/src/expr/integer.js.map +1 -1
- package/dist/src/expr/set.d.ts +8 -0
- package/dist/src/expr/set.d.ts.map +1 -1
- package/dist/src/expr/set.js +11 -0
- package/dist/src/expr/set.js.map +1 -1
- package/dist/src/expr/string.d.ts +28 -0
- package/dist/src/expr/string.d.ts.map +1 -1
- package/dist/src/expr/string.js +31 -0
- package/dist/src/expr/string.js.map +1 -1
- package/dist/src/expr/variant.d.ts +8 -0
- package/dist/src/expr/variant.d.ts.map +1 -1
- package/dist/src/expr/variant.js +11 -0
- package/dist/src/expr/variant.js.map +1 -1
- package/dist/src/fuzz.d.ts +36 -2
- package/dist/src/fuzz.d.ts.map +1 -1
- package/dist/src/fuzz.js +344 -77
- package/dist/src/fuzz.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +5 -0
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +6 -0
- package/dist/src/internal.js.map +1 -1
- package/dist/src/patch/apply.d.ts +15 -0
- package/dist/src/patch/apply.d.ts.map +1 -0
- package/dist/src/patch/apply.js +380 -0
- package/dist/src/patch/apply.js.map +1 -0
- package/dist/src/patch/compose.d.ts +15 -0
- package/dist/src/patch/compose.d.ts.map +1 -0
- package/dist/src/patch/compose.js +480 -0
- package/dist/src/patch/compose.js.map +1 -0
- package/dist/src/patch/diff.d.ts +15 -0
- package/dist/src/patch/diff.d.ts.map +1 -0
- package/dist/src/patch/diff.js +328 -0
- package/dist/src/patch/diff.js.map +1 -0
- package/dist/src/patch/fuzz.d.ts +73 -0
- package/dist/src/patch/fuzz.d.ts.map +1 -0
- package/dist/src/patch/fuzz.js +159 -0
- package/dist/src/patch/fuzz.js.map +1 -0
- package/dist/src/patch/index.d.ts +18 -0
- package/dist/src/patch/index.d.ts.map +1 -0
- package/dist/src/patch/index.js +20 -0
- package/dist/src/patch/index.js.map +1 -0
- package/dist/src/patch/invert.d.ts +15 -0
- package/dist/src/patch/invert.d.ts.map +1 -0
- package/dist/src/patch/invert.js +302 -0
- package/dist/src/patch/invert.js.map +1 -0
- package/dist/src/patch/type_of_patch.d.ts +17 -0
- package/dist/src/patch/type_of_patch.d.ts.map +1 -0
- package/dist/src/patch/type_of_patch.js +143 -0
- package/dist/src/patch/type_of_patch.js.map +1 -0
- package/dist/src/patch/types.d.ts +166 -0
- package/dist/src/patch/types.d.ts.map +1 -0
- package/dist/src/patch/types.js +69 -0
- package/dist/src/patch/types.js.map +1 -0
- package/package.json +1 -2
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
|
-
|
|
14
|
-
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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 (
|
|
231
|
+
return () => Math.random() < 0.5;
|
|
104
232
|
}
|
|
105
233
|
else if (type.type === "Integer") {
|
|
106
|
-
return (
|
|
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);
|
|
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
|
-
|
|
151
|
-
|
|
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
|
-
|
|
155
|
-
|
|
156
|
-
const
|
|
157
|
-
|
|
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
|
-
|
|
162
|
-
|
|
163
|
-
const
|
|
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(
|
|
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
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
const
|
|
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(
|
|
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
|
-
|
|
185
|
-
|
|
333
|
+
let fieldGens;
|
|
334
|
+
const ret = (depth) => {
|
|
186
335
|
const obj = {};
|
|
187
|
-
for (const
|
|
188
|
-
obj[
|
|
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
|
-
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
const
|
|
198
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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);
|
package/dist/src/fuzz.js.map
CHANGED
|
@@ -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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"}
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -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
package/dist/src/index.js.map
CHANGED
|
@@ -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"}
|