@endo/eventual-send 1.2.4 → 1.2.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@endo/eventual-send",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "Extend a Promise class to implement the eventual-send API",
5
5
  "type": "module",
6
6
  "main": "src/no-shim.js",
@@ -36,14 +36,14 @@
36
36
  },
37
37
  "homepage": "https://github.com/endojs/endo#readme",
38
38
  "dependencies": {
39
- "@endo/env-options": "^1.1.5"
39
+ "@endo/env-options": "^1.1.6"
40
40
  },
41
41
  "devDependencies": {
42
- "@endo/lockdown": "^1.0.9",
42
+ "@endo/lockdown": "^1.0.10",
43
43
  "ava": "^6.1.3",
44
44
  "c8": "^7.14.0",
45
45
  "tsd": "^0.30.7",
46
- "typescript": "5.5.2"
46
+ "typescript": "~5.6.1-rc"
47
47
  },
48
48
  "keywords": [
49
49
  "eventual send",
@@ -74,5 +74,5 @@
74
74
  "typeCoverage": {
75
75
  "atLeast": 77.81
76
76
  },
77
- "gitHead": "444c81ad3ecc1b0a449023a9c65e9be2fa17db21"
77
+ "gitHead": "cb060b7e22c92cc951fb03d86cdbceeae82fec34"
78
78
  }
