@goplasmatic/datalogic 4.0.7 → 4.0.8
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/README.md +32 -17
- package/bundler/datalogic_wasm_bg.js +100 -48
- package/bundler/datalogic_wasm_bg.wasm +0 -0
- package/bundler/datalogic_wasm_bg.wasm.d.ts +8 -9
- package/nodejs/datalogic_wasm.js +100 -48
- package/nodejs/datalogic_wasm_bg.wasm +0 -0
- package/nodejs/datalogic_wasm_bg.wasm.d.ts +8 -9
- package/package.json +1 -1
- package/web/datalogic_wasm.d.ts +8 -9
- package/web/datalogic_wasm.js +98 -48
- package/web/datalogic_wasm_bg.wasm +0 -0
- package/web/datalogic_wasm_bg.wasm.d.ts +8 -9
package/README.md
CHANGED
|
@@ -19,15 +19,15 @@ import init, { evaluate, CompiledRule } from '@goplasmatic/datalogic';
|
|
|
19
19
|
await init();
|
|
20
20
|
|
|
21
21
|
// Simple evaluation
|
|
22
|
-
const result = evaluate('{"==": [1, 1]}', '{}');
|
|
22
|
+
const result = evaluate('{"==": [1, 1]}', '{}', false);
|
|
23
23
|
console.log(result); // "true"
|
|
24
24
|
|
|
25
25
|
// With data
|
|
26
|
-
const result2 = evaluate('{"var": "user.age"}', '{"user": {"age": 25}}');
|
|
26
|
+
const result2 = evaluate('{"var": "user.age"}', '{"user": {"age": 25}}', false);
|
|
27
27
|
console.log(result2); // "25"
|
|
28
28
|
|
|
29
29
|
// Compiled rule for repeated evaluation (better performance)
|
|
30
|
-
const rule = new CompiledRule('{"+": [{"var": "a"}, {"var": "b"}]}');
|
|
30
|
+
const rule = new CompiledRule('{"+": [{"var": "a"}, {"var": "b"}]}', false);
|
|
31
31
|
console.log(rule.evaluate('{"a": 1, "b": 2}')); // "3"
|
|
32
32
|
console.log(rule.evaluate('{"a": 10, "b": 20}')); // "30"
|
|
33
33
|
```
|
|
@@ -45,7 +45,7 @@ async function run() {
|
|
|
45
45
|
await init();
|
|
46
46
|
|
|
47
47
|
// Now you can use evaluate and CompiledRule
|
|
48
|
-
const result = evaluate('{"and": [true, {"var": "active"}]}', '{"active": true}');
|
|
48
|
+
const result = evaluate('{"and": [true, {"var": "active"}]}', '{"active": true}', false);
|
|
49
49
|
console.log(result); // "true"
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -60,11 +60,11 @@ run();
|
|
|
60
60
|
import { evaluate, CompiledRule } from '@goplasmatic/datalogic';
|
|
61
61
|
|
|
62
62
|
// No init() needed for Node.js
|
|
63
|
-
const result = evaluate('{"==": [1, 1]}', '{}');
|
|
63
|
+
const result = evaluate('{"==": [1, 1]}', '{}', false);
|
|
64
64
|
console.log(result); // "true"
|
|
65
65
|
|
|
66
66
|
// Compiled rule
|
|
67
|
-
const rule = new CompiledRule('{"if": [{"var": "premium"}, "VIP", "Standard"]}');
|
|
67
|
+
const rule = new CompiledRule('{"if": [{"var": "premium"}, "VIP", "Standard"]}', false);
|
|
68
68
|
console.log(rule.evaluate('{"premium": true}')); // "\"VIP\""
|
|
69
69
|
console.log(rule.evaluate('{"premium": false}')); // "\"Standard\""
|
|
70
70
|
```
|
|
@@ -77,7 +77,7 @@ import init, { evaluate, CompiledRule } from '@goplasmatic/datalogic';
|
|
|
77
77
|
// For bundlers, you may need to initialize
|
|
78
78
|
await init();
|
|
79
79
|
|
|
80
|
-
const result = evaluate('{">=": [{"var": "score"}, 80]}', '{"score": 85}');
|
|
80
|
+
const result = evaluate('{">=": [{"var": "score"}, 80]}', '{"score": 85}', false);
|
|
81
81
|
console.log(result); // "true"
|
|
82
82
|
```
|
|
83
83
|
|
|
@@ -98,31 +98,37 @@ import { evaluate } from '@goplasmatic/datalogic/nodejs';
|
|
|
98
98
|
|
|
99
99
|
## API Reference
|
|
100
100
|
|
|
101
|
-
### `evaluate(logic: string, data: string): string`
|
|
101
|
+
### `evaluate(logic: string, data: string, preserve_structure: boolean): string`
|
|
102
102
|
|
|
103
103
|
Evaluate a JSONLogic expression against data.
|
|
104
104
|
|
|
105
105
|
**Parameters:**
|
|
106
106
|
- `logic` - JSON string containing the JSONLogic expression
|
|
107
107
|
- `data` - JSON string containing the data to evaluate against
|
|
108
|
+
- `preserve_structure` - If `true`, preserves object structure for JSON templates with embedded JSONLogic (templating mode)
|
|
108
109
|
|
|
109
110
|
**Returns:** JSON string result
|
|
110
111
|
|
|
111
112
|
**Throws:** Error string on invalid JSON or evaluation error
|
|
112
113
|
|
|
113
114
|
```javascript
|
|
114
|
-
evaluate('{"==": [{"var": "x"}, 5]}', '{"x": 5}'); // "true"
|
|
115
|
-
evaluate('{"+": [1, 2, 3]}', '{}'); // "6"
|
|
116
|
-
evaluate('{"map": [[1,2,3], {"+": [{"var": ""}, 1]}]}', '{}'); // "[2,3,4]"
|
|
115
|
+
evaluate('{"==": [{"var": "x"}, 5]}', '{"x": 5}', false); // "true"
|
|
116
|
+
evaluate('{"+": [1, 2, 3]}', '{}', false); // "6"
|
|
117
|
+
evaluate('{"map": [[1,2,3], {"+": [{"var": ""}, 1]}]}', '{}', false); // "[2,3,4]"
|
|
118
|
+
|
|
119
|
+
// With preserve_structure for templating
|
|
120
|
+
evaluate('{"name": {"var": "user"}, "active": true}', '{"user": "Alice"}', true);
|
|
121
|
+
// '{"name":"Alice","active":true}'
|
|
117
122
|
```
|
|
118
123
|
|
|
119
|
-
### `evaluate_with_trace(logic: string, data: string): string`
|
|
124
|
+
### `evaluate_with_trace(logic: string, data: string, preserve_structure: boolean): string`
|
|
120
125
|
|
|
121
126
|
Evaluate with execution trace for debugging. Returns detailed step-by-step information about how the expression was evaluated.
|
|
122
127
|
|
|
123
128
|
**Parameters:**
|
|
124
129
|
- `logic` - JSON string containing the JSONLogic expression
|
|
125
130
|
- `data` - JSON string containing the data to evaluate against
|
|
131
|
+
- `preserve_structure` - If `true`, preserves object structure for JSON templates with embedded JSONLogic (templating mode)
|
|
126
132
|
|
|
127
133
|
**Returns:** JSON string containing `TracedResult` with:
|
|
128
134
|
- `result` - The evaluation result
|
|
@@ -130,7 +136,7 @@ Evaluate with execution trace for debugging. Returns detailed step-by-step infor
|
|
|
130
136
|
- `steps` - Array of execution steps with context and intermediate results
|
|
131
137
|
|
|
132
138
|
```javascript
|
|
133
|
-
const trace = evaluate_with_trace('{"and": [true, {"var": "x"}]}', '{"x": true}');
|
|
139
|
+
const trace = evaluate_with_trace('{"and": [true, {"var": "x"}]}', '{"x": true}', false);
|
|
134
140
|
console.log(JSON.parse(trace));
|
|
135
141
|
// {
|
|
136
142
|
// "result": true,
|
|
@@ -143,12 +149,16 @@ console.log(JSON.parse(trace));
|
|
|
143
149
|
|
|
144
150
|
A compiled JSONLogic rule for repeated evaluation. Pre-compiling rules provides better performance when evaluating the same logic against different data.
|
|
145
151
|
|
|
146
|
-
#### `new CompiledRule(logic: string)`
|
|
152
|
+
#### `new CompiledRule(logic: string, preserve_structure: boolean)`
|
|
147
153
|
|
|
148
154
|
Create a new compiled rule.
|
|
149
155
|
|
|
156
|
+
**Parameters:**
|
|
157
|
+
- `logic` - JSON string containing the JSONLogic expression
|
|
158
|
+
- `preserve_structure` - If `true`, preserves object structure for JSON templates with embedded JSONLogic (templating mode)
|
|
159
|
+
|
|
150
160
|
```javascript
|
|
151
|
-
const rule = new CompiledRule('{">=": [{"var": "age"}, 18]}');
|
|
161
|
+
const rule = new CompiledRule('{">=": [{"var": "age"}, 18]}', false);
|
|
152
162
|
```
|
|
153
163
|
|
|
154
164
|
#### `evaluate(data: string): string`
|
|
@@ -206,7 +216,7 @@ rustup target add wasm32-unknown-unknown
|
|
|
206
216
|
### Build
|
|
207
217
|
|
|
208
218
|
```bash
|
|
209
|
-
cd
|
|
219
|
+
cd wasm
|
|
210
220
|
./build.sh
|
|
211
221
|
```
|
|
212
222
|
|
|
@@ -226,8 +236,13 @@ wasm-pack test --headless --firefox
|
|
|
226
236
|
|
|
227
237
|
Apache-2.0
|
|
228
238
|
|
|
239
|
+
## Documentation
|
|
240
|
+
|
|
241
|
+
For complete documentation including advanced usage, framework integration, and API details, see the [full documentation](https://goplasmatic.github.io/datalogic-rs/javascript/installation.html).
|
|
242
|
+
|
|
229
243
|
## Links
|
|
230
244
|
|
|
231
245
|
- [GitHub Repository](https://github.com/GoPlasmatic/datalogic-rs)
|
|
246
|
+
- [Full Documentation](https://goplasmatic.github.io/datalogic-rs/)
|
|
247
|
+
- [Online Playground](https://goplasmatic.github.io/datalogic-rs/playground/)
|
|
232
248
|
- [JSONLogic Specification](https://jsonlogic.com/)
|
|
233
|
-
- [Documentation](https://goplasmatic.github.io/datalogic-rs/)
|
|
@@ -3,6 +3,21 @@ export function __wbg_set_wasm(val) {
|
|
|
3
3
|
wasm = val;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
+
function addHeapObject(obj) {
|
|
7
|
+
if (heap_next === heap.length) heap.push(heap.length + 1);
|
|
8
|
+
const idx = heap_next;
|
|
9
|
+
heap_next = heap[idx];
|
|
10
|
+
|
|
11
|
+
heap[idx] = obj;
|
|
12
|
+
return idx;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function dropObject(idx) {
|
|
16
|
+
if (idx < 132) return;
|
|
17
|
+
heap[idx] = heap_next;
|
|
18
|
+
heap_next = idx;
|
|
19
|
+
}
|
|
20
|
+
|
|
6
21
|
let cachedDataViewMemory0 = null;
|
|
7
22
|
function getDataViewMemory0() {
|
|
8
23
|
if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
|
|
@@ -24,6 +39,13 @@ function getUint8ArrayMemory0() {
|
|
|
24
39
|
return cachedUint8ArrayMemory0;
|
|
25
40
|
}
|
|
26
41
|
|
|
42
|
+
function getObject(idx) { return heap[idx]; }
|
|
43
|
+
|
|
44
|
+
let heap = new Array(128).fill(undefined);
|
|
45
|
+
heap.push(undefined, null, true, false);
|
|
46
|
+
|
|
47
|
+
let heap_next = heap.length;
|
|
48
|
+
|
|
27
49
|
function passStringToWasm0(arg, malloc, realloc) {
|
|
28
50
|
if (realloc === undefined) {
|
|
29
51
|
const buf = cachedTextEncoder.encode(arg);
|
|
@@ -61,10 +83,10 @@ function passStringToWasm0(arg, malloc, realloc) {
|
|
|
61
83
|
return ptr;
|
|
62
84
|
}
|
|
63
85
|
|
|
64
|
-
function
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
return
|
|
86
|
+
function takeObject(idx) {
|
|
87
|
+
const ret = getObject(idx);
|
|
88
|
+
dropObject(idx);
|
|
89
|
+
return ret;
|
|
68
90
|
}
|
|
69
91
|
|
|
70
92
|
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
@@ -127,15 +149,23 @@ export class CompiledRule {
|
|
|
127
149
|
* @param {boolean} preserve_structure
|
|
128
150
|
*/
|
|
129
151
|
constructor(logic, preserve_structure) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
152
|
+
try {
|
|
153
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
154
|
+
const ptr0 = passStringToWasm0(logic, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
155
|
+
const len0 = WASM_VECTOR_LEN;
|
|
156
|
+
wasm.compiledrule_new(retptr, ptr0, len0, preserve_structure);
|
|
157
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
158
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
159
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
160
|
+
if (r2) {
|
|
161
|
+
throw takeObject(r1);
|
|
162
|
+
}
|
|
163
|
+
this.__wbg_ptr = r0 >>> 0;
|
|
164
|
+
CompiledRuleFinalization.register(this, this.__wbg_ptr, this);
|
|
165
|
+
return this;
|
|
166
|
+
} finally {
|
|
167
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
135
168
|
}
|
|
136
|
-
this.__wbg_ptr = ret[0] >>> 0;
|
|
137
|
-
CompiledRuleFinalization.register(this, this.__wbg_ptr, this);
|
|
138
|
-
return this;
|
|
139
169
|
}
|
|
140
170
|
/**
|
|
141
171
|
* Evaluate the compiled rule against data.
|
|
@@ -152,20 +182,26 @@ export class CompiledRule {
|
|
|
152
182
|
let deferred3_0;
|
|
153
183
|
let deferred3_1;
|
|
154
184
|
try {
|
|
155
|
-
const
|
|
185
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
186
|
+
const ptr0 = passStringToWasm0(data, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
156
187
|
const len0 = WASM_VECTOR_LEN;
|
|
157
|
-
|
|
158
|
-
var
|
|
159
|
-
var
|
|
160
|
-
|
|
188
|
+
wasm.compiledrule_evaluate(retptr, this.__wbg_ptr, ptr0, len0);
|
|
189
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
190
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
191
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
192
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
193
|
+
var ptr2 = r0;
|
|
194
|
+
var len2 = r1;
|
|
195
|
+
if (r3) {
|
|
161
196
|
ptr2 = 0; len2 = 0;
|
|
162
|
-
throw
|
|
197
|
+
throw takeObject(r2);
|
|
163
198
|
}
|
|
164
199
|
deferred3_0 = ptr2;
|
|
165
200
|
deferred3_1 = len2;
|
|
166
201
|
return getStringFromWasm0(ptr2, len2);
|
|
167
202
|
} finally {
|
|
168
|
-
wasm.
|
|
203
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
204
|
+
wasm.__wbindgen_export(deferred3_0, deferred3_1, 1);
|
|
169
205
|
}
|
|
170
206
|
}
|
|
171
207
|
}
|
|
@@ -190,22 +226,28 @@ export function evaluate(logic, data, preserve_structure) {
|
|
|
190
226
|
let deferred4_0;
|
|
191
227
|
let deferred4_1;
|
|
192
228
|
try {
|
|
193
|
-
const
|
|
229
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
230
|
+
const ptr0 = passStringToWasm0(logic, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
194
231
|
const len0 = WASM_VECTOR_LEN;
|
|
195
|
-
const ptr1 = passStringToWasm0(data, wasm.
|
|
232
|
+
const ptr1 = passStringToWasm0(data, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
196
233
|
const len1 = WASM_VECTOR_LEN;
|
|
197
|
-
|
|
198
|
-
var
|
|
199
|
-
var
|
|
200
|
-
|
|
234
|
+
wasm.evaluate(retptr, ptr0, len0, ptr1, len1, preserve_structure);
|
|
235
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
236
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
237
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
238
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
239
|
+
var ptr3 = r0;
|
|
240
|
+
var len3 = r1;
|
|
241
|
+
if (r3) {
|
|
201
242
|
ptr3 = 0; len3 = 0;
|
|
202
|
-
throw
|
|
243
|
+
throw takeObject(r2);
|
|
203
244
|
}
|
|
204
245
|
deferred4_0 = ptr3;
|
|
205
246
|
deferred4_1 = len3;
|
|
206
247
|
return getStringFromWasm0(ptr3, len3);
|
|
207
248
|
} finally {
|
|
208
|
-
wasm.
|
|
249
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
250
|
+
wasm.__wbindgen_export(deferred4_0, deferred4_1, 1);
|
|
209
251
|
}
|
|
210
252
|
}
|
|
211
253
|
|
|
@@ -247,22 +289,28 @@ export function evaluate_with_trace(logic, data, preserve_structure) {
|
|
|
247
289
|
let deferred4_0;
|
|
248
290
|
let deferred4_1;
|
|
249
291
|
try {
|
|
250
|
-
const
|
|
292
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
293
|
+
const ptr0 = passStringToWasm0(logic, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
251
294
|
const len0 = WASM_VECTOR_LEN;
|
|
252
|
-
const ptr1 = passStringToWasm0(data, wasm.
|
|
295
|
+
const ptr1 = passStringToWasm0(data, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
253
296
|
const len1 = WASM_VECTOR_LEN;
|
|
254
|
-
|
|
255
|
-
var
|
|
256
|
-
var
|
|
257
|
-
|
|
297
|
+
wasm.evaluate_with_trace(retptr, ptr0, len0, ptr1, len1, preserve_structure);
|
|
298
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
299
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
300
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
301
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
302
|
+
var ptr3 = r0;
|
|
303
|
+
var len3 = r1;
|
|
304
|
+
if (r3) {
|
|
258
305
|
ptr3 = 0; len3 = 0;
|
|
259
|
-
throw
|
|
306
|
+
throw takeObject(r2);
|
|
260
307
|
}
|
|
261
308
|
deferred4_0 = ptr3;
|
|
262
309
|
deferred4_1 = len3;
|
|
263
310
|
return getStringFromWasm0(ptr3, len3);
|
|
264
311
|
} finally {
|
|
265
|
-
wasm.
|
|
312
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
313
|
+
wasm.__wbindgen_export(deferred4_0, deferred4_1, 1);
|
|
266
314
|
}
|
|
267
315
|
}
|
|
268
316
|
|
|
@@ -282,18 +330,28 @@ export function __wbg_error_7534b8e9a36f1ab4(arg0, arg1) {
|
|
|
282
330
|
deferred0_1 = arg1;
|
|
283
331
|
console.error(getStringFromWasm0(arg0, arg1));
|
|
284
332
|
} finally {
|
|
285
|
-
wasm.
|
|
333
|
+
wasm.__wbindgen_export(deferred0_0, deferred0_1, 1);
|
|
286
334
|
}
|
|
287
335
|
};
|
|
288
336
|
|
|
337
|
+
export function __wbg_getTime_ad1e9878a735af08(arg0) {
|
|
338
|
+
const ret = getObject(arg0).getTime();
|
|
339
|
+
return ret;
|
|
340
|
+
};
|
|
341
|
+
|
|
342
|
+
export function __wbg_new_0_23cedd11d9b40c9d() {
|
|
343
|
+
const ret = new Date();
|
|
344
|
+
return addHeapObject(ret);
|
|
345
|
+
};
|
|
346
|
+
|
|
289
347
|
export function __wbg_new_8a6f238a6ece86ea() {
|
|
290
348
|
const ret = new Error();
|
|
291
|
-
return ret;
|
|
349
|
+
return addHeapObject(ret);
|
|
292
350
|
};
|
|
293
351
|
|
|
294
352
|
export function __wbg_stack_0ed75d68575b0f3c(arg0, arg1) {
|
|
295
|
-
const ret = arg1.stack;
|
|
296
|
-
const ptr1 = passStringToWasm0(ret, wasm.
|
|
353
|
+
const ret = getObject(arg1).stack;
|
|
354
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
297
355
|
const len1 = WASM_VECTOR_LEN;
|
|
298
356
|
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
299
357
|
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
@@ -302,15 +360,9 @@ export function __wbg_stack_0ed75d68575b0f3c(arg0, arg1) {
|
|
|
302
360
|
export function __wbindgen_cast_2241b6af4c4b2941(arg0, arg1) {
|
|
303
361
|
// Cast intrinsic for `Ref(String) -> Externref`.
|
|
304
362
|
const ret = getStringFromWasm0(arg0, arg1);
|
|
305
|
-
return ret;
|
|
363
|
+
return addHeapObject(ret);
|
|
306
364
|
};
|
|
307
365
|
|
|
308
|
-
export function
|
|
309
|
-
|
|
310
|
-
const offset = table.grow(4);
|
|
311
|
-
table.set(0, undefined);
|
|
312
|
-
table.set(offset + 0, undefined);
|
|
313
|
-
table.set(offset + 1, null);
|
|
314
|
-
table.set(offset + 2, true);
|
|
315
|
-
table.set(offset + 3, false);
|
|
366
|
+
export function __wbindgen_object_drop_ref(arg0) {
|
|
367
|
+
takeObject(arg0);
|
|
316
368
|
};
|
|
Binary file
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
4
|
export const __wbg_compiledrule_free: (a: number, b: number) => void;
|
|
5
|
-
export const compiledrule_evaluate: (a: number, b: number, c: number
|
|
6
|
-
export const compiledrule_new: (a: number, b: number, c: number
|
|
7
|
-
export const evaluate: (a: number, b: number, c: number, d: number, e: number
|
|
8
|
-
export const evaluate_with_trace: (a: number, b: number, c: number, d: number, e: number
|
|
5
|
+
export const compiledrule_evaluate: (a: number, b: number, c: number, d: number) => void;
|
|
6
|
+
export const compiledrule_new: (a: number, b: number, c: number, d: number) => void;
|
|
7
|
+
export const evaluate: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
8
|
+
export const evaluate_with_trace: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
9
9
|
export const init: () => void;
|
|
10
|
-
export const
|
|
11
|
-
export const
|
|
12
|
-
export const
|
|
13
|
-
export const
|
|
14
|
-
export const __externref_table_dealloc: (a: number) => void;
|
|
10
|
+
export const __wbindgen_export: (a: number, b: number, c: number) => void;
|
|
11
|
+
export const __wbindgen_export2: (a: number, b: number) => number;
|
|
12
|
+
export const __wbindgen_export3: (a: number, b: number, c: number, d: number) => number;
|
|
13
|
+
export const __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
15
14
|
export const __wbindgen_start: () => void;
|
package/nodejs/datalogic_wasm.js
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
let imports = {};
|
|
3
3
|
imports['__wbindgen_placeholder__'] = module.exports;
|
|
4
4
|
|
|
5
|
+
function addHeapObject(obj) {
|
|
6
|
+
if (heap_next === heap.length) heap.push(heap.length + 1);
|
|
7
|
+
const idx = heap_next;
|
|
8
|
+
heap_next = heap[idx];
|
|
9
|
+
|
|
10
|
+
heap[idx] = obj;
|
|
11
|
+
return idx;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function dropObject(idx) {
|
|
15
|
+
if (idx < 132) return;
|
|
16
|
+
heap[idx] = heap_next;
|
|
17
|
+
heap_next = idx;
|
|
18
|
+
}
|
|
19
|
+
|
|
5
20
|
let cachedDataViewMemory0 = null;
|
|
6
21
|
function getDataViewMemory0() {
|
|
7
22
|
if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
|
|
@@ -23,6 +38,13 @@ function getUint8ArrayMemory0() {
|
|
|
23
38
|
return cachedUint8ArrayMemory0;
|
|
24
39
|
}
|
|
25
40
|
|
|
41
|
+
function getObject(idx) { return heap[idx]; }
|
|
42
|
+
|
|
43
|
+
let heap = new Array(128).fill(undefined);
|
|
44
|
+
heap.push(undefined, null, true, false);
|
|
45
|
+
|
|
46
|
+
let heap_next = heap.length;
|
|
47
|
+
|
|
26
48
|
function passStringToWasm0(arg, malloc, realloc) {
|
|
27
49
|
if (realloc === undefined) {
|
|
28
50
|
const buf = cachedTextEncoder.encode(arg);
|
|
@@ -60,10 +82,10 @@ function passStringToWasm0(arg, malloc, realloc) {
|
|
|
60
82
|
return ptr;
|
|
61
83
|
}
|
|
62
84
|
|
|
63
|
-
function
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
return
|
|
85
|
+
function takeObject(idx) {
|
|
86
|
+
const ret = getObject(idx);
|
|
87
|
+
dropObject(idx);
|
|
88
|
+
return ret;
|
|
67
89
|
}
|
|
68
90
|
|
|
69
91
|
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
@@ -118,15 +140,23 @@ class CompiledRule {
|
|
|
118
140
|
* @param {boolean} preserve_structure
|
|
119
141
|
*/
|
|
120
142
|
constructor(logic, preserve_structure) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
143
|
+
try {
|
|
144
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
145
|
+
const ptr0 = passStringToWasm0(logic, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
146
|
+
const len0 = WASM_VECTOR_LEN;
|
|
147
|
+
wasm.compiledrule_new(retptr, ptr0, len0, preserve_structure);
|
|
148
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
149
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
150
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
151
|
+
if (r2) {
|
|
152
|
+
throw takeObject(r1);
|
|
153
|
+
}
|
|
154
|
+
this.__wbg_ptr = r0 >>> 0;
|
|
155
|
+
CompiledRuleFinalization.register(this, this.__wbg_ptr, this);
|
|
156
|
+
return this;
|
|
157
|
+
} finally {
|
|
158
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
126
159
|
}
|
|
127
|
-
this.__wbg_ptr = ret[0] >>> 0;
|
|
128
|
-
CompiledRuleFinalization.register(this, this.__wbg_ptr, this);
|
|
129
|
-
return this;
|
|
130
160
|
}
|
|
131
161
|
/**
|
|
132
162
|
* Evaluate the compiled rule against data.
|
|
@@ -143,20 +173,26 @@ class CompiledRule {
|
|
|
143
173
|
let deferred3_0;
|
|
144
174
|
let deferred3_1;
|
|
145
175
|
try {
|
|
146
|
-
const
|
|
176
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
177
|
+
const ptr0 = passStringToWasm0(data, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
147
178
|
const len0 = WASM_VECTOR_LEN;
|
|
148
|
-
|
|
149
|
-
var
|
|
150
|
-
var
|
|
151
|
-
|
|
179
|
+
wasm.compiledrule_evaluate(retptr, this.__wbg_ptr, ptr0, len0);
|
|
180
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
181
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
182
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
183
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
184
|
+
var ptr2 = r0;
|
|
185
|
+
var len2 = r1;
|
|
186
|
+
if (r3) {
|
|
152
187
|
ptr2 = 0; len2 = 0;
|
|
153
|
-
throw
|
|
188
|
+
throw takeObject(r2);
|
|
154
189
|
}
|
|
155
190
|
deferred3_0 = ptr2;
|
|
156
191
|
deferred3_1 = len2;
|
|
157
192
|
return getStringFromWasm0(ptr2, len2);
|
|
158
193
|
} finally {
|
|
159
|
-
wasm.
|
|
194
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
195
|
+
wasm.__wbindgen_export(deferred3_0, deferred3_1, 1);
|
|
160
196
|
}
|
|
161
197
|
}
|
|
162
198
|
}
|
|
@@ -182,22 +218,28 @@ function evaluate(logic, data, preserve_structure) {
|
|
|
182
218
|
let deferred4_0;
|
|
183
219
|
let deferred4_1;
|
|
184
220
|
try {
|
|
185
|
-
const
|
|
221
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
222
|
+
const ptr0 = passStringToWasm0(logic, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
186
223
|
const len0 = WASM_VECTOR_LEN;
|
|
187
|
-
const ptr1 = passStringToWasm0(data, wasm.
|
|
224
|
+
const ptr1 = passStringToWasm0(data, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
188
225
|
const len1 = WASM_VECTOR_LEN;
|
|
189
|
-
|
|
190
|
-
var
|
|
191
|
-
var
|
|
192
|
-
|
|
226
|
+
wasm.evaluate(retptr, ptr0, len0, ptr1, len1, preserve_structure);
|
|
227
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
228
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
229
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
230
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
231
|
+
var ptr3 = r0;
|
|
232
|
+
var len3 = r1;
|
|
233
|
+
if (r3) {
|
|
193
234
|
ptr3 = 0; len3 = 0;
|
|
194
|
-
throw
|
|
235
|
+
throw takeObject(r2);
|
|
195
236
|
}
|
|
196
237
|
deferred4_0 = ptr3;
|
|
197
238
|
deferred4_1 = len3;
|
|
198
239
|
return getStringFromWasm0(ptr3, len3);
|
|
199
240
|
} finally {
|
|
200
|
-
wasm.
|
|
241
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
242
|
+
wasm.__wbindgen_export(deferred4_0, deferred4_1, 1);
|
|
201
243
|
}
|
|
202
244
|
}
|
|
203
245
|
exports.evaluate = evaluate;
|
|
@@ -240,22 +282,28 @@ function evaluate_with_trace(logic, data, preserve_structure) {
|
|
|
240
282
|
let deferred4_0;
|
|
241
283
|
let deferred4_1;
|
|
242
284
|
try {
|
|
243
|
-
const
|
|
285
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
286
|
+
const ptr0 = passStringToWasm0(logic, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
244
287
|
const len0 = WASM_VECTOR_LEN;
|
|
245
|
-
const ptr1 = passStringToWasm0(data, wasm.
|
|
288
|
+
const ptr1 = passStringToWasm0(data, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
246
289
|
const len1 = WASM_VECTOR_LEN;
|
|
247
|
-
|
|
248
|
-
var
|
|
249
|
-
var
|
|
250
|
-
|
|
290
|
+
wasm.evaluate_with_trace(retptr, ptr0, len0, ptr1, len1, preserve_structure);
|
|
291
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
292
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
293
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
294
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
295
|
+
var ptr3 = r0;
|
|
296
|
+
var len3 = r1;
|
|
297
|
+
if (r3) {
|
|
251
298
|
ptr3 = 0; len3 = 0;
|
|
252
|
-
throw
|
|
299
|
+
throw takeObject(r2);
|
|
253
300
|
}
|
|
254
301
|
deferred4_0 = ptr3;
|
|
255
302
|
deferred4_1 = len3;
|
|
256
303
|
return getStringFromWasm0(ptr3, len3);
|
|
257
304
|
} finally {
|
|
258
|
-
wasm.
|
|
305
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
306
|
+
wasm.__wbindgen_export(deferred4_0, deferred4_1, 1);
|
|
259
307
|
}
|
|
260
308
|
}
|
|
261
309
|
exports.evaluate_with_trace = evaluate_with_trace;
|
|
@@ -277,18 +325,28 @@ exports.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) {
|
|
|
277
325
|
deferred0_1 = arg1;
|
|
278
326
|
console.error(getStringFromWasm0(arg0, arg1));
|
|
279
327
|
} finally {
|
|
280
|
-
wasm.
|
|
328
|
+
wasm.__wbindgen_export(deferred0_0, deferred0_1, 1);
|
|
281
329
|
}
|
|
282
330
|
};
|
|
283
331
|
|
|
332
|
+
exports.__wbg_getTime_ad1e9878a735af08 = function(arg0) {
|
|
333
|
+
const ret = getObject(arg0).getTime();
|
|
334
|
+
return ret;
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
exports.__wbg_new_0_23cedd11d9b40c9d = function() {
|
|
338
|
+
const ret = new Date();
|
|
339
|
+
return addHeapObject(ret);
|
|
340
|
+
};
|
|
341
|
+
|
|
284
342
|
exports.__wbg_new_8a6f238a6ece86ea = function() {
|
|
285
343
|
const ret = new Error();
|
|
286
|
-
return ret;
|
|
344
|
+
return addHeapObject(ret);
|
|
287
345
|
};
|
|
288
346
|
|
|
289
347
|
exports.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) {
|
|
290
|
-
const ret = arg1.stack;
|
|
291
|
-
const ptr1 = passStringToWasm0(ret, wasm.
|
|
348
|
+
const ret = getObject(arg1).stack;
|
|
349
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
292
350
|
const len1 = WASM_VECTOR_LEN;
|
|
293
351
|
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
294
352
|
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
@@ -297,17 +355,11 @@ exports.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) {
|
|
|
297
355
|
exports.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {
|
|
298
356
|
// Cast intrinsic for `Ref(String) -> Externref`.
|
|
299
357
|
const ret = getStringFromWasm0(arg0, arg1);
|
|
300
|
-
return ret;
|
|
358
|
+
return addHeapObject(ret);
|
|
301
359
|
};
|
|
302
360
|
|
|
303
|
-
exports.
|
|
304
|
-
|
|
305
|
-
const offset = table.grow(4);
|
|
306
|
-
table.set(0, undefined);
|
|
307
|
-
table.set(offset + 0, undefined);
|
|
308
|
-
table.set(offset + 1, null);
|
|
309
|
-
table.set(offset + 2, true);
|
|
310
|
-
table.set(offset + 3, false);
|
|
361
|
+
exports.__wbindgen_object_drop_ref = function(arg0) {
|
|
362
|
+
takeObject(arg0);
|
|
311
363
|
};
|
|
312
364
|
|
|
313
365
|
const wasmPath = `${__dirname}/datalogic_wasm_bg.wasm`;
|
|
Binary file
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
4
|
export const __wbg_compiledrule_free: (a: number, b: number) => void;
|
|
5
|
-
export const compiledrule_evaluate: (a: number, b: number, c: number
|
|
6
|
-
export const compiledrule_new: (a: number, b: number, c: number
|
|
7
|
-
export const evaluate: (a: number, b: number, c: number, d: number, e: number
|
|
8
|
-
export const evaluate_with_trace: (a: number, b: number, c: number, d: number, e: number
|
|
5
|
+
export const compiledrule_evaluate: (a: number, b: number, c: number, d: number) => void;
|
|
6
|
+
export const compiledrule_new: (a: number, b: number, c: number, d: number) => void;
|
|
7
|
+
export const evaluate: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
8
|
+
export const evaluate_with_trace: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
9
9
|
export const init: () => void;
|
|
10
|
-
export const
|
|
11
|
-
export const
|
|
12
|
-
export const
|
|
13
|
-
export const
|
|
14
|
-
export const __externref_table_dealloc: (a: number) => void;
|
|
10
|
+
export const __wbindgen_export: (a: number, b: number, c: number) => void;
|
|
11
|
+
export const __wbindgen_export2: (a: number, b: number) => number;
|
|
12
|
+
export const __wbindgen_export3: (a: number, b: number, c: number, d: number) => number;
|
|
13
|
+
export const __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
15
14
|
export const __wbindgen_start: () => void;
|
package/package.json
CHANGED
package/web/datalogic_wasm.d.ts
CHANGED
|
@@ -76,16 +76,15 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
|
|
76
76
|
export interface InitOutput {
|
|
77
77
|
readonly memory: WebAssembly.Memory;
|
|
78
78
|
readonly __wbg_compiledrule_free: (a: number, b: number) => void;
|
|
79
|
-
readonly compiledrule_evaluate: (a: number, b: number, c: number
|
|
80
|
-
readonly compiledrule_new: (a: number, b: number, c: number
|
|
81
|
-
readonly evaluate: (a: number, b: number, c: number, d: number, e: number
|
|
82
|
-
readonly evaluate_with_trace: (a: number, b: number, c: number, d: number, e: number
|
|
79
|
+
readonly compiledrule_evaluate: (a: number, b: number, c: number, d: number) => void;
|
|
80
|
+
readonly compiledrule_new: (a: number, b: number, c: number, d: number) => void;
|
|
81
|
+
readonly evaluate: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
82
|
+
readonly evaluate_with_trace: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
83
83
|
readonly init: () => void;
|
|
84
|
-
readonly
|
|
85
|
-
readonly
|
|
86
|
-
readonly
|
|
87
|
-
readonly
|
|
88
|
-
readonly __externref_table_dealloc: (a: number) => void;
|
|
84
|
+
readonly __wbindgen_export: (a: number, b: number, c: number) => void;
|
|
85
|
+
readonly __wbindgen_export2: (a: number, b: number) => number;
|
|
86
|
+
readonly __wbindgen_export3: (a: number, b: number, c: number, d: number) => number;
|
|
87
|
+
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
89
88
|
readonly __wbindgen_start: () => void;
|
|
90
89
|
}
|
|
91
90
|
|
package/web/datalogic_wasm.js
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
let wasm;
|
|
2
2
|
|
|
3
|
+
function addHeapObject(obj) {
|
|
4
|
+
if (heap_next === heap.length) heap.push(heap.length + 1);
|
|
5
|
+
const idx = heap_next;
|
|
6
|
+
heap_next = heap[idx];
|
|
7
|
+
|
|
8
|
+
heap[idx] = obj;
|
|
9
|
+
return idx;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function dropObject(idx) {
|
|
13
|
+
if (idx < 132) return;
|
|
14
|
+
heap[idx] = heap_next;
|
|
15
|
+
heap_next = idx;
|
|
16
|
+
}
|
|
17
|
+
|
|
3
18
|
let cachedDataViewMemory0 = null;
|
|
4
19
|
function getDataViewMemory0() {
|
|
5
20
|
if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
|
|
@@ -21,6 +36,13 @@ function getUint8ArrayMemory0() {
|
|
|
21
36
|
return cachedUint8ArrayMemory0;
|
|
22
37
|
}
|
|
23
38
|
|
|
39
|
+
function getObject(idx) { return heap[idx]; }
|
|
40
|
+
|
|
41
|
+
let heap = new Array(128).fill(undefined);
|
|
42
|
+
heap.push(undefined, null, true, false);
|
|
43
|
+
|
|
44
|
+
let heap_next = heap.length;
|
|
45
|
+
|
|
24
46
|
function passStringToWasm0(arg, malloc, realloc) {
|
|
25
47
|
if (realloc === undefined) {
|
|
26
48
|
const buf = cachedTextEncoder.encode(arg);
|
|
@@ -58,10 +80,10 @@ function passStringToWasm0(arg, malloc, realloc) {
|
|
|
58
80
|
return ptr;
|
|
59
81
|
}
|
|
60
82
|
|
|
61
|
-
function
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
return
|
|
83
|
+
function takeObject(idx) {
|
|
84
|
+
const ret = getObject(idx);
|
|
85
|
+
dropObject(idx);
|
|
86
|
+
return ret;
|
|
65
87
|
}
|
|
66
88
|
|
|
67
89
|
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
@@ -124,15 +146,23 @@ export class CompiledRule {
|
|
|
124
146
|
* @param {boolean} preserve_structure
|
|
125
147
|
*/
|
|
126
148
|
constructor(logic, preserve_structure) {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
149
|
+
try {
|
|
150
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
151
|
+
const ptr0 = passStringToWasm0(logic, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
152
|
+
const len0 = WASM_VECTOR_LEN;
|
|
153
|
+
wasm.compiledrule_new(retptr, ptr0, len0, preserve_structure);
|
|
154
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
155
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
156
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
157
|
+
if (r2) {
|
|
158
|
+
throw takeObject(r1);
|
|
159
|
+
}
|
|
160
|
+
this.__wbg_ptr = r0 >>> 0;
|
|
161
|
+
CompiledRuleFinalization.register(this, this.__wbg_ptr, this);
|
|
162
|
+
return this;
|
|
163
|
+
} finally {
|
|
164
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
132
165
|
}
|
|
133
|
-
this.__wbg_ptr = ret[0] >>> 0;
|
|
134
|
-
CompiledRuleFinalization.register(this, this.__wbg_ptr, this);
|
|
135
|
-
return this;
|
|
136
166
|
}
|
|
137
167
|
/**
|
|
138
168
|
* Evaluate the compiled rule against data.
|
|
@@ -149,20 +179,26 @@ export class CompiledRule {
|
|
|
149
179
|
let deferred3_0;
|
|
150
180
|
let deferred3_1;
|
|
151
181
|
try {
|
|
152
|
-
const
|
|
182
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
183
|
+
const ptr0 = passStringToWasm0(data, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
153
184
|
const len0 = WASM_VECTOR_LEN;
|
|
154
|
-
|
|
155
|
-
var
|
|
156
|
-
var
|
|
157
|
-
|
|
185
|
+
wasm.compiledrule_evaluate(retptr, this.__wbg_ptr, ptr0, len0);
|
|
186
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
187
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
188
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
189
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
190
|
+
var ptr2 = r0;
|
|
191
|
+
var len2 = r1;
|
|
192
|
+
if (r3) {
|
|
158
193
|
ptr2 = 0; len2 = 0;
|
|
159
|
-
throw
|
|
194
|
+
throw takeObject(r2);
|
|
160
195
|
}
|
|
161
196
|
deferred3_0 = ptr2;
|
|
162
197
|
deferred3_1 = len2;
|
|
163
198
|
return getStringFromWasm0(ptr2, len2);
|
|
164
199
|
} finally {
|
|
165
|
-
wasm.
|
|
200
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
201
|
+
wasm.__wbindgen_export(deferred3_0, deferred3_1, 1);
|
|
166
202
|
}
|
|
167
203
|
}
|
|
168
204
|
}
|
|
@@ -187,22 +223,28 @@ export function evaluate(logic, data, preserve_structure) {
|
|
|
187
223
|
let deferred4_0;
|
|
188
224
|
let deferred4_1;
|
|
189
225
|
try {
|
|
190
|
-
const
|
|
226
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
227
|
+
const ptr0 = passStringToWasm0(logic, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
191
228
|
const len0 = WASM_VECTOR_LEN;
|
|
192
|
-
const ptr1 = passStringToWasm0(data, wasm.
|
|
229
|
+
const ptr1 = passStringToWasm0(data, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
193
230
|
const len1 = WASM_VECTOR_LEN;
|
|
194
|
-
|
|
195
|
-
var
|
|
196
|
-
var
|
|
197
|
-
|
|
231
|
+
wasm.evaluate(retptr, ptr0, len0, ptr1, len1, preserve_structure);
|
|
232
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
233
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
234
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
235
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
236
|
+
var ptr3 = r0;
|
|
237
|
+
var len3 = r1;
|
|
238
|
+
if (r3) {
|
|
198
239
|
ptr3 = 0; len3 = 0;
|
|
199
|
-
throw
|
|
240
|
+
throw takeObject(r2);
|
|
200
241
|
}
|
|
201
242
|
deferred4_0 = ptr3;
|
|
202
243
|
deferred4_1 = len3;
|
|
203
244
|
return getStringFromWasm0(ptr3, len3);
|
|
204
245
|
} finally {
|
|
205
|
-
wasm.
|
|
246
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
247
|
+
wasm.__wbindgen_export(deferred4_0, deferred4_1, 1);
|
|
206
248
|
}
|
|
207
249
|
}
|
|
208
250
|
|
|
@@ -244,22 +286,28 @@ export function evaluate_with_trace(logic, data, preserve_structure) {
|
|
|
244
286
|
let deferred4_0;
|
|
245
287
|
let deferred4_1;
|
|
246
288
|
try {
|
|
247
|
-
const
|
|
289
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
290
|
+
const ptr0 = passStringToWasm0(logic, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
248
291
|
const len0 = WASM_VECTOR_LEN;
|
|
249
|
-
const ptr1 = passStringToWasm0(data, wasm.
|
|
292
|
+
const ptr1 = passStringToWasm0(data, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
250
293
|
const len1 = WASM_VECTOR_LEN;
|
|
251
|
-
|
|
252
|
-
var
|
|
253
|
-
var
|
|
254
|
-
|
|
294
|
+
wasm.evaluate_with_trace(retptr, ptr0, len0, ptr1, len1, preserve_structure);
|
|
295
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
296
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
297
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
298
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
299
|
+
var ptr3 = r0;
|
|
300
|
+
var len3 = r1;
|
|
301
|
+
if (r3) {
|
|
255
302
|
ptr3 = 0; len3 = 0;
|
|
256
|
-
throw
|
|
303
|
+
throw takeObject(r2);
|
|
257
304
|
}
|
|
258
305
|
deferred4_0 = ptr3;
|
|
259
306
|
deferred4_1 = len3;
|
|
260
307
|
return getStringFromWasm0(ptr3, len3);
|
|
261
308
|
} finally {
|
|
262
|
-
wasm.
|
|
309
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
310
|
+
wasm.__wbindgen_export(deferred4_0, deferred4_1, 1);
|
|
263
311
|
}
|
|
264
312
|
}
|
|
265
313
|
|
|
@@ -313,16 +361,24 @@ function __wbg_get_imports() {
|
|
|
313
361
|
deferred0_1 = arg1;
|
|
314
362
|
console.error(getStringFromWasm0(arg0, arg1));
|
|
315
363
|
} finally {
|
|
316
|
-
wasm.
|
|
364
|
+
wasm.__wbindgen_export(deferred0_0, deferred0_1, 1);
|
|
317
365
|
}
|
|
318
366
|
};
|
|
367
|
+
imports.wbg.__wbg_getTime_ad1e9878a735af08 = function(arg0) {
|
|
368
|
+
const ret = getObject(arg0).getTime();
|
|
369
|
+
return ret;
|
|
370
|
+
};
|
|
371
|
+
imports.wbg.__wbg_new_0_23cedd11d9b40c9d = function() {
|
|
372
|
+
const ret = new Date();
|
|
373
|
+
return addHeapObject(ret);
|
|
374
|
+
};
|
|
319
375
|
imports.wbg.__wbg_new_8a6f238a6ece86ea = function() {
|
|
320
376
|
const ret = new Error();
|
|
321
|
-
return ret;
|
|
377
|
+
return addHeapObject(ret);
|
|
322
378
|
};
|
|
323
379
|
imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) {
|
|
324
|
-
const ret = arg1.stack;
|
|
325
|
-
const ptr1 = passStringToWasm0(ret, wasm.
|
|
380
|
+
const ret = getObject(arg1).stack;
|
|
381
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
|
|
326
382
|
const len1 = WASM_VECTOR_LEN;
|
|
327
383
|
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
328
384
|
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
@@ -330,16 +386,10 @@ function __wbg_get_imports() {
|
|
|
330
386
|
imports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {
|
|
331
387
|
// Cast intrinsic for `Ref(String) -> Externref`.
|
|
332
388
|
const ret = getStringFromWasm0(arg0, arg1);
|
|
333
|
-
return ret;
|
|
389
|
+
return addHeapObject(ret);
|
|
334
390
|
};
|
|
335
|
-
imports.wbg.
|
|
336
|
-
|
|
337
|
-
const offset = table.grow(4);
|
|
338
|
-
table.set(0, undefined);
|
|
339
|
-
table.set(offset + 0, undefined);
|
|
340
|
-
table.set(offset + 1, null);
|
|
341
|
-
table.set(offset + 2, true);
|
|
342
|
-
table.set(offset + 3, false);
|
|
391
|
+
imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
|
|
392
|
+
takeObject(arg0);
|
|
343
393
|
};
|
|
344
394
|
|
|
345
395
|
return imports;
|
|
Binary file
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
4
|
export const __wbg_compiledrule_free: (a: number, b: number) => void;
|
|
5
|
-
export const compiledrule_evaluate: (a: number, b: number, c: number
|
|
6
|
-
export const compiledrule_new: (a: number, b: number, c: number
|
|
7
|
-
export const evaluate: (a: number, b: number, c: number, d: number, e: number
|
|
8
|
-
export const evaluate_with_trace: (a: number, b: number, c: number, d: number, e: number
|
|
5
|
+
export const compiledrule_evaluate: (a: number, b: number, c: number, d: number) => void;
|
|
6
|
+
export const compiledrule_new: (a: number, b: number, c: number, d: number) => void;
|
|
7
|
+
export const evaluate: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
8
|
+
export const evaluate_with_trace: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
9
9
|
export const init: () => void;
|
|
10
|
-
export const
|
|
11
|
-
export const
|
|
12
|
-
export const
|
|
13
|
-
export const
|
|
14
|
-
export const __externref_table_dealloc: (a: number) => void;
|
|
10
|
+
export const __wbindgen_export: (a: number, b: number, c: number) => void;
|
|
11
|
+
export const __wbindgen_export2: (a: number, b: number) => number;
|
|
12
|
+
export const __wbindgen_export3: (a: number, b: number, c: number, d: number) => number;
|
|
13
|
+
export const __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
15
14
|
export const __wbindgen_start: () => void;
|