@agoric/vow 0.2.0-upgrade-20-dev-ef71cfd.0 → 0.2.0-upgrade-19-devnet-dev-5428c4d.0
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 +14 -14
- package/src/E.d.ts +1 -1
- package/src/E.d.ts.map +1 -1
- package/src/E.js +7 -5
- package/src/watch-utils.d.ts.map +1 -1
- package/src/watch-utils.js +19 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/vow",
|
|
3
|
-
"version": "0.2.0-upgrade-
|
|
3
|
+
"version": "0.2.0-upgrade-19-devnet-dev-5428c4d.0+5428c4d",
|
|
4
4
|
"description": "Remote (shortening and disconnection-tolerant) Promise-likes",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -20,21 +20,21 @@
|
|
|
20
20
|
"lint:types": "tsc"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@agoric/base-zone": "0.1.1-upgrade-
|
|
24
|
-
"@agoric/internal": "0.4.0-upgrade-
|
|
23
|
+
"@agoric/base-zone": "0.1.1-upgrade-19-devnet-dev-5428c4d.0+5428c4d",
|
|
24
|
+
"@agoric/internal": "0.4.0-upgrade-19-devnet-dev-5428c4d.0+5428c4d",
|
|
25
25
|
"@endo/env-options": "^1.1.8",
|
|
26
|
-
"@endo/errors": "^1.2.
|
|
27
|
-
"@endo/eventual-send": "^1.3.
|
|
28
|
-
"@endo/pass-style": "^1.
|
|
29
|
-
"@endo/patterns": "^1.
|
|
30
|
-
"@endo/promise-kit": "^1.1.
|
|
26
|
+
"@endo/errors": "^1.2.9",
|
|
27
|
+
"@endo/eventual-send": "^1.3.0",
|
|
28
|
+
"@endo/pass-style": "^1.4.8",
|
|
29
|
+
"@endo/patterns": "^1.4.8",
|
|
30
|
+
"@endo/promise-kit": "^1.1.9"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@agoric/internal": "^0.3.2",
|
|
34
|
-
"@agoric/swingset-vat": "0.33.0-upgrade-
|
|
35
|
-
"@agoric/zone": "0.3.0-upgrade-
|
|
36
|
-
"@endo/far": "^1.1.
|
|
37
|
-
"@endo/init": "^1.1.
|
|
34
|
+
"@agoric/swingset-vat": "0.33.0-upgrade-19-devnet-dev-5428c4d.0+5428c4d",
|
|
35
|
+
"@agoric/zone": "0.3.0-upgrade-19-devnet-dev-5428c4d.0+5428c4d",
|
|
36
|
+
"@endo/far": "^1.1.10",
|
|
37
|
+
"@endo/init": "^1.1.8",
|
|
38
38
|
"ava": "^5.3.0",
|
|
39
39
|
"tsd": "^0.31.1"
|
|
40
40
|
},
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"access": "public"
|
|
57
57
|
},
|
|
58
58
|
"typeCoverage": {
|
|
59
|
-
"atLeast": 91.
|
|
59
|
+
"atLeast": 91.62
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "5428c4da67b53cef7ff53ba7b2a28cf6ec8f643a"
|
|
62
62
|
}
|
package/src/E.d.ts
CHANGED
|
@@ -56,6 +56,7 @@ export type EProxy = ReturnType<(<A = {}>(HandledPromise: HandledPromiseConstruc
|
|
|
56
56
|
* properties that are *not* functions.
|
|
57
57
|
*/
|
|
58
58
|
export type DataOnly<T> = Omit<T, FilteredKeys<T, Callable>>;
|
|
59
|
+
export type ERef<T> = PromiseLike<T> | T;
|
|
59
60
|
export type ECallable<T extends Callable> = ReturnType<T> extends EUnwrap<ReturnType<T>> ? (...args: Parameters<T>) => Promise<ReturnType<T>> : ReturnType<T> extends Promise<EUnwrap<ReturnType<T>>> ? T : (...args: Parameters<T>) => Promise<EUnwrap<ReturnType<T>>>;
|
|
60
61
|
export type EMethods<T> = { readonly [P in keyof T]: T[P] extends Callable ? ECallable<T[P]> : never; };
|
|
61
62
|
export type EGetters<T> = { readonly [P in keyof T]: T[P] extends PromiseLike<any> ? T[P] : Promise<Awaited<T[P]>>; };
|
|
@@ -149,6 +150,5 @@ declare function makeE<A = {}>(HandledPromise: HandledPromiseConstructor, powers
|
|
|
149
150
|
} & A;
|
|
150
151
|
import type { HandledPromiseConstructor } from '@endo/eventual-send';
|
|
151
152
|
import type { EUnwrap } from './types.js';
|
|
152
|
-
import type { ERef } from '@endo/far';
|
|
153
153
|
import type { RemotableBrand } from '@endo/eventual-send';
|
|
154
154
|
//# sourceMappingURL=E.d.ts.map
|
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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
/**
|
|
3
3
|
* @file provides a `makeE` that can be parameterized with an `unwrap` function
|
|
4
|
-
* and corresponding `import('./types
|
|
4
|
+
* and corresponding `import('./types').EUnwrap<T>`. These will be used to
|
|
5
5
|
* extract the final settlement from a chain of PromiseLikes and PromiseSteps or
|
|
6
6
|
* similar non-thenable pseudo-promises.
|
|
7
7
|
*
|
|
@@ -19,10 +19,6 @@ import { X, q, Fail, makeError } from '@endo/errors';
|
|
|
19
19
|
import { trackTurns } from './track-turns.js';
|
|
20
20
|
import { makeMessageBreakpointTester } from './message-breakpoints.js';
|
|
21
21
|
|
|
22
|
-
/**
|
|
23
|
-
* @import {ERef} from '@endo/far';
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
22
|
const { assign, create } = Object;
|
|
27
23
|
|
|
28
24
|
const onSend = makeMessageBreakpointTester('ENDO_SEND_BREAKPOINTS');
|
|
@@ -320,6 +316,12 @@ export default makeE;
|
|
|
320
316
|
* @typedef {Omit<T, FilteredKeys<T, Callable>>} DataOnly
|
|
321
317
|
*/
|
|
322
318
|
|
|
319
|
+
/**
|
|
320
|
+
* @see {@link https://github.com/microsoft/TypeScript/issues/31394}
|
|
321
|
+
* @template T
|
|
322
|
+
* @typedef {PromiseLike<T> | T} ERef
|
|
323
|
+
*/
|
|
324
|
+
|
|
323
325
|
/**
|
|
324
326
|
* @template {Callable} T
|
|
325
327
|
* @typedef {ReturnType<T> extends EUnwrap<ReturnType<T>>
|
package/src/watch-utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch-utils.d.ts","sourceRoot":"","sources":["watch-utils.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"watch-utils.d.ts","sourceRoot":"","sources":["watch-utils.js"],"names":[],"mappings":"AA4CO,wCAPI,IAAI,kDAEZ;IAAsB,KAAK,EAAnB,KAAK;IACQ,IAAI,EAAjB,IAAI;IACsB,UAAU,EAApC,MAAM,OAAO,GAAG,CAAC;IACS,iBAAiB,EAA3C,iBAAiB;CAC3B;IA4CO,mCAAmC;mBAAvB,OAAO,EAAE;IAIrB,mCAAmC;0BAAvB,OAAO,EAAE,GAED,IAAI,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAC,GAAG;QAAC,MAAM,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAC,CAAC,EAAE,CAAC;;GAwLzG;0BA5QsB,mBAAmB;2BAClB,YAAY;0BACb,WAAW;4BACkC,YAAY;uCAAZ,YAAY;yBAAZ,YAAY"}
|
package/src/watch-utils.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
|
|
3
|
-
import { provideLazyMap } from '@agoric/internal/src/js-utils.js';
|
|
4
3
|
import { M } from '@endo/patterns';
|
|
5
4
|
import { PromiseWatcherI } from '@agoric/base-zone';
|
|
6
5
|
|
|
@@ -21,6 +20,20 @@ const VowShape = M.tagged(
|
|
|
21
20
|
}),
|
|
22
21
|
);
|
|
23
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Like `provideLazy`, but accepts non-Passable values.
|
|
25
|
+
*
|
|
26
|
+
* @param {WeakMap} map
|
|
27
|
+
* @param {any} key
|
|
28
|
+
* @param {(key: any) => any} makeValue
|
|
29
|
+
*/
|
|
30
|
+
const provideLazyMap = (map, key, makeValue) => {
|
|
31
|
+
if (!map.has(key)) {
|
|
32
|
+
map.set(key, makeValue(key));
|
|
33
|
+
}
|
|
34
|
+
return map.get(key);
|
|
35
|
+
};
|
|
36
|
+
|
|
24
37
|
/**
|
|
25
38
|
* @param {Zone} zone
|
|
26
39
|
* @param {object} powers
|
|
@@ -178,16 +191,10 @@ export const prepareWatchUtils = (
|
|
|
178
191
|
// Resolution of the returned vow happened already.
|
|
179
192
|
return;
|
|
180
193
|
}
|
|
181
|
-
const idToNonStorableResults = provideLazyMap(
|
|
182
|
-
utilsToNonStorableResults,
|
|
183
|
-
this.facets.utils,
|
|
184
|
-
() => new Map(),
|
|
185
|
-
);
|
|
186
194
|
const { remaining, resultsMap, resolver } = idToVowState.get(id);
|
|
187
195
|
if (!isAllSettled && status === 'rejected') {
|
|
188
196
|
// For 'all', we reject immediately on the first rejection
|
|
189
197
|
idToVowState.delete(id);
|
|
190
|
-
idToNonStorableResults.delete(id);
|
|
191
198
|
resolver.reject(result);
|
|
192
199
|
return;
|
|
193
200
|
}
|
|
@@ -199,6 +206,11 @@ export const prepareWatchUtils = (
|
|
|
199
206
|
})
|
|
200
207
|
: result;
|
|
201
208
|
|
|
209
|
+
const idToNonStorableResults = provideLazyMap(
|
|
210
|
+
utilsToNonStorableResults,
|
|
211
|
+
this.facets.utils,
|
|
212
|
+
() => new Map(),
|
|
213
|
+
);
|
|
202
214
|
const nonStorableResults = provideLazyMap(
|
|
203
215
|
idToNonStorableResults,
|
|
204
216
|
id,
|
|
@@ -223,7 +235,6 @@ export const prepareWatchUtils = (
|
|
|
223
235
|
}
|
|
224
236
|
// We're done! Extract the array.
|
|
225
237
|
idToVowState.delete(id);
|
|
226
|
-
idToNonStorableResults.delete(id);
|
|
227
238
|
const results = new Array(numResults);
|
|
228
239
|
let numLost = 0;
|
|
229
240
|
for (let i = 0; i < numResults; i += 1) {
|