@agoric/notifier 0.6.3-dev-da3b8a8.0 → 0.6.3-dev-afcbcd7.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 +12 -9
- package/src/asyncIterableAdaptor.d.ts +0 -40
- package/src/asyncIterableAdaptor.d.ts.map +0 -1
- package/src/index.d.ts +0 -8
- package/src/index.d.ts.map +0 -1
- package/src/notifier.d.ts +0 -5
- package/src/notifier.d.ts.map +0 -1
- package/src/publish-kit.d.ts +0 -70
- package/src/publish-kit.d.ts.map +0 -1
- package/src/stored-notifier.d.ts +0 -3
- package/src/stored-notifier.d.ts.map +0 -1
- package/src/storesub.d.ts +0 -16
- package/src/storesub.d.ts.map +0 -1
- package/src/subscribe.d.ts +0 -28
- package/src/subscribe.d.ts.map +0 -1
- package/src/subscriber.d.ts +0 -26
- package/src/subscriber.d.ts.map +0 -1
- package/src/topic.d.ts +0 -2
- package/src/topic.d.ts.map +0 -1
- package/src/types-ambient.d.ts +0 -301
- package/src/types-ambient.d.ts.map +0 -1
- package/src/types.d.ts +0 -301
- package/src/types.d.ts.map +0 -1
- package/tools/testSupports.d.ts +0 -11
- package/tools/testSupports.d.ts.map +0 -1
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-afcbcd7.0+afcbcd7",
|
|
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": "echo \"export {}; \" | cat - src/types-ambient.js > src/types.js && tsc --build tsconfig.build.json",
|
|
12
|
+
"prepack": "echo \"export {}; \" | cat - src/types-ambient.js > src/types.js && tsc --build --clean 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,18 +33,18 @@
|
|
|
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-afcbcd7.0+afcbcd7",
|
|
37
|
+
"@agoric/internal": "0.3.3-dev-afcbcd7.0+afcbcd7",
|
|
38
|
+
"@agoric/vat-data": "0.5.3-dev-afcbcd7.0+afcbcd7",
|
|
39
39
|
"@endo/far": "^0.2.21",
|
|
40
40
|
"@endo/marshal": "^0.8.8",
|
|
41
41
|
"@endo/patterns": "^0.2.5",
|
|
42
42
|
"@endo/promise-kit": "^0.2.59"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@agoric/swing-store": "0.9.2-dev-
|
|
46
|
-
"@agoric/swingset-liveslots": "0.10.3-dev-
|
|
47
|
-
"@agoric/swingset-vat": "0.32.3-dev-
|
|
45
|
+
"@agoric/swing-store": "0.9.2-dev-afcbcd7.0+afcbcd7",
|
|
46
|
+
"@agoric/swingset-liveslots": "0.10.3-dev-afcbcd7.0+afcbcd7",
|
|
47
|
+
"@agoric/swingset-vat": "0.32.3-dev-afcbcd7.0+afcbcd7",
|
|
48
48
|
"@endo/init": "^0.5.59",
|
|
49
49
|
"@endo/ses-ava": "^0.2.43",
|
|
50
50
|
"ava": "^5.3.0",
|
|
@@ -74,5 +74,8 @@
|
|
|
74
74
|
],
|
|
75
75
|
"timeout": "2m"
|
|
76
76
|
},
|
|
77
|
-
"
|
|
77
|
+
"typeCoverage": {
|
|
78
|
+
"atLeast": 89.74
|
|
79
|
+
},
|
|
80
|
+
"gitHead": "afcbcd727d7c9a4c6330d619c7846c9963b1e25a"
|
|
78
81
|
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @deprecated Use `subscribeLatest` from `@agoric/notifier/subscribe.js` instead.
|
|
3
|
-
*
|
|
4
|
-
* Adaptor from a notifierP to an async iterable.
|
|
5
|
-
* The notifierP can be any object that has an eventually invocable
|
|
6
|
-
* `getUpdateSince` method that behaves according to the notifier
|
|
7
|
-
* spec. This can be a notifier, a promise for a local or remote
|
|
8
|
-
* notifier, or a presence of a remote notifier.
|
|
9
|
-
*
|
|
10
|
-
* It is also used internally by notifier.js so that a notifier itself is an
|
|
11
|
-
* async iterable.
|
|
12
|
-
*
|
|
13
|
-
* An async iterable is an object with a `[Symbol.asyncIterator]()` method
|
|
14
|
-
* that returns an async iterator. The async iterator we return here has only
|
|
15
|
-
* a `next()` method, without the optional `return` and `throw` methods. The
|
|
16
|
-
* omitted methods, if present, would be used by the for/await/of loop to
|
|
17
|
-
* inform the iterator of early termination. But this adaptor would not do
|
|
18
|
-
* anything useful in reaction to this notification.
|
|
19
|
-
*
|
|
20
|
-
* An async iterator's `next()` method returns a promise for an iteration
|
|
21
|
-
* result. An iteration result is a record with `value` and `done` properties.
|
|
22
|
-
*
|
|
23
|
-
* The purpose of building on the notifier protocol is to have a lossy
|
|
24
|
-
* adaptor, where intermediate results can be missed in favor of more recent
|
|
25
|
-
* results which are therefore less stale. See
|
|
26
|
-
* https://github.com/Agoric/documentation/blob/HEAD/main/guides/js-programming/notifiers.md
|
|
27
|
-
*
|
|
28
|
-
* @template T
|
|
29
|
-
* @param {ERef<BaseNotifier<T>>} notifierP
|
|
30
|
-
* @returns {ForkableAsyncIterable<T>}
|
|
31
|
-
*/
|
|
32
|
-
export const makeAsyncIterableFromNotifier: <T_1>(topic: ERef<LatestTopic<T_1>>) => {
|
|
33
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T_1, T_1, undefined>;
|
|
34
|
-
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
35
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T_1, T_1, undefined>;
|
|
36
|
-
}>;
|
|
37
|
-
export function observeIterator<T_1>(asyncIteratorP: ERef<AsyncIterator<T_1, any, undefined>>, iterationObserver: Partial<IterationObserver<T_1>>): Promise<undefined>;
|
|
38
|
-
export function observeIteration<T_1>(asyncIterableP: ERef<AsyncIterable<T_1>>, iterationObserver: Partial<IterationObserver<T_1>>): Promise<undefined>;
|
|
39
|
-
export function observeNotifier<T_1>(notifierP: ERef<LatestTopic<T_1>>, iterationObserver: Partial<IterationObserver<T_1>>): Promise<undefined>;
|
|
40
|
-
//# sourceMappingURL=asyncIterableAdaptor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asyncIterableAdaptor.d.ts","sourceRoot":"","sources":["asyncIterableAdaptor.js"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH;;;;GAA6D;AAatD,oJAFM,QAAQ,SAAS,CAAC,CAyB9B;AAaM,qIAFM,QAAQ,SAAS,CAAC,CAK9B;AAaM,6HAFM,QAAQ,SAAS,CAAC,CAGkC"}
|
package/src/index.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from "./storesub.js";
|
|
2
|
-
export * from "./stored-notifier.js";
|
|
3
|
-
export { makePublishKit, prepareDurablePublishKit, ForkableAsyncIterableIteratorShape, IterableEachTopicI, IterableLatestTopicI, SubscriberShape } from "./publish-kit.js";
|
|
4
|
-
export { subscribeEach, subscribeLatest } from "./subscribe.js";
|
|
5
|
-
export { makeNotifier, makeNotifierKit, makeNotifierFromAsyncIterable, makeNotifierFromSubscriber } from "./notifier.js";
|
|
6
|
-
export { makeSubscription, makeSubscriptionKit } from "./subscriber.js";
|
|
7
|
-
export { observeNotifier, observeIterator, observeIteration, makeAsyncIterableFromNotifier } from "./asyncIterableAdaptor.js";
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
package/src/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":""}
|
package/src/notifier.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export function makeNotifier<T>(sharableInternalsP: ERef<LatestTopic<T>>): Notifier<T>;
|
|
2
|
-
export function makeNotifierFromSubscriber<T>(subscriber: ERef<Subscriber<T>>): Notifier<T>;
|
|
3
|
-
export function makeNotifierKit<T>(...initialStateArr: [] | [T]): NotifierRecord<T>;
|
|
4
|
-
export function makeNotifierFromAsyncIterable<T>(asyncIterableP: ERef<AsyncIterable<T>>): Notifier<T>;
|
|
5
|
-
//# sourceMappingURL=notifier.d.ts.map
|
package/src/notifier.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"notifier.d.ts","sourceRoot":"","sources":["notifier.js"],"names":[],"mappings":"AAcO,uFAsBN;AAOM,4FAeN;AAoBM,oFAoBN;AAcM,sGAqEN"}
|
package/src/publish-kit.d.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
export const PublisherI: import("@endo/patterns").InterfaceGuard<{
|
|
2
|
-
publish: import("@endo/patterns").MethodGuard;
|
|
3
|
-
finish: import("@endo/patterns").MethodGuard;
|
|
4
|
-
fail: import("@endo/patterns").MethodGuard;
|
|
5
|
-
}>;
|
|
6
|
-
export const UpdateCountShape: import("@endo/patterns").Matcher;
|
|
7
|
-
export const SubscriberI: import("@endo/patterns").InterfaceGuard<{
|
|
8
|
-
subscribeAfter: import("@endo/patterns").MethodGuard;
|
|
9
|
-
getUpdateSince: import("@endo/patterns").MethodGuard;
|
|
10
|
-
}>;
|
|
11
|
-
export namespace publishKitIKit {
|
|
12
|
-
export { PublisherI as publisher };
|
|
13
|
-
export { SubscriberI as subscriber };
|
|
14
|
-
}
|
|
15
|
-
export const ForkableAsyncIterableIteratorShape: import("@endo/patterns").InterfaceGuard<{
|
|
16
|
-
fork: import("@endo/patterns").MethodGuard;
|
|
17
|
-
[Symbol.asyncIterator]: import("@endo/patterns").MethodGuard;
|
|
18
|
-
next: import("@endo/patterns").MethodGuard;
|
|
19
|
-
}>;
|
|
20
|
-
export const IterableEachTopicI: import("@endo/patterns").InterfaceGuard<{
|
|
21
|
-
subscribeAfter: any;
|
|
22
|
-
[Symbol.asyncIterator]: import("@endo/patterns").MethodGuard;
|
|
23
|
-
}>;
|
|
24
|
-
export const IterableLatestTopicI: import("@endo/patterns").InterfaceGuard<{
|
|
25
|
-
getUpdateSince: any;
|
|
26
|
-
[Symbol.asyncIterator]: import("@endo/patterns").MethodGuard;
|
|
27
|
-
}>;
|
|
28
|
-
export function makePublishKit<T>(): PublishKit<T>;
|
|
29
|
-
export function prepareDurablePublishKit(baggage: import('@agoric/swingset-liveslots').Baggage, kindName: string): (options?: {
|
|
30
|
-
valueDurability?: "mandatory" | undefined;
|
|
31
|
-
} | undefined) => {
|
|
32
|
-
publisher: {
|
|
33
|
-
publish(value: any): void;
|
|
34
|
-
finish(finalValue: any): void;
|
|
35
|
-
fail(reason: any): void;
|
|
36
|
-
};
|
|
37
|
-
subscriber: {
|
|
38
|
-
subscribeAfter(publishCount?: bigint): Promise<any>;
|
|
39
|
-
getUpdateSince(updateCount: any): any;
|
|
40
|
-
};
|
|
41
|
-
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
42
|
-
publisher: {
|
|
43
|
-
publish(value: any): void;
|
|
44
|
-
finish(finalValue: any): void;
|
|
45
|
-
fail(reason: any): void;
|
|
46
|
-
};
|
|
47
|
-
subscriber: {
|
|
48
|
-
subscribeAfter(publishCount?: bigint): Promise<any>;
|
|
49
|
-
getUpdateSince(updateCount: any): any;
|
|
50
|
-
};
|
|
51
|
-
}>;
|
|
52
|
-
export const SubscriberShape: import("@endo/patterns").Matcher;
|
|
53
|
-
export type DurablePublishKitEphemeralKey = Publisher<any>;
|
|
54
|
-
export type DurablePublishKitEphemeralData = {
|
|
55
|
-
/**
|
|
56
|
-
* The current-result promise
|
|
57
|
-
* (undefined unless resolved with unrecoverable ephemeral data)
|
|
58
|
-
*/
|
|
59
|
-
currentP: Promise<any> | undefined;
|
|
60
|
-
/**
|
|
61
|
-
* The next-result promise
|
|
62
|
-
*/
|
|
63
|
-
tailP: Promise<any>;
|
|
64
|
-
/**
|
|
65
|
-
* The next-result resolver
|
|
66
|
-
* (undefined when the publish kit has terminated)
|
|
67
|
-
*/
|
|
68
|
-
tailR: ((value: any) => void) | undefined;
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=publish-kit.d.ts.map
|
package/src/publish-kit.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publish-kit.d.ts","sourceRoot":"","sources":["publish-kit.js"],"names":[],"mappings":"AAqBA;;;;GAIG;AAGH,gEAA6D;AAC7D;;;GAGG;;;;;AAMH;;;;GAOE;AAEF;;;GAMG;AAEH;;;GAMG;AA+CI,mDA0FN;AA6MM,kDAHI,OAAO,4BAA4B,EAAE,OAAO,YAC5C,MAAM;;;;;;;;;;;;;;;;;;;;;;GA2EhB;AAGD,+DAAyD;4CAlP3C,cAAY;;;;;;cASZ,YAAU,GAAG,SAAS;;;;WAEtB,YAAU;;;;;oBACD,GAAG,KAAK,IAAI"}
|
package/src/stored-notifier.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export function makeStoredNotifier<T>(notifier: ERef<Notifier<T>>, storageNode: ERef<StorageNode>, marshaller: ERef<Marshaller>): StoredNotifier<T>;
|
|
2
|
-
export type StoredNotifier<T> = BaseNotifier<T> & Omit<StoredFacet, 'getStoreKey'>;
|
|
3
|
-
//# sourceMappingURL=stored-notifier.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stored-notifier.d.ts","sourceRoot":"","sources":["stored-notifier.js"],"names":[],"mappings":"AA2BO,gFAJI,KAAK,WAAW,CAAC,cACjB,KAAK,UAAU,CAAC,qBAkC1B;gCAjDY,aAAa,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,aAAa,CAAC"}
|
package/src/storesub.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export function forEachPublicationRecord<T>(subscriber: Subscriber<T>, consumeValue: (v: T) => void): Promise<void>;
|
|
2
|
-
export function makeStoredSubscriber<T>(subscriber: Subscriber<T>, storageNode: ERef<StorageNode>, marshaller: ERef<ReturnType<typeof makeMarshal>>): StoredSubscriber<T>;
|
|
3
|
-
export function makeStoredSubscription<T>(subscription: Subscription<T>, storageNode?: ERef<StorageNode> | undefined, marshaller?: ERef<{
|
|
4
|
-
toCapData: import("@endo/marshal/src/marshal.js").ToCapData<unknown>;
|
|
5
|
-
fromCapData: import("@endo/marshal/src/marshal.js").FromCapData<unknown>;
|
|
6
|
-
serialize: import("@endo/marshal/src/marshal.js").ToCapData<unknown>;
|
|
7
|
-
unserialize: import("@endo/marshal/src/marshal.js").FromCapData<unknown>;
|
|
8
|
-
}> | undefined): StoredSubscription<T>;
|
|
9
|
-
export function makeStoredPublisherKit<T = unknown>(storageNode?: ERef<StorageNode> | undefined, marshaller?: ERef<Marshaller<unknown>> | undefined, childPath?: string | undefined): StoredPublisherKit<T>;
|
|
10
|
-
export function makeStoredPublishKit<T = unknown>(storageNode: ERef<StorageNode>, marshaller: ERef<Marshaller>): StoredPublishKit<T>;
|
|
11
|
-
export type StoredPublisherKit<T> = {
|
|
12
|
-
subscriber: StoredSubscription<T>;
|
|
13
|
-
publisher: IterationObserver<T>;
|
|
14
|
-
};
|
|
15
|
-
import { makeMarshal } from '@endo/marshal';
|
|
16
|
-
//# sourceMappingURL=storesub.d.ts.map
|
package/src/storesub.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storesub.d.ts","sourceRoot":"","sources":["storesub.js"],"names":[],"mappings":"AAgBO,+FAFc,IAAI,iBAcxB;AAiBM,gFAJI,KAAK,WAAW,CAAC,cACjB,KAAK,WAAW,kBAAkB,CAAC,CAAC,uBA8B9C;AAkBM;;;;;uCAmEN;AAoBM,4MAkBN;AAgBM,+DAJI,KAAK,WAAW,CAAC,cACjB,KAAK,UAAU,CAAC,uBAW1B;;gBAvDa,mBAAmB,CAAC,CAAC;eACrB,kBAAkB,CAAC,CAAC;;4BApKN,eAAe"}
|
package/src/subscribe.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export function subscribe<T>(itP: ERef<AsyncIterableIterator<T>>): {
|
|
2
|
-
[Symbol.asyncIterator]: () => {
|
|
3
|
-
[Symbol.asyncIterator]: () => any & import("@endo/eventual-send").RemotableBrand<{}, any>;
|
|
4
|
-
next: () => Promise<IteratorResult<T, any>>;
|
|
5
|
-
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
6
|
-
[Symbol.asyncIterator]: () => any & import("@endo/eventual-send").RemotableBrand<{}, any>;
|
|
7
|
-
next: () => Promise<IteratorResult<T, any>>;
|
|
8
|
-
}>;
|
|
9
|
-
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
10
|
-
[Symbol.asyncIterator]: () => {
|
|
11
|
-
[Symbol.asyncIterator]: () => any & import("@endo/eventual-send").RemotableBrand<{}, any>;
|
|
12
|
-
next: () => Promise<IteratorResult<T, any>>;
|
|
13
|
-
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
14
|
-
[Symbol.asyncIterator]: () => any & import("@endo/eventual-send").RemotableBrand<{}, any>;
|
|
15
|
-
next: () => Promise<IteratorResult<T, any>>;
|
|
16
|
-
}>;
|
|
17
|
-
}>;
|
|
18
|
-
export function subscribeEach<T>(topic: ERef<EachTopic<T>>): {
|
|
19
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T, undefined>;
|
|
20
|
-
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
21
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T, undefined>;
|
|
22
|
-
}>;
|
|
23
|
-
export function subscribeLatest<T>(topic: ERef<LatestTopic<T>>): {
|
|
24
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T, undefined>;
|
|
25
|
-
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
26
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T, undefined>;
|
|
27
|
-
}>;
|
|
28
|
-
//# sourceMappingURL=subscribe.d.ts.map
|
package/src/subscribe.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["subscribe.js"],"names":[],"mappings":"AAkEO;;;;;;;;;;;;;;;;GAUH;AAuEG;;;;GAQN;AAsGM;;;;GAKN"}
|
package/src/subscriber.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @template T
|
|
3
|
-
* @param {ERef<EachTopic<T>>} topic
|
|
4
|
-
* @returns {Subscription<T>}
|
|
5
|
-
*/
|
|
6
|
-
export function makeSubscription<T>(topic: ERef<EachTopic<T>>): Subscription<T>;
|
|
7
|
-
/**
|
|
8
|
-
* @deprecated Producers should use
|
|
9
|
-
* ```js
|
|
10
|
-
* const { publisher, subscriber } = makePublishKit();
|
|
11
|
-
* const topic = makePinnedHistoryTopic(subscriber);
|
|
12
|
-
* ```
|
|
13
|
-
* instead, which makes it clearer that all the subscriber's history is
|
|
14
|
-
* retained, preventing GC. Potentially remote consumers use
|
|
15
|
-
* ```js
|
|
16
|
-
* for await (const value of subscribeEach(topic)) { ... }
|
|
17
|
-
* ```
|
|
18
|
-
*
|
|
19
|
-
* Makes a `{ publication, subscription }` for doing lossless efficient
|
|
20
|
-
* distributed pub/sub.
|
|
21
|
-
*
|
|
22
|
-
* @template T
|
|
23
|
-
* @returns {SubscriptionRecord<T>}
|
|
24
|
-
*/
|
|
25
|
-
export function makeSubscriptionKit<T>(): SubscriptionRecord<T>;
|
|
26
|
-
//# sourceMappingURL=subscriber.d.ts.map
|
package/src/subscriber.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["subscriber.js"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,gFAgBC;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,gEAiBC"}
|
package/src/topic.d.ts
DELETED
package/src/topic.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["topic.js"],"names":[],"mappings":"AAcO,+GAkBN"}
|
package/src/types-ambient.d.ts
DELETED
|
@@ -1,301 +0,0 @@
|
|
|
1
|
-
type ERef<T> = import('@endo/far').ERef<T>;
|
|
2
|
-
type PromiseKit<T> = import('@endo/promise-kit').PromiseKit<T>;
|
|
3
|
-
/**
|
|
4
|
-
* Deprecated. Use PromiseKit instead.
|
|
5
|
-
*/
|
|
6
|
-
type PromiseRecord<T> = import('@endo/promise-kit').PromiseRecord<T>;
|
|
7
|
-
/**
|
|
8
|
-
* An AsyncIterator that can be forked at a given position
|
|
9
|
-
* into multiple independent ForkableAsyncIterators starting from that position.
|
|
10
|
-
*/
|
|
11
|
-
type ForkableAsyncIterator<T, TReturn = any, TNext = undefined> = AsyncIterator<T, TReturn, TNext> & {
|
|
12
|
-
fork(): ForkableAsyncIterator<T, TReturn, TNext>;
|
|
13
|
-
};
|
|
14
|
-
type AsyncIterableOnly<T, TReturn = any, TNext = undefined> = {
|
|
15
|
-
[Symbol.asyncIterator](): AsyncIterableIterator<T, TReturn, TNext>;
|
|
16
|
-
};
|
|
17
|
-
type ForkableAsyncIterableIterator<T, TReturn = any, TNext = undefined> = {
|
|
18
|
-
[Symbol.asyncIterator](): ForkableAsyncIterableIterator<T, TReturn, TNext>;
|
|
19
|
-
fork(): ForkableAsyncIterableIterator<T, TReturn, TNext>;
|
|
20
|
-
} & ForkableAsyncIterator<T, TReturn, TNext>;
|
|
21
|
-
/**
|
|
22
|
-
* An AsyncIterable that produces ForkableAsyncIterators.
|
|
23
|
-
*/
|
|
24
|
-
type ForkableAsyncIterable<T, TReturn = any, TNext = undefined> = {
|
|
25
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterator<T, TReturn, TNext>;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* <T>
|
|
29
|
-
* A valid sequence of calls to the methods of an `IterationObserver`
|
|
30
|
-
* represents an iteration. A valid sequence consists of any number of calls
|
|
31
|
-
* to `updateState` with the successive non-final values, followed by a
|
|
32
|
-
* final call to either `finish` with a successful `completion` value
|
|
33
|
-
* or `fail` with the alleged `reason` for failure. After at most one
|
|
34
|
-
* terminating calls, no further calls to these methods are valid and must be
|
|
35
|
-
* rejected.
|
|
36
|
-
*/
|
|
37
|
-
type IterationObserver<T> = {
|
|
38
|
-
updateState: (nonFinalValue: T) => void;
|
|
39
|
-
finish: (completion: T) => void;
|
|
40
|
-
fail: (reason: unknown) => void;
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* Will be shared between machines, so it must be safe to expose. But software
|
|
44
|
-
* outside the current package should consider it opaque, not depending on its
|
|
45
|
-
* internal structure.
|
|
46
|
-
*/
|
|
47
|
-
type PublicationRecord<T> = {
|
|
48
|
-
head: IteratorResult<T>;
|
|
49
|
-
/**
|
|
50
|
-
* starts at 1 for the first result
|
|
51
|
-
* and advances by 1 for each subsequent result
|
|
52
|
-
*/
|
|
53
|
-
publishCount: bigint;
|
|
54
|
-
tail: Promise<PublicationRecord<T>>;
|
|
55
|
-
};
|
|
56
|
-
type EachTopic<T> = {
|
|
57
|
-
/**
|
|
58
|
-
* Returns a promise for a "current" PublicationRecord (referencing its
|
|
59
|
-
* immediate successor via a `tail` promise) that is later than the
|
|
60
|
-
* provided publishCount.
|
|
61
|
-
* Used to make forward-lossless ("each") iterators.
|
|
62
|
-
*/
|
|
63
|
-
subscribeAfter: (publishCount?: bigint) => Promise<PublicationRecord<T>>;
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* An EachTopic with default asyncIterable behaviour.
|
|
67
|
-
*
|
|
68
|
-
* NOTE: the publication records and iterators returned by this object are
|
|
69
|
-
* ephemeral and will be severed during upgrade. A caller should use
|
|
70
|
-
* `subscribeEach` to wrap this topic in a local iterable which automatically
|
|
71
|
-
* attempts to reconnect upon being severed.
|
|
72
|
-
*/
|
|
73
|
-
type IterableEachTopic<T> = ForkableAsyncIterable<T, T> & EachTopic<T>;
|
|
74
|
-
/**
|
|
75
|
-
* A LatestTopic with default asyncIterable behaviour.
|
|
76
|
-
*
|
|
77
|
-
* NOTE: the iterators returned by this object are ephemeral and will be severed
|
|
78
|
-
* during upgrade. A caller should use `subscribeLatest` to wrap this topic in
|
|
79
|
-
* a local iterable which automatically attempts to reconnect upon being
|
|
80
|
-
* severed.
|
|
81
|
-
*/
|
|
82
|
-
type IterableLatestTopic<T> = AsyncIterableOnly<T, T> & LatestTopic<T>;
|
|
83
|
-
type LatestTopic<T> = {
|
|
84
|
-
/**
|
|
85
|
-
* Returns a promise for an update record as of an update count.
|
|
86
|
-
* If the `updateCount` argument is omitted or differs from the current update count,
|
|
87
|
-
* the promise promptly resolves to the current record.
|
|
88
|
-
* Otherwise, after the next state change, the promise resolves to the resulting record.
|
|
89
|
-
* This is an attenuated form of `subscribeAfter` whose return value stands alone and
|
|
90
|
-
* does not allow consumers to pin a chain of historical PublicationRecords.
|
|
91
|
-
* Used to make lossy ("latest") iterators.
|
|
92
|
-
* NOTE: Use of `number` as an `updateCount` is deprecated.
|
|
93
|
-
*/
|
|
94
|
-
getUpdateSince: (updateCount?: bigint | number) => Promise<UpdateRecord<T>>;
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* This type is deprecated but is still
|
|
98
|
-
* used externally.
|
|
99
|
-
*/
|
|
100
|
-
type BaseNotifier<T> = LatestTopic<T>;
|
|
101
|
-
/**
|
|
102
|
-
* A stream of results that allows consumers to configure
|
|
103
|
-
* forward-lossless "each" iteration with `subscribeEach` and
|
|
104
|
-
* lossy "latest" iteration with `subscribeLatest`.
|
|
105
|
-
*/
|
|
106
|
-
type Subscriber<T> = LatestTopic<T> & EachTopic<T>;
|
|
107
|
-
/**
|
|
108
|
-
* A valid sequence of calls to the methods of an `IterationObserver`
|
|
109
|
-
* represents an iteration. A valid sequence consists of any number of calls
|
|
110
|
-
* to `publish` with the successive non-final values, followed by a
|
|
111
|
-
* final call to either `finish` with a successful `completion` value
|
|
112
|
-
* or `fail` with the alleged `reason` for failure. After at most one
|
|
113
|
-
* terminating calls, no further calls to these methods are valid and must be
|
|
114
|
-
* rejected.
|
|
115
|
-
*/
|
|
116
|
-
type Publisher<T> = {
|
|
117
|
-
publish: (nonFinalValue: T) => void;
|
|
118
|
-
finish: (completion: T) => void;
|
|
119
|
-
fail: (reason: any) => void;
|
|
120
|
-
};
|
|
121
|
-
type PublishObserver<T> = Partial<Publisher<T>>;
|
|
122
|
-
/**
|
|
123
|
-
* <T>
|
|
124
|
-
*/
|
|
125
|
-
type PublishKit<T> = {
|
|
126
|
-
publisher: Publisher<T>;
|
|
127
|
-
subscriber: Subscriber<T>;
|
|
128
|
-
};
|
|
129
|
-
/**
|
|
130
|
-
* <T>
|
|
131
|
-
*/
|
|
132
|
-
type StoredPublishKit<T> = {
|
|
133
|
-
publisher: Publisher<T>;
|
|
134
|
-
subscriber: StoredSubscriber<T>;
|
|
135
|
-
};
|
|
136
|
-
/**
|
|
137
|
-
* Durability configures constraints on non-terminal values that can be
|
|
138
|
-
* published to a durable publish kit (terminal values sent to finish or fail
|
|
139
|
-
* must always be durable).
|
|
140
|
-
* - 'mandatory' means that each value must be durable, so it can be restored
|
|
141
|
-
* on upgrade.
|
|
142
|
-
* - 'opportunistic' means that a durable value is persisted for post-upgrade
|
|
143
|
-
* restoration, but a non-durable value is still accepted (and will result in
|
|
144
|
-
* valueless restoration).
|
|
145
|
-
* - 'ignored' means that a value is not persisted for restoration even if it
|
|
146
|
-
* is durable.
|
|
147
|
-
*
|
|
148
|
-
* 'mandatory' is the only currently-supported value, and others must not be
|
|
149
|
-
* enabled without test coverage.
|
|
150
|
-
*/
|
|
151
|
-
type DurablePublishKitValueDurability = 'mandatory' | 'opportunistic' | 'ignored';
|
|
152
|
-
type DurablePublishKitState = {
|
|
153
|
-
valueDurability: DurablePublishKitValueDurability;
|
|
154
|
-
publishCount: bigint;
|
|
155
|
-
status: 'live' | 'finished' | 'failed';
|
|
156
|
-
/**
|
|
157
|
-
* hasValue indicates the presence of value. It starts off false,
|
|
158
|
-
* and can be reset to false when a durable publish kit is restored and
|
|
159
|
-
* the previous value was not durable, or non-terminal and valueDurablity is 'ignored'.
|
|
160
|
-
*/
|
|
161
|
-
hasValue: boolean;
|
|
162
|
-
/**
|
|
163
|
-
* value holds either a non-terminal value from `publish` or a terminal value
|
|
164
|
-
* from `finish` or `fail`, depending upon the value in status.
|
|
165
|
-
*/
|
|
166
|
-
value: any;
|
|
167
|
-
};
|
|
168
|
-
/**
|
|
169
|
-
* <T>
|
|
170
|
-
*/
|
|
171
|
-
type UpdateRecord<T> = {
|
|
172
|
-
/**
|
|
173
|
-
* is whatever state the service wants to publish
|
|
174
|
-
*/
|
|
175
|
-
value: T;
|
|
176
|
-
/**
|
|
177
|
-
* is a value that identifies the update. For
|
|
178
|
-
* the last update, it is `undefined`.
|
|
179
|
-
*/
|
|
180
|
-
updateCount?: bigint | undefined;
|
|
181
|
-
};
|
|
182
|
-
/**
|
|
183
|
-
* Will be shared between machines,
|
|
184
|
-
* so it must be safe to expose. But other software should avoid depending on
|
|
185
|
-
* its internal structure.
|
|
186
|
-
*/
|
|
187
|
-
type NotifierInternals<T> = BaseNotifier<T>;
|
|
188
|
-
/**
|
|
189
|
-
* <T> an object that can be used to get the current state or updates
|
|
190
|
-
*/
|
|
191
|
-
type Notifier<T> = NotifierInternals<T> & ForkableAsyncIterable<T, T> & SharableNotifier<T>;
|
|
192
|
-
type SharableNotifier<T> = {
|
|
193
|
-
/**
|
|
194
|
-
* Used to replicate the multicast values at other sites. To manually create a
|
|
195
|
-
* local representative of a Notification, do
|
|
196
|
-
* ```js
|
|
197
|
-
* localIterable =
|
|
198
|
-
* makeNotifier(E(remoteIterable).getSharableNotifierInternals());
|
|
199
|
-
* ```
|
|
200
|
-
* The resulting `localIterable` also supports such remote use, and
|
|
201
|
-
* will return access to the same representation.
|
|
202
|
-
*/
|
|
203
|
-
getSharableNotifierInternals: () => Promise<NotifierInternals<T>>;
|
|
204
|
-
};
|
|
205
|
-
/**
|
|
206
|
-
* <T> the produced notifier/updater pair
|
|
207
|
-
*/
|
|
208
|
-
type NotifierRecord<T> = {
|
|
209
|
-
/**
|
|
210
|
-
* the (closely-held) notifier producer
|
|
211
|
-
*/
|
|
212
|
-
updater: IterationObserver<T>;
|
|
213
|
-
/**
|
|
214
|
-
* the (widely-held) notifier consumer
|
|
215
|
-
*/
|
|
216
|
-
notifier: Notifier<T>;
|
|
217
|
-
};
|
|
218
|
-
/**
|
|
219
|
-
* <T>
|
|
220
|
-
* A form of AsyncIterable supporting distributed and multicast usage.
|
|
221
|
-
*/
|
|
222
|
-
type Subscription<T> = IterableEachTopic<T> & EachTopic<T> & SharableSubscription<T>;
|
|
223
|
-
type SharableSubscription<T> = {
|
|
224
|
-
/**
|
|
225
|
-
* Used to replicate the multicast values at other sites. To manually create a
|
|
226
|
-
* local representative of a Subscription, do
|
|
227
|
-
* ```js
|
|
228
|
-
* localIterable =
|
|
229
|
-
* makeSubscription(E(remoteIterable).getSharableSubscriptionInternals());
|
|
230
|
-
* ```
|
|
231
|
-
* The resulting `localIterable` also supports such remote use, and
|
|
232
|
-
* will return access to the same representation.
|
|
233
|
-
*/
|
|
234
|
-
getSharableSubscriptionInternals: () => Promise<EachTopic<T>>;
|
|
235
|
-
};
|
|
236
|
-
/**
|
|
237
|
-
* <T>
|
|
238
|
-
*/
|
|
239
|
-
type SubscriptionRecord<T> = {
|
|
240
|
-
publication: IterationObserver<T>;
|
|
241
|
-
subscription: Subscription<T>;
|
|
242
|
-
};
|
|
243
|
-
type Marshaller<Slot = unknown> = import('@endo/marshal').Marshal<Slot>;
|
|
244
|
-
type Unserializer = Pick<Marshaller, 'fromCapData'>;
|
|
245
|
-
/**
|
|
246
|
-
* Defined by vstorageStoreKey in vstorage.go
|
|
247
|
-
*/
|
|
248
|
-
type VStorageKey = {
|
|
249
|
-
storeName: string;
|
|
250
|
-
storeSubkey: string;
|
|
251
|
-
dataPrefixBytes: string;
|
|
252
|
-
noDataValue?: string | undefined;
|
|
253
|
-
};
|
|
254
|
-
/**
|
|
255
|
-
* This represents a node in an IAVL tree.
|
|
256
|
-
*
|
|
257
|
-
* The active implementation is x/vstorage, an Agoric extension of the Cosmos SDK.
|
|
258
|
-
*
|
|
259
|
-
* Vstorage is a hierarchical externally-reachable storage structure that
|
|
260
|
-
* identifies children by restricted ASCII name and is associated with arbitrary
|
|
261
|
-
* string-valued data for each node, defaulting to the empty string.
|
|
262
|
-
*/
|
|
263
|
-
type StorageNode = {
|
|
264
|
-
/**
|
|
265
|
-
* publishes some data (append to the node)
|
|
266
|
-
*/
|
|
267
|
-
setValue: (data: string) => Promise<void>;
|
|
268
|
-
/**
|
|
269
|
-
* the chain storage path at which the node was constructed
|
|
270
|
-
*/
|
|
271
|
-
getPath: () => string;
|
|
272
|
-
/**
|
|
273
|
-
* DEPRECATED use getPath
|
|
274
|
-
*/
|
|
275
|
-
getStoreKey: () => Promise<VStorageKey>;
|
|
276
|
-
makeChildNode: (subPath: string, options?: {
|
|
277
|
-
sequence?: boolean;
|
|
278
|
-
}) => StorageNode;
|
|
279
|
-
};
|
|
280
|
-
type StoredFacet = {
|
|
281
|
-
/**
|
|
282
|
-
* the chain storage path at which the node was constructed
|
|
283
|
-
*/
|
|
284
|
-
getPath: () => Promise<string>;
|
|
285
|
-
/**
|
|
286
|
-
* DEPRECATED use getPath
|
|
287
|
-
*/
|
|
288
|
-
getStoreKey: StorageNode['getStoreKey'];
|
|
289
|
-
/**
|
|
290
|
-
* get the unserializer for the stored data
|
|
291
|
-
*/
|
|
292
|
-
getUnserializer: () => Unserializer;
|
|
293
|
-
};
|
|
294
|
-
type StoredSubscription<T> = Subscription<T> & {
|
|
295
|
-
getStoreKey: () => Promise<VStorageKey & {
|
|
296
|
-
subscription: Subscription<T>;
|
|
297
|
-
}>;
|
|
298
|
-
getUnserializer: () => Unserializer;
|
|
299
|
-
};
|
|
300
|
-
type StoredSubscriber<T> = Subscriber<T> & StoredFacet;
|
|
301
|
-
//# sourceMappingURL=types-ambient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-ambient.d.ts","sourceRoot":"","sources":["types-ambient.js"],"names":[],"mappings":"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"}
|
package/src/types.d.ts
DELETED
|
@@ -1,301 +0,0 @@
|
|
|
1
|
-
export type ERef<T> = import('@endo/far').ERef<T>;
|
|
2
|
-
export type PromiseKit<T> = import('@endo/promise-kit').PromiseKit<T>;
|
|
3
|
-
/**
|
|
4
|
-
* Deprecated. Use PromiseKit instead.
|
|
5
|
-
*/
|
|
6
|
-
export type PromiseRecord<T> = import('@endo/promise-kit').PromiseRecord<T>;
|
|
7
|
-
/**
|
|
8
|
-
* An AsyncIterator that can be forked at a given position
|
|
9
|
-
* into multiple independent ForkableAsyncIterators starting from that position.
|
|
10
|
-
*/
|
|
11
|
-
export type ForkableAsyncIterator<T, TReturn = any, TNext = undefined> = AsyncIterator<T, TReturn, TNext> & {
|
|
12
|
-
fork(): ForkableAsyncIterator<T, TReturn, TNext>;
|
|
13
|
-
};
|
|
14
|
-
export type AsyncIterableOnly<T, TReturn = any, TNext = undefined> = {
|
|
15
|
-
[Symbol.asyncIterator](): AsyncIterableIterator<T, TReturn, TNext>;
|
|
16
|
-
};
|
|
17
|
-
export type ForkableAsyncIterableIterator<T, TReturn = any, TNext = undefined> = {
|
|
18
|
-
[Symbol.asyncIterator](): ForkableAsyncIterableIterator<T, TReturn, TNext>;
|
|
19
|
-
fork(): ForkableAsyncIterableIterator<T, TReturn, TNext>;
|
|
20
|
-
} & ForkableAsyncIterator<T, TReturn, TNext>;
|
|
21
|
-
/**
|
|
22
|
-
* An AsyncIterable that produces ForkableAsyncIterators.
|
|
23
|
-
*/
|
|
24
|
-
export type ForkableAsyncIterable<T, TReturn = any, TNext = undefined> = {
|
|
25
|
-
[Symbol.asyncIterator]: () => ForkableAsyncIterator<T, TReturn, TNext>;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* <T>
|
|
29
|
-
* A valid sequence of calls to the methods of an `IterationObserver`
|
|
30
|
-
* represents an iteration. A valid sequence consists of any number of calls
|
|
31
|
-
* to `updateState` with the successive non-final values, followed by a
|
|
32
|
-
* final call to either `finish` with a successful `completion` value
|
|
33
|
-
* or `fail` with the alleged `reason` for failure. After at most one
|
|
34
|
-
* terminating calls, no further calls to these methods are valid and must be
|
|
35
|
-
* rejected.
|
|
36
|
-
*/
|
|
37
|
-
export type IterationObserver<T> = {
|
|
38
|
-
updateState: (nonFinalValue: T) => void;
|
|
39
|
-
finish: (completion: T) => void;
|
|
40
|
-
fail: (reason: unknown) => void;
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* Will be shared between machines, so it must be safe to expose. But software
|
|
44
|
-
* outside the current package should consider it opaque, not depending on its
|
|
45
|
-
* internal structure.
|
|
46
|
-
*/
|
|
47
|
-
export type PublicationRecord<T> = {
|
|
48
|
-
head: IteratorResult<T>;
|
|
49
|
-
/**
|
|
50
|
-
* starts at 1 for the first result
|
|
51
|
-
* and advances by 1 for each subsequent result
|
|
52
|
-
*/
|
|
53
|
-
publishCount: bigint;
|
|
54
|
-
tail: Promise<PublicationRecord<T>>;
|
|
55
|
-
};
|
|
56
|
-
export type EachTopic<T> = {
|
|
57
|
-
/**
|
|
58
|
-
* Returns a promise for a "current" PublicationRecord (referencing its
|
|
59
|
-
* immediate successor via a `tail` promise) that is later than the
|
|
60
|
-
* provided publishCount.
|
|
61
|
-
* Used to make forward-lossless ("each") iterators.
|
|
62
|
-
*/
|
|
63
|
-
subscribeAfter: (publishCount?: bigint) => Promise<PublicationRecord<T>>;
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* An EachTopic with default asyncIterable behaviour.
|
|
67
|
-
*
|
|
68
|
-
* NOTE: the publication records and iterators returned by this object are
|
|
69
|
-
* ephemeral and will be severed during upgrade. A caller should use
|
|
70
|
-
* `subscribeEach` to wrap this topic in a local iterable which automatically
|
|
71
|
-
* attempts to reconnect upon being severed.
|
|
72
|
-
*/
|
|
73
|
-
export type IterableEachTopic<T> = ForkableAsyncIterable<T, T> & EachTopic<T>;
|
|
74
|
-
/**
|
|
75
|
-
* A LatestTopic with default asyncIterable behaviour.
|
|
76
|
-
*
|
|
77
|
-
* NOTE: the iterators returned by this object are ephemeral and will be severed
|
|
78
|
-
* during upgrade. A caller should use `subscribeLatest` to wrap this topic in
|
|
79
|
-
* a local iterable which automatically attempts to reconnect upon being
|
|
80
|
-
* severed.
|
|
81
|
-
*/
|
|
82
|
-
export type IterableLatestTopic<T> = AsyncIterableOnly<T, T> & LatestTopic<T>;
|
|
83
|
-
export type LatestTopic<T> = {
|
|
84
|
-
/**
|
|
85
|
-
* Returns a promise for an update record as of an update count.
|
|
86
|
-
* If the `updateCount` argument is omitted or differs from the current update count,
|
|
87
|
-
* the promise promptly resolves to the current record.
|
|
88
|
-
* Otherwise, after the next state change, the promise resolves to the resulting record.
|
|
89
|
-
* This is an attenuated form of `subscribeAfter` whose return value stands alone and
|
|
90
|
-
* does not allow consumers to pin a chain of historical PublicationRecords.
|
|
91
|
-
* Used to make lossy ("latest") iterators.
|
|
92
|
-
* NOTE: Use of `number` as an `updateCount` is deprecated.
|
|
93
|
-
*/
|
|
94
|
-
getUpdateSince: (updateCount?: bigint | number) => Promise<UpdateRecord<T>>;
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* This type is deprecated but is still
|
|
98
|
-
* used externally.
|
|
99
|
-
*/
|
|
100
|
-
export type BaseNotifier<T> = LatestTopic<T>;
|
|
101
|
-
/**
|
|
102
|
-
* A stream of results that allows consumers to configure
|
|
103
|
-
* forward-lossless "each" iteration with `subscribeEach` and
|
|
104
|
-
* lossy "latest" iteration with `subscribeLatest`.
|
|
105
|
-
*/
|
|
106
|
-
export type Subscriber<T> = LatestTopic<T> & EachTopic<T>;
|
|
107
|
-
/**
|
|
108
|
-
* A valid sequence of calls to the methods of an `IterationObserver`
|
|
109
|
-
* represents an iteration. A valid sequence consists of any number of calls
|
|
110
|
-
* to `publish` with the successive non-final values, followed by a
|
|
111
|
-
* final call to either `finish` with a successful `completion` value
|
|
112
|
-
* or `fail` with the alleged `reason` for failure. After at most one
|
|
113
|
-
* terminating calls, no further calls to these methods are valid and must be
|
|
114
|
-
* rejected.
|
|
115
|
-
*/
|
|
116
|
-
export type Publisher<T> = {
|
|
117
|
-
publish: (nonFinalValue: T) => void;
|
|
118
|
-
finish: (completion: T) => void;
|
|
119
|
-
fail: (reason: any) => void;
|
|
120
|
-
};
|
|
121
|
-
export type PublishObserver<T> = Partial<Publisher<T>>;
|
|
122
|
-
/**
|
|
123
|
-
* <T>
|
|
124
|
-
*/
|
|
125
|
-
export type PublishKit<T> = {
|
|
126
|
-
publisher: Publisher<T>;
|
|
127
|
-
subscriber: Subscriber<T>;
|
|
128
|
-
};
|
|
129
|
-
/**
|
|
130
|
-
* <T>
|
|
131
|
-
*/
|
|
132
|
-
export type StoredPublishKit<T> = {
|
|
133
|
-
publisher: Publisher<T>;
|
|
134
|
-
subscriber: StoredSubscriber<T>;
|
|
135
|
-
};
|
|
136
|
-
/**
|
|
137
|
-
* Durability configures constraints on non-terminal values that can be
|
|
138
|
-
* published to a durable publish kit (terminal values sent to finish or fail
|
|
139
|
-
* must always be durable).
|
|
140
|
-
* - 'mandatory' means that each value must be durable, so it can be restored
|
|
141
|
-
* on upgrade.
|
|
142
|
-
* - 'opportunistic' means that a durable value is persisted for post-upgrade
|
|
143
|
-
* restoration, but a non-durable value is still accepted (and will result in
|
|
144
|
-
* valueless restoration).
|
|
145
|
-
* - 'ignored' means that a value is not persisted for restoration even if it
|
|
146
|
-
* is durable.
|
|
147
|
-
*
|
|
148
|
-
* 'mandatory' is the only currently-supported value, and others must not be
|
|
149
|
-
* enabled without test coverage.
|
|
150
|
-
*/
|
|
151
|
-
export type DurablePublishKitValueDurability = 'mandatory' | 'opportunistic' | 'ignored';
|
|
152
|
-
export type DurablePublishKitState = {
|
|
153
|
-
valueDurability: DurablePublishKitValueDurability;
|
|
154
|
-
publishCount: bigint;
|
|
155
|
-
status: 'live' | 'finished' | 'failed';
|
|
156
|
-
/**
|
|
157
|
-
* hasValue indicates the presence of value. It starts off false,
|
|
158
|
-
* and can be reset to false when a durable publish kit is restored and
|
|
159
|
-
* the previous value was not durable, or non-terminal and valueDurablity is 'ignored'.
|
|
160
|
-
*/
|
|
161
|
-
hasValue: boolean;
|
|
162
|
-
/**
|
|
163
|
-
* value holds either a non-terminal value from `publish` or a terminal value
|
|
164
|
-
* from `finish` or `fail`, depending upon the value in status.
|
|
165
|
-
*/
|
|
166
|
-
value: any;
|
|
167
|
-
};
|
|
168
|
-
/**
|
|
169
|
-
* <T>
|
|
170
|
-
*/
|
|
171
|
-
export type UpdateRecord<T> = {
|
|
172
|
-
/**
|
|
173
|
-
* is whatever state the service wants to publish
|
|
174
|
-
*/
|
|
175
|
-
value: T;
|
|
176
|
-
/**
|
|
177
|
-
* is a value that identifies the update. For
|
|
178
|
-
* the last update, it is `undefined`.
|
|
179
|
-
*/
|
|
180
|
-
updateCount?: bigint | undefined;
|
|
181
|
-
};
|
|
182
|
-
/**
|
|
183
|
-
* Will be shared between machines,
|
|
184
|
-
* so it must be safe to expose. But other software should avoid depending on
|
|
185
|
-
* its internal structure.
|
|
186
|
-
*/
|
|
187
|
-
export type NotifierInternals<T> = BaseNotifier<T>;
|
|
188
|
-
/**
|
|
189
|
-
* <T> an object that can be used to get the current state or updates
|
|
190
|
-
*/
|
|
191
|
-
export type Notifier<T> = NotifierInternals<T> & ForkableAsyncIterable<T, T> & SharableNotifier<T>;
|
|
192
|
-
export type SharableNotifier<T> = {
|
|
193
|
-
/**
|
|
194
|
-
* Used to replicate the multicast values at other sites. To manually create a
|
|
195
|
-
* local representative of a Notification, do
|
|
196
|
-
* ```js
|
|
197
|
-
* localIterable =
|
|
198
|
-
* makeNotifier(E(remoteIterable).getSharableNotifierInternals());
|
|
199
|
-
* ```
|
|
200
|
-
* The resulting `localIterable` also supports such remote use, and
|
|
201
|
-
* will return access to the same representation.
|
|
202
|
-
*/
|
|
203
|
-
getSharableNotifierInternals: () => Promise<NotifierInternals<T>>;
|
|
204
|
-
};
|
|
205
|
-
/**
|
|
206
|
-
* <T> the produced notifier/updater pair
|
|
207
|
-
*/
|
|
208
|
-
export type NotifierRecord<T> = {
|
|
209
|
-
/**
|
|
210
|
-
* the (closely-held) notifier producer
|
|
211
|
-
*/
|
|
212
|
-
updater: IterationObserver<T>;
|
|
213
|
-
/**
|
|
214
|
-
* the (widely-held) notifier consumer
|
|
215
|
-
*/
|
|
216
|
-
notifier: Notifier<T>;
|
|
217
|
-
};
|
|
218
|
-
/**
|
|
219
|
-
* <T>
|
|
220
|
-
* A form of AsyncIterable supporting distributed and multicast usage.
|
|
221
|
-
*/
|
|
222
|
-
export type Subscription<T> = IterableEachTopic<T> & EachTopic<T> & SharableSubscription<T>;
|
|
223
|
-
export type SharableSubscription<T> = {
|
|
224
|
-
/**
|
|
225
|
-
* Used to replicate the multicast values at other sites. To manually create a
|
|
226
|
-
* local representative of a Subscription, do
|
|
227
|
-
* ```js
|
|
228
|
-
* localIterable =
|
|
229
|
-
* makeSubscription(E(remoteIterable).getSharableSubscriptionInternals());
|
|
230
|
-
* ```
|
|
231
|
-
* The resulting `localIterable` also supports such remote use, and
|
|
232
|
-
* will return access to the same representation.
|
|
233
|
-
*/
|
|
234
|
-
getSharableSubscriptionInternals: () => Promise<EachTopic<T>>;
|
|
235
|
-
};
|
|
236
|
-
/**
|
|
237
|
-
* <T>
|
|
238
|
-
*/
|
|
239
|
-
export type SubscriptionRecord<T> = {
|
|
240
|
-
publication: IterationObserver<T>;
|
|
241
|
-
subscription: Subscription<T>;
|
|
242
|
-
};
|
|
243
|
-
export type Marshaller<Slot = unknown> = import('@endo/marshal').Marshal<Slot>;
|
|
244
|
-
export type Unserializer = Pick<Marshaller, 'fromCapData'>;
|
|
245
|
-
/**
|
|
246
|
-
* Defined by vstorageStoreKey in vstorage.go
|
|
247
|
-
*/
|
|
248
|
-
export type VStorageKey = {
|
|
249
|
-
storeName: string;
|
|
250
|
-
storeSubkey: string;
|
|
251
|
-
dataPrefixBytes: string;
|
|
252
|
-
noDataValue?: string | undefined;
|
|
253
|
-
};
|
|
254
|
-
/**
|
|
255
|
-
* This represents a node in an IAVL tree.
|
|
256
|
-
*
|
|
257
|
-
* The active implementation is x/vstorage, an Agoric extension of the Cosmos SDK.
|
|
258
|
-
*
|
|
259
|
-
* Vstorage is a hierarchical externally-reachable storage structure that
|
|
260
|
-
* identifies children by restricted ASCII name and is associated with arbitrary
|
|
261
|
-
* string-valued data for each node, defaulting to the empty string.
|
|
262
|
-
*/
|
|
263
|
-
export type StorageNode = {
|
|
264
|
-
/**
|
|
265
|
-
* publishes some data (append to the node)
|
|
266
|
-
*/
|
|
267
|
-
setValue: (data: string) => Promise<void>;
|
|
268
|
-
/**
|
|
269
|
-
* the chain storage path at which the node was constructed
|
|
270
|
-
*/
|
|
271
|
-
getPath: () => string;
|
|
272
|
-
/**
|
|
273
|
-
* DEPRECATED use getPath
|
|
274
|
-
*/
|
|
275
|
-
getStoreKey: () => Promise<VStorageKey>;
|
|
276
|
-
makeChildNode: (subPath: string, options?: {
|
|
277
|
-
sequence?: boolean;
|
|
278
|
-
}) => StorageNode;
|
|
279
|
-
};
|
|
280
|
-
export type StoredFacet = {
|
|
281
|
-
/**
|
|
282
|
-
* the chain storage path at which the node was constructed
|
|
283
|
-
*/
|
|
284
|
-
getPath: () => Promise<string>;
|
|
285
|
-
/**
|
|
286
|
-
* DEPRECATED use getPath
|
|
287
|
-
*/
|
|
288
|
-
getStoreKey: StorageNode['getStoreKey'];
|
|
289
|
-
/**
|
|
290
|
-
* get the unserializer for the stored data
|
|
291
|
-
*/
|
|
292
|
-
getUnserializer: () => Unserializer;
|
|
293
|
-
};
|
|
294
|
-
export type StoredSubscription<T> = Subscription<T> & {
|
|
295
|
-
getStoreKey: () => Promise<VStorageKey & {
|
|
296
|
-
subscription: Subscription<T>;
|
|
297
|
-
}>;
|
|
298
|
-
getUnserializer: () => Unserializer;
|
|
299
|
-
};
|
|
300
|
-
export type StoredSubscriber<T> = Subscriber<T> & StoredFacet;
|
|
301
|
-
//# sourceMappingURL=types.d.ts.map
|
package/src/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.js"],"names":[],"mappings":"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"}
|
package/tools/testSupports.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export { eventLoopIteration } from "@agoric/internal/src/testing-utils.js";
|
|
2
|
-
export function makeFakeStorage(path: string, publication?: IterationObserver<unknown> | undefined): StorageNode & {
|
|
3
|
-
countSetValueCalls: () => number;
|
|
4
|
-
};
|
|
5
|
-
export function makeFakeMarshaller(): {
|
|
6
|
-
toCapData: import("@endo/marshal/src/marshal.js").ToCapData<any>;
|
|
7
|
-
fromCapData: import("@endo/marshal/src/marshal.js").FromCapData<any>;
|
|
8
|
-
serialize: import("@endo/marshal/src/marshal.js").ToCapData<any>;
|
|
9
|
-
unserialize: import("@endo/marshal/src/marshal.js").FromCapData<any>;
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=testSupports.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testSupports.d.ts","sourceRoot":"","sources":["testSupports.js"],"names":[],"mappings":";AAWO,sCAHI,MAAM;wBAWgC,MAAM,MAAM;EAe5D;AAGM;;;;;EAGH"}
|