@n8n/expression-runtime 0.13.0 → 0.13.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/runtime/context.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC3B,cAAc,EAAE,GAAG,EACnB,eAAe,EAAE,GAAG,EACpB,kBAAkB,EAAE,GAAG,EACvB,QAAQ,CAAC,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwJzB"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/runtime/context.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC3B,cAAc,EAAE,GAAG,EACnB,eAAe,EAAE,GAAG,EACpB,kBAAkB,EAAE,GAAG,EACvB,QAAQ,CAAC,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4JzB"}
@@ -137,11 +137,13 @@
137
137
  };
138
138
  return true;
139
139
  }
140
- // Object metadata — create a lazy proxy for deep access
141
- if (value &&
142
- typeof value === 'object' &&
143
- ('__isObject' in value || '__isArray' in value)) {
144
- target[key] = (0, lazy_proxy_1.createDeepLazyProxy)([key], undefined, callbacks);
140
+ // Object / array metadata — create a shape-matched lazy proxy for deep access
141
+ if ((0, lazy_proxy_1.isArrayMetadata)(value)) {
142
+ target[key] = (0, lazy_proxy_1.createDeepLazyProxy)([key], { kind: 'array', length: value.__length }, callbacks);
143
+ return true;
144
+ }
145
+ if ((0, lazy_proxy_1.isObjectMetadata)(value)) {
146
+ target[key] = (0, lazy_proxy_1.createDeepLazyProxy)([key], { kind: 'object', keys: value.__keys }, callbacks);
145
147
  return true;
146
148
  }
147
149
  // Primitive or null — store directly
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/runtime/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/runtime/context.ts"],"names":[],"mappings":";;;;;;;;;;;IAyCA,oCAiKC;IA1MD,iCAAqD;IAErD,iDAA8D;IAC9D,2EAAsE;IAEtE,iDAAsF;IACtF,6CAKsB;IAEtB,sEAAsE;IACtE,MAAM,aAAa,GAAG,IAAA,sCAAuB,EAAC,SAAS,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,IAAA,sCAAuB,EAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,IAAA,sCAAuB,EAAC,SAAS,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,IAAA,sCAAuB,EAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,kBAAkB,GAAG,IAAA,sCAAuB,EAAC,cAAc,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,IAAA,sCAAuB,EAAC,QAAQ,CAAC,CAAC;IAEvD,+EAA+E;IAC/E,yBAAyB;IACzB,+EAA+E;IAE/E;;;;;;;;;;;;;;;OAeG;IACH,SAAgB,YAAY,CAC3B,cAAmB,EACnB,eAAoB,EACpB,kBAAuB,EACvB,QAAiB;QAEjB,IAAI,QAAQ,IAAI,CAAC,gBAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,gBAAQ,CAAC,WAAW,GAAG,QAAQ,IAAI,QAAQ,CAAC;QAE5C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,kFAAkF;QAClF,MAAM,SAAS,GAAG,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;QAE1E,0EAA0E;QAC1E,mFAAmF;QACnF,oGAAoG;QACpG,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;YAC3C,GAAG,EAAE,GAAG,EAAE,CAAC,yBAAU;YACrB,GAAG,EAAE,GAAG,EAAE;gBACT,MAAM,IAAI,8BAAe,CAAC,uDAAuD,CAAC,CAAC;YACpF,CAAC;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,4EAA4E;QAC5E,wEAAwE;QACxE,uEAAuE;QACvE,qEAAqE;QACrE,8CAA8C;QAC9C,4EAA4E;QAE5E,MAAM,CAAC,IAAI,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAEtF,4EAA4E;QAC5E,mFAAmF;QACnF,4EAA4E;QAE5E,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,uCAAiB,CAAC,CAAC;QAEzC,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,4EAA4E;QAE5E,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACtC,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACtC,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QAEtC,yFAAyF;QACzF,+DAA+D;QAC/D,MAAM,CAAC,MAAM,GAAG,eAAM,CAAC;QACvB,MAAM,CAAC,cAAc,GAAG,uBAAc,CAAC;QAEvC,wEAAwE;QACxE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE3B,8EAA8E;QAC9E,MAAM,CAAC,KAAK,GAAG,UAAU,SAAiB;YACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO;gBACN,KAAK,EAAE,IAAA,gCAAmB,EAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC;gBAC9E,OAAO,EAAE,IAAA,gCAAmB,EAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC;aAClF,CAAC;QACH,CAAC,CAAC;QAEF,yCAAyC;QACzC,MAAM,CAAC,CAAC,GAAG,UAAU,QAAgB;YACpC,OAAO,IAAA,gCAAmB,EAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACnE,CAAC,CAAC;QAEF,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,sDAAsD;QACtD,4EAA4E;QAE5E,mEAAmE;QACnE,0DAA0D;QAC1D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,SAAS,eAAe,CAAC,GAAW;YACnC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAEtC,IAAI,KAAc,CAAC;YACnB,IAAI,CAAC;gBACJ,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC/C,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;oBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;iBACtB,CAAC,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACR,oDAAoD;gBACpD,oEAAoE;gBACpE,OAAO,KAAK,CAAC;YACd,CAAC;YAED,+DAA+D;YAC/D,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEpB,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAEtC,IAAA,iCAAoB,EAAC,KAAK,CAAC,CAAC;YAE5B,gDAAgD;YAChD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAa,CAAC,YAAY,EAAE,CAAC;gBACvE,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,IAAe;oBACzC,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE;wBACnE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;wBACzB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;qBACtB,CAAC,CAAC;oBACH,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;oBAC7B,OAAO,MAAM,CAAC;gBACf,CAAC,CAAC;gBACF,OAAO,IAAI,CAAC;YACb,CAAC;YAED,8EAA8E;YAC9E,IAAI,IAAA,4BAAe,EAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,gCAAmB,EAChC,CAAC,GAAG,CAAC,EACL,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,EACzC,SAAS,CACT,CAAC;gBACF,OAAO,IAAI,CAAC;YACb,CAAC;YACD,IAAI,IAAA,6BAAgB,EAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,gCAAmB,EAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC5F,OAAO,IAAI,CAAC;YACb,CAAC;YAED,qCAAqC;YACrC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,4EAA4E;QAC5E,4EAA4E;QAC5E,2DAA2D;QAC3D,oCAAoC;QACpC,0EAA0E;QAC1E,0DAA0D;QAC1D,4EAA4E;QAE5E,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;YACxB,GAAG,CAAC,OAAO,EAAE,IAAI;gBAChB,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,IAAI,IAAI,MAAM,CAAC;gBACpD,IAAI,IAAI,IAAI,MAAM;oBAAE,OAAO,IAAI,CAAC;gBAChC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,GAAG,CAAC,OAAO,EAAE,IAAI;gBAChB,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAC;gBAC/C,IAAI,IAAI,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC,IAAc,CAAC,CAAC;gBAClD,6DAA6D;gBAC7D,eAAe,CAAC,IAAc,CAAC,CAAC;gBAChC,OAAO,MAAM,CAAC,IAAc,CAAC,CAAC;YAC/B,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAED,yFAAyF;IACzF,MAAM,kBAAkB,GAAG;QAC1B,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,YAAY;QACZ,MAAM;QACN,OAAO;QACP,QAAQ;QACR,SAAS;QACT,MAAM;QACN,QAAQ;QACR,YAAY;QACZ,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,UAAU;QACV,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,WAAW;QACX,YAAY;QACZ,OAAO;QACP,gBAAgB;QAChB,SAAS;QACT,WAAW;QACX,mBAAmB;QACnB,eAAe;QACf,gBAAgB;QAChB,wBAAwB;QACxB,aAAa;QACb,SAAS;QACT,OAAO;QACP,QAAQ;QACR,UAAU;KACD,CAAC;IAEX;;;;;;;;OAQG;IACH,SAAS,kBAAkB,CAAC,IAA6B;QACxD,oDAAoD;QACpD,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAElC,6CAA6C;QAE7C,0DAA0D;QAC1D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC;QAEpC,yDAAyD;QACzD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAE7B,SAAS;QACT,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,OAAO,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,cAAc,GAAG,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAElF,cAAc;QACd,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,uBAAuB;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpD,OAAO;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,UAAU;QACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,kBAAkB;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,iBAAiB,GAAG,OAAO,iBAAiB,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,IAAI,CAAC,OAAO,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhE,WAAW;QACX,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAE7C,QAAQ;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC"}
@@ -11,6 +11,16 @@ export interface ErrorSentinel {
11
11
  stack?: string;
12
12
  extra?: Record<string, unknown>;
13
13
  }
14
+ interface ObjectMetadata {
15
+ __isObject: true;
16
+ __keys: string[];
17
+ }
18
+ interface ArrayMetadata {
19
+ __isArray: true;
20
+ __length: number;
21
+ }
22
+ export declare function isObjectMetadata(value: unknown): value is ObjectMetadata;
23
+ export declare function isArrayMetadata(value: unknown): value is ArrayMetadata;
14
24
  /**
15
25
  * If `value` is an error sentinel from a host-side callback, throw it
16
26
  * directly. The isolate's outer try-catch will detect __isError and
@@ -21,6 +31,22 @@ export declare function throwIfErrorSentinel(value: unknown): void;
21
31
  export declare function isLazyProxy(obj: unknown): boolean;
22
32
  /** Returns the basePath the proxy was created with, or undefined if not a proxy. */
23
33
  export declare function getProxyPath(obj: object): string[] | undefined;
34
+ /**
35
+ * Tagged-union shape descriptor for a deep lazy proxy.
36
+ *
37
+ * - `object` proxies wrap a plain object target. `keys` is optional —
38
+ * when omitted, ownKeys/Object.keys() trigger a lazy `getValueAtPath`
39
+ * round-trip to fetch them.
40
+ * - `array` proxies wrap an array target so `Array.isArray(proxy)` is `true`
41
+ * and structured clone / `Array.prototype.map` iterate indices correctly.
42
+ */
43
+ export type ProxyMeta = {
44
+ kind: 'object';
45
+ keys?: string[];
46
+ } | {
47
+ kind: 'array';
48
+ length: number;
49
+ };
24
50
  /**
25
51
  * Creates a deep lazy-loading proxy for workflow data.
26
52
  *
@@ -30,18 +56,19 @@ export declare function getProxyPath(obj: object): string[] | undefined;
30
56
  * Pattern:
31
57
  * 1. When property accessed: Call getValueAtPath([path]) to get metadata
32
58
  * 2. Metadata indicates type: primitive, object, array, or function
33
- * 3. For objects/arrays: Create nested proxy for lazy loading
59
+ * 3. For objects/arrays: Create nested proxy (shape-matched) for lazy loading
34
60
  * 4. For functions: Create wrapper that calls callFunctionAtPath
35
61
  * 5. Cache all fetched values in target to avoid repeated callbacks
36
62
  *
37
63
  * @param basePath - Current path in object tree (e.g., ['$json', 'user'])
38
- * @param knownKeys - Optional pre-known keys for the proxy
64
+ * @param meta - Optional shape descriptor (object/array + known keys/length)
39
65
  * @param callbacks - ivm.Reference callbacks for cross-isolate communication
40
66
  * @returns Proxy object with lazy loading behavior
41
67
  */
42
- export declare function createDeepLazyProxy(basePath?: string[], knownKeys?: string[], callbacks?: {
68
+ export declare function createDeepLazyProxy(basePath?: string[], meta?: ProxyMeta, callbacks?: {
43
69
  getValueAtPath: any;
44
70
  getArrayElement: any;
45
71
  callFunctionAtPath: any;
46
72
  }): any;
73
+ export {};
47
74
  //# sourceMappingURL=lazy-proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-proxy.d.ts","sourceRoot":"","sources":["../../../src/runtime/lazy-proxy.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAsBD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAKzD;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEjD;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAE9D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAClC,QAAQ,GAAE,MAAM,EAAO,EACvB,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,SAAS,CAAC,EAAE;IACX,cAAc,EAAE,GAAG,CAAC;IACpB,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;CACxB,GACC,GAAG,CAsML"}
1
+ {"version":3,"file":"lazy-proxy.d.ts","sourceRoot":"","sources":["../../../src/runtime/lazy-proxy.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,UAAU,cAAc;IACvB,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,UAAU,aAAa;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAOxE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAItE;AAQD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAKzD;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEjD;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAE9D;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAClC,QAAQ,GAAE,MAAM,EAAO,EACvB,IAAI,CAAC,EAAE,SAAS,EAChB,SAAS,CAAC,EAAE;IACX,cAAc,EAAE,GAAG,CAAC;IACpB,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;CACxB,GACC,GAAG,CAqNL"}
@@ -14,6 +14,8 @@
14
14
  })(function (require, exports) {
15
15
  "use strict";
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.isObjectMetadata = isObjectMetadata;
18
+ exports.isArrayMetadata = isArrayMetadata;
17
19
  exports.throwIfErrorSentinel = throwIfErrorSentinel;
18
20
  exports.isLazyProxy = isLazyProxy;
19
21
  exports.getProxyPath = getProxyPath;
@@ -29,6 +31,9 @@
29
31
  '__isObject' in value &&
30
32
  value.__isObject === true);
31
33
  }
34
+ function isArrayMetadata(value) {
35
+ return (typeof value === 'object' && value !== null && '__isArray' in value && value.__isArray === true);
36
+ }
32
37
  function isErrorSentinel(value) {
33
38
  return (typeof value === 'object' && value !== null && '__isError' in value && value.__isError === true);
34
39
  }
@@ -60,26 +65,29 @@
60
65
  * Pattern:
61
66
  * 1. When property accessed: Call getValueAtPath([path]) to get metadata
62
67
  * 2. Metadata indicates type: primitive, object, array, or function
63
- * 3. For objects/arrays: Create nested proxy for lazy loading
68
+ * 3. For objects/arrays: Create nested proxy (shape-matched) for lazy loading
64
69
  * 4. For functions: Create wrapper that calls callFunctionAtPath
65
70
  * 5. Cache all fetched values in target to avoid repeated callbacks
66
71
  *
67
72
  * @param basePath - Current path in object tree (e.g., ['$json', 'user'])
68
- * @param knownKeys - Optional pre-known keys for the proxy
73
+ * @param meta - Optional shape descriptor (object/array + known keys/length)
69
74
  * @param callbacks - ivm.Reference callbacks for cross-isolate communication
70
75
  * @returns Proxy object with lazy loading behavior
71
76
  */
72
- function createDeepLazyProxy(basePath = [], knownKeys, callbacks) {
77
+ function createDeepLazyProxy(basePath = [], meta, callbacks) {
73
78
  if (!callbacks) {
74
79
  throw new Error('createDeepLazyProxy requires callbacks parameter');
75
80
  }
76
81
  const { getValueAtPath, getArrayElement, callFunctionAtPath } = callbacks;
77
- // Cache for keys fetched from the bridge (root proxies without knownKeys).
82
+ const isArray = meta?.kind === 'array';
83
+ const arrayLength = isArray ? meta.length : 0;
84
+ const objectKeys = meta?.kind === 'object' ? meta.keys : undefined;
85
+ // Cache for keys fetched from the bridge (root object proxies without known keys).
78
86
  // Shared between ownKeys and getOwnPropertyDescriptor for consistency.
79
87
  let fetchedKeys;
80
- function resolveKeys() {
81
- if (knownKeys)
82
- return knownKeys;
88
+ function resolveObjectKeys() {
89
+ if (objectKeys)
90
+ return objectKeys;
83
91
  if (fetchedKeys)
84
92
  return fetchedKeys;
85
93
  const value = getValueAtPath.applySync(null, [basePath], {
@@ -93,42 +101,134 @@
93
101
  }
94
102
  return [];
95
103
  }
96
- const proxy = new Proxy({}, {
104
+ function isInArrayBounds(prop) {
105
+ const idx = Number(prop);
106
+ if (!Number.isInteger(idx) || idx < 0 || idx >= arrayLength)
107
+ return undefined;
108
+ if (String(idx) !== prop)
109
+ return undefined; // reject '00', '1.0', etc.
110
+ return idx;
111
+ }
112
+ function materializeChild(basePath, propOrIdx, value) {
113
+ if (value === undefined || value === null)
114
+ return value;
115
+ throwIfErrorSentinel(value);
116
+ // `path = [...basePath, propOrIdx]` is built only inside the three branches
117
+ // that actually use it, so non-metadata objects don't pay for the spread.
118
+ if (value && typeof value === 'object' && value.__isFunction) {
119
+ const path = [...basePath, propOrIdx];
120
+ return function (...args) {
121
+ const result = callFunctionAtPath.applySync(null, [path, ...args], {
122
+ arguments: { copy: true },
123
+ result: { copy: true },
124
+ });
125
+ throwIfErrorSentinel(result);
126
+ return result;
127
+ };
128
+ }
129
+ if (isArrayMetadata(value)) {
130
+ const path = [...basePath, propOrIdx];
131
+ return createDeepLazyProxy(path, { kind: 'array', length: value.__length }, callbacks);
132
+ }
133
+ if (isObjectMetadata(value)) {
134
+ const path = [...basePath, propOrIdx];
135
+ return createDeepLazyProxy(path, { kind: 'object', keys: value.__keys }, callbacks);
136
+ }
137
+ return value;
138
+ }
139
+ const target = isArray ? [] : {};
140
+ const proxy = new Proxy(target, {
97
141
  ownKeys() {
98
- return resolveKeys();
142
+ if (isArray) {
143
+ const keys = Array.from({ length: arrayLength }, (_, i) => String(i));
144
+ // Required by proxy invariant: target [] has non-configurable 'length'
145
+ keys.push('length');
146
+ return keys;
147
+ }
148
+ return resolveObjectKeys();
99
149
  },
100
150
  getOwnPropertyDescriptor(_target, prop) {
101
151
  if (typeof prop === 'symbol')
102
152
  return undefined;
103
- if (resolveKeys().includes(prop)) {
153
+ if (isArray) {
154
+ if (prop === 'length') {
155
+ // Match the target array's own length descriptor shape so the
156
+ // proxy invariant holds: writable & non-configurable.
157
+ return {
158
+ configurable: false,
159
+ enumerable: false,
160
+ writable: true,
161
+ value: arrayLength,
162
+ };
163
+ }
164
+ if (isInArrayBounds(prop) !== undefined) {
165
+ // Lazy proxies are read-only views of host data — writes from
166
+ // expression code must not propagate back across the isolate.
167
+ // Reading `proxy[prop]` triggers the get trap, which fetches the
168
+ // element from the host (if not cached) and stores it on the
169
+ // target. Including `value` matches a native array's data
170
+ // descriptor; the fetch is one-shot per index because of caching.
171
+ return {
172
+ configurable: true,
173
+ enumerable: true,
174
+ writable: false,
175
+ value: proxy[prop],
176
+ };
177
+ }
178
+ return undefined;
179
+ }
180
+ if (resolveObjectKeys().includes(prop)) {
104
181
  return { configurable: true, enumerable: true, writable: false };
105
182
  }
106
183
  return undefined;
107
184
  },
108
- get(target, prop) {
109
- // Handle Symbol properties - return undefined
110
- // Symbols like Symbol.toStringTag are accessed internally
111
- // We can't transfer Symbols via isolated-vm
185
+ get(targetObj, prop) {
186
+ // Symbol-keyed access falls through to the proxy target so that
187
+ // well-known symbols on the prototype chain are reachable. For array
188
+ // proxies this exposes `Array.prototype[Symbol.iterator]` etc., which
189
+ // `[...arr]`, `for…of`, and destructuring need. For object proxies the
190
+ // `{}` target has no own symbol-keyed entries; reads return undefined.
191
+ // Symbols themselves aren't transferred across the isolate boundary —
192
+ // only the values yielded by iteration, which already pay the proxy's
193
+ // indexed `[[Get]]` (primitives or sub-proxies).
112
194
  if (typeof prop === 'symbol') {
113
- return undefined;
114
- }
115
- // Handle common Object.prototype methods within isolate
116
- // Don't fetch from parent to avoid native function transfer issues
117
- if (prop === 'toString') {
118
- return function () {
119
- return '[object Object]';
120
- };
195
+ return targetObj[prop];
121
196
  }
122
- if (prop === 'valueOf') {
123
- return function () {
124
- return target;
125
- };
197
+ // `toString` and `valueOf` aren't intercepted — they fall through to the
198
+ // target's prototype via the cache check below. That means `arr.toString()`
199
+ // returns the canonical comma-joined string (via `Array.prototype.toString`
200
+ // → `.join(',')`, paying one bridge call per element), and `obj.valueOf()`
201
+ // returns the proxy itself instead of the internal target. Pre-fix this
202
+ // trap shortcut to `''` / `targetObj` to avoid the O(n) cost, but the
203
+ // divergence from native was surprising in expressions like
204
+ // `={{ "items: " + $json.arr }}`. Users who care about the cost can call
205
+ // `$json.arr.length` and index explicitly.
206
+ // Array length is known at construction — no bridge call needed
207
+ if (isArray && prop === 'length') {
208
+ return arrayLength;
126
209
  }
127
210
  // Check cache - if already fetched, return cached value
128
- if (prop in target) {
129
- return target[prop];
211
+ if (prop in targetObj) {
212
+ return targetObj[prop];
213
+ }
214
+ if (isArray) {
215
+ const idx = isInArrayBounds(prop);
216
+ if (idx === undefined)
217
+ return undefined;
218
+ const element = getArrayElement.applySync(null, [basePath, idx], {
219
+ arguments: { copy: true },
220
+ result: { copy: true },
221
+ });
222
+ // Primitives (and null) skip `materializeChild`'s metadata checks.
223
+ if (element === null || typeof element !== 'object') {
224
+ targetObj[prop] = element;
225
+ return element;
226
+ }
227
+ targetObj[prop] = materializeChild(basePath, String(idx), element);
228
+ return targetObj[prop];
130
229
  }
131
- // Build path for this property
230
+ // Build path for this property — needed for the getValueAtPath call.
231
+ // materializeChild rebuilds it only inside metadata branches.
132
232
  const path = [...basePath, prop];
133
233
  // Call back to host to get metadata/value
134
234
  // Note: getValueAtPath is an ivm.Reference passed via callbacks
@@ -136,103 +236,25 @@
136
236
  arguments: { copy: true },
137
237
  result: { copy: true },
138
238
  });
139
- // Handle undefined/null - cache and return
140
- if (value === undefined || value === null) {
141
- target[prop] = value;
142
- return value;
143
- }
144
- // Handle errors serialized by host-side callbacks — reconstruct and throw
145
- // so the isolate's outer try-catch can serialize them back via __reportError
146
- throwIfErrorSentinel(value);
147
- // Handle functions - metadata: { __isFunction: true, __name: string }
148
- if (value && typeof value === 'object' && value.__isFunction) {
149
- // Create function wrapper that calls back to parent
150
- target[prop] = function (...args) {
151
- const result = callFunctionAtPath.applySync(null, [path, ...args], {
152
- arguments: { copy: true },
153
- result: { copy: true },
154
- });
155
- // Check if the host-side function threw — reconstruct and throw
156
- throwIfErrorSentinel(result);
157
- return result;
158
- };
159
- return target[prop];
160
- }
161
- // Handle arrays - metadata: { __isArray: true, __length: number }
162
- if (value && typeof value === 'object' && value.__isArray) {
163
- const arrayProxy = new Proxy([], {
164
- has(arrTarget, arrProp) {
165
- if (typeof arrProp === 'symbol')
166
- return arrProp in arrTarget;
167
- const index = Number(arrProp);
168
- if (!isNaN(index) && index >= 0 && index < value.__length) {
169
- return true;
170
- }
171
- return arrProp in arrTarget;
172
- },
173
- get(arrTarget, arrProp) {
174
- // Symbols can't be transferred via isolated-vm; return undefined
175
- if (typeof arrProp === 'symbol') {
176
- return undefined;
177
- }
178
- // Handle array length
179
- if (arrProp === 'length') {
180
- return value.__length;
181
- }
182
- // Handle numeric index
183
- const index = Number(arrProp);
184
- if (!isNaN(index) && index >= 0) {
185
- // Check cache
186
- if (!(arrProp in arrTarget)) {
187
- // Fetch element from parent
188
- const element = getArrayElement.applySync(null, [path, index], {
189
- arguments: { copy: true },
190
- result: { copy: true },
191
- });
192
- throwIfErrorSentinel(element);
193
- // Handle element metadata (arrays and objects need proxies)
194
- if (element && typeof element === 'object' && element.__isArray) {
195
- const elementPath = [...path, String(index)];
196
- arrTarget[arrProp] = createDeepLazyProxy(elementPath, undefined, callbacks);
197
- }
198
- else if (isObjectMetadata(element)) {
199
- // Object metadata: create nested proxy, passing known keys to
200
- // avoid an extra __getValueAtPath round-trip for ownKeys/Object.keys()
201
- const elementPath = [...path, String(index)];
202
- arrTarget[arrProp] = createDeepLazyProxy(elementPath, element.__keys, callbacks);
203
- }
204
- else {
205
- // Primitive element
206
- arrTarget[arrProp] = element;
207
- }
208
- }
209
- return arrTarget[arrProp];
210
- }
211
- // Array methods (map, filter, etc.)
212
- // Note: These require full array - limitation for now
213
- return arrTarget[arrProp];
214
- },
215
- });
216
- target[prop] = arrayProxy;
217
- return target[prop];
218
- }
219
- // Handle objects - metadata: { __isObject: true, __keys: string[] }
220
- if (isObjectMetadata(value)) {
221
- // Create nested proxy for recursive lazy loading, passing known keys
222
- target[prop] = createDeepLazyProxy(path, value.__keys, callbacks);
223
- return target[prop];
224
- }
225
- // Primitive value - cache and return
226
- target[prop] = value;
227
- return value;
239
+ targetObj[prop] = materializeChild(basePath, prop, value);
240
+ return targetObj[prop];
228
241
  },
229
- has(target, prop) {
242
+ has(targetObj, prop) {
230
243
  // Implement 'in' operator support
231
244
  // Example: '$json' in data
245
+ // Mirror the get trap: symbol-keyed lookups defer to the target so
246
+ // `Symbol.iterator in arr` reflects the prototype chain.
232
247
  if (typeof prop === 'symbol')
233
- return false;
248
+ return prop in targetObj;
249
+ if (isArray) {
250
+ if (prop === 'length')
251
+ return true;
252
+ if (prop in targetObj)
253
+ return true;
254
+ return isInArrayBounds(prop) !== undefined;
255
+ }
234
256
  // Check cache first
235
- if (prop in target) {
257
+ if (prop in targetObj) {
236
258
  return true;
237
259
  }
238
260
  // Build path and check existence via callback
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-proxy.js","sourceRoot":"","sources":["../../../src/runtime/lazy-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lazy-proxy.js","sourceRoot":"","sources":["../../../src/runtime/lazy-proxy.ts"],"names":[],"mappings":"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"}