@json-eval-rs/vanilla 0.0.53 → 0.0.55

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/index.d.ts CHANGED
@@ -17,6 +17,16 @@ export declare class JSONEval extends JSONEvalCore {
17
17
  * @returns Promise resolving to WASM module
18
18
  */
19
19
  static initWasm(input?: string | Request | Response | BufferSource | WebAssembly.Module): Promise<any>;
20
+ /**
21
+ * Evaluate logic expression without creating an instance.
22
+ * NOTE: You MUST call `JSONEval.initWasm()` or `init()` before using this method.
23
+ *
24
+ * @param logicStr - JSON Logic expression (string or object)
25
+ * @param data - Optional data (string or object)
26
+ * @param context - Optional context (string or object)
27
+ * @returns Evaluation result
28
+ */
29
+ static evaluateLogic(logicStr: string | object, data?: any, context?: any): any;
20
30
  }
21
31
  /**
22
32
  * Get library version
package/dist/index.js CHANGED
@@ -22,6 +22,18 @@ export class JSONEval extends JSONEvalCore {
22
22
  static async initWasm(input) {
23
23
  return init(input);
24
24
  }
25
+ /**
26
+ * Evaluate logic expression without creating an instance.
27
+ * NOTE: You MUST call `JSONEval.initWasm()` or `init()` before using this method.
28
+ *
29
+ * @param logicStr - JSON Logic expression (string or object)
30
+ * @param data - Optional data (string or object)
31
+ * @param context - Optional context (string or object)
32
+ * @returns Evaluation result
33
+ */
34
+ static evaluateLogic(logicStr, data, context) {
35
+ return JSONEvalCore.evaluateLogic(wasm, logicStr, data, context);
36
+ }
25
37
  }
26
38
  /**
27
39
  * Get library version
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@json-eval-rs/vanilla",
3
- "version": "0.0.53",
3
+ "version": "0.0.55",
4
4
  "description": "JSON Eval RS for direct browser usage (vanilla JS) or manual WASM loading (Next.js Turbopack compat)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,17 +1,17 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  /**
4
- * Initialize the library (sets up panic hook)
4
+ * Get library version (alias)
5
5
  */
6
- export function init(): void;
6
+ export function version(): string;
7
7
  /**
8
8
  * Get the library version
9
9
  */
10
10
  export function getVersion(): string;
11
11
  /**
12
- * Get library version (alias)
12
+ * Initialize the library (sets up panic hook)
13
13
  */
14
- export function version(): string;
14
+ export function init(): void;
15
15
  /**
16
16
  * WebAssembly wrapper for JSONEval
17
17
  */
