scoundrel-remote-eval 1.0.19 → 1.0.21

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,7 +1,25 @@
1
1
  export default referenceProxy;
2
+ export type ReferenceProxy = Record<string, any> & {
3
+ __serialize: () => Promise<any>;
4
+ };
5
+ export type Proxy = ReferenceProxy;
6
+ export type ProxyPromiseMethods = {
7
+ /**
8
+ * Promise-style then handler
9
+ */
10
+ then: (onfulfilled?: (value: any) => any, onrejected?: (reason: any) => any) => Promise<any>;
11
+ /**
12
+ * Promise-style catch handler
13
+ */
14
+ catch: (onrejected?: (reason: any) => any) => Promise<any>;
15
+ /**
16
+ * Promise-style finally handler
17
+ */
18
+ finally: (onfinally?: () => any) => Promise<any>;
19
+ };
2
20
  /**
3
21
  * @param {any} wrappedObject Target to wrap in a proxy
4
22
  * @returns {Proxy} Proxy that forwards to references
5
23
  */
6
- declare function referenceProxy(wrappedObject: any): ProxyConstructor;
24
+ declare function referenceProxy(wrappedObject: any): Proxy;
7
25
  //# sourceMappingURL=reference-proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference-proxy.d.ts","sourceRoot":"","sources":["../../src/client/reference-proxy.js"],"names":[],"mappings":";AAyCA;;;GAGG;AACH,+CAHW,GAAG,oBAGwE"}
1
+ {"version":3,"file":"reference-proxy.d.ts","sourceRoot":"","sources":["../../src/client/reference-proxy.js"],"names":[],"mappings":";6BAGa,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAAC,WAAW,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;CAAC;oBACvD,cAAc;;;;;UAEb,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;;;;WACtF,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;;;;aACnD,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;;AAmErD;;;GAGG;AACH,+CAHW,GAAG,GACD,KAAK,CAEoE"}
@@ -1,10 +1,36 @@
1
1
  // @ts-check
2
+ /**
3
+ * @typedef {Record<string, any> & {__serialize: () => Promise<any>}} ReferenceProxy
4
+ * @typedef {ReferenceProxy} Proxy
5
+ * @typedef {object} ProxyPromiseMethods
6
+ * @property {(onfulfilled?: (value: any) => any, onrejected?: (reason: any) => any) => Promise<any>} then Promise-style then handler
7
+ * @property {(onrejected?: (reason: any) => any) => Promise<any>} catch Promise-style catch handler
8
+ * @property {(onfinally?: () => any) => Promise<any>} finally Promise-style finally handler
9
+ */
2
10
  /**
3
11
  * @param {import("./reference.js").default} reference Reference to proxy
4
- * @param {string} prop Property name to call
5
- * @returns {(...args: any[]) => Promise<any>} Function that forwards calls
12
+ * @param {string} prop Property name to resolve
13
+ * @returns {((...args: any[]) => Promise<any>) & ProxyPromiseMethods} Callable proxy for method or attribute
6
14
  */
