scoundrel-remote-eval 1.0.21 → 1.0.23

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 CHANGED
@@ -145,6 +145,20 @@ const firstValue = await array[0]
145
145
  const length = await array.length
146
146
  ```
147
147
 
148
+ ## Chaining proxy calls
149
+
150
+ You can chain method calls on the same proxy and only `await` once (the last call's result is returned):
151
+
152
+ ```js
153
+ const result = await array
154
+ .__chain()
155
+ .push("one")
156
+ .push("two")
157
+ .toString()
158
+
159
+ expect(result).toEqual("one,two")
160
+ ```
161
+
148
162
  ## Explicit return helpers
149
163
 
150
164
  Use the explicit helpers when you need a definite return type:
@@ -1,8 +1,5 @@
1
1
  export default referenceProxy;
2
- export type ReferenceProxy = Record<string, any> & {
3
- __serialize: () => Promise<any>;
4
- };
5
- export type Proxy = ReferenceProxy;
2
+ export type Proxy = any;
6
3
  export type ProxyPromiseMethods = {
7
4
  /**
8
5
  * Promise-style then handler
@@ -1 +1 @@
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
+ {"version":3,"file":"reference-proxy.d.ts","sourceRoot":"","sources":["../../src/client/reference-proxy.js"],"names":[],"mappings":";oBAGa,GAAG;;;;;UAEF,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;;AA2HrD;;;GAGG;AACH,+CAHW,GAAG,GACD,KAAK,CAEoE"}
@@ -1,7 +1,6 @@
1
1
  // @ts-check
2
2
  /**
3
- * @typedef {Record<string, any> & {__serialize: () => Promise<any>}} ReferenceProxy
4
- * @typedef {ReferenceProxy} Proxy
3
+ * @typedef {any} Proxy
5
4
  * @typedef {object} ProxyPromiseMethods
6
5
  * @property {(onfulfilled?: (value: any) => any, onrejected?: (reason: any) => any) => Promise<any>} then Promise-style then handler
7
6
  * @property {(onrejected?: (reason: any) => any) => Promise<any>} catch Promise-style catch handler
@@ -31,6 +30,52 @@ const proxyPropertySpawner = (reference, prop) => {
31
30
  });
32
31
  return methodProxy;
33
32
  };
33
+ /**
34
+ * @param {import("./reference.js").default} reference Reference to chain
35
+ * @returns {Proxy} Chainable proxy that executes on await
36
+ */
37
+ const createChainProxy = (reference) => {
38
+ const state = {
39
+ reference,
40
+ /** @type {Array<{method: string, args: any[]}>} */
41
+ steps: []
42
+ };
43
+ const executeChain = async () => {
44
+ const baseReference = state.reference;
45
+ if (state.steps.length === 0) {
46
+ return await referenceProxy(baseReference).__serialize();
47
+ }
48
+ for (let index = 0; index < state.steps.length; index += 1) {
49
+ const step = state.steps[index];
50
+ const isLast = index === state.steps.length - 1;
51
+ if (isLast) {
52
+ return await baseReference.callMethodResult(step.method, ...step.args);
53
+ }
54
+ await baseReference.callMethodResult(step.method, ...step.args);
55
+ }
56
+ };
57
+ const handler = {
58
+ get(target, prop) {
59
+ void target;
60
+ if (prop === "__execChain")
61
+ return executeChain;
62
+ if (prop === "then")
63
+ return (resolve, reject) => executeChain().then(resolve, reject);
64
+ if (prop === "catch")
65
+ return (reject) => executeChain().catch(reject);
66
+ if (prop === "finally")
67
+ return (callback) => executeChain().finally(callback);
68
+ if (typeof prop !== "string")
69
+ return undefined;
70
+ return (...args) => {
71
+ state.steps.push({ method: prop, args });
72
+ return chainProxy;
73
+ };
74
+ }
75
+ };
76
+ const chainProxy = new Proxy({}, handler);
77
+ return /** @type {Proxy} */ (chainProxy);
78
+ };
34
79
  const proxyObjectHandler = {
35
80
  /**
36
81
  * @param {import("./reference.js").default|(() => import("./reference.js").default)} reference Reference instance or factory
@@ -45,6 +90,9 @@ const proxyObjectHandler = {
45
90
  const boundMethod = method.bind(reference);
46
91
  return boundMethod;
47
92
  }
93
+ if (prop == "__chain") {
94
+ return () => createChainProxy(reference);
95
+ }
48
96
  if (prop == "then" || prop == "catch" || prop == "finally")
49
97
  return undefined;
50
98
  if (prop == "asymmetricMatch" || prop == "jasmineToString")
@@ -71,4 +119,4 @@ const proxyObjectHandler = {
71
119
  */
72
120
  const referenceProxy = (wrappedObject) => new Proxy(wrappedObject, proxyObjectHandler);
73
121
  export default referenceProxy;
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLXByb3h5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yZWZlcmVuY2UtcHJveHkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7O0dBT0c7QUFFSDs7OztHQUlHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRTtJQUMvQyx1RUFBdUU7SUFDdkUsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7SUFFekYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRTtRQUNuQyxJQUFJLEVBQUU7WUFDSixLQUFLLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7WUFDckYsVUFBVSxFQUFFLEtBQUs7U0FDbEI7UUFDRCxLQUFLLEVBQUU7WUFDTCxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3BFLFVBQVUsRUFBRSxLQUFLO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUMxRSxVQUFVLEVBQUUsS0FBSztTQUNsQjtLQUNGLENBQUMsQ0FBQTtJQUVGLE9BQU8sV0FBVyxDQUFBO0FBQ3BCLENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQUc7SUFDekI7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSTtRQUNqQixJQUFJLE9BQU8sU0FBUyxJQUFJLFVBQVU7WUFBRSxTQUFTLEdBQUcsU0FBUyxFQUFFLENBQUE7UUFFM0QsSUFBSSxJQUFJLElBQUksYUFBYSxFQUFFLENBQUM7WUFDMUIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQTtZQUNsQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBRTFDLE9BQU8sV0FBVyxDQUFBO1FBQ3BCLENBQUM7UUFFRCxJQUFJLElBQUksSUFBSSxNQUFNLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksU0FBUztZQUFFLE9BQU8sU0FBUyxDQUFBO1FBQzVFLElBQUksSUFBSSxJQUFJLGlCQUFpQixJQUFJLElBQUksSUFBSSxpQkFBaUI7WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUU1RSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUU5QyxPQUFPLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVE7UUFDMUIsS0FBSyxRQUFRLENBQUE7UUFDYixLQUFLLElBQUksQ0FBQTtRQUNULEtBQUssUUFBUSxDQUFBO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO0lBQ3JELENBQUM7Q0FDRixDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0FBRXRGLGVBQWUsY0FBYyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogQHR5cGVkZWYge1JlY29yZDxzdHJpbmcsIGFueT4gJiB7X19zZXJpYWxpemU6ICgpID0+IFByb21pc2U8YW55Pn19IFJlZmVyZW5jZVByb3h5XG4gKiBAdHlwZWRlZiB7UmVmZXJlbmNlUHJveHl9IFByb3h5XG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQcm94eVByb21pc2VNZXRob2RzXG4gKiBAcHJvcGVydHkgeyhvbmZ1bGZpbGxlZD86ICh2YWx1ZTogYW55KSA9PiBhbnksIG9ucmVqZWN0ZWQ/OiAocmVhc29uOiBhbnkpID0+IGFueSkgPT4gUHJvbWlzZTxhbnk+fSB0aGVuIFByb21pc2Utc3R5bGUgdGhlbiBoYW5kbGVyXG4gKiBAcHJvcGVydHkgeyhvbnJlamVjdGVkPzogKHJlYXNvbjogYW55KSA9PiBhbnkpID0+IFByb21pc2U8YW55Pn0gY2F0Y2ggUHJvbWlzZS1zdHlsZSBjYXRjaCBoYW5kbGVyXG4gKiBAcHJvcGVydHkgeyhvbmZpbmFsbHk/OiAoKSA9PiBhbnkpID0+IFByb21pc2U8YW55Pn0gZmluYWxseSBQcm9taXNlLXN0eWxlIGZpbmFsbHkgaGFuZGxlclxuICovXG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0fSByZWZlcmVuY2UgUmVmZXJlbmNlIHRvIHByb3h5XG4gKiBAcGFyYW0ge3N0cmluZ30gcHJvcCBQcm9wZXJ0eSBuYW1lIHRvIHJlc29sdmVcbiAqIEByZXR1cm5zIHsoKC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPGFueT4pICYgUHJveHlQcm9taXNlTWV0aG9kc30gQ2FsbGFibGUgcHJveHkgZm9yIG1ldGhvZCBvciBhdHRyaWJ1dGVcbiAqL1xuY29uc3QgcHJveHlQcm9wZXJ0eVNwYXduZXIgPSAocmVmZXJlbmNlLCBwcm9wKSA9PiB7XG4gIC8qKiBAdHlwZSB7KCguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+KSAmIFByb3h5UHJvbWlzZU1ldGhvZHN9ICovXG4gIGNvbnN0IG1ldGhvZFByb3h5ID0gLyoqIEB0eXBlIHthbnl9ICovICgoLi4uYXJncykgPT4gcmVmZXJlbmNlLmNhbGxNZXRob2QocHJvcCwgLi4uYXJncykpXG5cbiAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobWV0aG9kUHJveHksIHtcbiAgICB0aGVuOiB7XG4gICAgICB2YWx1ZTogKHJlc29sdmUsIHJlamVjdCkgPT4gcmVmZXJlbmNlLnJlYWRBdHRyaWJ1dGVSZXN1bHQocHJvcCkudGhlbihyZXNvbHZlLCByZWplY3QpLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2VcbiAgICB9LFxuICAgIGNhdGNoOiB7XG4gICAgICB2YWx1ZTogKHJlamVjdCkgPT4gcmVmZXJlbmNlLnJlYWRBdHRyaWJ1dGVSZXN1bHQocHJvcCkuY2F0Y2gocmVqZWN0KSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlXG4gICAgfSxcbiAgICBmaW5hbGx5OiB7XG4gICAgICB2YWx1ZTogKGNhbGxiYWNrKSA9PiByZWZlcmVuY2UucmVhZEF0dHJpYnV0ZVJlc3VsdChwcm9wKS5maW5hbGx5KGNhbGxiYWNrKSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBtZXRob2RQcm94eVxufVxuXG5jb25zdCBwcm94eU9iamVjdEhhbmRsZXIgPSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vcmVmZXJlbmNlLmpzXCIpLmRlZmF1bHR8KCgpID0+IGltcG9ydChcIi4vcmVmZXJlbmNlLmpzXCIpLmRlZmF1bHQpfSByZWZlcmVuY2UgUmVmZXJlbmNlIGluc3RhbmNlIG9yIGZhY3RvcnlcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcGVydHkgbmFtZSB0byByZXNvbHZlXG4gICAqIEByZXR1cm5zIHthbnl9IFByb3h5IHZhbHVlIGZvciB0aGUgcHJvcGVydHlcbiAgICovXG4gIGdldChyZWZlcmVuY2UsIHByb3ApIHtcbiAgICBpZiAodHlwZW9mIHJlZmVyZW5jZSA9PSBcImZ1bmN0aW9uXCIpIHJlZmVyZW5jZSA9IHJlZmVyZW5jZSgpXG5cbiAgICBpZiAocHJvcCA9PSBcIl9fc2VyaWFsaXplXCIpIHtcbiAgICAgIGNvbnN0IG1ldGhvZCA9IHJlZmVyZW5jZS5zZXJpYWxpemVcbiAgICAgIGNvbnN0IGJvdW5kTWV0aG9kID0gbWV0aG9kLmJpbmQocmVmZXJlbmNlKVxuXG4gICAgICByZXR1cm4gYm91bmRNZXRob2RcbiAgICB9XG5cbiAgICBpZiAocHJvcCA9PSBcInRoZW5cIiB8fCBwcm9wID09IFwiY2F0Y2hcIiB8fCBwcm9wID09IFwiZmluYWxseVwiKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgaWYgKHByb3AgPT0gXCJhc3ltbWV0cmljTWF0Y2hcIiB8fCBwcm9wID09IFwiamFzbWluZVRvU3RyaW5nXCIpIHJldHVybiB1bmRlZmluZWRcblxuICAgIGlmICh0eXBlb2YgcHJvcCAhPT0gXCJzdHJpbmdcIikgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgcmV0dXJuIHByb3h5UHJvcGVydHlTcGF3bmVyKHJlZmVyZW5jZSwgcHJvcClcbiAgfSxcblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0fCgoKSA9PiBpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0KX0gcmVjZWl2ZXIgUHJveHkgcmVjZWl2ZXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcGVydHkgbmFtZSBiZWluZyBzZXRcbiAgICogQHBhcmFtIHthbnl9IG5ld1ZhbHVlIE5ldyB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XG4gICAqL1xuICBzZXQocmVjZWl2ZXIsIHByb3AsIG5ld1ZhbHVlKSB7XG4gICAgdm9pZCByZWNlaXZlclxuICAgIHZvaWQgcHJvcFxuICAgIHZvaWQgbmV3VmFsdWVcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJzZXQgcHJvcGVydHkgaXNuJ3Qgc3VwcG9ydGVkIHlldFwiKVxuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHthbnl9IHdyYXBwZWRPYmplY3QgVGFyZ2V0IHRvIHdyYXAgaW4gYSBwcm94eVxuICogQHJldHVybnMge1Byb3h5fSBQcm94eSB0aGF0IGZvcndhcmRzIHRvIHJlZmVyZW5jZXNcbiAqL1xuY29uc3QgcmVmZXJlbmNlUHJveHkgPSAod3JhcHBlZE9iamVjdCkgPT4gbmV3IFByb3h5KHdyYXBwZWRPYmplY3QsIHByb3h5T2JqZWN0SGFuZGxlcilcblxuZXhwb3J0IGRlZmF1bHQgcmVmZXJlbmNlUHJveHlcbiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLXByb3h5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yZWZlcmVuY2UtcHJveHkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFO0lBQy9DLHVFQUF1RTtJQUN2RSxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUV6RixNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFO1FBQ25DLElBQUksRUFBRTtZQUNKLEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztZQUNyRixVQUFVLEVBQUUsS0FBSztTQUNsQjtRQUNELEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDcEUsVUFBVSxFQUFFLEtBQUs7U0FDbEI7UUFDRCxPQUFPLEVBQUU7WUFDUCxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQzFFLFVBQVUsRUFBRSxLQUFLO1NBQ2xCO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsT0FBTyxXQUFXLENBQUE7QUFDcEIsQ0FBQyxDQUFBO0FBRUQ7OztHQUdHO0FBQ0gs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QUFDLFNBQVMsQ0FBQyxDQUFBO1lBRTFDLE9BQU8sV0FBVyxDQUFBO1FBQ3BCLENBQUM7UUFFRCxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzFDLENBQUM7UUFFRCxJQUFJLElBQUksSUFBSSxNQUFNLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksU0FBUztZQUFFLE9BQU8sU0FBUyxDQUFBO1FBQzVFLElBQUksSUFBSSxJQUFJLGlCQUFpQixJQUFJLElBQUksSUFBSSxpQkFBaUI7WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUU1RSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUU5QyxPQUFPLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVE7UUFDMUIsS0FBSyxRQUFRLENBQUE7UUFDYixLQUFLLElBQUksQ0FBQTtRQUNULEtBQUssUUFBUSxDQUFBO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO0lBQ3JELENBQUM7Q0FDRixDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO0FBRXRGLGVBQWUsY0FBYyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogQHR5cGVkZWYge2FueX0gUHJveHlcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFByb3h5UHJvbWlzZU1ldGhvZHNcbiAqIEBwcm9wZXJ0eSB7KG9uZnVsZmlsbGVkPzogKHZhbHVlOiBhbnkpID0+IGFueSwgb25yZWplY3RlZD86IChyZWFzb246IGFueSkgPT4gYW55KSA9PiBQcm9taXNlPGFueT59IHRoZW4gUHJvbWlzZS1zdHlsZSB0aGVuIGhhbmRsZXJcbiAqIEBwcm9wZXJ0eSB7KG9ucmVqZWN0ZWQ/OiAocmVhc29uOiBhbnkpID0+IGFueSkgPT4gUHJvbWlzZTxhbnk+fSBjYXRjaCBQcm9taXNlLXN0eWxlIGNhdGNoIGhhbmRsZXJcbiAqIEBwcm9wZXJ0eSB7KG9uZmluYWxseT86ICgpID0+IGFueSkgPT4gUHJvbWlzZTxhbnk+fSBmaW5hbGx5IFByb21pc2Utc3R5bGUgZmluYWxseSBoYW5kbGVyXG4gKi9cblxuLyoqXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vcmVmZXJlbmNlLmpzXCIpLmRlZmF1bHR9IHJlZmVyZW5jZSBSZWZlcmVuY2UgdG8gcHJveHlcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wIFByb3BlcnR5IG5hbWUgdG8gcmVzb2x2ZVxuICogQHJldHVybnMgeygoLi4uYXJnczogYW55W10pID0+IFByb21pc2U8YW55PikgJiBQcm94eVByb21pc2VNZXRob2RzfSBDYWxsYWJsZSBwcm94eSBmb3IgbWV0aG9kIG9yIGF0dHJpYnV0ZVxuICovXG5jb25zdCBwcm94eVByb3BlcnR5U3Bhd25lciA9IChyZWZlcmVuY2UsIHByb3ApID0+IHtcbiAgLyoqIEB0eXBlIHsoKC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPGFueT4pICYgUHJveHlQcm9taXNlTWV0aG9kc30gKi9cbiAgY29uc3QgbWV0aG9kUHJveHkgPSAvKiogQHR5cGUge2FueX0gKi8gKCguLi5hcmdzKSA9PiByZWZlcmVuY2UuY2FsbE1ldGhvZChwcm9wLCAuLi5hcmdzKSlcblxuICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhtZXRob2RQcm94eSwge1xuICAgIHRoZW46IHtcbiAgICAgIHZhbHVlOiAocmVzb2x2ZSwgcmVqZWN0KSA9PiByZWZlcmVuY2UucmVhZEF0dHJpYnV0ZVJlc3VsdChwcm9wKS50aGVuKHJlc29sdmUsIHJlamVjdCksXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZVxuICAgIH0sXG4gICAgY2F0Y2g6IHtcbiAgICAgIHZhbHVlOiAocmVqZWN0KSA9PiByZWZlcmVuY2UucmVhZEF0dHJpYnV0ZVJlc3VsdChwcm9wKS5jYXRjaChyZWplY3QpLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2VcbiAgICB9LFxuICAgIGZpbmFsbHk6IHtcbiAgICAgIHZhbHVlOiAoY2FsbGJhY2spID0+IHJlZmVyZW5jZS5yZWFkQXR0cmlidXRlUmVzdWx0KHByb3ApLmZpbmFsbHkoY2FsbGJhY2spLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2VcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIG1ldGhvZFByb3h5XG59XG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0fSByZWZlcmVuY2UgUmVmZXJlbmNlIHRvIGNoYWluXG4gKiBAcmV0dXJucyB7UHJveHl9IENoYWluYWJsZSBwcm94eSB0aGF0IGV4ZWN1dGVzIG9uIGF3YWl0XG4gKi9cbmNvbnN0IGNyZWF0ZUNoYWluUHJveHkgPSAocmVmZXJlbmNlKSA9PiB7XG4gIGNvbnN0IHN0YXRlID0ge1xuICAgIHJlZmVyZW5jZSxcbiAgICAvKiogQHR5cGUge0FycmF5PHttZXRob2Q6IHN0cmluZywgYXJnczogYW55W119Pn0gKi9cbiAgICBzdGVwczogW11cbiAgfVxuXG4gIGNvbnN0IGV4ZWN1dGVDaGFpbiA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBiYXNlUmVmZXJlbmNlID0gc3RhdGUucmVmZXJlbmNlXG5cbiAgICBpZiAoc3RhdGUuc3RlcHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gYXdhaXQgcmVmZXJlbmNlUHJveHkoYmFzZVJlZmVyZW5jZSkuX19zZXJpYWxpemUoKVxuICAgIH1cblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBzdGF0ZS5zdGVwcy5sZW5ndGg7IGluZGV4ICs9IDEpIHtcbiAgICAgIGNvbnN0IHN0ZXAgPSBzdGF0ZS5zdGVwc1tpbmRleF1cbiAgICAgIGNvbnN0IGlzTGFzdCA9IGluZGV4ID09PSBzdGF0ZS5zdGVwcy5sZW5ndGggLSAxXG5cbiAgICAgIGlmIChpc0xhc3QpIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGJhc2VSZWZlcmVuY2UuY2FsbE1ldGhvZFJlc3VsdChzdGVwLm1ldGhvZCwgLi4uc3RlcC5hcmdzKVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBiYXNlUmVmZXJlbmNlLmNhbGxNZXRob2RSZXN1bHQoc3RlcC5tZXRob2QsIC4uLnN0ZXAuYXJncylcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVyID0ge1xuICAgIGdldCh0YXJnZXQsIHByb3ApIHtcbiAgICAgIHZvaWQgdGFyZ2V0XG5cbiAgICAgIGlmIChwcm9wID09PSBcIl9fZXhlY0NoYWluXCIpIHJldHVybiBleGVjdXRlQ2hhaW5cbiAgICAgIGlmIChwcm9wID09PSBcInRoZW5cIikgcmV0dXJuIChyZXNvbHZlLCByZWplY3QpID0+IGV4ZWN1dGVDaGFpbigpLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KVxuICAgICAgaWYgKHByb3AgPT09IFwiY2F0Y2hcIikgcmV0dXJuIChyZWplY3QpID0+IGV4ZWN1dGVDaGFpbigpLmNhdGNoKHJlamVjdClcbiAgICAgIGlmIChwcm9wID09PSBcImZpbmFsbHlcIikgcmV0dXJuIChjYWxsYmFjaykgPT4gZXhlY3V0ZUNoYWluKCkuZmluYWxseShjYWxsYmFjaylcblxuICAgICAgaWYgKHR5cGVvZiBwcm9wICE9PSBcInN0cmluZ1wiKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICAgIHJldHVybiAoLi4uYXJncykgPT4ge1xuICAgICAgICBzdGF0ZS5zdGVwcy5wdXNoKHttZXRob2Q6IHByb3AsIGFyZ3N9KVxuICAgICAgICByZXR1cm4gY2hhaW5Qcm94eVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNoYWluUHJveHkgPSBuZXcgUHJveHkoe30sIGhhbmRsZXIpXG4gIHJldHVybiAvKiogQHR5cGUge1Byb3h5fSAqLyAoY2hhaW5Qcm94eSlcbn1cblxuY29uc3QgcHJveHlPYmplY3RIYW5kbGVyID0ge1xuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0fCgoKSA9PiBpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0KX0gcmVmZXJlbmNlIFJlZmVyZW5jZSBpbnN0YW5jZSBvciBmYWN0b3J5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wIFByb3BlcnR5IG5hbWUgdG8gcmVzb2x2ZVxuICAgKiBAcmV0dXJucyB7YW55fSBQcm94eSB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XG4gICAqL1xuICBnZXQocmVmZXJlbmNlLCBwcm9wKSB7XG4gICAgaWYgKHR5cGVvZiByZWZlcmVuY2UgPT0gXCJmdW5jdGlvblwiKSByZWZlcmVuY2UgPSByZWZlcmVuY2UoKVxuXG4gICAgaWYgKHByb3AgPT0gXCJfX3NlcmlhbGl6ZVwiKSB7XG4gICAgICBjb25zdCBtZXRob2QgPSByZWZlcmVuY2Uuc2VyaWFsaXplXG4gICAgICBjb25zdCBib3VuZE1ldGhvZCA9IG1ldGhvZC5iaW5kKHJlZmVyZW5jZSlcblxuICAgICAgcmV0dXJuIGJvdW5kTWV0aG9kXG4gICAgfVxuXG4gICAgaWYgKHByb3AgPT0gXCJfX2NoYWluXCIpIHtcbiAgICAgIHJldHVybiAoKSA9PiBjcmVhdGVDaGFpblByb3h5KHJlZmVyZW5jZSlcbiAgICB9XG5cbiAgICBpZiAocHJvcCA9PSBcInRoZW5cIiB8fCBwcm9wID09IFwiY2F0Y2hcIiB8fCBwcm9wID09IFwiZmluYWxseVwiKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgaWYgKHByb3AgPT0gXCJhc3ltbWV0cmljTWF0Y2hcIiB8fCBwcm9wID09IFwiamFzbWluZVRvU3RyaW5nXCIpIHJldHVybiB1bmRlZmluZWRcblxuICAgIGlmICh0eXBlb2YgcHJvcCAhPT0gXCJzdHJpbmdcIikgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgcmV0dXJuIHByb3h5UHJvcGVydHlTcGF3bmVyKHJlZmVyZW5jZSwgcHJvcClcbiAgfSxcblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0fCgoKSA9PiBpbXBvcnQoXCIuL3JlZmVyZW5jZS5qc1wiKS5kZWZhdWx0KX0gcmVjZWl2ZXIgUHJveHkgcmVjZWl2ZXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByb3AgUHJvcGVydHkgbmFtZSBiZWluZyBzZXRcbiAgICogQHBhcmFtIHthbnl9IG5ld1ZhbHVlIE5ldyB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XG4gICAqL1xuICBzZXQocmVjZWl2ZXIsIHByb3AsIG5ld1ZhbHVlKSB7XG4gICAgdm9pZCByZWNlaXZlclxuICAgIHZvaWQgcHJvcFxuICAgIHZvaWQgbmV3VmFsdWVcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJzZXQgcHJvcGVydHkgaXNuJ3Qgc3VwcG9ydGVkIHlldFwiKVxuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHthbnl9IHdyYXBwZWRPYmplY3QgVGFyZ2V0IHRvIHdyYXAgaW4gYSBwcm94eVxuICogQHJldHVybnMge1Byb3h5fSBQcm94eSB0aGF0IGZvcndhcmRzIHRvIHJlZmVyZW5jZXNcbiAqL1xuY29uc3QgcmVmZXJlbmNlUHJveHkgPSAod3JhcHBlZE9iamVjdCkgPT4gbmV3IFByb3h5KHdyYXBwZWRPYmplY3QsIHByb3h5T2JqZWN0SGFuZGxlcilcblxuZXhwb3J0IGRlZmF1bHQgcmVmZXJlbmNlUHJveHlcbiJdfQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "scoundrel-remote-eval",
3
3
  "type": "module",
4
- "version": "1.0.21",
4
+ "version": "1.0.23",
5
5
  "description": "",
6
6
  "main": "build/index.js",
7
7
  "types": "build/index.d.ts",