package/src/E.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"E.d.ts","sourceRoot":"","sources":["E.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"E.d.ts","sourceRoot":"","sources":["E.js"],"names":[],"mappings":"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"}
package/src/E.js CHANGED
@@ -36,7 +36,7 @@ const baseFreezableProxyHandler = {
36
36
  *
37
37
  * @param {any} recipient Any value passed to E(x)
38
38
  * @param {import('./types').HandledPromiseConstructor} HandledPromise
39
- * @returns {ProxyHandler} the Proxy handler
39
+ * @returns {ProxyHandler<unknown>} the Proxy handler
40
40
  */
41
41
  const makeEProxyHandler = (recipient, HandledPromise) =>
42
42
  harden({
@@ -48,6 +48,7 @@ const makeEProxyHandler = (recipient, HandledPromise) =>
48
48
  // In order to be `this` sensitive it is defined using concise method
49
49
  // syntax rather than as an arrow function. To ensure the function
50
50
  // is not constructable, it also avoids the `function` syntax.
51
+ /** @type {(...args: any[]) => Promise<unknown>} */
51
52
  [propertyKey](...args) {
52
53
  if (this !== receiver) {
53
54
  // Reject the async function call
@@ -96,7 +97,7 @@ const makeEProxyHandler = (recipient, HandledPromise) =>
96
97
  *
97
98
  * @param {any} recipient Any value passed to E.sendOnly(x)
98
99
  * @param {import('./types').HandledPromiseConstructor} HandledPromise
99
- * @returns {ProxyHandler} the Proxy handler
100
+ * @returns {ProxyHandler<unknown>} the Proxy handler
100
101
  */
101
102
  const makeESendOnlyProxyHandler = (recipient, HandledPromise) =>
102
103
  harden({
@@ -108,6 +109,7 @@ const makeESendOnlyProxyHandler = (recipient, HandledPromise) =>
108
109
  // In order to be `this` sensitive it is defined using concise method
109
110
  // syntax rather than as an arrow function. To ensure the function
110
111
  // is not constructable, it also avoids the `function` syntax.
112
+ /** @type {(...args: any[]) => undefined} */
111
113
  [propertyKey](...args) {
112
114
  // Throw since the function returns nothing
113
115
  this === receiver ||
@@ -152,7 +154,7 @@ const makeESendOnlyProxyHandler = (recipient, HandledPromise) =>
152
154
  *
153
155
  * @param {any} x Any value passed to E.get(x)
154
156
  * @param {import('./types').HandledPromiseConstructor} HandledPromise
155
- * @returns {ProxyHandler} the Proxy handler
157
+ * @returns {ProxyHandler<unknown>} the Proxy handler
156
158
  */
157
159
  const makeEGetProxyHandler = (x, HandledPromise) =>
158
160
  harden({
@@ -176,6 +178,7 @@ const makeE = HandledPromise => {
176
178
  * @param {T} x target for method/function call
177
179
  * @returns {ECallableOrMethods<RemoteFunctions<T>>} method/function call proxy
178
180
  */
181
+ // @ts-expect-error XXX typedef
179
182
  x => harden(new Proxy(() => {}, makeEProxyHandler(x, HandledPromise))),
180
183
  {
181
184
  /**
@@ -190,6 +193,7 @@ const makeE = HandledPromise => {
190
193
  * @readonly
191
194
  */
192
195
  get: x =>
196
+ // @ts-expect-error XXX typedef
193
197
  harden(
194
198
  new Proxy(create(null), makeEGetProxyHandler(x, HandledPromise)),
195
199
  ),
@@ -215,6 +219,7 @@ const makeE = HandledPromise => {
215
219
  * @readonly
216
220
  */
217
221
  sendOnly: x =>
222
+ // @ts-expect-error XXX typedef
218
223
  harden(
219
224
  new Proxy(() => {}, makeESendOnlyProxyHandler(x, HandledPromise)),
220
225
  ),
@@ -64,3 +64,8 @@ E.when(
64
64
  ).then(result => {
65
65
  expectType<{ something: string }>(result);
66
66
  });
67
+
68
+ {
69
+ const local = { getVal: () => 'val' };
70
+ expectType<Promise<string>>(E(local).getVal());
71
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"handled-promise.d.ts","sourceRoot":"","sources":["handled-promise.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handled-promise.d.ts","sourceRoot":"","sources":["handled-promise.js"],"names":[],"mappings":"AAyDO;SAyIe,CAAC,YAAY,eAAe,CAAC,CAAC,CAAC,uBAAuB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;eAAa,OAAO,CAAC,OAAO,CAAC;qDAwY9I;oBAGY,CAAC,IACD;IACR,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACrE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5C,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC7E,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACpD,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC1G,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClF;0CAIc,CAAC,SAAN,EAAI,IACJ;IACR,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,OAAO,CAAC;QAChB,eAAe,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;KAC7C,CAAC;CACH;4BAIU,CAAC,cACF,CACR,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,EACnC,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,EACzC,mBAAmB,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,6BAA6B,CAAC,EAAE,CAAC,KAAK,MAAM,KACvG,IAAI;oBAIE,CAAC,cACF;IACR,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,mBAAmB,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,6BAA6B,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;CACzG;0CAIS;IACR,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC9D,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/F,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/E,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;CACvD;wCAGU,UAAU,CAAC,OAAO,kBAAkB,CAAC"}
@@ -115,12 +115,13 @@ export const makeHandledPromise = () => {
115
115
  * @type {Required<Handler<any>>}
116
116
  */
117
117
  let forwardingHandler;
118
+ /** @type {(...args: any[]) => Promise<unknown>} */
118
119
  let handle;
119
120
 
120
121
  /**
121
122
  * @param {string} handlerName
122
123
  * @param {Handler<any>} handler
123
- * @param {string} operation
124
+ * @param {keyof Handler<any>} operation
124
125
  * @param {any} o
125
126
  * @param {any[]} opArgs
126
127
  * @param {Promise<unknown>} [returnedP]
@@ -147,7 +148,9 @@ export const makeHandledPromise = () => {
147
148
 
148
149
  if (matchSendOnly && typeof handler[actualOp] !== 'function') {
149
150
  // Substitute for sendonly with the corresponding non-sendonly operation.
150
- actualOp = matchSendOnly[1];
151
+ actualOp = /** @type {'get' | 'applyMethod' | 'applyFunction'} */ (
152
+ matchSendOnly[1]
153
+ );
151
154
  }
152
155
 
153
156
  // Fast path: just call the actual operation.
@@ -207,6 +210,7 @@ export const makeHandledPromise = () => {
207
210
  let handledReject;
208
211
  let resolved = false;
209
212
  let resolvedTarget = null;
213
+ /** @type {Promise<R>} */
210
214
  let handledP;
211
215
  let continueForwarding = () => {};
212
216
  const assertNotYetForwarded = () => {
@@ -379,7 +383,7 @@ export const makeHandledPromise = () => {
379
383
  * must not have any own properties. The requirements are otherwise
380
384
  * identical.
381
385
  *
382
- * @param {Promise} p
386
+ * @param {Promise<unknown>} p
383
387
  * @returns {boolean}
384
388
  */
385
389
  const isSafePromise = p => {
@@ -439,6 +443,7 @@ export const makeHandledPromise = () => {
439
443
  }
440
444
  // Assimilate the `resolvedPromise` as an actual frozen Promise, by
441
445
  // treating `resolvedPromise` as if it is a non-promise thenable.
446
+ /** @type {Promise['then']} */
442
447
  const executeThen = (resolve, reject) =>
443
448
  resolvedPromise.then(resolve, reject);
444
449
  return harden(
@@ -497,6 +502,7 @@ export const makeHandledPromise = () => {
497
502
  // We run in a future turn to prevent synchronous attacks,
498
503
  let raceIsOver = false;
499
504
 
505
+ /** @type {(handlerName: string, handler: any, o: any) => any} */
500
506
  const win = (handlerName, handler, o) => {
501
507
  if (raceIsOver) {
502
508
  return;
@@ -509,6 +515,7 @@ export const makeHandledPromise = () => {
509
515
  raceIsOver = true;
510
516
  };
511
517
 
518
+ /** @type {(reason: unknown) => void} */
512
519
  const lose = reason => {
513
520
  if (raceIsOver) {
514
521
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"message-breakpoints.d.ts","sourceRoot":"","sources":["message-breakpoints.js"],"names":[],"mappings":"AAyFO,wDAHI,MAAM,GACJ,uBAAuB,GAAG,SAAS,CA0F/C;;;;;;;;6BA1KY,MAAM,GAAG,GAAG;;;;;;;8BAQZ,MAAM,GAAG,GAAG;;;;;;;;6BAOZ,MAAM,GAAG,GAAG;;;;;;;iCAcZ,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;;;;;;;8BAS/D,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;;oBAK9D,MAAM,kBAAkB;oBACxB,CAAC,cAAc,CAAC,EAAE,kBAAkB,KAAK,IAAI;sBAC7C,CACb,SAAa,EAAE,MAAM,EACrB,UAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KACpC,OAAO"}
1
+ {"version":3,"file":"message-breakpoints.d.ts","sourceRoot":"","sources":["message-breakpoints.js"],"names":[],"mappings":"AAyFO,wDAHI,MAAM,GACJ,uBAAuB,GAAG,SAAS,CA0F/C;;;;;;;;6BA1KY,MAAM,GAAG,GAAG;;;;;;;8BAQZ,MAAM,GAAG,GAAG;;;;;;;;6BAOZ,MAAM,GAAG,GAAG;;;;;;;iCAcZ,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;;;;;;;8BAS/D,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;;oBAK9D,MAAM,kBAAkB;oBACxB,CAAC,cAAc,CAAC,EAAE,kBAAkB,KAAK,IAAI;sBAC7C,CACT,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KACpC,OAAO"}
package/src/no-shim.d.ts CHANGED
@@ -10,10 +10,10 @@ export const E: (<T>(x: T) => ECallableOrMethods<RemoteFunctions<T>>) & {
10
10
  };
11
11
  export { hp as HandledPromise };
12
12
  export * from "./exports.js";
13
- import type { ECallableOrMethods } from './E.js';
14
13
  import type { RemoteFunctions } from './E.js';
15
- import type { EGetters } from './E.js';
14
+ import type { ECallableOrMethods } from './E.js';
16
15
  import type { LocalRecord } from './E.js';
16
+ import type { EGetters } from './E.js';
17
17
  import type { ESendOnlyCallableOrMethods } from './E.js';
18
18
  import type { ERef } from './E.js';
19
19
  /** @import {Handler, HandledExecutor} from './handled-promise.js' */
@@ -1 +1 @@
1
- {"version":3,"file":"no-shim.d.ts","sourceRoot":"","sources":["no-shim.js"],"names":[],"mappings":"AAOA;;;;;;;;;EAA2B;;;wCAHuG,QAAQ;qCAAR,QAAQ;8BAAR,QAAQ;iCAAR,QAAQ;gDAAR,QAAQ;0BAAR,QAAQ;AAD1I,qEAAqE;AACrE,6IAA6I;AAE7I;;;oFAA0B;qCAHkB,sBAAsB;6BAAtB,sBAAsB"}
1
+ {"version":3,"file":"no-shim.d.ts","sourceRoot":"","sources":["no-shim.js"],"names":[],"mappings":"AAOA;;;;;;;;;EAA2B;;;qCAHuG,QAAQ;wCAAR,QAAQ;iCAAR,QAAQ;8BAAR,QAAQ;gDAAR,QAAQ;0BAAR,QAAQ;AAD1I,qEAAqE;AACrE,6IAA6I;AAE7I;;;oFAA0B;qCAHkB,sBAAsB;6BAAtB,sBAAsB"}
package/src/types.d.ts CHANGED
@@ -17,7 +17,7 @@ export type * from './track-turns.js';
17
17
  // Types exposed to modules.
18
18
  //
19
19
 
20
- export type Callable = (...args: unknown[]) => any;
20
+ export type Callable = (...args: any[]) => any;
21
21
 
22
22
  /**
23
23
  * Nominal type to carry the local and remote interfaces of a Remotable.