7
- const proxyMethodSpawner = (reference, prop) => (...args) => reference.callMethodWithReference(prop, ...args);
15
+ const proxyPropertySpawner = (reference, prop) => {
16
+ /** @type {((...args: any[]) => Promise<any>) & ProxyPromiseMethods} */
17
+ const methodProxy = /** @type {any} */ ((...args) => reference.callMethod(prop, ...args));
18
+ Object.defineProperties(methodProxy, {
19
+ then: {
20
+ value: (resolve, reject) => reference.readAttributeResult(prop).then(resolve, reject),
21
+ enumerable: false
22
+ },
23
+ catch: {
24
+ value: (reject) => reference.readAttributeResult(prop).catch(reject),
25
+ enumerable: false
26
+ },
27
+ finally: {
28
+ value: (callback) => reference.readAttributeResult(prop).finally(callback),
29
+ enumerable: false
30
+ }
31
+ });
32
+ return methodProxy;
33
+ };
8
34
  const proxyObjectHandler = {
9
35
  /**
10
36
  * @param {import("./reference.js").default|(() => import("./reference.js").default)} reference Reference instance or factory
@@ -19,7 +45,13 @@ const proxyObjectHandler = {
19
45
  const boundMethod = method.bind(reference);
20
46
  return boundMethod;
21
47
  }
22
- return proxyMethodSpawner(reference, prop);
48
+ if (prop == "then" || prop == "catch" || prop == "finally")
49
+ return undefined;
50
+ if (prop == "asymmetricMatch" || prop == "jasmineToString")
51
+ return undefined;
52
+ if (typeof prop !== "string")
53
+ return undefined;
54
+ return proxyPropertySpawner(reference, prop);
23
55
  },
24
56
  /**
25
57
  * @param {import("./reference.js").default|(() => import("./reference.js").default)} receiver Proxy receiver
@@ -39,4 +71,4 @@ const proxyObjectHandler = {
39
71
  */
40
72
  const referenceProxy = (wrappedObject) => new Proxy(wrappedObject, proxyObjectHandler);
41
73
  export default referenceProxy;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLXByb3h5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yZWZlcmVuY2UtcHJveHkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7O0dBSUc7QUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO0FBRTdHLE1BQU0sa0JBQWtCLEdBQUc7SUFDekI7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSTtRQUNqQixJQUFJLE9BQU8sU0FBUyxJQUFJLFVBQVU7WUFBRSxTQUFTLEdBQUcsU0FBUyxFQUFFLENBQUE7UUFFM0QsSUFBSSxJQUFJLElBQUksYUFBYSxFQUFFLENBQUM7WUFDMUIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQTtZQUNsQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBRTFDLE9BQU8sV0FBVyxDQUFBO1FBQ3BCLENBQUM7UUFFRCxPQUFPLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVE7UUFDMUIsS0FBSyxRQUFRLENBQUE7UUFDYixLQUFLLElBQUksQ0FBQTtRQUNULEtBQUssUUFBUSxDQUFBO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO0lBQ3JELENBQUM7Q0FDRixDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0FBRXRGLGVBQWUsY0FBYyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0fSByZWZlcmVuY2UgUmVmZXJlbmNlIHRvIHByb3h5XG4gKiBAcGFyYW0ge3N0cmluZ30gcHJvcCBQcm9wZXJ0eSBuYW1lIHRvIGNhbGxcbiAqIEByZXR1cm5zIHsoLi4uYXJnczogYW55W10pID0+IFByb21pc2U8YW55Pn0gRnVuY3Rpb24gdGhhdCBmb3J3YXJkcyBjYWxsc1xuICovXG5jb25zdCBwcm94eU1ldGhvZFNwYXduZXIgPSAocmVmZXJlbmNlLCBwcm9wKSA9PiAoLi4uYXJncykgPT4gcmVmZXJlbmNlLmNhbGxNZXRob2RXaXRoUmVmZXJlbmNlKHByb3AsIC4uLmFyZ3MpXG5cbmNvbnN0IHByb3h5T2JqZWN0SGFuZGxlciA9IHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9yZWZlcmVuY2UuanNcIikuZGVmYXVsdHwoKCkgPT4gaW1wb3J0KFwiLi9yZWZlcmVuY2UuanNcIikuZGVmYXVsdCl9IHJlZmVyZW5jZSBSZWZlcmVuY2UgaW5zdGFuY2Ugb3IgZmFjdG9yeVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcCBQcm9wZXJ0eSBuYW1lIHRvIHJlc29sdmVcbiAgICogQHJldHVybnMge2FueX0gUHJveHkgdmFsdWUgZm9yIHRoZSBwcm9wZXJ0eVxuICAgKi9cbiAgZ2V0KHJlZmVyZW5jZSwgcHJvcCkge1xuICAgIGlmICh0eXBlb2YgcmVmZXJlbmNlID09IFwiZnVuY3Rpb25cIikgcmVmZXJlbmNlID0gcmVmZXJlbmNlKClcblxuICAgIGlmIChwcm9wID09IFwiX19zZXJpYWxpemVcIikge1xuICAgICAgY29uc3QgbWV0aG9kID0gcmVmZXJlbmNlLnNlcmlhbGl6ZVxuICAgICAgY29uc3QgYm91bmRNZXRob2QgPSBtZXRob2QuYmluZChyZWZlcmVuY2UpXG5cbiAgICAgIHJldHVybiBib3VuZE1ldGhvZFxuICAgIH1cblxuICAgIHJldHVybiBwcm94eU1ldGhvZFNwYXduZXIocmVmZXJlbmNlLCBwcm9wKVxuICB9LFxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vcmVmZXJlbmNlLmpzXCIpLmRlZmF1bHR8KCgpID0+IGltcG9ydChcIi4vcmVmZXJlbmNlLmpzXCIpLmRlZmF1bHQpfSByZWNlaXZlciBQcm94eSByZWNlaXZlclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvcCBQcm9wZXJ0eSBuYW1lIGJlaW5nIHNldFxuICAgKiBAcGFyYW0ge2FueX0gbmV3VmFsdWUgTmV3IHZhbHVlIGZvciB0aGUgcHJvcGVydHlcbiAgICovXG4gIHNldChyZWNlaXZlciwgcHJvcCwgbmV3VmFsdWUpIHtcbiAgICB2b2lkIHJlY2VpdmVyXG4gICAgdm9pZCBwcm9wXG4gICAgdm9pZCBuZXdWYWx1ZVxuICAgIHRocm93IG5ldyBFcnJvcihcInNldCBwcm9wZXJ0eSBpc24ndCBzdXBwb3J0ZWQgeWV0XCIpXG4gIH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge2FueX0gd3JhcHBlZE9iamVjdCBUYXJnZXQgdG8gd3JhcCBpbiBhIHByb3h5XG4gKiBAcmV0dXJucyB7UHJveHl9IFByb3h5IHRoYXQgZm9yd2FyZHMgdG8gcmVmZXJlbmNlc1xuICovXG5jb25zdCByZWZlcmVuY2VQcm94eSA9ICh3cmFwcGVkT2JqZWN0KSA9PiBuZXcgUHJveHkod3JhcHBlZE9iamVjdCwgcHJveHlPYmplY3RIYW5kbGVyKVxuXG5leHBvcnQgZGVmYXVsdCByZWZlcmVuY2VQcm94eVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLXByb3h5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yZWZlcmVuY2UtcHJveHkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7O0dBT0c7QUFFSDs7OztHQUlHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRTtJQUMvQyx1RUFBdUU7SUFDdkUsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7SUFFekYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRTtRQUNuQyxJQUFJLEVBQUU7WUFDSixLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7WUFDckYsVUFBVSxFQUFFLEtBQUs7U0FDbEI7UUFDRCxLQUFLLEVBQUU7WUFDTCxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3BFLFVBQVUsRUFBRSxLQUFLO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUMxRSxVQUFVLEVBQUUsS0FBSztTQUNsQjtLQUNGLENBQUMsQ0FBQTtJQUVGLE9BQU8sV0FBVyxDQUFBO0FBQ3BCLENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQUc7SUFDekI7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSTtRQUNqQixJQUFJLE9BQU8sU0FBUyxJQUFJLFVBQVU7WUFBRSxTQUFTLEdBQUcsU0FBUyxFQUFFLENBQUE7UUFFM0QsSUFBSSxJQUFJLElBQUksYUFBYSxFQUFFLENBQUM7WUFDMUIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQTtZQUNsQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBRTFDLE9BQU8sV0FBVyxDQUFBO1FBQ3BCLENBQUM7UUFFRCxJQUFJLElBQUksSUFBSSxNQUFNLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksU0FBUztZQUFFLE9BQU8sU0FBUyxDQUFBO1FBQzVFLElBQUksSUFBSSxJQUFJLGlCQUFpQixJQUFJLElBQUksSUFBSSxpQkFBaUI7WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUU1RSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUU5QyxPQUFPLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVE7UUFDMUIsS0FBSyxRQUFRLENBQUE7UUFDYixLQUFLLElBQUksQ0FBQTtRQUNULEtBQUssUUFBUSxDQUFBO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO0lBQ3JELENBQUM7Q0FDRixDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0FBRXRGLGVBQWUsY0FBYyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogQHR5cGVkZWYge1JlY29yZDxzdHJpbmcsIGFueT4gJiB7X19zZXJpYWxpemU6ICgpID0+IFByb21pc2U8YW55Pn19IFJlZmVyZW5jZVByb3h5XG4gKiBAdHlwZWRlZiB7UmVmZXJlbmNlUHJveHl9IFByb3h5XG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQcm94eVByb21pc2VNZXRob2RzXG4gKiBAcHJvcGVydHkgeyhvbmZ1bGZpbGxlZD86ICh2YWx1ZTogYW55KSA9PiBhbnksIG9ucmVqZWN0ZWQ/OiAocmVhc29uOiBhbnkpID0+IGFueSkgPT4gUHJvbWlzZTxhbnk+fSB0aGVuIFByb21pc2Utc3R5bGUgdGhlbiBoYW5kbGVyXG4gKiBAcHJvcGVydHkgeyhvbnJlamVjdGVkPzogKHJlYXNvbjogYW55KSA9PiBhbnkpID0+IFByb21pc2U8YW55Pn0gY2F0Y2ggUHJvbWlzZS1zdHlsZSBjYXRjaCBoYW5kbGVyXG4gKiBAcHJvcGVydHkgeyhvbmZpbmFsbHk/OiAoKSA9PiBhbnkpID0+IFByb21pc2U8YW55Pn0gZmluYWxseSBQcm9taXNlLXN0eWxlIGZpbmFsbHkgaGFuZGxlclxuICovXG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0fSByZWZlcmVuY2UgUmVmZXJlbmNlIHRvIHByb3h5XG4gKiBAcGFyYW0ge3N0cmluZ30gcHJvcCBQcm9wZXJ0eSBuYW1lIHRvIHJlc29sdmVcbiAqIEByZXR1cm5zIHsoKC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPGFueT4pICYgUHJveHlQcm9taXNlTWV0aG9kc30gQ2FsbGFibGUgcHJveHkgZm9yIG1ldGhvZCBvciBhdHRyaWJ1dGVcbiAqL1xuY29uc3QgcHJveHlQcm9wZXJ0eVNwYXduZXIgPSAocmVmZXJlbmNlLCBwcm9wKSA9PiB7XG4gIC8qKiBAdHlwZSB7KCguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+KSAmIFByb3h5UHJvbWlzZU1ldGhvZHN9ICovXG4gIGNvbnN0IG1ldGhvZFByb3h5ID0gLyoqIEB0eXBlIHthbnl9ICovICgoLi4uYXJncykgPT4gcmVmZXJlbmNlLmNhbGxNZXRob2QocHJvcCwgLi4uYXJncykpXG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobWV0aG9kUHJveHksIHtcbiAgICB0aGVuOiB7XG4gICAgICB2YWx1ZTogKHJlc29sdmUsIHJlamVjdCkgPT4gcmVmZXJlbmNlLnJlYWRBdHRyaWJ1dGVSZXN1bHQocHJvcCkudGhlbihyZXNvbHZlLCByZWplY3QpLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2VcbiAgICB9LFxuICAgIGNhdGNoOiB7XG4gICAgICB2YWx1ZTogKHJlamVjdCkgPT4gcmVmZXJlbmNlLnJlYWRBdHRyaWJ1dGVSZXN1bHQocHJvcCkuY2F0Y2gocmVqZWN0KSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlXG4gICAgfSxcbiAgICBmaW5hbGx5OiB7XG4gICAgICB2YWx1ZTogKGNhbGxiYWNrKSA9PiByZWZlcmVuY2UucmVhZEF0dHJpYnV0ZVJlc3VsdChwcm9wKS5maW5hbGx5KGNhbGxiYWNrKSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBtZXRob2RQcm94eVxufVxuXG5jb25zdCBwcm94eU9iamVjdEhhbmRsZXIgPSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vcmVmZXJlbmNlLmpzXCIpLmRlZmF1bHR8KCgpID0+IGltcG9ydChcIi4vcmVmZXJlbmNlLmpzXCIpLmRlZmF1bHQpfSByZWZlcmVuY2UgUmVmZXJlbmNlIGluc3RhbmNlIG9yIGZhY3RvcnlcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcGVydHkgbmFtZSB0byByZXNvbHZlXG4gICAqIEByZXR1cm5zIHthbnl9IFByb3h5IHZhbHVlIGZvciB0aGUgcHJvcGVydHlcbiAgICovXG4gIGdldChyZWZlcmVuY2UsIHByb3ApIHtcbiAgICBpZiAodHlwZW9mIHJlZmVyZW5jZSA9PSBcImZ1bmN0aW9uXCIpIHJlZmVyZW5jZSA9IHJlZmVyZW5jZSgpXG5cbiAgICBpZiAocHJvcCA9PSBcIl9fc2VyaWFsaXplXCIpIHtcbiAgICAgIGNvbnN0IG1ldGhvZCA9IHJlZmVyZW5jZS5zZXJpYWxpemVcbiAgICAgIGNvbnN0IGJvdW5kTWV0aG9kID0gbWV0aG9kLmJpbmQocmVmZXJlbmNlKVxuXG4gICAgICByZXR1cm4gYm91bmRNZXRob2RcbiAgICB9XG5cbiAgICBpZiAocHJvcCA9PSBcInRoZW5cIiB8fCBwcm9wID09IFwiY2F0Y2hcIiB8fCBwcm9wID09IFwiZmluYWxseVwiKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgaWYgKHByb3AgPT0gXCJhc3ltbWV0cmljTWF0Y2hcIiB8fCBwcm9wID09IFwiamFzbWluZVRvU3RyaW5nXCIpIHJldHVybiB1bmRlZmluZWRcblxuICAgIGlmICh0eXBlb2YgcHJvcCAhPT0gXCJzdHJpbmdcIikgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgcmV0dXJuIHByb3h5UHJvcGVydHlTcGF3bmVyKHJlZmVyZW5jZSwgcHJvcClcbiAgfSxcblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0fCgoKSA9PiBpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0KX0gcmVjZWl2ZXIgUHJveHkgcmVjZWl2ZXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcGVydHkgbmFtZSBiZWluZyBzZXRcbiAgICogQHBhcmFtIHthbnl9IG5ld1ZhbHVlIE5ldyB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XG4gICAqL1xuICBzZXQocmVjZWl2ZXIsIHByb3AsIG5ld1ZhbHVlKSB7XG4gICAgdm9pZCByZWNlaXZlclxuICAgIHZvaWQgcHJvcFxuICAgIHZvaWQgbmV3VmFsdWVcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJzZXQgcHJvcGVydHkgaXNuJ3Qgc3VwcG9ydGVkIHlldFwiKVxuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHthbnl9IHdyYXBwZWRPYmplY3QgVGFyZ2V0IHRvIHdyYXAgaW4gYSBwcm94eVxuICogQHJldHVybnMge1Byb3h5fSBQcm94eSB0aGF0IGZvcndhcmRzIHRvIHJlZmVyZW5jZXNcbiAqL1xuY29uc3QgcmVmZXJlbmNlUHJveHkgPSAod3JhcHBlZE9iamVjdCkgPT4gbmV3IFByb3h5KHdyYXBwZWRPYmplY3QsIHByb3h5T2JqZWN0SGFuZGxlcilcblxuZXhwb3J0IGRlZmF1bHQgcmVmZXJlbmNlUHJveHlcbiJdfQ==
@@ -1,3 +1,4 @@
1
+ /** @typedef {import("./reference-proxy.js").Proxy} Proxy */
1
2
  export default class Reference {
2
3
  /**
3
4
  * Creates a new Reference
@@ -8,37 +9,49 @@ export default class Reference {
8
9
  client: any;
9
10
  id: string;
10
11
  /**
11
- * Calls a method on the reference
12
+ * Calls a method on the reference and returns a proxy
12
13
  * @param {string} methodName Method name to invoke
13
14
  * @param {...any} args Arguments to pass to the method
14
- * @returns {Promise<any>} Result from the method call
15
+ * @returns {Promise<Proxy>} Proxy to the return value
16
+ */
17
+ callMethod(methodName: string, ...args: any[]): Promise<Proxy>;
18
+ /**
19
+ * Calls a method on the reference and returns a reference
20
+ * @param {string} methodName Method name to invoke
21
+ * @param {...any} args Arguments to pass to the method
22
+ * @returns {Promise<Reference>} Reference to the return value
15
23
  */
16
- callMethod(methodName: string, ...args: any[]): Promise<any>;
24
+ callMethodReference(methodName: string, ...args: any[]): Promise<Reference>;
17
25
  /**
18
- * Calls a method on the reference using another reference as argument
26
+ * Calls a method on the reference and returns the result directly
19
27
  * @param {string} methodName Method name to invoke
20
28
  * @param {...any} args Arguments to pass to the method
21
29
  * @returns {Promise<any>} Result from the method call
22
30
  */
23
- callMethodWithReference(methodName: string, ...args: any[]): Promise<any>;
31
+ callMethodResult(methodName: string, ...args: any[]): Promise<any>;
24
32
  /**
25
- * Reads an attribute from the reference
26
- * @param {string} attributeName Attribute name to read
27
- * @param {...any} args Additional arguments
28
- * @returns {Promise<any>} Attribute value
33
+ * Reads an attribute from the reference and returns a proxy
34
+ * @param {string | number} attributeName Attribute name to read
35
+ * @returns {Promise<Proxy>} Proxy to the attribute value
36
+ */
37
+ readAttribute(attributeName: string | number): Promise<Proxy>;
38
+ /**
39
+ * Reads an attribute from the reference and returns a reference
40
+ * @param {string | number} attributeName Attribute name to read
41
+ * @returns {Promise<Reference>} Reference to the attribute value
29
42
  */
30
- readAttribute(attributeName: string, ...args: any[]): Promise<any>;
43
+ readAttributeReference(attributeName: string | number): Promise<Reference>;
31
44
  /**
32
- * Reads an attribute from the reference using another reference as argument
33
- * @param {string} attributeName Attribute name to read
34
- * @param {...any} args Additional arguments
45
+ * Reads an attribute from the reference and returns the result directly
46
+ * @param {string | number} attributeName Attribute name to read
35
47
  * @returns {Promise<any>} Attribute value
36
48
  */
37
- readAttributeWithReference(attributeName: string, ...args: any[]): Promise<any>;
49
+ readAttributeResult(attributeName: string | number): Promise<any>;
38
50
  /**
39
51
  * Serializes the reference and returns the result directly
40
52
  * @returns {Promise<any>} Parsed JSON representation
41
53
  */
42
54
  serialize(): Promise<any>;
43
55
  }
56
+ export type Proxy = import("./reference-proxy.js").Proxy;
44
57
  //# sourceMappingURL=reference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/client/reference.js"],"names":[],"mappings":"AAEA;IACE;;;;OAIG;IACH,oBAHW,GAAG,MACH,MAAM,EAOhB;IAJC,YAAoB;IACpB,WAAY;IAKd;;;;;OAKG;IACH,uBAJW,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;;;OAKG;IACH,oCAJW,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;;;OAKG;IACH,6BAJW,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;;;OAKG;IACH,0CAJW,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,aAFa,OAAO,CAAC,GAAG,CAAC,CAIxB;CACF"}
1
+ {"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../src/client/reference.js"],"names":[],"mappings":"AAEA,4DAA4D;AAE5D;IACE;;;;OAIG;IACH,oBAHW,GAAG,MACH,MAAM,EAOhB;IAJC,YAAoB;IACpB,WAAY;IAKd;;;;;OAKG;IACH,uBAJW,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,KAAK,CAAC,CAI1B;IAED;;;;;OAKG;IACH,gCAJW,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,SAAS,CAAC,CAI9B;IAED;;;;;OAKG;IACH,6BAJW,MAAM,WACF,GAAG,EAAA,GACL,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;;OAIG;IACH,6BAHW,MAAM,GAAG,MAAM,GACb,OAAO,CAAC,KAAK,CAAC,CAI1B;IAED;;;;OAIG;IACH,sCAHW,MAAM,GAAG,MAAM,GACb,OAAO,CAAC,SAAS,CAAC,CAI9B;IAED;;;;OAIG;IACH,mCAHW,MAAM,GAAG,MAAM,GACb,OAAO,CAAC,GAAG,CAAC,CAIxB;IAED;;;OAGG;IACH,aAFa,OAAO,CAAC,GAAG,CAAC,CAIxB;CACF;oBA/Ea,OAAO,sBAAsB,EAAE,KAAK"}
@@ -1,4 +1,5 @@
1
1
  // @ts-check
