@agoric/notifier 0.6.3-dev-d15cb41.0 → 0.6.3-dev-e456308.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/exported.js +2 -3
- package/package.json +10 -10
- package/src/asyncIterableAdaptor.d.ts +9 -2
- package/src/asyncIterableAdaptor.d.ts.map +1 -1
- package/src/asyncIterableAdaptor.js +4 -1
- package/src/index.d.ts +1 -0
- package/src/index.js +6 -0
- package/src/notifier.d.ts +6 -2
- package/src/notifier.d.ts.map +1 -1
- package/src/notifier.js +4 -1
- package/src/publish-kit.d.ts +7 -2
- package/src/publish-kit.d.ts.map +1 -1
- package/src/publish-kit.js +4 -1
- package/src/stored-notifier.d.ts +35 -1
- package/src/stored-notifier.d.ts.map +1 -1
- package/src/stored-notifier.js +6 -0
- package/src/storesub.d.ts +20 -2
- package/src/storesub.d.ts.map +1 -1
- package/src/storesub.js +7 -1
- package/src/subscribe.d.ts +8 -4
- package/src/subscribe.d.ts.map +1 -1
- package/src/subscribe.js +5 -2
- package/src/subscriber.d.ts +7 -1
- package/src/subscriber.d.ts.map +1 -1
- package/src/subscriber.js +3 -1
- package/src/topic.d.ts +2 -0
- package/src/topic.d.ts.map +1 -1
- package/src/topic.js +4 -1
- package/src/types.d.ts +6 -69
- package/src/types.d.ts.map +1 -1
- package/src/types.js +12 -48
- package/tools/testSupports.d.ts +2 -0
- package/tools/testSupports.d.ts.map +1 -1
- package/tools/testSupports.js +4 -1
- package/src/types-ambient.d.ts +0 -298
- package/src/types-ambient.d.ts.map +0 -1
- package/src/types-ambient.js +0 -335
package/exported.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
//
|
|
2
|
-
|
|
3
|
-
import './src/types-ambient.js';
|
|
1
|
+
// Dummy file for .d.ts twin to declare ambients
|
|
2
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/notifier",
|
|
3
|
-
"version": "0.6.3-dev-
|
|
3
|
+
"version": "0.6.3-dev-e456308.0+e456308",
|
|
4
4
|
"description": "Notifier allows services to update clients about state changes using a stream of promises",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "exit 0",
|
|
12
|
-
"prepack": "
|
|
12
|
+
"prepack": "tsc --build tsconfig.build.json",
|
|
13
13
|
"postpack": "git clean -f '*.d.ts*' src/types.js",
|
|
14
14
|
"test": "ava",
|
|
15
15
|
"test:c8": "c8 $C8_OPTIONS ava --config=ava-nesm.config.js",
|
|
@@ -33,19 +33,19 @@
|
|
|
33
33
|
},
|
|
34
34
|
"homepage": "https://github.com/Agoric/agoric-sdk#readme",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@agoric/assert": "0.6.1-dev-
|
|
37
|
-
"@agoric/internal": "0.3.3-dev-
|
|
38
|
-
"@agoric/vat-data": "0.5.3-dev-
|
|
36
|
+
"@agoric/assert": "0.6.1-dev-e456308.0+e456308",
|
|
37
|
+
"@agoric/internal": "0.3.3-dev-e456308.0+e456308",
|
|
38
|
+
"@agoric/vat-data": "0.5.3-dev-e456308.0+e456308",
|
|
39
39
|
"@endo/far": "^1.1.1",
|
|
40
40
|
"@endo/marshal": "^1.4.1",
|
|
41
41
|
"@endo/patterns": "^1.3.1",
|
|
42
42
|
"@endo/promise-kit": "^1.1.1"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@agoric/kmarshal": "0.1.1-dev-
|
|
46
|
-
"@agoric/swing-store": "0.9.2-dev-
|
|
47
|
-
"@agoric/swingset-liveslots": "0.10.3-dev-
|
|
48
|
-
"@agoric/swingset-vat": "0.32.3-dev-
|
|
45
|
+
"@agoric/kmarshal": "0.1.1-dev-e456308.0+e456308",
|
|
46
|
+
"@agoric/swing-store": "0.9.2-dev-e456308.0+e456308",
|
|
47
|
+
"@agoric/swingset-liveslots": "0.10.3-dev-e456308.0+e456308",
|
|
48
|
+
"@agoric/swingset-vat": "0.32.3-dev-e456308.0+e456308",
|
|
49
49
|
"@endo/init": "^1.1.1",
|
|
50
50
|
"@endo/ses-ava": "^1.2.1",
|
|
51
51
|
"ava": "^5.3.0",
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
"typeCoverage": {
|
|
79
79
|
"atLeast": 89.76
|
|
80
80
|
},
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "e4563081e57304520ee75f85aff490fcdb640c20"
|
|
82
82
|
}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @import {ERef} from '@endo/far';
|
|
3
|
+
* @import {BaseNotifier, IterationObserver, LatestTopic} from '../src/types.js';
|
|
4
|
+
*/
|
|
1
5
|
/**
|
|
2
6
|
* @deprecated Use `subscribeLatest` from `@agoric/notifier/subscribe.js` instead.
|
|
3
7
|
*
|
|
@@ -30,11 +34,14 @@
|
|
|
30
34
|
* @returns {ForkableAsyncIterable<T>}
|
|
31
35
|
*/
|
|
32
36
|
export const makeAsyncIterableFromNotifier: <T_1>(topic: ERef<LatestTopic<T_1>>) => {
|
|
33
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T_1, T_1
|
|
37
|
+
[Symbol.asyncIterator]: () => import("../src/types.js").ForkableAsyncIterableIterator<T_1, T_1>;
|
|
34
38
|
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
35
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T_1, T_1
|
|
39
|
+
[Symbol.asyncIterator]: () => import("../src/types.js").ForkableAsyncIterableIterator<T_1, T_1>;
|
|
36
40
|
}>;
|
|
37
41
|
export function observeIterator<T_1>(asyncIteratorP: ERef<AsyncIterator<T_1, any, undefined>>, iterationObserver: Partial<IterationObserver<T_1>>): Promise<undefined>;
|
|
38
42
|
export function observeIteration<T_1>(asyncIterableP: ERef<AsyncIterable<T_1>>, iterationObserver: Partial<IterationObserver<T_1>>): Promise<undefined>;
|
|
39
43
|
export function observeNotifier<T_1>(notifierP: ERef<LatestTopic<T_1>>, iterationObserver: Partial<IterationObserver<T_1>>): Promise<undefined>;
|
|
44
|
+
import type { LatestTopic } from '../src/types.js';
|
|
45
|
+
import type { ERef } from '@endo/far';
|
|
46
|
+
import type { IterationObserver } from '../src/types.js';
|
|
40
47
|
//# sourceMappingURL=asyncIterableAdaptor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncIterableAdaptor.d.ts","sourceRoot":"","sources":["asyncIterableAdaptor.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"asyncIterableAdaptor.d.ts","sourceRoot":"","sources":["asyncIterableAdaptor.js"],"names":[],"mappings":"AAKA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH;;;;GAA6D;AAatD,gCAH8B,GAAC,iHACzB,OAAO,CAAC,SAAS,CAAC,CAyB9B;AAaM,iCAH8B,GAAC,iGACzB,OAAO,CAAC,SAAS,CAAC,CAK9B;AAaM,gCAH8B,GAAC,0FACzB,OAAO,CAAC,SAAS,CAAC,CAGkC;iCApGF,iBAAiB;0BADzD,WAAW;uCAC6B,iBAAiB"}
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
import { E } from '@endo/far';
|
|
4
4
|
import { subscribeLatest } from './subscribe.js';
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @import {ERef} from '@endo/far';
|
|
8
|
+
* @import {BaseNotifier, IterationObserver, LatestTopic} from '../src/types.js';
|
|
9
|
+
*/
|
|
7
10
|
|
|
8
11
|
/**
|
|
9
12
|
* @deprecated Use `subscribeLatest` from `@agoric/notifier/subscribe.js` instead.
|
package/src/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { makePinnedHistoryTopic } from "./topic.js";
|
|
2
2
|
export * from "./storesub.js";
|
|
3
3
|
export * from "./stored-notifier.js";
|
|
4
|
+
export * from "./types.js";
|
|
4
5
|
export { makePublishKit, prepareDurablePublishKit, ForkableAsyncIterableIteratorShape, IterableEachTopicI, IterableLatestTopicI, SubscriberShape } from "./publish-kit.js";
|
|
5
6
|
export { subscribeEach, subscribeLatest } from "./subscribe.js";
|
|
6
7
|
export { makeNotifier, makeNotifierKit, makeNotifierFromAsyncIterable, makeNotifierFromSubscriber } from "./notifier.js";
|
package/src/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
// @jessie-check
|
|
2
2
|
|
|
3
|
+
// XXX ambient types runtime imports until https://github.com/Agoric/agoric-sdk/issues/6512
|
|
4
|
+
import '@agoric/internal/exported.js';
|
|
5
|
+
|
|
3
6
|
export {
|
|
4
7
|
makePublishKit,
|
|
5
8
|
prepareDurablePublishKit,
|
|
@@ -26,3 +29,6 @@ export {
|
|
|
26
29
|
} from './asyncIterableAdaptor.js';
|
|
27
30
|
export * from './storesub.js';
|
|
28
31
|
export * from './stored-notifier.js';
|
|
32
|
+
|
|
33
|
+
// eslint-disable-next-line import/export -- doesn't know types
|
|
34
|
+
export * from './types.js';
|
package/src/notifier.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
export function makeNotifier<T>(sharableInternalsP: ERef<LatestTopic<T>>): Notifier<T>;
|
|
2
|
-
export function makeNotifierFromSubscriber<T>(subscriber: ERef<Subscriber<T>>): Notifier<T>;
|
|
1
|
+
export function makeNotifier<T>(sharableInternalsP: globalThis.ERef<LatestTopic<T>>): Notifier<T>;
|
|
2
|
+
export function makeNotifierFromSubscriber<T>(subscriber: globalThis.ERef<Subscriber<T>>): Notifier<T>;
|
|
3
3
|
export function makeNotifierKit<T>(...initialStateArr: [] | [T]): NotifierRecord<T>;
|
|
4
4
|
export function makeNotifierFromAsyncIterable<T>(asyncIterableP: ERef<AsyncIterable<T>>): Notifier<T>;
|
|
5
|
+
import type { LatestTopic } from './types.js';
|
|
6
|
+
import type { Notifier } from './types.js';
|
|
7
|
+
import type { Subscriber } from './types.js';
|
|
8
|
+
import type { NotifierRecord } from './types.js';
|
|
5
9
|
//# sourceMappingURL=notifier.d.ts.map
|
package/src/notifier.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifier.d.ts","sourceRoot":"","sources":["notifier.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"notifier.d.ts","sourceRoot":"","sources":["notifier.js"],"names":[],"mappings":"AAiBO,6BAFe,CAAC,oEAwBtB;AAOM,2CAFe,CAAC,2DAiBtB;AAoBM,gCAFqB,CAAC,sBADlB,EAAE,GAAG,CACY,CAAC,AADX,CAAC,qBAuBlB;AAcM,8CAFe,CAAC,kBADZ,IAAI,CAAC,aAAa,CACP,CAAC,AADQ,CAAC,CAAC,eAwEhC;iCA/K6F,YAAY;8BAAZ,YAAY;gCAAZ,YAAY;oCAAZ,YAAY"}
|
package/src/notifier.js
CHANGED
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
import { assert } from '@agoric/assert';
|
|
4
4
|
import { E, Far } from '@endo/far';
|
|
5
5
|
|
|
6
|
-
import './types-ambient.js';
|
|
7
6
|
import { makePublishKit } from './publish-kit.js';
|
|
8
7
|
import { subscribeLatest } from './subscribe.js';
|
|
9
8
|
|
|
9
|
+
/**
|
|
10
|
+
* @import {LatestTopic, Notifier, NotifierRecord, PublishKit, Subscriber, UpdateRecord} from './types.js';
|
|
11
|
+
*/
|
|
12
|
+
|
|
10
13
|
/**
|
|
11
14
|
* @template T
|
|
12
15
|
* @param {ERef<LatestTopic<T>>} sharableInternalsP
|
package/src/publish-kit.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export const IterableLatestTopicI: import("@endo/patterns").InterfaceGuard<{
|
|
|
26
26
|
[Symbol.asyncIterator]: import("@endo/patterns").MethodGuard;
|
|
27
27
|
}>;
|
|
28
28
|
export function makePublishKit<T>(): PublishKit<T>;
|
|
29
|
-
export function prepareDurablePublishKit(baggage:
|
|
29
|
+
export function prepareDurablePublishKit(baggage: import("@agoric/swingset-liveslots").Baggage, kindName: string): (options?: {
|
|
30
30
|
valueDurability?: "mandatory" | undefined;
|
|
31
31
|
} | undefined) => import("@endo/exo").GuardedKit<{
|
|
32
32
|
publisher: {
|
|
@@ -40,7 +40,11 @@ export function prepareDurablePublishKit(baggage: MapStore<string, any>, kindNam
|
|
|
40
40
|
};
|
|
41
41
|
}>;
|
|
42
42
|
export const SubscriberShape: import("@endo/patterns").Matcher;
|
|
43
|
-
export type DurablePublishKitEphemeralKey =
|
|
43
|
+
export type DurablePublishKitEphemeralKey = {
|
|
44
|
+
publish: (nonFinalValue: any) => void;
|
|
45
|
+
finish: (completion: any) => void;
|
|
46
|
+
fail: (reason: any) => void;
|
|
47
|
+
};
|
|
44
48
|
export type DurablePublishKitEphemeralData = {
|
|
45
49
|
/**
|
|
46
50
|
* The current-result promise
|
|
@@ -57,4 +61,5 @@ export type DurablePublishKitEphemeralData = {
|
|
|
57
61
|
*/
|
|
58
62
|
tailR: ((value: any) => void) | undefined;
|
|
59
63
|
};
|
|
64
|
+
import type { PublishKit } from '../src/types.js';
|
|
60
65
|
//# sourceMappingURL=publish-kit.d.ts.map
|
package/src/publish-kit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish-kit.d.ts","sourceRoot":"","sources":["publish-kit.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publish-kit.d.ts","sourceRoot":"","sources":["publish-kit.js"],"names":[],"mappings":"AAwBA;;;;GAIG;AAGH,gEAA6D;AAC7D;;;GAGG;;;;;AAMH;;;;GAOE;AAEF;;;GAMG;AAEH;;;GAMG;AA+CI,+BAFiB,CAAC,mBA4FxB;AA6MM,kDAHI,OAAO,4BAA4B,EAAE,OAAO,YAC5C,MAAM;;;;;;;;;;;;GA2EhB;AAGD,+DAAyD;;;;;;;;;;;cAzO3C,OAAO,KAAG,GAAG,SAAS;;;;WAEtB,OAAO,KAAG;;;;;WACV,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS;;gCAnPsI,iBAAiB"}
|
package/src/publish-kit.js
CHANGED
|
@@ -5,7 +5,10 @@ import { E, Far } from '@endo/far';
|
|
|
5
5
|
import { M, getInterfaceGuardPayload } from '@endo/patterns';
|
|
6
6
|
import { makePromiseKit } from '@endo/promise-kit';
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* @import {ERef} from '@endo/far';
|
|
10
|
+
* @import {DurablePublishKitState, DurablePublishKitValueDurability, LatestTopic, Notifier, NotifierRecord, PublicationRecord, Publisher, PublishKit, Subscriber, UpdateRecord} from '../src/types.js';
|
|
11
|
+
*/
|
|
9
12
|
|
|
10
13
|
const { Fail, quote: q } = assert;
|
|
11
14
|
|
package/src/stored-notifier.d.ts
CHANGED
|
@@ -1,3 +1,37 @@
|
|
|
1
|
-
export function makeStoredNotifier<T>(notifier: ERef<Notifier<T>>, storageNode: ERef<StorageNode>, marshaller: ERef<
|
|
1
|
+
export function makeStoredNotifier<T>(notifier: ERef<Notifier<T>>, storageNode: ERef<StorageNode>, marshaller: ERef<{
|
|
2
|
+
/**
|
|
3
|
+
* @import {ERef} from '@endo/far';
|
|
4
|
+
* @import {BaseNotifier, Notifier} from './types.js';
|
|
5
|
+
* @import {Marshaller, StoredFacet, StorageNode, Unserializer} from '@agoric/internal/src/lib-chainStorage.js';
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* @template T
|
|
9
|
+
* @typedef {BaseNotifier<T> & Omit<StoredFacet, 'getStoreKey'>} StoredNotifier
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Begin iterating the source, storing serialized iteration values. If the
|
|
13
|
+
* storageNode's `setValue` operation rejects, no further writes to it will
|
|
14
|
+
* be attempted (but results will remain available from the subscriber).
|
|
15
|
+
*
|
|
16
|
+
* Returns a StoredNotifier that can be used by a client to directly follow
|
|
17
|
+
* the iteration themselves, or obtain information to subscribe to the stored
|
|
18
|
+
* data out-of-band.
|
|
19
|
+
*
|
|
20
|
+
* @template T
|
|
21
|
+
* @param {ERef<Notifier<T>>} notifier
|
|
22
|
+
* @param {ERef<StorageNode>} storageNode
|
|
23
|
+
* @param {ERef<Marshaller>} marshaller
|
|
24
|
+
* @returns {StoredNotifier<T>}
|
|
25
|
+
*/
|
|
26
|
+
toCapData: import("../../../node_modules/@endo/marshal/src/marshal.js").ToCapData<unknown>;
|
|
27
|
+
fromCapData: import("../../../node_modules/@endo/marshal/src/marshal.js").FromCapData<unknown>;
|
|
28
|
+
serialize: import("../../../node_modules/@endo/marshal/src/marshal.js").ToCapData<unknown>;
|
|
29
|
+
unserialize: import("../../../node_modules/@endo/marshal/src/marshal.js").FromCapData<unknown>;
|
|
30
|
+
}>): StoredNotifier<T>;
|
|
2
31
|
export type StoredNotifier<T> = BaseNotifier<T> & Omit<StoredFacet, "getStoreKey">;
|
|
32
|
+
import type { Notifier } from './types.js';
|
|
33
|
+
import type { ERef } from '@endo/far';
|
|
34
|
+
import type { StorageNode } from '@agoric/internal/src/lib-chainStorage.js';
|
|
35
|
+
import type { BaseNotifier } from './types.js';
|
|
36
|
+
import type { StoredFacet } from '@agoric/internal/src/lib-chainStorage.js';
|
|
3
37
|
//# sourceMappingURL=stored-notifier.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stored-notifier.d.ts","sourceRoot":"","sources":["stored-notifier.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stored-notifier.d.ts","sourceRoot":"","sources":["stored-notifier.js"],"names":[],"mappings":"AAiCO,mCAFqB,CAAC;IAxB7B;;;;OAIG;IAEH;;;OAGG;IAEH;;;;;;;;;;;;;;OAcG;;;;;KADU,cAAc,CAAC,CAAC,CAAC,CAiC7B;2BAjDyB,CAAC;8BANc,YAAY;0BAD9B,WAAW;iCAEmC,0CAA0C;kCADtE,YAAY;iCACgB,0CAA0C"}
|
package/src/stored-notifier.js
CHANGED
|
@@ -5,6 +5,12 @@ import { makeSerializeToStorage } from '@agoric/internal/src/lib-chainStorage.js
|
|
|
5
5
|
import { E, Far } from '@endo/far';
|
|
6
6
|
import { observeNotifier } from './asyncIterableAdaptor.js';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* @import {ERef} from '@endo/far';
|
|
10
|
+
* @import {BaseNotifier, Notifier} from './types.js';
|
|
11
|
+
* @import {Marshaller, StoredFacet, StorageNode, Unserializer} from '@agoric/internal/src/lib-chainStorage.js';
|
|
12
|
+
*/
|
|
13
|
+
|
|
8
14
|
/**
|
|
9
15
|
* @template T
|
|
10
16
|
* @typedef {BaseNotifier<T> & Omit<StoredFacet, 'getStoreKey'>} StoredNotifier
|
package/src/storesub.d.ts
CHANGED
|
@@ -11,11 +11,29 @@ export function makeStoredSubscription<T>(subscription: Subscription<T>, storage
|
|
|
11
11
|
serialize: import("../../../node_modules/@endo/marshal/src/marshal.js").ToCapData<unknown>;
|
|
12
12
|
unserialize: import("../../../node_modules/@endo/marshal/src/marshal.js").FromCapData<unknown>;
|
|
13
13
|
}> | undefined): StoredSubscription<T>;
|
|
14
|
-
export function makeStoredPublisherKit<T = unknown>(storageNode?: ERef<StorageNode> | undefined, marshaller?: ERef<
|
|
15
|
-
|
|
14
|
+
export function makeStoredPublisherKit<T = unknown>(storageNode?: ERef<StorageNode> | undefined, marshaller?: ERef<{
|
|
15
|
+
toCapData: import("../../../node_modules/@endo/marshal/src/marshal.js").ToCapData<unknown>;
|
|
16
|
+
fromCapData: import("../../../node_modules/@endo/marshal/src/marshal.js").FromCapData<unknown>;
|
|
17
|
+
serialize: import("../../../node_modules/@endo/marshal/src/marshal.js").ToCapData<unknown>;
|
|
18
|
+
unserialize: import("../../../node_modules/@endo/marshal/src/marshal.js").FromCapData<unknown>;
|
|
19
|
+
}> | undefined, childPath?: string | undefined): StoredPublisherKit<T>;
|
|
20
|
+
export function makeStoredPublishKit<T = unknown>(storageNode: ERef<StorageNode>, marshaller: ERef<{
|
|
21
|
+
toCapData: import("../../../node_modules/@endo/marshal/src/marshal.js").ToCapData<unknown>;
|
|
22
|
+
fromCapData: import("../../../node_modules/@endo/marshal/src/marshal.js").FromCapData<unknown>;
|
|
23
|
+
serialize: import("../../../node_modules/@endo/marshal/src/marshal.js").ToCapData<unknown>;
|
|
24
|
+
unserialize: import("../../../node_modules/@endo/marshal/src/marshal.js").FromCapData<unknown>;
|
|
25
|
+
}>): StoredPublishKit<T>;
|
|
16
26
|
export type StoredPublisherKit<T> = {
|
|
17
27
|
subscriber: StoredSubscription<T>;
|
|
18
28
|
publisher: IterationObserver<T>;
|
|
19
29
|
};
|
|
30
|
+
import type { Subscriber } from '../src/types.js';
|
|
31
|
+
import type { StorageNode } from '@agoric/internal/src/lib-chainStorage.js';
|
|
32
|
+
import type { ERef } from '@endo/far';
|
|
20
33
|
import { makeMarshal } from '@endo/marshal';
|
|
34
|
+
import type { StoredSubscriber } from '../src/types.js';
|
|
35
|
+
import type { Subscription } from '../src/types.js';
|
|
36
|
+
import type { StoredSubscription } from '../src/types.js';
|
|
37
|
+
import type { StoredPublishKit } from '../src/types.js';
|
|
38
|
+
import type { IterationObserver } from '../src/types.js';
|
|
21
39
|
//# sourceMappingURL=storesub.d.ts.map
|
package/src/storesub.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storesub.d.ts","sourceRoot":"","sources":["storesub.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storesub.d.ts","sourceRoot":"","sources":["storesub.js"],"names":[],"mappings":"AAuBO,yCAFQ,CAAC,2CAAL,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,iBAcxB;AAiBM,qCAFuB,CAAC;;;;;yBA6B9B;AAkBM,uCAFyB,CAAC;;;;;uCAqEhC;AAoBM,uCAFyB,CAAC;;;;;iDAApB,kBAAkB,CAAC,CAAC,CAAC,CAoBjC;AAgBM,qCAFuB,CAAC;;;;;yBAU9B;+BAtD+B,CAAC;;;;gCAjKoL,iBAAiB;iCAC9K,0CAA0C;0BAF3E,WAAW;4BATN,eAAe;sCAU0K,iBAAiB;kCAAjB,iBAAiB;wCAAjB,iBAAiB;sCAAjB,iBAAiB;uCAAjB,iBAAiB"}
|
package/src/storesub.js
CHANGED
|
@@ -7,6 +7,12 @@ import { makePublishKit } from './publish-kit.js';
|
|
|
7
7
|
import { makeSubscriptionKit } from './subscriber.js';
|
|
8
8
|
import { subscribeEach } from './subscribe.js';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* @import {ERef} from '@endo/far';
|
|
12
|
+
* @import {IterationObserver, LatestTopic, Notifier, NotifierRecord, PublicationRecord, Publisher, PublishKit, StoredPublishKit, StoredSubscription, StoredSubscriber, Subscriber, Subscription, UpdateRecord} from '../src/types.js';
|
|
13
|
+
* @import {Marshaller, StorageNode, Unserializer} from '@agoric/internal/src/lib-chainStorage.js';
|
|
14
|
+
*/
|
|
15
|
+
|
|
10
16
|
/**
|
|
11
17
|
* NB: does not yet survive upgrade https://github.com/Agoric/agoric-sdk/issues/6893
|
|
12
18
|
*
|
|
@@ -97,7 +103,7 @@ export const makeStoredSubscription = (
|
|
|
97
103
|
serializeBodyFormat: 'smallcaps',
|
|
98
104
|
}),
|
|
99
105
|
) => {
|
|
100
|
-
/** @type {Unserializer} */
|
|
106
|
+
/** @type {import('@agoric/internal/src/lib-chainStorage.js').Unserializer} */
|
|
101
107
|
const unserializer = Far('unserializer', {
|
|
102
108
|
fromCapData: data => E(marshaller).fromCapData(data),
|
|
103
109
|
unserialize: data => E(marshaller).fromCapData(data),
|
package/src/subscribe.d.ts
CHANGED
|
@@ -16,13 +16,17 @@ export function subscribe<T>(itP: ERef<AsyncIterableIterator<T>>): {
|
|
|
16
16
|
}>;
|
|
17
17
|
}>;
|
|
18
18
|
export function subscribeEach<T>(topic: ERef<EachTopic<T>>): {
|
|
19
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T
|
|
19
|
+
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T>;
|
|
20
20
|
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
21
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T
|
|
21
|
+
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T>;
|
|
22
22
|
}>;
|
|
23
23
|
export function subscribeLatest<T>(topic: ERef<LatestTopic<T>>): {
|
|
24
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T
|
|
24
|
+
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T>;
|
|
25
25
|
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
26
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T
|
|
26
|
+
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T>;
|
|
27
27
|
}>;
|
|
28
|
+
import type { ERef } from '@endo/far';
|
|
29
|
+
import type { EachTopic } from '../src/types.js';
|
|
30
|
+
import type { ForkableAsyncIterableIterator } from '../src/types.js';
|
|
31
|
+
import type { LatestTopic } from '../src/types.js';
|
|
28
32
|
//# sourceMappingURL=subscribe.d.ts.map
|
package/src/subscribe.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["subscribe.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["subscribe.js"],"names":[],"mappings":"AAqEO,0BAF+B,CAAC;;;;;;;;;;;;;;;;GAYnC;AAuEG,8BAFmB,CAAC;;;;GAU1B;AAsGM,gCAFqB,CAAC;;;;GAO5B;0BApQsB,WAAW;+BAC6N,iBAAiB;mDAAjB,iBAAiB;iCAAjB,iBAAiB"}
|
package/src/subscribe.js
CHANGED
|
@@ -2,7 +2,10 @@ import { E, Far } from '@endo/far';
|
|
|
2
2
|
import { isObject } from '@endo/marshal';
|
|
3
3
|
import { isUpgradeDisconnection } from '@agoric/internal/src/upgrade-api.js';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* @import {ERef} from '@endo/far';
|
|
7
|
+
* @import {IterationObserver, LatestTopic, Notifier, NotifierRecord, PublicationRecord, Publisher, PublishKit, StoredPublishKit, StoredSubscription, StoredSubscriber, Subscriber, Subscription, UpdateRecord, EachTopic, ForkableAsyncIterableIterator} from '../src/types.js';
|
|
8
|
+
*/
|
|
6
9
|
|
|
7
10
|
const { details: X, Fail } = assert;
|
|
8
11
|
const sink = () => {};
|
|
@@ -50,7 +53,7 @@ const reconnectAsNeeded = async (getter, seed = []) => {
|
|
|
50
53
|
X`Attempting to recover from disconnection: ${disconnection}`,
|
|
51
54
|
);
|
|
52
55
|
} catch (_err) {
|
|
53
|
-
//
|
|
56
|
+
// noop
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
throw err;
|
package/src/subscriber.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @import {EachTopic, IterationObserver, LatestTopic, Notifier, NotifierRecord, SubscriptionRecord, Publisher, PublishKit, StoredPublishKit, StoredSubscription, StoredSubscriber, Subscriber, Subscription, UpdateRecord} from '../src/types.js';
|
|
3
|
+
*/
|
|
1
4
|
/**
|
|
2
5
|
* @template T
|
|
3
6
|
* @param {ERef<EachTopic<T>>} topic
|
|
4
7
|
* @returns {Subscription<T>}
|
|
5
8
|
*/
|
|
6
|
-
export function makeSubscription<T>(topic: ERef<EachTopic<T>>): Subscription<T>;
|
|
9
|
+
export function makeSubscription<T>(topic: globalThis.ERef<EachTopic<T>>): Subscription<T>;
|
|
7
10
|
/**
|
|
8
11
|
* @deprecated Producers should use
|
|
9
12
|
* ```js
|
|
@@ -23,4 +26,7 @@ export function makeSubscription<T>(topic: ERef<EachTopic<T>>): Subscription<T>;
|
|
|
23
26
|
* @returns {SubscriptionRecord<T>}
|
|
24
27
|
*/
|
|
25
28
|
export function makeSubscriptionKit<T>(): SubscriptionRecord<T>;
|
|
29
|
+
import type { EachTopic } from '../src/types.js';
|
|
30
|
+
import type { Subscription } from '../src/types.js';
|
|
31
|
+
import type { SubscriptionRecord } from '../src/types.js';
|
|
26
32
|
//# sourceMappingURL=subscriber.d.ts.map
|
package/src/subscriber.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["subscriber.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["subscriber.js"],"names":[],"mappings":"AAUA;;GAEG;AAEH;;;;GAIG;AACH,iCAF0B,CAAC,yDAkB1B;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,oCAFgC,CAAC,2BAmBhC;+BA/DgO,iBAAiB;kCAAjB,iBAAiB;wCAAjB,iBAAiB"}
|
package/src/subscriber.js
CHANGED
|
@@ -8,7 +8,9 @@ import { makePublishKit } from './publish-kit.js';
|
|
|
8
8
|
|
|
9
9
|
import { makePinnedHistoryTopic } from './topic.js';
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @import {EachTopic, IterationObserver, LatestTopic, Notifier, NotifierRecord, SubscriptionRecord, Publisher, PublishKit, StoredPublishKit, StoredSubscription, StoredSubscriber, Subscriber, Subscription, UpdateRecord} from '../src/types.js';
|
|
13
|
+
*/
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
* @template T
|
package/src/topic.d.ts
CHANGED
package/src/topic.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["topic.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["topic.js"],"names":[],"mappings":"AAiBO,uCAFiC,CAAC,uEAoBxC;+BA9BwC,iBAAiB;iCAAjB,iBAAiB"}
|
package/src/topic.js
CHANGED
package/src/types.d.ts
CHANGED
|
@@ -19,7 +19,6 @@ export type ForkableAsyncIterable<T, TReturn = any, TNext = undefined> = {
|
|
|
19
19
|
[Symbol.asyncIterator]: () => ForkableAsyncIterator<T, TReturn, TNext>;
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
|
-
* <T>
|
|
23
22
|
* A valid sequence of calls to the methods of an `IterationObserver`
|
|
24
23
|
* represents an iteration. A valid sequence consists of any number of calls
|
|
25
24
|
* to `updateState` with the successive non-final values, followed by a
|
|
@@ -113,16 +112,10 @@ export type Publisher<T> = {
|
|
|
113
112
|
fail: (reason: any) => void;
|
|
114
113
|
};
|
|
115
114
|
export type PublishObserver<T> = Partial<Publisher<T>>;
|
|
116
|
-
/**
|
|
117
|
-
* <T>
|
|
118
|
-
*/
|
|
119
115
|
export type PublishKit<T> = {
|
|
120
116
|
publisher: Publisher<T>;
|
|
121
117
|
subscriber: Subscriber<T>;
|
|
122
118
|
};
|
|
123
|
-
/**
|
|
124
|
-
* <T>
|
|
125
|
-
*/
|
|
126
119
|
export type StoredPublishKit<T> = {
|
|
127
120
|
publisher: Publisher<T>;
|
|
128
121
|
subscriber: StoredSubscriber<T>;
|
|
@@ -159,9 +152,6 @@ export type DurablePublishKitState = {
|
|
|
159
152
|
*/
|
|
160
153
|
value: any;
|
|
161
154
|
};
|
|
162
|
-
/**
|
|
163
|
-
* <T>
|
|
164
|
-
*/
|
|
165
155
|
export type UpdateRecord<T> = {
|
|
166
156
|
/**
|
|
167
157
|
* is whatever state the service wants to publish
|
|
@@ -180,7 +170,7 @@ export type UpdateRecord<T> = {
|
|
|
180
170
|
*/
|
|
181
171
|
export type NotifierInternals<T> = BaseNotifier<T>;
|
|
182
172
|
/**
|
|
183
|
-
*
|
|
173
|
+
* an object that can be used to get the current state or updates
|
|
184
174
|
*/
|
|
185
175
|
export type Notifier<T> = NotifierInternals<T> & ForkableAsyncIterable<T, T> & SharableNotifier<T>;
|
|
186
176
|
export type SharableNotifier<T> = {
|
|
@@ -197,7 +187,7 @@ export type SharableNotifier<T> = {
|
|
|
197
187
|
getSharableNotifierInternals: () => Promise<NotifierInternals<T>>;
|
|
198
188
|
};
|
|
199
189
|
/**
|
|
200
|
-
*
|
|
190
|
+
* the produced notifier/updater pair
|
|
201
191
|
*/
|
|
202
192
|
export type NotifierRecord<T> = {
|
|
203
193
|
/**
|
|
@@ -210,7 +200,6 @@ export type NotifierRecord<T> = {
|
|
|
210
200
|
notifier: Notifier<T>;
|
|
211
201
|
};
|
|
212
202
|
/**
|
|
213
|
-
* <T>
|
|
214
203
|
* A form of AsyncIterable supporting distributed and multicast usage.
|
|
215
204
|
*/
|
|
216
205
|
export type Subscription<T> = IterableEachTopic<T> & EachTopic<T> & SharableSubscription<T>;
|
|
@@ -227,69 +216,17 @@ export type SharableSubscription<T> = {
|
|
|
227
216
|
*/
|
|
228
217
|
getSharableSubscriptionInternals: () => Promise<EachTopic<T>>;
|
|
229
218
|
};
|
|
230
|
-
/**
|
|
231
|
-
* <T>
|
|
232
|
-
*/
|
|
233
219
|
export type SubscriptionRecord<T> = {
|
|
234
220
|
publication: IterationObserver<T>;
|
|
235
221
|
subscription: Subscription<T>;
|
|
236
222
|
};
|
|
237
|
-
export type
|
|
238
|
-
export type Unserializer = Pick<Marshaller, "fromCapData">;
|
|
239
|
-
/**
|
|
240
|
-
* Defined by vstorageStoreKey in vstorage.go
|
|
241
|
-
*/
|
|
242
|
-
export type VStorageKey = {
|
|
243
|
-
storeName: string;
|
|
244
|
-
storeSubkey: string;
|
|
245
|
-
dataPrefixBytes: string;
|
|
246
|
-
noDataValue?: string | undefined;
|
|
247
|
-
};
|
|
248
|
-
/**
|
|
249
|
-
* This represents a node in an IAVL tree.
|
|
250
|
-
*
|
|
251
|
-
* The active implementation is x/vstorage, an Agoric extension of the Cosmos SDK.
|
|
252
|
-
*
|
|
253
|
-
* Vstorage is a hierarchical externally-reachable storage structure that
|
|
254
|
-
* identifies children by restricted ASCII name and is associated with arbitrary
|
|
255
|
-
* string-valued data for each node, defaulting to the empty string.
|
|
256
|
-
*/
|
|
257
|
-
export type StorageNode = {
|
|
258
|
-
/**
|
|
259
|
-
* publishes some data (append to the node)
|
|
260
|
-
*/
|
|
261
|
-
setValue: (data: string) => Promise<void>;
|
|
262
|
-
/**
|
|
263
|
-
* the chain storage path at which the node was constructed
|
|
264
|
-
*/
|
|
265
|
-
getPath: () => string;
|
|
266
|
-
/**
|
|
267
|
-
* DEPRECATED use getPath
|
|
268
|
-
*/
|
|
269
|
-
getStoreKey: () => Promise<VStorageKey>;
|
|
270
|
-
makeChildNode: (subPath: string, options?: {
|
|
271
|
-
sequence?: boolean;
|
|
272
|
-
}) => StorageNode;
|
|
273
|
-
};
|
|
274
|
-
export type StoredFacet = {
|
|
275
|
-
/**
|
|
276
|
-
* the chain storage path at which the node was constructed
|
|
277
|
-
*/
|
|
278
|
-
getPath: () => Promise<string>;
|
|
279
|
-
/**
|
|
280
|
-
* DEPRECATED use getPath
|
|
281
|
-
*/
|
|
282
|
-
getStoreKey: StorageNode["getStoreKey"];
|
|
283
|
-
/**
|
|
284
|
-
* get the unserializer for the stored data
|
|
285
|
-
*/
|
|
286
|
-
getUnserializer: () => Unserializer;
|
|
287
|
-
};
|
|
288
|
-
export type StoredSubscription<T> = Subscription<T> & {
|
|
223
|
+
export type StoredSubscription<T> = ForkableAsyncIterable<T, T, undefined> & EachTopic<T> & SharableSubscription<T> & {
|
|
289
224
|
getStoreKey: () => Promise<VStorageKey & {
|
|
290
225
|
subscription: Subscription<T>;
|
|
291
226
|
}>;
|
|
292
227
|
getUnserializer: () => Unserializer;
|
|
293
228
|
};
|
|
294
|
-
export type StoredSubscriber<T> =
|
|
229
|
+
export type StoredSubscriber<T> = LatestTopic<T> & EachTopic<T> & StoredFacet;
|
|
230
|
+
import type { Unserializer } from '@agoric/internal/src/lib-chainStorage.js';
|
|
231
|
+
import type { StoredFacet } from '@agoric/internal/src/lib-chainStorage.js';
|
|
295
232
|
//# sourceMappingURL=types.d.ts.map
|
package/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.js"],"names":[],"mappings":";;;;kCAcmC,CAAC,EAAE,OAAO,QAAE,KAAK,gBADvC,aAAa,CACS,CAAC,AADR,EACU,OAAO,AADR,EACU,KAAK,AADR,CAAC,GAAG;IAC/C,IAAQ,IAAI,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;CACjD;8BAQ2D,CAAC,EAAE,OAAO,QAAE,KAAK,gBAAnE;IAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;CAAE;0CAUxD,CAAC,EAAE,OAAO,QAAE,KAAK,gBAH/B;IACZ,CAAK,MAAM,CAAC,aAAa,CAAC,IAAI,6BAA6B,CAEjC,CAAC,AAFkC,EAEhC,OAAO,AAFkC,EAEhC,KAAK,AAFkC,CAAC,CAAC;IAC/E,IAAQ,IAAI,6BAA6B,CACf,CAAC,AADgB,EACd,OAAO,AADgB,EACd,KAAK,AADgB,CAAC,CAAA;CAAE,GAC9D,qBAAyB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC;;;;kCASY,CAAC,EAAE,OAAO,QAAE,KAAK,gBAD7D;IACZ,CAAK,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;CACvE
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.js"],"names":[],"mappings":"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"}
|