@json-eval-rs/vanilla 0.0.54 → 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.54",
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,9 +1,5 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
- /**
4
- * Initialize the library (sets up panic hook)
5
- */
6
- export function init(): void;
7
3
  /**
8
4
  * Get library version (alias)
9
5
  */
@@ -12,6 +8,10 @@ export function version(): string;
12
8
  * Get the library version
13
9
  */
14
10
  export function getVersion(): string;
11
+ /**
12
+ * Initialize the library (sets up panic hook)
13
+ */
14
+ export function init(): void;
15
15
  /**
16
16
  * WebAssembly wrapper for JSONEval
17
17
  */
@@ -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
  *
@@ -534,6 +542,7 @@ export interface InitOutput {
534
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;
535
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;
536
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;
537
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;
538
547
  readonly jsonevalwasm_getEvaluatedSchema: (a: number, b: number, c: number) => void;
539
548
  readonly jsonevalwasm_getEvaluatedSchemaByPath: (a: number, b: number, c: number, d: number, e: number) => void;
@@ -148,13 +148,6 @@ function passArrayJsValueToWasm0(array, malloc) {
148
148
  WASM_VECTOR_LEN = array.length;
149
149
  return ptr;
150
150
  }
151
- /**
152
- * Initialize the library (sets up panic hook)
153
- */
154
- export function init() {
155
- wasm.init();
156
- }
157
-
158
151
  /**
159
152
  * Get library version (alias)
160
153
  * @returns {string}
@@ -197,6 +190,13 @@ export function getVersion() {
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);
@@ -372,6 +372,38 @@ export class JSONEvalWasm {
372
372
  wasm.__wbindgen_add_to_stack_pointer(16);
373
373
  }
374
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
+ }
375
407
  /**
376
408
  * Evaluate dependents and return as JavaScript object
377
409
  *
@@ -2153,7 +2185,7 @@ function __wbg_get_imports() {
2153
2185
  const ret = getObject(arg0).getTime();
2154
2186
  return ret;
2155
2187
  };
2156
- imports.wbg.__wbg_log_14f17096e508a1ab = function(arg0, arg1) {
2188
+ imports.wbg.__wbg_log_81520727e210fff2 = function(arg0, arg1) {
2157
2189
  console.log(getStringFromWasm0(arg0, arg1));
2158
2190
  };
2159
2191
  imports.wbg.__wbg_new0_b0a0a38c201e6df5 = function() {
Binary file
@@ -19,6 +19,7 @@ export const jsonevalwasm_evaluateDependentsJS: (a: number, b: number, c: number
19
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
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;
21
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;
22
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;
23
24
  export const jsonevalwasm_getEvaluatedSchema: (a: number, b: number, c: number) => void;
24
25
  export const jsonevalwasm_getEvaluatedSchemaByPath: (a: number, b: number, c: number, d: number, e: number) => void;