@endo/eventual-send 1.2.4 → 1.2.6
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 +13 -10
- package/shim.d.ts.map +1 -0
- package/src/E.d.ts.map +1 -1
- package/src/E.js +8 -3
- package/src/exports.test-d.ts +6 -1
- package/src/handled-promise.d.ts.map +1 -1
- package/src/handled-promise.js +10 -3
- package/src/message-breakpoints.d.ts.map +1 -1
- package/src/no-shim.d.ts +2 -2
- package/src/no-shim.d.ts.map +1 -1
- package/src/types.d.ts +1 -1
- package/utils.d.ts.map +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@endo/eventual-send",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.6",
|
|
4
4
|
"description": "Extend a Promise class to implement the eventual-send API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/no-shim.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"build": "exit 0",
|
|
12
12
|
"clean": "git clean -f '*.d.ts*'",
|
|
13
13
|
"prepack": "tsc --build tsconfig.build.json",
|
|
14
|
-
"postpack": "git clean -f '*.d.ts*'",
|
|
14
|
+
"postpack": "git clean -f '*.d.ts*' '*.tsbuildinfo'",
|
|
15
15
|
"lint-fix": "yarn lint:eslint --fix && yarn lint:types",
|
|
16
16
|
"lint-check": "yarn lint",
|
|
17
17
|
"lint": "yarn lint:types && yarn lint:eslint",
|
|
@@ -36,25 +36,29 @@
|
|
|
36
36
|
},
|
|
37
37
|
"homepage": "https://github.com/endojs/endo#readme",
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@endo/env-options": "^1.1.
|
|
39
|
+
"@endo/env-options": "^1.1.7"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@endo/lockdown": "^1.0.
|
|
42
|
+
"@endo/lockdown": "^1.0.11",
|
|
43
43
|
"ava": "^6.1.3",
|
|
44
44
|
"c8": "^7.14.0",
|
|
45
|
-
"tsd": "^0.
|
|
46
|
-
"typescript": "5.
|
|
45
|
+
"tsd": "^0.31.2",
|
|
46
|
+
"typescript": "~5.6.2"
|
|
47
47
|
},
|
|
48
48
|
"keywords": [
|
|
49
49
|
"eventual send",
|
|
50
50
|
"wavy dot"
|
|
51
51
|
],
|
|
52
52
|
"files": [
|
|
53
|
+
"./*.d.ts",
|
|
54
|
+
"./*.js",
|
|
55
|
+
"./*.map",
|
|
53
56
|
"LICENSE*",
|
|
54
57
|
"SECURITY*",
|
|
58
|
+
"dist",
|
|
59
|
+
"lib",
|
|
55
60
|
"src",
|
|
56
|
-
"
|
|
57
|
-
"*.ts"
|
|
61
|
+
"tools"
|
|
58
62
|
],
|
|
59
63
|
"eslintConfig": {
|
|
60
64
|
"extends": [
|
|
@@ -66,7 +70,6 @@
|
|
|
66
70
|
},
|
|
67
71
|
"ava": {
|
|
68
72
|
"files": [
|
|
69
|
-
"test/**/test-*.*",
|
|
70
73
|
"test/**/*.test.*"
|
|
71
74
|
],
|
|
72
75
|
"timeout": "2m"
|
|
@@ -74,5 +77,5 @@
|
|
|
74
77
|
"typeCoverage": {
|
|
75
78
|
"atLeast": 77.81
|
|
76
79
|
},
|
|
77
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "bbf20fae6726f7d26456714b8852572787d34e05"
|
|
78
81
|
}
|
package/shim.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shim.d.ts","sourceRoot":"","sources":["shim.js"],"names":[],"mappings":""}
|
package/src/E.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"E.d.ts","sourceRoot":"","sources":["E.js"],"names":[],"mappings":";
|
|
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
|
),
|
package/src/exports.test-d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @endo/no-polymorphic-call, import/no-extraneous-dependencies, no-restricted-globals */
|
|
2
2
|
import { expectType } from 'tsd';
|
|
3
|
-
import { E } from '../test/
|
|
3
|
+
import { E } from '../test/_get-hp.js';
|
|
4
4
|
import type { ERef, FarRef } from './exports.js';
|
|
5
5
|
|
|
6
6
|
// Check the legacy ERef type
|
|
@@ -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":"AAyDO;
|
|
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"}
|
package/src/handled-promise.js
CHANGED
|
@@ -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 {
|
|
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 =
|
|
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,
|
|
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 {
|
|
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' */
|
package/src/no-shim.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-shim.d.ts","sourceRoot":"","sources":["no-shim.js"],"names":[],"mappings":"AAOA;;;;;;;;;EAA2B;;;
|
|
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:
|
|
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.
|
package/utils.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["utils.js"],"names":[],"mappings":""}
|