2
+ /** @typedef {import("./reference-proxy.js").Proxy} Proxy */
2
3
  export default class Reference {
3
4
  /**
4
5
  * Creates a new Reference
@@ -12,40 +13,55 @@ export default class Reference {
12
13
  throw new Error(`Invalid ID given: ${id}`);
13
14
  }
14
15
  /**
15
- * Calls a method on the reference
16
+ * Calls a method on the reference and returns a proxy
16
17
  * @param {string} methodName Method name to invoke
17
18
  * @param {...any} args Arguments to pass to the method
18
- * @returns {Promise<any>} Result from the method call
19
+ * @returns {Promise<Proxy>} Proxy to the return value
19
20
  */
20
21
  async callMethod(methodName, ...args) {
21
- return await this.client.callMethodOnReference(this.id, methodName, ...args);
22
+ return await this.client.callMethodOnReference(this.id, methodName, { proxy: true }, ...args);
23
+ }
24
+ /**
25
+ * Calls a method on the reference and returns a reference
26
+ * @param {string} methodName Method name to invoke
27
+ * @param {...any} args Arguments to pass to the method
28
+ * @returns {Promise<Reference>} Reference to the return value
29
+ */
30
+ async callMethodReference(methodName, ...args) {
31
+ return await this.client.callMethodOnReference(this.id, methodName, { reference: true }, ...args);
22
32
  }
23
33
  /**
24
- * Calls a method on the reference using another reference as argument
34
+ * Calls a method on the reference and returns the result directly
25
35
  * @param {string} methodName Method name to invoke
26
36
  * @param {...any} args Arguments to pass to the method
27
37
  * @returns {Promise<any>} Result from the method call
28
38
  */
29
- async callMethodWithReference(methodName, ...args) {
30
- return await this.client.callMethodOnReferenceWithReference(this.id, methodName, ...args);
39
+ async callMethodResult(methodName, ...args) {
40
+ return await this.client.callMethodOnReference(this.id, methodName, { result: true }, ...args);
31
41
  }
32
42
  /**
33
- * Reads an attribute from the reference
34
- * @param {string} attributeName Attribute name to read
35
- * @param {...any} args Additional arguments
36
- * @returns {Promise<any>} Attribute value
43
+ * Reads an attribute from the reference and returns a proxy
44
+ * @param {string | number} attributeName Attribute name to read
45
+ * @returns {Promise<Proxy>} Proxy to the attribute value
46
+ */
47
+ async readAttribute(attributeName) {
48
+ return await this.client.readAttributeOnReference(this.id, { proxy: true }, attributeName);
49
+ }
50
+ /**
51
+ * Reads an attribute from the reference and returns a reference
52
+ * @param {string | number} attributeName Attribute name to read
53
+ * @returns {Promise<Reference>} Reference to the attribute value
37
54
  */
38
- async readAttribute(attributeName, ...args) {
39
- return await this.client.readAttributeOnReference(this.id, attributeName, ...args);
55
+ async readAttributeReference(attributeName) {
56
+ return await this.client.readAttributeOnReference(this.id, { reference: true }, attributeName);
40
57
  }
41
58
  /**
42
- * Reads an attribute from the reference using another reference as argument
43
- * @param {string} attributeName Attribute name to read
44
- * @param {...any} args Additional arguments
59
+ * Reads an attribute from the reference and returns the result directly
60
+ * @param {string | number} attributeName Attribute name to read
45
61
  * @returns {Promise<any>} Attribute value
46
62
  */
47
- async readAttributeWithReference(attributeName, ...args) {
48
- return await this.client.readAttributeOnReferenceWithReference(this.id, attributeName, ...args);
63
+ async readAttributeResult(attributeName) {
64
+ return await this.client.readAttributeOnReference(this.id, { result: true }, attributeName);
49
65
  }
50
66
  /**
51
67
  * Serializes the reference and returns the result directly
@@ -55,4 +71,4 @@ export default class Reference {
55
71
  return await this.client.serializeReference(this.id);
56
72
  }
57
73
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yZWZlcmVuY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE1BQU0sQ0FBQyxPQUFPLE9BQU8sU0FBUztJQUM1Qjs7OztPQUlHO0lBQ0gsWUFBWSxNQUFNLEVBQUUsRUFBRTtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQTtRQUVaLElBQUksQ0FBQyxFQUFFO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxHQUFHLElBQUk7UUFDbEMsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUM5RSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsdUJBQXVCLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSTtRQUMvQyxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzNGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLEdBQUcsSUFBSTtRQUN4QyxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQ3BGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLEVBQUUsR0FBRyxJQUFJO1FBQ3JELE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFDakcsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxTQUFTO1FBQ2IsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWZlcmVuY2Uge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBSZWZlcmVuY2VcbiAgICogQHBhcmFtIHthbnl9IGNsaWVudCBUaGUgY2xpZW50IGluc3RhbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCBUaGUgcmVmZXJlbmNlIElEXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjbGllbnQsIGlkKSB7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnRcbiAgICB0aGlzLmlkID0gaWRcblxuICAgIGlmICghaWQpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBJRCBnaXZlbjogJHtpZH1gKVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxzIGEgbWV0aG9kIG9uIHRoZSByZWZlcmVuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgTWV0aG9kIG5hbWUgdG8gaW52b2tlXG4gICAqIEBwYXJhbSAgey4uLmFueX0gYXJncyBBcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgbWV0aG9kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IFJlc3VsdCBmcm9tIHRoZSBtZXRob2QgY2FsbFxuICAgKi9cbiAgYXN5bmMgY2FsbE1ldGhvZChtZXRob2ROYW1lLCAuLi5hcmdzKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2xpZW50LmNhbGxNZXRob2RPblJlZmVyZW5jZSh0aGlzLmlkLCBtZXRob2ROYW1lLCAuLi5hcmdzKVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxzIGEgbWV0aG9kIG9uIHRoZSByZWZlcmVuY2UgdXNpbmcgYW5vdGhlciByZWZlcmVuY2UgYXMgYXJndW1lbnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgTWV0aG9kIG5hbWUgdG8gaW52b2tlXG4gICAqIEBwYXJhbSAgey4uLmFueX0gYXJncyBBcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgbWV0aG9kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IFJlc3VsdCBmcm9tIHRoZSBtZXRob2QgY2FsbFxuICAgKi9cbiAgYXN5bmMgY2FsbE1ldGhvZFdpdGhSZWZlcmVuY2UobWV0aG9kTmFtZSwgLi4uYXJncykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNsaWVudC5jYWxsTWV0aG9kT25SZWZlcmVuY2VXaXRoUmVmZXJlbmNlKHRoaXMuaWQsIG1ldGhvZE5hbWUsIC4uLmFyZ3MpXG4gIH1cblxuICAvKipcbiAgICogUmVhZHMgYW4gYXR0cmlidXRlIGZyb20gdGhlIHJlZmVyZW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXR0cmlidXRlTmFtZSBBdHRyaWJ1dGUgbmFtZSB0byByZWFkXG4gICAqIEBwYXJhbSAgey4uLmFueX0gYXJncyBBZGRpdGlvbmFsIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxhbnk+fSBBdHRyaWJ1dGUgdmFsdWVcbiAgICovXG4gIGFzeW5jIHJlYWRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgLi4uYXJncykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNsaWVudC5yZWFkQXR0cmlidXRlT25SZWZlcmVuY2UodGhpcy5pZCwgYXR0cmlidXRlTmFtZSwgLi4uYXJncylcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyBhbiBhdHRyaWJ1dGUgZnJvbSB0aGUgcmVmZXJlbmNlIHVzaW5nIGFub3RoZXIgcmVmZXJlbmNlIGFzIGFyZ3VtZW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIEF0dHJpYnV0ZSBuYW1lIHRvIHJlYWRcbiAgICogQHBhcmFtICB7Li4uYW55fSBhcmdzIEFkZGl0aW9uYWwgYXJndW1lbnRzXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IEF0dHJpYnV0ZSB2YWx1ZVxuICAgKi9cbiAgYXN5bmMgcmVhZEF0dHJpYnV0ZVdpdGhSZWZlcmVuY2UoYXR0cmlidXRlTmFtZSwgLi4uYXJncykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNsaWVudC5yZWFkQXR0cmlidXRlT25SZWZlcmVuY2VXaXRoUmVmZXJlbmNlKHRoaXMuaWQsIGF0dHJpYnV0ZU5hbWUsIC4uLmFyZ3MpXG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplcyB0aGUgcmVmZXJlbmNlIGFuZCByZXR1cm5zIHRoZSByZXN1bHQgZGlyZWN0bHlcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn0gUGFyc2VkIEpTT04gcmVwcmVzZW50YXRpb25cbiAgICovXG4gIGFzeW5jIHNlcmlhbGl6ZSgpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jbGllbnQuc2VyaWFsaXplUmVmZXJlbmNlKHRoaXMuaWQpXG4gIH1cbn1cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yZWZlcmVuY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLDREQUE0RDtBQUU1RCxNQUFNLENBQUMsT0FBTyxPQUFPLFNBQVM7SUFDNUI7Ozs7T0FJRztJQUNILFlBQVksTUFBTSxFQUFFLEVBQUU7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUE7UUFFWixJQUFJLENBQUMsRUFBRTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxJQUFJO1FBQ2xDLE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFDN0YsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxHQUFHLElBQUk7UUFDM0MsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUNqRyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSTtRQUN4QyxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFBO0lBQzlGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhO1FBQy9CLE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFDLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDMUYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsc0JBQXNCLENBQUMsYUFBYTtRQUN4QyxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzlGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGFBQWE7UUFDckMsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUMzRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFNBQVM7UUFDYixPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDdEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KFwiLi9yZWZlcmVuY2UtcHJveHkuanNcIikuUHJveHl9IFByb3h5ICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlZmVyZW5jZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFJlZmVyZW5jZVxuICAgKiBAcGFyYW0ge2FueX0gY2xpZW50IFRoZSBjbGllbnQgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkIFRoZSByZWZlcmVuY2UgSURcbiAgICovXG4gIGNvbnN0cnVjdG9yKGNsaWVudCwgaWQpIHtcbiAgICB0aGlzLmNsaWVudCA9IGNsaWVudFxuICAgIHRoaXMuaWQgPSBpZFxuXG4gICAgaWYgKCFpZCkgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIElEIGdpdmVuOiAke2lkfWApXG4gIH1cblxuICAvKipcbiAgICogQ2FsbHMgYSBtZXRob2Qgb24gdGhlIHJlZmVyZW5jZSBhbmQgcmV0dXJucyBhIHByb3h5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lIE1ldGhvZCBuYW1lIHRvIGludm9rZVxuICAgKiBAcGFyYW0gIHsuLi5hbnl9IGFyZ3MgQXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIG1ldGhvZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxQcm94eT59IFByb3h5IHRvIHRoZSByZXR1cm4gdmFsdWVcbiAgICovXG4gIGFzeW5jIGNhbGxNZXRob2QobWV0aG9kTmFtZSwgLi4uYXJncykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNsaWVudC5jYWxsTWV0aG9kT25SZWZlcmVuY2UodGhpcy5pZCwgbWV0aG9kTmFtZSwge3Byb3h5OiB0cnVlfSwgLi4uYXJncylcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxscyBhIG1ldGhvZCBvbiB0aGUgcmVmZXJlbmNlIGFuZCByZXR1cm5zIGEgcmVmZXJlbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lIE1ldGhvZCBuYW1lIHRvIGludm9rZVxuICAgKiBAcGFyYW0gIHsuLi5hbnl9IGFyZ3MgQXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIG1ldGhvZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSZWZlcmVuY2U+fSBSZWZlcmVuY2UgdG8gdGhlIHJldHVybiB2YWx1ZVxuICAgKi9cbiAgYXN5bmMgY2FsbE1ldGhvZFJlZmVyZW5jZShtZXRob2ROYW1lLCAuLi5hcmdzKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2xpZW50LmNhbGxNZXRob2RPblJlZmVyZW5jZSh0aGlzLmlkLCBtZXRob2ROYW1lLCB7cmVmZXJlbmNlOiB0cnVlfSwgLi4uYXJncylcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxscyBhIG1ldGhvZCBvbiB0aGUgcmVmZXJlbmNlIGFuZCByZXR1cm5zIHRoZSByZXN1bHQgZGlyZWN0bHlcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUgTWV0aG9kIG5hbWUgdG8gaW52b2tlXG4gICAqIEBwYXJhbSAgey4uLmFueX0gYXJncyBBcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgbWV0aG9kXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IFJlc3VsdCBmcm9tIHRoZSBtZXRob2QgY2FsbFxuICAgKi9cbiAgYXN5bmMgY2FsbE1ldGhvZFJlc3VsdChtZXRob2ROYW1lLCAuLi5hcmdzKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2xpZW50LmNhbGxNZXRob2RPblJlZmVyZW5jZSh0aGlzLmlkLCBtZXRob2ROYW1lLCB7cmVzdWx0OiB0cnVlfSwgLi4uYXJncylcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyBhbiBhdHRyaWJ1dGUgZnJvbSB0aGUgcmVmZXJlbmNlIGFuZCByZXR1cm5zIGEgcHJveHlcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudW1iZXJ9IGF0dHJpYnV0ZU5hbWUgQXR0cmlidXRlIG5hbWUgdG8gcmVhZFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxQcm94eT59IFByb3h5IHRvIHRoZSBhdHRyaWJ1dGUgdmFsdWVcbiAgICovXG4gIGFzeW5jIHJlYWRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNsaWVudC5yZWFkQXR0cmlidXRlT25SZWZlcmVuY2UodGhpcy5pZCwge3Byb3h5OiB0cnVlfSwgYXR0cmlidXRlTmFtZSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyBhbiBhdHRyaWJ1dGUgZnJvbSB0aGUgcmVmZXJlbmNlIGFuZCByZXR1cm5zIGEgcmVmZXJlbmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyfSBhdHRyaWJ1dGVOYW1lIEF0dHJpYnV0ZSBuYW1lIHRvIHJlYWRcbiAgICogQHJldHVybnMge1Byb21pc2U8UmVmZXJlbmNlPn0gUmVmZXJlbmNlIHRvIHRoZSBhdHRyaWJ1dGUgdmFsdWVcbiAgICovXG4gIGFzeW5jIHJlYWRBdHRyaWJ1dGVSZWZlcmVuY2UoYXR0cmlidXRlTmFtZSkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNsaWVudC5yZWFkQXR0cmlidXRlT25SZWZlcmVuY2UodGhpcy5pZCwge3JlZmVyZW5jZTogdHJ1ZX0sIGF0dHJpYnV0ZU5hbWUpXG4gIH1cblxuICAvKipcbiAgICogUmVhZHMgYW4gYXR0cmlidXRlIGZyb20gdGhlIHJlZmVyZW5jZSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0IGRpcmVjdGx5XG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyfSBhdHRyaWJ1dGVOYW1lIEF0dHJpYnV0ZSBuYW1lIHRvIHJlYWRcbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn0gQXR0cmlidXRlIHZhbHVlXG4gICAqL1xuICBhc3luYyByZWFkQXR0cmlidXRlUmVzdWx0KGF0dHJpYnV0ZU5hbWUpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jbGllbnQucmVhZEF0dHJpYnV0ZU9uUmVmZXJlbmNlKHRoaXMuaWQsIHtyZXN1bHQ6IHRydWV9LCBhdHRyaWJ1dGVOYW1lKVxuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZXMgdGhlIHJlZmVyZW5jZSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0IGRpcmVjdGx5XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IFBhcnNlZCBKU09OIHJlcHJlc2VudGF0aW9uXG4gICAqL1xuICBhc3luYyBzZXJpYWxpemUoKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2xpZW50LnNlcmlhbGl6ZVJlZmVyZW5jZSh0aGlzLmlkKVxuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "scoundrel-remote-eval",
3
3
  "type": "module",
4
- "version": "1.0.19",
4
+ "version": "1.0.21",
5
5
  "description": "",
6
6
  "main": "build/index.js",
7
7
  "types": "build/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  "@types/jasmine": "^5.1.13",
36
36
  "@types/node": "^25.0.2",
37
37
  "eslint": "^9.39.2",
38
- "eslint-plugin-jsdoc": "^50.6.0",
38
+ "eslint-plugin-jsdoc": "^61.5.0",
39
39
  "globals": "^16.5.0",
40
40
  "jasmine": "^5.1.0",
41
41
  "typescript": "^5.9.3"