@@ -40,7 +40,7 @@ export class JSONEvalWasm {
40
40
  * @param context - Optional context data JSON string
41
41
  * @returns Array of dependent change objects as JSON string
42
42
  */
43
- evaluateDependents(changed_path: string, data?: string | null, context?: string | null): string;
43
+ evaluateDependents(changed_path: string, data: string | null | undefined, context: string | null | undefined, re_evaluate: boolean): string;
44
44
  /**
45
45
  * Compile and run JSON logic from a JSON logic string
46
46
  * @param logic_str - JSON logic expression as a string
@@ -49,6 +49,14 @@ export class JSONEvalWasm {
49
49
  * @returns Result as JavaScript object
50
50
  */
51
51
  compileAndRunLogic(logic_str: string, data?: string | null, context?: string | null): any;
52
+ /**
53
+ * Static helper to evaluate logic without creating an instance
54
+ * @param logic_str - JSON logic expression string
55
+ * @param data - Optional JSON data string
56
+ * @param context - Optional JSON context string
57
+ * @returns Result as JavaScript object
58
+ */
59
+ static evaluateLogic(logic_str: string, data?: string | null, context?: string | null): any;
52
60
  /**
53
61
  * Evaluate dependents and return as JavaScript object
54
62
  *
@@ -140,6 +148,10 @@ export class JSONEvalWasm {
140
148
  * @param data - Optional initial data JSON string
141
149
  */
142
150
  constructor(schema: string, context?: string | null, data?: string | null);
151
+ /**
152
+ * Cancel any currently running operation
153
+ */
154
+ cancel(): void;
143
155
  /**
144
156
  * Get cache statistics
145
157
  *
@@ -378,7 +390,7 @@ export class JSONEvalWasm {
378
390
  * @param context - Optional context data JSON string
379
391
  * @returns Array of dependent change objects as JSON string
380
392
  */
381
- evaluateDependentsSubform(subform_path: string, changed_paths_json: string, data?: string | null, context?: string | null): string;
393
+ evaluateDependentsSubform(subform_path: string, changed_paths_json: string, data: string | null | undefined, context: string | null | undefined, re_evaluate: boolean): string;
382
394
  /**
383
395
  * Get schema by multiple paths from subform
384
396
  * @param subformPath - Path to the subform
@@ -411,7 +423,7 @@ export class JSONEvalWasm {
411
423
  * @param context - Optional context data JSON string
412
424
  * @returns Array of dependent change objects as JavaScript object
413
425
  */
414
- evaluateDependentsSubformJS(subform_path: string, changed_paths_json: string, data?: string | null, context?: string | null): any;
426
+ evaluateDependentsSubformJS(subform_path: string, changed_paths_json: string, data: string | null | undefined, context: string | null | undefined, re_evaluate: boolean): any;
415
427
  /**
416
428
  * Get schema by multiple paths from subform (JS object)
417
429
  * @param subformPath - Path to the subform
@@ -518,17 +530,19 @@ export interface InitOutput {
518
530
  readonly getVersion: (a: number) => void;
519
531
  readonly jsonevalwasm_cacheLen: (a: number) => number;
520
532
  readonly jsonevalwasm_cacheStats: (a: number, b: number) => void;
533
+ readonly jsonevalwasm_cancel: (a: number) => void;
521
534
  readonly jsonevalwasm_clearCache: (a: number) => void;
522
535
  readonly jsonevalwasm_compileAndRunLogic: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
523
536
  readonly jsonevalwasm_compileLogic: (a: number, b: number, c: number, d: number) => void;
524
537
  readonly jsonevalwasm_disableCache: (a: number) => void;
525
538
  readonly jsonevalwasm_enableCache: (a: number) => void;
526
539
  readonly jsonevalwasm_evaluate: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
527
- readonly jsonevalwasm_evaluateDependents: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
540
+ readonly jsonevalwasm_evaluateDependents: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
528
541
  readonly jsonevalwasm_evaluateDependentsJS: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
529
- readonly jsonevalwasm_evaluateDependentsSubform: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
530
- readonly jsonevalwasm_evaluateDependentsSubformJS: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
542
+ readonly jsonevalwasm_evaluateDependentsSubform: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
543
+ readonly jsonevalwasm_evaluateDependentsSubformJS: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
531
544
  readonly jsonevalwasm_evaluateJS: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
545
+ readonly jsonevalwasm_evaluateLogic: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
532
546
  readonly jsonevalwasm_evaluateSubform: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
533
547
  readonly jsonevalwasm_getEvaluatedSchema: (a: number, b: number, c: number) => void;
534
548
  readonly jsonevalwasm_getEvaluatedSchemaByPath: (a: number, b: number, c: number, d: number, e: number) => void;
@@ -149,17 +149,10 @@ function passArrayJsValueToWasm0(array, malloc) {
149
149
  return ptr;
150
150
  }
151
151
  /**
152
- * Initialize the library (sets up panic hook)
153
- */
154
- export function init() {
155
- wasm.init();
156
- }
157
-
158
- /**
159
- * Get the library version
152
+ * Get library version (alias)
160
153
  * @returns {string}
161
154
  */
162
- export function getVersion() {
155
+ export function version() {
163
156
  let deferred1_0;
164
157
  let deferred1_1;
165
158
  try {
@@ -177,10 +170,10 @@ export function getVersion() {
177
170
  }
178
171
 
179
172
  /**
180
- * Get library version (alias)
173
+ * Get the library version
181
174
  * @returns {string}
182
175
  */
183
- export function version() {
176
+ export function getVersion() {
184
177
  let deferred1_0;
185
178
  let deferred1_1;
186
179
  try {
@@ -197,6 +190,13 @@ export function version() {
197
190
  }
198
191
  }
199
192
 
193
+ /**
194
+ * Initialize the library (sets up panic hook)
195
+ */
196
+ export function init() {
197
+ wasm.init();
198
+ }
199
+
200
200
  function passArray8ToWasm0(arg, malloc) {
201
201
  const ptr = malloc(arg.length * 1, 1) >>> 0;
202
202
  getUint8ArrayMemory0().set(arg, ptr / 1);
@@ -305,11 +305,12 @@ export class JSONEvalWasm {
305
305
  * @param context - Optional context data JSON string
306
306
  * @returns Array of dependent change objects as JSON string
307
307
  * @param {string} changed_path
308
- * @param {string | null} [data]
309
- * @param {string | null} [context]
308
+ * @param {string | null | undefined} data
309
+ * @param {string | null | undefined} context
310
+ * @param {boolean} re_evaluate
310
311
  * @returns {string}
311
312
  */
312
- evaluateDependents(changed_path, data, context) {
313
+ evaluateDependents(changed_path, data, context, re_evaluate) {
313
314
  let deferred5_0;
314
315
  let deferred5_1;
315
316
  try {
@@ -320,7 +321,7 @@ export class JSONEvalWasm {
320
321
  var len1 = WASM_VECTOR_LEN;
321
322
  var ptr2 = isLikeNone(context) ? 0 : passStringToWasm0(context, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
322
323
  var len2 = WASM_VECTOR_LEN;
323
- wasm.jsonevalwasm_evaluateDependents(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
324
+ wasm.jsonevalwasm_evaluateDependents(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, re_evaluate);
324
325
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
325
326
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
326
327
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -371,6 +372,38 @@ export class JSONEvalWasm {
371
372
  wasm.__wbindgen_add_to_stack_pointer(16);
372
373
  }
373
374
  }
375
+ /**
376
+ * Static helper to evaluate logic without creating an instance
377
+ * @param logic_str - JSON logic expression string
378
+ * @param data - Optional JSON data string
379
+ * @param context - Optional JSON context string
380
+ * @returns Result as JavaScript object
381
+ * @param {string} logic_str
382
+ * @param {string | null} [data]
383
+ * @param {string | null} [context]
384
+ * @returns {any}
385
+ */
386
+ static evaluateLogic(logic_str, data, context) {
387
+ try {
388
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
389
+ const ptr0 = passStringToWasm0(logic_str, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
390
+ const len0 = WASM_VECTOR_LEN;
391
+ var ptr1 = isLikeNone(data) ? 0 : passStringToWasm0(data, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
392
+ var len1 = WASM_VECTOR_LEN;
393
+ var ptr2 = isLikeNone(context) ? 0 : passStringToWasm0(context, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
394
+ var len2 = WASM_VECTOR_LEN;
395
+ wasm.jsonevalwasm_evaluateLogic(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
396
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
397
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
398
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
399
+ if (r2) {
400
+ throw takeObject(r1);
401
+ }
402
+ return takeObject(r0);
403
+ } finally {
404
+ wasm.__wbindgen_add_to_stack_pointer(16);
405
+ }
406
+ }
374
407
  /**
375
408
  * Evaluate dependents and return as JavaScript object
376
409
  *
@@ -696,6 +729,12 @@ export class JSONEvalWasm {
696
729
  wasm.__wbindgen_add_to_stack_pointer(16);
697
730
  }
698
731
  }
732
+ /**
733
+ * Cancel any currently running operation
734
+ */
735
+ cancel() {
736
+ wasm.jsonevalwasm_cancel(this.__wbg_ptr);
737
+ }
699
738
  /**
700
739
  * Get cache statistics
701
740
  *
@@ -1436,11 +1475,12 @@ export class JSONEvalWasm {
1436
1475
  * @returns Array of dependent change objects as JSON string
1437
1476
  * @param {string} subform_path
1438
1477
  * @param {string} changed_paths_json
1439
- * @param {string | null} [data]
1440
- * @param {string | null} [context]
1478
+ * @param {string | null | undefined} data
1479
+ * @param {string | null | undefined} context
1480
+ * @param {boolean} re_evaluate
1441
1481
  * @returns {string}
1442
1482
  */
1443
- evaluateDependentsSubform(subform_path, changed_paths_json, data, context) {
1483
+ evaluateDependentsSubform(subform_path, changed_paths_json, data, context, re_evaluate) {
1444
1484
  let deferred6_0;
1445
1485
  let deferred6_1;
1446
1486
  try {
@@ -1453,7 +1493,7 @@ export class JSONEvalWasm {
1453
1493
  var len2 = WASM_VECTOR_LEN;
1454
1494
  var ptr3 = isLikeNone(context) ? 0 : passStringToWasm0(context, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
1455
1495
  var len3 = WASM_VECTOR_LEN;
1456
- wasm.jsonevalwasm_evaluateDependentsSubform(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
1496
+ wasm.jsonevalwasm_evaluateDependentsSubform(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, re_evaluate);
1457
1497
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1458
1498
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1459
1499
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -1577,11 +1617,12 @@ export class JSONEvalWasm {
1577
1617
  * @returns Array of dependent change objects as JavaScript object
1578
1618
  * @param {string} subform_path
1579
1619
  * @param {string} changed_paths_json
1580
- * @param {string | null} [data]
1581
- * @param {string | null} [context]
1620
+ * @param {string | null | undefined} data
1621
+ * @param {string | null | undefined} context
1622
+ * @param {boolean} re_evaluate
1582
1623
  * @returns {any}
1583
1624
  */
1584
- evaluateDependentsSubformJS(subform_path, changed_paths_json, data, context) {
1625
+ evaluateDependentsSubformJS(subform_path, changed_paths_json, data, context, re_evaluate) {
1585
1626
  try {
1586
1627
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1587
1628
  const ptr0 = passStringToWasm0(subform_path, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
@@ -1592,7 +1633,7 @@ export class JSONEvalWasm {
1592
1633
  var len2 = WASM_VECTOR_LEN;
1593
1634
  var ptr3 = isLikeNone(context) ? 0 : passStringToWasm0(context, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
1594
1635
  var len3 = WASM_VECTOR_LEN;
1595
- wasm.jsonevalwasm_evaluateDependentsSubformJS(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
1636
+ wasm.jsonevalwasm_evaluateDependentsSubformJS(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, re_evaluate);
1596
1637
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1597
1638
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1598
1639
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -2144,7 +2185,7 @@ function __wbg_get_imports() {
2144
2185
  const ret = getObject(arg0).getTime();
2145
2186
  return ret;
2146
2187
  };
2147
- imports.wbg.__wbg_log_a25927b9b22a6f57 = function(arg0, arg1) {
2188
+ imports.wbg.__wbg_log_81520727e210fff2 = function(arg0, arg1) {
2148
2189
  console.log(getStringFromWasm0(arg0, arg1));
2149
2190
  };
2150
2191
  imports.wbg.__wbg_new0_b0a0a38c201e6df5 = function() {
Binary file
@@ -7,17 +7,19 @@ export const __wbg_validationresult_free: (a: number, b: number) => void;
7
7
  export const getVersion: (a: number) => void;
8
8
  export const jsonevalwasm_cacheLen: (a: number) => number;
9
9
  export const jsonevalwasm_cacheStats: (a: number, b: number) => void;
10
+ export const jsonevalwasm_cancel: (a: number) => void;
10
11
  export const jsonevalwasm_clearCache: (a: number) => void;
11
12
  export const jsonevalwasm_compileAndRunLogic: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
12
13
  export const jsonevalwasm_compileLogic: (a: number, b: number, c: number, d: number) => void;
13
14
  export const jsonevalwasm_disableCache: (a: number) => void;
14
15
  export const jsonevalwasm_enableCache: (a: number) => void;
15
16
  export const jsonevalwasm_evaluate: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
16
- export const jsonevalwasm_evaluateDependents: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
17
+ export const jsonevalwasm_evaluateDependents: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
17
18
  export const jsonevalwasm_evaluateDependentsJS: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
18
- export const jsonevalwasm_evaluateDependentsSubform: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
19
- export const jsonevalwasm_evaluateDependentsSubformJS: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
19
+ export const jsonevalwasm_evaluateDependentsSubform: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
20
+ export const jsonevalwasm_evaluateDependentsSubformJS: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
20
21
  export const jsonevalwasm_evaluateJS: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
22
+ export const jsonevalwasm_evaluateLogic: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
21
23
  export const jsonevalwasm_evaluateSubform: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
22
24
  export const jsonevalwasm_getEvaluatedSchema: (a: number, b: number, c: number) => void;
23
25
  export const jsonevalwasm_getEvaluatedSchemaByPath: (a: number, b: number, c: number, d: number, e: number) => void;