@agoric/notifier 0.7.1-upgrade-23-dev-7007b60.0.7007b60 → 0.8.0-u23.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/notifier",
3
- "version": "0.7.1-upgrade-23-dev-7007b60.0.7007b60",
3
+ "version": "0.8.0-u23.0",
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",
@@ -33,8 +33,8 @@
33
33
  },
34
34
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
35
35
  "dependencies": {
36
- "@agoric/internal": "0.4.1-upgrade-23-dev-7007b60.0.7007b60",
37
- "@agoric/vat-data": "0.6.1-upgrade-23-dev-7007b60.0.7007b60",
36
+ "@agoric/internal": "0.5.0-u23.0",
37
+ "@agoric/vat-data": "0.7.0-u23.0",
38
38
  "@endo/errors": "^1.2.13",
39
39
  "@endo/far": "^1.1.14",
40
40
  "@endo/marshal": "^1.8.0",
@@ -42,10 +42,10 @@
42
42
  "@endo/promise-kit": "^1.1.13"
43
43
  },
44
44
  "devDependencies": {
45
- "@agoric/kmarshal": "0.2.1-upgrade-23-dev-7007b60.0.7007b60",
46
- "@agoric/swing-store": "0.10.1-upgrade-23-dev-7007b60.0.7007b60",
47
- "@agoric/swingset-liveslots": "0.11.1-upgrade-23-dev-7007b60.0.7007b60",
48
- "@agoric/swingset-vat": "0.33.1-upgrade-23-dev-7007b60.0.7007b60",
45
+ "@agoric/kmarshal": "0.3.0-u23.0",
46
+ "@agoric/swing-store": "0.11.0-u23.0",
47
+ "@agoric/swingset-liveslots": "0.12.0-u23.0",
48
+ "@agoric/swingset-vat": "0.34.0-u23.0",
49
49
  "@endo/init": "^1.1.12",
50
50
  "@endo/ses-ava": "^1.3.2",
51
51
  "ava": "^6.4.1",
@@ -77,5 +77,5 @@
77
77
  "typeCoverage": {
78
78
  "atLeast": 90.92
79
79
  },
80
- "gitHead": "7007b604e77880d419321a757c4b719fde7d9ff1"
80
+ "gitHead": "1147be15b0704de17204d04e2407fa3192b98a1c"
81
81
  }
@@ -1,47 +0,0 @@
1
- /**
2
- * @import {ERef} from '@endo/far';
3
- * @import {BaseNotifier, IterationObserver, LatestTopic} from '../src/types.js';
4
- */
5
- /**
6
- * @deprecated Use `subscribeLatest` from `@agoric/notifier/subscribe.js` instead.
7
- *
8
- * Adaptor from a notifierP to an async iterable.
9
- * The notifierP can be any object that has an eventually invocable
10
- * `getUpdateSince` method that behaves according to the notifier
11
- * spec. This can be a notifier, a promise for a local or remote
12
- * notifier, or a presence of a remote notifier.
13
- *
14
- * It is also used internally by notifier.js so that a notifier itself is an
15
- * async iterable.
16
- *
17
- * An async iterable is an object with a `[Symbol.asyncIterator]()` method
18
- * that returns an async iterator. The async iterator we return here has only
19
- * a `next()` method, without the optional `return` and `throw` methods. The
20
- * omitted methods, if present, would be used by the for/await/of loop to
21
- * inform the iterator of early termination. But this adaptor would not do
22
- * anything useful in reaction to this notification.
23
- *
24
- * An async iterator's `next()` method returns a promise for an iteration
25
- * result. An iteration result is a record with `value` and `done` properties.
26
- *
27
- * The purpose of building on the notifier protocol is to have a lossy
28
- * adaptor, where intermediate results can be missed in favor of more recent
29
- * results which are therefore less stale. See
30
- * https://github.com/Agoric/documentation/blob/HEAD/main/guides/js-programming/notifiers.md
31
- *
32
- * @template T
33
- * @param {ERef<BaseNotifier<T>>} notifierP
34
- * @returns {ForkableAsyncIterable<T>}
35
- */
36
- export const makeAsyncIterableFromNotifier: <T_1>(topic: ERef<LatestTopic<T_1>>) => {
37
- [Symbol.asyncIterator]: () => import("../src/types.js").ForkableAsyncIterableIterator<T_1, T_1>;
38
- } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
39
- [Symbol.asyncIterator]: () => import("../src/types.js").ForkableAsyncIterableIterator<T_1, T_1>;
40
- }>;
41
- export function observeIterator<T_1>(asyncIteratorP: ERef<AsyncIterator<T_1>>, iterationObserver: Partial<IterationObserver<T_1>>): Promise<undefined>;
42
- export function observeIteration<T_1>(asyncIterableP: ERef<AsyncIterable<T_1>>, iterationObserver: Partial<IterationObserver<T_1>>): Promise<undefined>;
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';
47
- //# sourceMappingURL=asyncIterableAdaptor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asyncIterableAdaptor.d.ts","sourceRoot":"","sources":["asyncIterableAdaptor.js"],"names":[],"mappings":"AAKA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH;;;;GAA6D;AAatD,qDAJI,KAAK,aAAa,CAAC,GAAC,CAAC,CAAC,qBACtB,OAAO,CAAC,kBAAkB,GAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,SAAS,CAAC,CAyB9B;AAaM,sDAJI,KAAK,aAAa,CAAC,GAAC,CAAC,CAAC,qBACtB,OAAO,CAAC,kBAAkB,GAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,SAAS,CAAC,CAK9B;AAaM,gDAJI,KAAK,YAAY,GAAC,CAAC,CAAC,qBACpB,OAAO,CAAC,kBAAkB,GAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,SAAS,CAAC,CAGkC;iCApGF,iBAAiB;0BADzD,WAAW;uCAC6B,iBAAiB"}
package/src/index.d.ts DELETED
@@ -1,10 +0,0 @@
1
- export { makePinnedHistoryTopic } from "./topic.js";
2
- export * from "./storesub.js";
3
- export * from "./stored-notifier.js";
4
- export * from "./types-index.js";
5
- export { makePublishKit, prepareDurablePublishKit, ForkableAsyncIterableIteratorShape, IterableEachTopicI, IterableLatestTopicI, SubscriberShape } from "./publish-kit.js";
6
- export { subscribeEach, subscribeLatest } from "./subscribe.js";
7
- export { makeNotifier, makeNotifierKit, makeNotifierFromAsyncIterable, makeNotifierFromSubscriber } from "./notifier.js";
8
- export { makeSubscription, makeSubscriptionKit } from "./subscriber.js";
9
- export { observeNotifier, observeIterator, observeIteration, makeAsyncIterableFromNotifier } from "./asyncIterableAdaptor.js";
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":""}
package/src/notifier.d.ts DELETED
@@ -1,11 +0,0 @@
1
- export function makeNotifier<T>(sharableInternalsP: ERef<LatestTopic<T>>): Notifier<T>;
2
- export function makeNotifierFromSubscriber<T>(subscriber: ERef<Subscriber<T>> | Remote<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
- import type { LatestTopic } from './types.js';
6
- import type { ERef } from '@agoric/vow';
7
- import type { Notifier } from './types.js';
8
- import type { Subscriber } from './types.js';
9
- import type { Remote } from '@agoric/internal';
10
- import type { NotifierRecord } from './types.js';
11
- //# sourceMappingURL=notifier.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifier.d.ts","sourceRoot":"","sources":["notifier.js"],"names":[],"mappings":"AAmBO,6BAJM,CAAC,sBACH,KAAK,YAAY,CAAC,CAAC,CAAC,GAClB,SAAS,CAAC,CAAC,CAwBvB;AAOM,2CAJM,CAAC,cACH,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,WAAW,CAAC,CAAC,CAAC,GACzC,SAAS,CAAC,CAAC,CAiBvB;AAoBM,gCAJM,CAAC,sBACH,EAAE,GAAG,CAAC,CAAC,CAAC,GACN,eAAe,CAAC,CAAC,CAsB7B;AAcM,8CAJM,CAAC,kBACH,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,GACpB,SAAS,CAAC,CAAC,CAuEvB;iCAhL6F,YAAY;0BACnF,aAAa;8BAD0D,YAAY;gCAAZ,YAAY;4BADjF,kBAAkB;oCACmD,YAAY"}
@@ -1,61 +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: import("@endo/patterns").MethodGuard;
22
- [Symbol.asyncIterator]: import("@endo/patterns").MethodGuard;
23
- }>;
24
- export const IterableLatestTopicI: import("@endo/patterns").InterfaceGuard<{
25
- getUpdateSince: import("@endo/patterns").MethodGuard;
26
- [Symbol.asyncIterator]: import("@endo/patterns").MethodGuard;
27
- }>;
28
- export function makePublishKit<T>(): PublishKit<T>;
29
- export function prepareDurablePublishKit(baggage: Baggage, kindName: string): <T>(options?: Parameters<typeof initDurablePublishKitState>[0]) => PublishKit<T>;
30
- export const SubscriberShape: import("@endo/patterns").Matcher;
31
- export type DurablePublishKitEphemeralKey = Publisher<any>;
32
- export type DurablePublishKitEphemeralData = {
33
- /**
34
- * The current-result promise
35
- * (undefined unless resolved with unrecoverable ephemeral data)
36
- */
37
- currentP: Promise<any> | undefined;
38
- /**
39
- * The next-result promise
40
- */
41
- tailP: Promise<any>;
42
- /**
43
- * The next-result resolver
44
- * (undefined when the publish kit has terminated)
45
- */
46
- tailR: ((value: any) => void) | undefined;
47
- };
48
- import type { PublishKit } from '../src/types.js';
49
- import type { Baggage } from '@agoric/swingset-liveslots';
50
- /**
51
- * @param {object} [options]
52
- * @param {DurablePublishKitValueDurability & 'mandatory'} [options.valueDurability]
53
- * @returns {DurablePublishKitState}
54
- */
55
- declare function initDurablePublishKitState(options?: {
56
- valueDurability?: "mandatory" | undefined;
57
- }): DurablePublishKitState;
58
- import type { Publisher } from '../src/types.js';
59
- import type { DurablePublishKitState } from '../src/types.js';
60
- export {};
61
- //# sourceMappingURL=publish-kit.d.ts.map
@@ -1 +0,0 @@
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,+BA2CQ,CAAC,KA7CH,WAAW,CAAC,CAAC,CA4FzB;AA8MM,kDAJI,OAAO,YACP,MAAM,GACJ,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAwE5F;AAGD,+DAAyD;4CAhP3C,UAAU,GAAC,CAAC;;;;;;cASZ,OAAO,CAAC,GAAC,CAAC,GAAG,SAAS;;;;WAEtB,OAAO,CAAC,GAAC,CAAC;;;;;WACV,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS;;gCAlPsI,iBAAiB;6BAC7K,4BAA4B;AA2MtD;;;;GAIG;AACH,sDAHG;IAAiE,eAAe;CAChF,GAAU,sBAAsB,CAmBlC;+BAlOqL,iBAAiB;4CAAjB,iBAAiB"}
@@ -1,11 +0,0 @@
1
- export function makeStoredNotifier<T extends PassableCap>(notifier: ERef<Notifier<T>>, storageNode: ERemote<StorageNode>, marshaller: ERemote<EMarshaller>): StoredNotifier<T>;
2
- export type StoredNotifier<T> = BaseNotifier<T> & Omit<StoredFacet, "getStoreKey">;
3
- import type { PassableCap } from '@endo/pass-style';
4
- import type { Notifier } from './types.js';
5
- import type { ERef } from '@endo/far';
6
- import type { StorageNode } from '@agoric/internal/src/lib-chainStorage.js';
7
- import type { ERemote } from '@agoric/internal';
8
- import type { EMarshaller } from '@agoric/internal/src/marshal/wrap-marshaller.js';
9
- import type { BaseNotifier } from './types.js';
10
- import type { StoredFacet } from '@agoric/internal/src/lib-chainStorage.js';
11
- //# sourceMappingURL=stored-notifier.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stored-notifier.d.ts","sourceRoot":"","sources":["stored-notifier.js"],"names":[],"mappings":"AAkCO,mCANoB,CAAC,SAAf,WAAa,YACf,KAAK,SAAS,CAAC,CAAC,CAAC,eACjB,QAAQ,WAAW,CAAC,cACpB,QAAQ,WAAW,CAAC,GAClB,cAAc,CAAC,CAAC,CAAC,CAiC7B;2BAlDY,CAAC,IACD,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC;iCALjC,kBAAkB;8BAJP,YAAY;0BAD9B,WAAW;iCAIuB,0CAA0C;6BAFzE,kBAAkB;iCACd,iDAAiD;kCAFtC,YAAY;iCAGI,0CAA0C"}
package/src/storesub.d.ts DELETED
@@ -1,20 +0,0 @@
1
- export function forEachPublicationRecord<T>(subscriber: Subscriber<T>, consumeValue: (v: T) => void): Promise<void>;
2
- export function makeStoredSubscriber<T extends PassableCap>(subscriber: Subscriber<T>, storageNode: ERemote<StorageNode>, marshaller: ERemote<EMarshaller>): StoredSubscriber<T>;
3
- export function makeStoredSubscription<T>(subscription: Subscription<T>, storageNode?: ERemote<StorageNode> | null, marshaller?: ERemote<EMarshaller>): StoredSubscription<T>;
4
- export function makeStoredPublisherKit<T = unknown>(storageNode?: ERemote<StorageNode> | null, marshaller?: ERemote<EMarshaller>, childPath?: string): StoredPublisherKit<T>;
5
- export function makeStoredPublishKit<T = unknown>(storageNode: ERemote<StorageNode>, marshaller: ERemote<EMarshaller>): StoredPublishKit<T>;
6
- export type StoredPublisherKit<T> = {
7
- subscriber: StoredSubscription<T>;
8
- publisher: IterationObserver<T>;
9
- };
10
- import type { Subscriber } from '../src/types.js';
11
- import type { PassableCap } from '@endo/marshal';
12
- import type { StorageNode } from '@agoric/internal/src/lib-chainStorage.js';
13
- import type { ERemote } from '@agoric/internal';
14
- import type { EMarshaller } from '@agoric/internal/src/marshal/wrap-marshaller.js';
15
- import type { StoredSubscriber } from '../src/types.js';
16
- import type { Subscription } from '../src/types.js';
17
- import type { StoredSubscription } from '../src/types.js';
18
- import type { StoredPublishKit } from '../src/types.js';
19
- import type { IterationObserver } from '../src/types.js';
20
- //# sourceMappingURL=storesub.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storesub.d.ts","sourceRoot":"","sources":["storesub.js"],"names":[],"mappings":"AA0BO,yCAJM,CAAC,cACH,WAAW,CAAC,CAAC,gBACb,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,iBAcxB;AAiBM,qCANoB,CAAC,SAAf,WAAa,cACf,WAAW,CAAC,CAAC,eACb,QAAQ,WAAW,CAAC,cACpB,QAAQ,WAAW,CAAC,GAClB,iBAAiB,CAAC,CAAC,CA6B/B;AAkBM,uCANM,CAAC,gBACH,aAAa,CAAC,CAAC,gBACf,QAAQ,WAAW,CAAC,GAAG,IAAI,eAC3B,QAAQ,WAAW,CAAC,GAClB,mBAAmB,CAAC,CAAC,CAqEjC;AAoBM,uCANO,CAAC,0BACJ,QAAQ,WAAW,CAAC,GAAG,IAAI,eAC3B,QAAQ,WAAW,CAAC,cACpB,MAAM,GACJ,kBAAkB,CAAC,CAAC,CAAC,CAoBjC;AAgBM,qCALO,CAAC,yBACJ,QAAQ,WAAW,CAAC,cACpB,QAAQ,WAAW,CAAC,GAClB,iBAAiB,CAAC,CAAC,CAU/B;+BAzDY,CAAC;gBAEA,mBAAmB,CAAC,CAAC;eACrB,kBAAkB,CAAC,CAAC;;gCAnKmL,iBAAiB;iCAGxM,eAAe;iCAFD,0CAA0C;6BAH5D,kBAAkB;iCAId,iDAAiD;sCAFsI,iBAAiB;kCAAjB,iBAAiB;wCAAjB,iBAAiB;sCAAjB,iBAAiB;uCAAjB,iBAAiB"}
@@ -1,32 +0,0 @@
1
- export function subscribe<T>(itP: ERef<AsyncIterableIterator<T>>): {
2
- [Symbol.asyncIterator]: () => {
3
- [Symbol.asyncIterator]: () => /*elided*/ any & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, /*elided*/ any>;
4
- next: () => Promise<IteratorResult<T, any>>;
5
- } & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
6
- [Symbol.asyncIterator]: () => /*elided*/ any & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, /*elided*/ any>;
7
- next: () => Promise<IteratorResult<T, any>>;
8
- }>;
9
- } & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
10
- [Symbol.asyncIterator]: () => {
11
- [Symbol.asyncIterator]: () => /*elided*/ any & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, /*elided*/ any>;
12
- next: () => Promise<IteratorResult<T, any>>;
13
- } & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
14
- [Symbol.asyncIterator]: () => /*elided*/ any & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, /*elided*/ any>;
15
- next: () => Promise<IteratorResult<T, any>>;
16
- }>;
17
- }>;
18
- export function subscribeEach<T>(topic: ERef<EachTopic<T>>): {
19
- [Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T>;
20
- } & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
21
- [Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T>;
22
- }>;
23
- export function subscribeLatest<T>(topic: ERef<LatestTopic<T>>): {
24
- [Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T>;
25
- } & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
26
- [Symbol.asyncIterator]: () => ForkableAsyncIterableIterator<T, T>;
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';
32
- //# sourceMappingURL=subscribe.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["subscribe.js"],"names":[],"mappings":"AAqEO,0BAHM,CAAC,OACH,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;GAYrC;AAuEG,8BAHM,CAAC,SACH,KAAK,UAAU,CAAC,CAAC,CAAC;;;;GAU5B;AAsGM,gCAHM,CAAC,SACH,KAAK,YAAY,CAAC,CAAC,CAAC;;;;GAO9B;0BAnQsB,WAAW;+BAC6N,iBAAiB;mDAAjB,iBAAiB;iCAAjB,iBAAiB"}
@@ -1,34 +0,0 @@
1
- /**
2
- * @import {EachTopic, IterationObserver, LatestTopic, Notifier, NotifierRecord, SubscriptionRecord, Publisher, PublishKit, StoredPublishKit, StoredSubscription, StoredSubscriber, Subscriber, Subscription, UpdateRecord} from '../src/types.js';
3
- * @import {ERef} from '@agoric/vow';
4
- */
5
- /**
6
- * @template T
7
- * @param {ERef<EachTopic<T>>} topic
8
- * @returns {Subscription<T>}
9
- */
10
- export function makeSubscription<T>(topic: ERef<EachTopic<T>>): Subscription<T>;
11
- /**
12
- * @deprecated Producers should use
13
- * ```js
14
- * const { publisher, subscriber } = makePublishKit();
15
- * const topic = makePinnedHistoryTopic(subscriber);
16
- * ```
17
- * instead, which makes it clearer that all the subscriber's history is
18
- * retained, preventing GC. Potentially remote consumers use
19
- * ```js
20
- * for await (const value of subscribeEach(topic)) { ... }
21
- * ```
22
- *
23
- * Makes a `{ publication, subscription }` for doing lossless efficient
24
- * distributed pub/sub.
25
- *
26
- * @template T
27
- * @returns {SubscriptionRecord<T>}
28
- */
29
- export function makeSubscriptionKit<T>(): SubscriptionRecord<T>;
30
- import type { EachTopic } from '../src/types.js';
31
- import type { ERef } from '@agoric/vow';
32
- import type { Subscription } from '../src/types.js';
33
- import type { SubscriptionRecord } from '../src/types.js';
34
- //# sourceMappingURL=subscriber.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["subscriber.js"],"names":[],"mappings":"AAQA;;;GAGG;AAEH;;;;GAIG;AACH,iCAJa,CAAC,SACH,KAAK,UAAU,CAAC,CAAC,CAAC,GAChB,aAAa,CAAC,CAAC,CAkB3B;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,oCAHa,CAAC,KACD,mBAAmB,CAAC,CAAC,CAmBjC;+BAhEgO,iBAAiB;0BAC3N,aAAa;kCAD6L,iBAAiB;wCAAjB,iBAAiB"}
package/src/topic.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export function makePinnedHistoryTopic<T>(topic: EachTopic<T> & LatestTopic<T>): EachTopic<T> & LatestTopic<T>;
2
- import type { EachTopic } from '../src/types.js';
3
- import type { LatestTopic } from '../src/types.js';
4
- //# sourceMappingURL=topic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["topic.js"],"names":[],"mappings":"AAeO,uCALM,CAAC,SACH,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAE3B,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAoBzC;+BA9BwC,iBAAiB;iCAAjB,iBAAiB"}
package/src/types.d.ts DELETED
@@ -1,231 +0,0 @@
1
- import type { StoredFacet, Unserializer, VStorageKey } from '@agoric/internal/src/lib-chainStorage.js';
2
- /**
3
- * An AsyncIterator that can be forked at a given position
4
- * into multiple independent ForkableAsyncIterators starting from that position.
5
- */
6
- export type ForkableAsyncIterator<T, TReturn = any, TNext = undefined> = AsyncIterator<T, TReturn, TNext> & {
7
- fork(): ForkableAsyncIterator<T, TReturn, TNext>;
8
- };
9
- export type AsyncIterableOnly<T, TReturn = any, TNext = undefined> = {
10
- [Symbol.asyncIterator](): AsyncIterableIterator<T, TReturn, TNext>;
11
- };
12
- export type ForkableAsyncIterableIterator<T, TReturn = any, TNext = undefined> = {
13
- [Symbol.asyncIterator](): ForkableAsyncIterableIterator<T, TReturn, TNext>;
14
- fork(): ForkableAsyncIterableIterator<T, TReturn, TNext>;
15
- } & ForkableAsyncIterator<T, TReturn, TNext>;
16
- /**
17
- * An AsyncIterable that produces ForkableAsyncIterators.
18
- */
19
- export type ForkableAsyncIterable<T, TReturn = any, TNext = undefined> = {
20
- [Symbol.asyncIterator]: () => ForkableAsyncIterator<T, TReturn, TNext>;
21
- };
22
- /**
23
- * A valid sequence of calls to the methods of an `IterationObserver`
24
- * represents an iteration. A valid sequence consists of any number of calls
25
- * to `updateState` with the successive non-final values, followed by a
26
- * final call to either `finish` with a successful `completion` value
27
- * or `fail` with the alleged `reason` for failure. After at most one
28
- * terminating calls, no further calls to these methods are valid and must be
29
- * rejected.
30
- */
31
- export type IterationObserver<T> = {
32
- updateState: (nonFinalValue: T) => void;
33
- finish: (completion: T) => void;
34
- fail: (reason: unknown) => void;
35
- };
36
- /**
37
- * Will be shared between machines, so it must be safe to expose. But software
38
- * outside the current package should consider it opaque, not depending on its
39
- * internal structure.
40
- */
41
- export type PublicationRecord<T> = {
42
- head: IteratorResult<T>;
43
- /**
44
- * starts at 1 for the first result
45
- * and advances by 1 for each subsequent result
46
- */
47
- publishCount: bigint;
48
- tail: Promise<PublicationRecord<T>>;
49
- };
50
- export type EachTopic<T> = {
51
- /**
52
- * Returns a promise for a "current" PublicationRecord (referencing its
53
- * immediate successor via a `tail` promise) that is later than the
54
- * provided publishCount.
55
- * Used to make forward-lossless ("each") iterators.
56
- */
57
- subscribeAfter: (publishCount?: bigint) => Promise<PublicationRecord<T>>;
58
- };
59
- /**
60
- * An EachTopic with default asyncIterable behaviour.
61
- *
62
- * NOTE: the publication records and iterators returned by this object are
63
- * ephemeral and will be severed during upgrade. A caller should use
64
- * `subscribeEach` to wrap this topic in a local iterable which automatically
65
- * attempts to reconnect upon being severed.
66
- */
67
- export type IterableEachTopic<T> = ForkableAsyncIterable<T, T> & EachTopic<T>;
68
- /**
69
- * A LatestTopic with default asyncIterable behaviour.
70
- *
71
- * NOTE: the iterators returned by this object are ephemeral and will be severed
72
- * during upgrade. A caller should use `subscribeLatest` to wrap this topic in
73
- * a local iterable which automatically attempts to reconnect upon being
74
- * severed.
75
- */
76
- export type IterableLatestTopic<T> = AsyncIterableOnly<T, T> & LatestTopic<T>;
77
- export type LatestTopic<T> = {
78
- /**
79
- * Returns a promise for an update record as of an update count.
80
- * If the `updateCount` argument is omitted or differs from the current update count,
81
- * the promise promptly resolves to the current record.
82
- * Otherwise, after the next state change, the promise resolves to the resulting record.
83
- * This is an attenuated form of `subscribeAfter` whose return value stands alone and
84
- * does not allow consumers to pin a chain of historical PublicationRecords.
85
- * Used to make lossy ("latest") iterators.
86
- * NOTE: Use of `number` as an `updateCount` is deprecated.
87
- */
88
- getUpdateSince: (updateCount?: bigint | number) => Promise<UpdateRecord<T>>;
89
- };
90
- /**
91
- * This type is deprecated but is still
92
- * used externally.
93
- */
94
- export type BaseNotifier<T> = LatestTopic<T>;
95
- /**
96
- * A stream of results that allows consumers to configure
97
- * forward-lossless "each" iteration with `subscribeEach` and
98
- * lossy "latest" iteration with `subscribeLatest`.
99
- */
100
- export type Subscriber<T> = LatestTopic<T> & EachTopic<T>;
101
- /**
102
- * A valid sequence of calls to the methods of an `IterationObserver`
103
- * represents an iteration. A valid sequence consists of any number of calls
104
- * to `publish` with the successive non-final values, followed by a
105
- * final call to either `finish` with a successful `completion` value
106
- * or `fail` with the alleged `reason` for failure. After at most one
107
- * terminating calls, no further calls to these methods are valid and must be
108
- * rejected.
109
- */
110
- export type Publisher<T> = {
111
- publish: (nonFinalValue: T) => void;
112
- finish: (completion: T) => void;
113
- fail: (reason: any) => void;
114
- };
115
- export type PublishObserver<T> = Partial<Publisher<T>>;
116
- export type PublishKit<T> = {
117
- publisher: Publisher<T>;
118
- subscriber: Subscriber<T>;
119
- };
120
- export type StoredPublishKit<T> = {
121
- publisher: Publisher<T>;
122
- subscriber: StoredSubscriber<T>;
123
- };
124
- /**
125
- * Durability configures constraints on non-terminal values that can be
126
- * published to a durable publish kit (terminal values sent to finish or fail
127
- * must always be durable).
128
- * - 'mandatory' means that each value must be durable, so it can be restored
129
- * on upgrade.
130
- * - 'opportunistic' means that a durable value is persisted for post-upgrade
131
- * restoration, but a non-durable value is still accepted (and will result in
132
- * valueless restoration).
133
- * - 'ignored' means that a value is not persisted for restoration even if it
134
- * is durable.
135
- *
136
- * 'mandatory' is the only currently-supported value, and others must not be
137
- * enabled without test coverage.
138
- */
139
- export type DurablePublishKitValueDurability = 'mandatory' | 'opportunistic' | 'ignored';
140
- export type DurablePublishKitState = {
141
- valueDurability: DurablePublishKitValueDurability;
142
- publishCount: bigint;
143
- status: 'live' | 'finished' | 'failed';
144
- /**
145
- * hasValue indicates the presence of value. It starts off false,
146
- * and can be reset to false when a durable publish kit is restored and
147
- * the previous value was not durable, or non-terminal and valueDurablity is 'ignored'.
148
- */
149
- hasValue: boolean;
150
- /**
151
- * value holds either a non-terminal value from `publish` or a terminal value
152
- * from `finish` or `fail`, depending upon the value in status.
153
- */
154
- value: any;
155
- };
156
- export type UpdateRecord<T> = {
157
- /**
158
- * is whatever state the service wants to publish
159
- */
160
- value: T;
161
- /**
162
- * is a value that identifies the update. For
163
- * the last update, it is `undefined`.
164
- */
165
- updateCount?: bigint | undefined;
166
- };
167
- /**
168
- * Will be shared between machines,
169
- * so it must be safe to expose. But other software should avoid depending on
170
- * its internal structure.
171
- */
172
- export type NotifierInternals<T> = BaseNotifier<T>;
173
- /**
174
- * an object that can be used to get the current state or updates
175
- */
176
- export type Notifier<T> = import('@endo/marshal').RemotableObject & NotifierInternals<T> & ForkableAsyncIterable<T, T> & SharableNotifier<T>;
177
- export type SharableNotifier<T> = {
178
- /**
179
- * Used to replicate the multicast values at other sites. To manually create a
180
- * local representative of a Notification, do
181
- * ```js
182
- * localIterable =
183
- * makeNotifier(E(remoteIterable).getSharableNotifierInternals());
184
- * ```
185
- * The resulting `localIterable` also supports such remote use, and
186
- * will return access to the same representation.
187
- */
188
- getSharableNotifierInternals: () => Promise<NotifierInternals<T>>;
189
- };
190
- /**
191
- * the produced notifier/updater pair
192
- */
193
- export type NotifierRecord<T> = {
194
- /**
195
- * the (closely-held) notifier producer
196
- */
197
- updater: import('@endo/marshal').RemotableObject & IterationObserver<T>;
198
- /**
199
- * the (widely-held) notifier consumer
200
- */
201
- notifier: Notifier<T>;
202
- };
203
- /**
204
- * A form of AsyncIterable supporting distributed and multicast usage.
205
- */
206
- export type Subscription<T> = IterableEachTopic<T> & EachTopic<T> & SharableSubscription<T>;
207
- export type SharableSubscription<T> = {
208
- /**
209
- * Used to replicate the multicast values at other sites. To manually create a
210
- * local representative of a Subscription, do
211
- * ```js
212
- * localIterable =
213
- * makeSubscription(E(remoteIterable).getSharableSubscriptionInternals());
214
- * ```
215
- * The resulting `localIterable` also supports such remote use, and
216
- * will return access to the same representation.
217
- */
218
- getSharableSubscriptionInternals: () => Promise<EachTopic<T>>;
219
- };
220
- export type SubscriptionRecord<T> = {
221
- publication: IterationObserver<T>;
222
- subscription: Subscription<T>;
223
- };
224
- export type StoredSubscription<T> = Subscription<T> & {
225
- getStoreKey: () => Promise<VStorageKey & {
226
- subscription: Subscription<T>;
227
- }>;
228
- getUnserializer: () => Unserializer;
229
- };
230
- export type StoredSubscriber<T> = Subscriber<T> & StoredFacet;
231
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export { eventLoopIteration } from "@agoric/internal/src/testing-utils.js";
2
- export function makeFakeStorage(path: string, publication?: IterationObserver<unknown>): StorageNode & {
3
- countSetValueCalls: () => number;
4
- };
5
- export function makeFakeMarshaller(): {
6
- toCapData: import("@endo/marshal").ToCapData<any>;
7
- fromCapData: import("@endo/marshal").FromCapData<any>;
8
- serialize: import("@endo/marshal").ToCapData<any>;
9
- unserialize: import("@endo/marshal").FromCapData<any>;
10
- };
11
- import type { IterationObserver } from '../src/types.js';
12
- import type { StorageNode } from '@agoric/internal/src/lib-chainStorage.js';
13
- //# sourceMappingURL=testSupports.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testSupports.d.ts","sourceRoot":"","sources":["testSupports.js"],"names":[],"mappings":";AAaO,sCAHI,MAAM,gBACN,kBAAkB,OAAO,CAAC;wBAUY,MAAM,MAAM;EAe5D;AAGM;;;;;EAGH;uCAvCgC,iBAAiB;iCACvB,0CAA0C"}