@welshman/app 0.7.0 → 0.7.1

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.
@@ -1,16 +1,29 @@
1
- import { Emitter, throttle, makePromise, defer, sleep, tryCatch, randomId } from "@welshman/lib";
2
- import { makeEvent, normalizeRelayUrl, NOSTR_CONNECT, hash, own, } from "@welshman/util";
3
- import { publish, request } from "@welshman/net";
1
+ import { trustedKeyDeal, hexShard, hexPubShard, } from "@jsr/fiatjaf__promenade-trusted-dealer";
2
+ import { Emitter, uniq, spec, inc, throttle, makePromise, defer, sleep, tryCatch, randomId, shuffle, } from "@welshman/lib";
3
+ import { getPubkey, makeEvent, makeSecret, normalizeRelayUrl, NOSTR_CONNECT, prep, PROMENADE_REGISTER_ACCOUNT, PROMENADE_SHARD_ACK, PROMENADE_SHARD_SHARE, RelayMode, } from "@welshman/util";
4
+ import { publish, request, PublishStatus } from "@welshman/net";
4
5
  import { signWithOptions, decrypt } from "../util.js";
5
6
  import { Nip01Signer } from "./nip01.js";
6
7
  export const nip46Context = {
7
8
  debug: false,
8
9
  };
10
+ const nip46Log = (...args) => {
11
+ if (nip46Context.debug) {
12
+ console.log(...args);
13
+ }
14
+ };
9
15
  export var Nip46Event;
10
16
  (function (Nip46Event) {
11
17
  Nip46Event["Send"] = "send";
12
18
  Nip46Event["Receive"] = "receive";
13
19
  })(Nip46Event || (Nip46Event = {}));
20
+ export class PromenadeShardError extends Error {
21
+ errorsBySignerPubkey;
22
+ constructor(message, errorsBySignerPubkey) {
23
+ super(message);
24
+ this.errorsBySignerPubkey = errorsBySignerPubkey;
25
+ }
26
+ }
14
27
  const popupManager = (() => {
15
28
  let pendingUrl = "";
16
29
  let pendingSince = 0;
@@ -122,9 +135,7 @@ export class Nip46Sender extends Emitter {
122
135
  await this.send(request);
123
136
  }
124
137
  catch (error) {
125
- if (nip46Context.debug) {
126
- console.log("nip46 error:", error, request);
127
- }
138
+ nip46Log("nip46 error:", error, request);
128
139
  }
129
140
  }
130
141
  }
@@ -209,23 +220,135 @@ export class Nip46Broker extends Emitter {
209
220
  }
210
221
  return { relays, signerPubkey, connectSecret };
211
222
  };
223
+ static fromBunkerUrl = (url) => {
224
+ const clientSecret = makeSecret();
225
+ const { relays, signerPubkey, connectSecret } = Nip46Broker.parseBunkerUrl(url);
226
+ return new Nip46Broker({
227
+ relays,
228
+ clientSecret,
229
+ signerPubkey,
230
+ connectSecret,
231
+ });
232
+ };
233
+ static fromPromenade = async (options) => {
234
+ const [m, n] = options.policy;
235
+ if (options.signerPubkeys.length < n) {
236
+ throw new Error("Not enough signers to create all shards");
237
+ }
238
+ const deal = trustedKeyDeal(BigInt("0x" + options.secret), m, n);
239
+ // Add the VSS commits to each shard
240
+ // for (const shard of deal.shards) {
241
+ // shard.pubShard.vssCommit = deal.commits
242
+ // }
243
+ // Use the pubkey and adjusted secret from the deal (BIP-340 adjusted if needed)
244
+ const signer = Nip01Signer.fromSecret(options.secret);
245
+ const ourPubkey = await signer.getPubkey();
246
+ const ackRelays = await options.getPubkeyRelays(ourPubkey, RelayMode.Read);
247
+ const remainingSignerPubkeys = shuffle(uniq(options.signerPubkeys));
248
+ const errorsBySignerPubkey = new Map();
249
+ const shardsBySignerPubkey = new Map();
250
+ if (ackRelays.length === 0) {
251
+ throw new Error("No read relays returned for user pubkey");
252
+ }
253
+ nip46Log(`generated promenade shards for user ${ourPubkey}`, deal);
254
+ await Promise.all(deal.shards.map(async (shard, i) => {
255
+ while (remainingSignerPubkeys.length > 0) {
256
+ const signerPubkey = remainingSignerPubkeys.shift();
257
+ nip46Log(`generating proof of work for shard ${i}`);
258
+ const shardTemplate = makeEvent(PROMENADE_SHARD_SHARE, {
259
+ content: await signer.nip44.encrypt(signerPubkey, hexShard(shard)),
260
+ tags: [
261
+ ["p", signerPubkey],
262
+ ["coordinator", options.coordinatorUrl],
263
+ ...ackRelays.map(url => ["reply", url]),
264
+ ],
265
+ });
266
+ const shardTemplateWithWork = await tryCatch(() => options.generatePow(prep(shardTemplate, ourPubkey), 20));
267
+ if (!shardTemplateWithWork) {
268
+ errorsBySignerPubkey.set(signerPubkey, "Failed to generate work");
269
+ continue;
270
+ }
271
+ const shardEvent = await signer.sign(shardTemplateWithWork);
272
+ const shardRelays = await options.getPubkeyRelays(signerPubkey, RelayMode.Read);
273
+ const publishResults = await publish({ relays: shardRelays, event: shardEvent });
274
+ nip46Log(`published shard ${i} to signer ${signerPubkey}`, shardRelays, publishResults);
275
+ if (!Object.values(publishResults).some(spec({ status: PublishStatus.Success }))) {
276
+ errorsBySignerPubkey.set(signerPubkey, "Failed to publish shard");
277
+ continue;
278
+ }
279
+ const controller = new AbortController();
280
+ const signal = AbortSignal.any([controller.signal, AbortSignal.timeout(30_000)]);
281
+ await request({
282
+ signal,
283
+ relays: ackRelays,
284
+ filters: [
285
+ {
286
+ kinds: [PROMENADE_SHARD_ACK],
287
+ authors: [signerPubkey],
288
+ "#p": [ourPubkey],
289
+ "#e": [shardEvent.id],
290
+ },
291
+ ],
292
+ onEvent: (event, url) => {
293
+ nip46Log(`received ack for shard ${i} from signer ${signerPubkey} on ${url}`);
294
+ shardsBySignerPubkey.set(signerPubkey, shard);
295
+ options.onProgress?.(shardsBySignerPubkey.size / inc(n));
296
+ controller.abort();
297
+ },
298
+ });
299
+ if (shardsBySignerPubkey.has(signerPubkey)) {
300
+ break;
301
+ }
302
+ else {
303
+ errorsBySignerPubkey.set(signerPubkey, "Failed to receive shard ACK");
304
+ nip46Log(`failed to receive ack for shard ${i} from signer ${signerPubkey}`);
305
+ }
306
+ }
307
+ }));
308
+ if (shardsBySignerPubkey.size < deal.shards.length) {
309
+ throw new PromenadeShardError("Failed to publish all shards", errorsBySignerPubkey);
310
+ }
311
+ const connectSecret = randomId();
312
+ const signerSecret = makeSecret();
313
+ const signerPubkey = getPubkey(signerSecret);
314
+ const tags = [
315
+ ["h", signerPubkey],
316
+ ["threshold", String(m)],
317
+ ["handlersecret", signerSecret],
318
+ ["profile", "MAIN", connectSecret, ""],
319
+ ];
320
+ for (const [pubkey, shard] of shardsBySignerPubkey) {
321
+ tags.push(["p", pubkey, hexPubShard(shard.pubShard)]);
322
+ }
323
+ nip46Log(`registering coordinator account`, tags);
324
+ const relays = [options.coordinatorUrl];
325
+ const event = await signer.sign(makeEvent(PROMENADE_REGISTER_ACCOUNT, { tags }));
326
+ const accountResults = await publish({ relays, event });
327
+ if (!Object.values(accountResults).some(spec({ status: PublishStatus.Success }))) {
328
+ throw new Error("Failed to publish accounts to coordinator");
329
+ }
330
+ nip46Log(`successfully created promenade broker`);
331
+ const clientSecret = makeSecret();
332
+ return new Nip46Broker({
333
+ relays,
334
+ clientSecret,
335
+ signerPubkey,
336
+ connectSecret,
337
+ });
338
+ };
212
339
  // Getters for helper objects
213
340
  makeSigner = () => new Nip01Signer(this.params.clientSecret);
214
341
  makeSender = () => {
215
342
  const sender = new Nip46Sender(this.signer, this.params);
216
343
  sender.on(Nip46Event.Send, (data) => {
217
- if (nip46Context.debug) {
218
- console.log("nip46 send:", data);
219
- }
344
+ nip46Log("nip46 send:", data);
220
345
  });
221
346
  return sender;
222
347
  };
223
348
  makeReceiver = () => {
224
349
  const receiver = new Nip46Receiver(this.signer, this.params);
225
350
  receiver.on(Nip46Event.Receive, (data) => {
226
- if (nip46Context.debug) {
227
- console.log("nip46 receive:", data);
228
- }
351
+ nip46Log("nip46 receive:", data);
229
352
  });
230
353
  return receiver;
231
354
  };
@@ -337,6 +460,6 @@ export class Nip46Signer {
337
460
  }
338
461
  return this.pubkey;
339
462
  };
340
- sign = (template, options = {}) => signWithOptions(this.getPubkey().then(pubkey => this.broker.signEvent(hash(own(template, pubkey)))), options);
463
+ sign = (template, options = {}) => signWithOptions(this.getPubkey().then(pubkey => this.broker.signEvent(prep(template, pubkey))), options);
341
464
  }
342
465
  //# sourceMappingURL=nip46.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nip46.js","sourceRoot":"","sources":["../../../../../signer/src/signers/nip46.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nip46.js","sourceRoot":"","sources":["../../../../../signer/src/signers/nip46.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { hexToBytes } from "@noble/hashes/utils";
1
+ import { hexToBytes } from "@noble/curves/abstract/utils";
2
2
  import * as nt04 from "nostr-tools/nip04";
3
3
  import * as nt44 from "nostr-tools/nip44";
4
4
  import { Emitter, cached } from "@welshman/lib";
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../signer/src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../signer/src/util.ts"],"names":[],"mappings":"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"}
@@ -3,42 +3,45 @@ import { Maybe, MaybeAsync } from "@welshman/lib";
3
3
  import { Filter, TrustedEvent } from "@welshman/util";
4
4
  import { Repository, Tracker } from "@welshman/net";
5
5
  export type EventsById = Map<string, TrustedEvent>;
6
- export type DeriveEventsByIdOptions = {
6
+ export type EventsByIdOptions = {
7
7
  filters: Filter[];
8
8
  repository: Repository;
9
9
  includeDeleted?: boolean;
10
10
  };
11
- export declare const deriveEventsById: ({ filters, repository, includeDeleted, }: DeriveEventsByIdOptions) => Readable<Map<string, TrustedEvent>>;
11
+ export declare const getEventsById: ({ filters, repository, includeDeleted }: EventsByIdOptions) => Map<string, TrustedEvent>;
12
+ export declare const deriveEventsById: ({ filters, repository, includeDeleted }: EventsByIdOptions) => Readable<EventsById>;
12
13
  export declare const deriveArray: <T>(itemsByIdStore: Readable<Map<string, T>>) => Readable<T[]>;
13
14
  export declare const deriveEventsAsc: (eventsByIdStore: Readable<EventsById>) => Readable<TrustedEvent[]>;
14
15
  export declare const deriveEventsDesc: (eventsByIdStore: Readable<EventsById>) => Readable<TrustedEvent[]>;
15
- export type DeriveEventOptions = {
16
+ export type EventOptions = {
16
17
  repository: Repository;
17
18
  includeDeleted?: boolean;
18
19
  onDerive?: (filters: Filter[], ...args: any[]) => void;
19
20
  };
20
- export declare const makeDeriveEvent: ({ repository, includeDeleted, onDerive, }: DeriveEventOptions) => (idOrAddress: string, ...args: any[]) => Readable<Maybe<TrustedEvent>>;
21
+ export declare const makeDeriveEvent: ({ repository, includeDeleted, onDerive }: EventOptions) => (idOrAddress: string, ...args: any[]) => Readable<Maybe<TrustedEvent>>;
21
22
  export type EventsByIdByUrl = Map<string, EventsById>;
22
- export type DeriveEventsByIdByUrlOptions = DeriveEventsByIdOptions & {
23
+ export type EventsByIdByUrlOptions = EventsByIdOptions & {
23
24
  tracker: Tracker;
24
25
  };
25
- export declare const deriveEventsByIdByUrl: ({ filters, tracker, repository, includeDeleted, }: DeriveEventsByIdByUrlOptions) => Readable<EventsByIdByUrl>;
26
- export type DeriveEventsByIdForUrlOptions = DeriveEventsByIdOptions & {
26
+ export declare const getEventsByIdByUrl: ({ filters, tracker, repository, includeDeleted, }: EventsByIdByUrlOptions) => EventsByIdByUrl;
27
+ export declare const deriveEventsByIdByUrl: ({ filters, tracker, repository, includeDeleted, }: EventsByIdByUrlOptions) => Readable<EventsByIdByUrl>;
28
+ export type EventsByIdForUrlOptions = EventsByIdOptions & {
27
29
  url: string;
28
30
  tracker: Tracker;
29
31
  };
30
- export declare const deriveEventsByIdForUrl: ({ url, filters, tracker, repository, includeDeleted, }: DeriveEventsByIdForUrlOptions) => Readable<EventsById>;
32
+ export declare const getEventsByIdForUrl: ({ url, filters, tracker, repository, includeDeleted, }: EventsByIdForUrlOptions) => EventsById;
33
+ export declare const deriveEventsByIdForUrl: ({ url, filters, tracker, repository, includeDeleted, }: EventsByIdForUrlOptions) => Readable<EventsById>;
31
34
  export type ItemsByKey<T> = Map<string, T>;
32
35
  export type EventToItem<T> = (event: TrustedEvent) => MaybeAsync<Maybe<T>>;
33
36
  export type GetItem<T> = (key: string, ...args: any[]) => Maybe<T>;
34
- export type DeriveItemsByKeyOptions<T> = {
37
+ export type ItemsByKeyOptions<T> = {
35
38
  getKey: (item: T) => string;
36
39
  filters: Filter[];
37
40
  repository: Repository;
38
41
  eventToItem: EventToItem<T>;
39
42
  includeDeleted?: boolean;
40
43
  };
41
- export declare const deriveItemsByKey: <T>({ getKey, filters, repository, eventToItem, includeDeleted, }: DeriveItemsByKeyOptions<T>) => Readable<Map<string, T>>;
44
+ export declare const deriveItemsByKey: <T>({ getKey, filters, repository, eventToItem, includeDeleted, }: ItemsByKeyOptions<T>) => Readable<Map<string, T>>;
42
45
  export declare const deriveItems: <T>(itemsByKeyStore: Readable<ItemsByKey<T>>) => Readable<T[]>;
43
46
  export declare const deriveItemsSorted: <T>(sortFn: (item: T) => number, itemsStore: Readable<T[]>) => Readable<T[]>;
44
47
  export declare const makeDeriveItem: <T>(itemsByKeyStore: Readable<ItemsByKey<T>>, onDerive?: (key: string, ...args: any[]) => void) => (key?: string, ...args: any[]) => Readable<T | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../store/src/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../store/src/repository.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,39 @@
1
1
  import { readable } from "svelte/store";
2
2
  import { on, assoc, now, mapPop, call, sortBy, first } from "@welshman/lib";
3
- import { matchFilters, getIdFilters } from "@welshman/util";
3
+ import { matchFilters, getIdFilters, sortEventsAsc, sortEventsDesc, } from "@welshman/util";
4
4
  import { deriveDeduplicated } from "./misc.js";
5
- export const deriveEventsById = ({ filters, repository, includeDeleted, }) => {
5
+ export const getEventsById = ({ filters, repository, includeDeleted }) => {
6
6
  const eventsById = new Map();
7
- return readable(eventsById, set => {
8
- for (const event of repository.query(filters, { includeDeleted })) {
9
- eventsById.set(event.id, event);
10
- }
11
- set(eventsById);
12
- return on(repository, "update", ({ added, removed }) => {
13
- let dirty = false;
14
- for (const event of added) {
15
- if (matchFilters(filters, event)) {
16
- dirty = true;
17
- eventsById.set(event.id, event);
18
- }
19
- }
20
- for (const id of removed) {
21
- if (mapPop(id, eventsById)) {
22
- dirty = true;
23
- }
7
+ for (const event of repository.query(filters, { includeDeleted })) {
8
+ eventsById.set(event.id, event);
9
+ }
10
+ return eventsById;
11
+ };
12
+ export const deriveEventsById = ({ filters, repository, includeDeleted }) => readable(new Map(), set => {
13
+ const eventsById = getEventsById({ filters, repository, includeDeleted });
14
+ set(eventsById);
15
+ return on(repository, "update", ({ added, removed }) => {
16
+ let dirty = false;
17
+ for (const event of added) {
18
+ if (matchFilters(filters, event)) {
19
+ dirty = true;
20
+ eventsById.set(event.id, event);
24
21
  }
25
- if (dirty) {
26
- set(eventsById);
22
+ }
23
+ for (const id of removed) {
24
+ if (mapPop(id, eventsById)) {
25
+ dirty = true;
27
26
  }
28
- });
27
+ }
28
+ if (dirty) {
29
+ set(eventsById);
30
+ }
29
31
  });
30
- };
32
+ });
31
33
  export const deriveArray = (itemsByIdStore) => deriveDeduplicated(itemsByIdStore, itemsById => Array.from(itemsById.values()));
32
- export const deriveEventsAsc = (eventsByIdStore) => deriveDeduplicated(eventsByIdStore, eventsById => sortBy(e => e.created_at, eventsById.values()));
33
- export const deriveEventsDesc = (eventsByIdStore) => deriveDeduplicated(eventsByIdStore, eventsById => sortBy(e => -e.created_at, eventsById.values()));
34
- export const makeDeriveEvent = ({ repository, includeDeleted = false, onDerive, }) => {
34
+ export const deriveEventsAsc = (eventsByIdStore) => deriveDeduplicated(eventsByIdStore, eventsById => sortEventsAsc(eventsById.values()));
35
+ export const deriveEventsDesc = (eventsByIdStore) => deriveDeduplicated(eventsByIdStore, eventsById => sortEventsDesc(eventsById.values()));
36
+ export const makeDeriveEvent = ({ repository, includeDeleted = false, onDerive }) => {
35
37
  return (idOrAddress, ...args) => {
36
38
  const filters = getIdFilters([idOrAddress]);
37
39
  onDerive?.(filters, ...args);
@@ -54,8 +56,22 @@ export const makeDeriveEvent = ({ repository, includeDeleted = false, onDerive,
54
56
  });
55
57
  };
56
58
  };
57
- export const deriveEventsByIdByUrl = ({ filters, tracker, repository, includeDeleted, }) => {
59
+ export const getEventsByIdByUrl = ({ filters, tracker, repository, includeDeleted, }) => {
58
60
  const eventsByIdByUrl = new Map();
61
+ for (const event of repository.query(filters, { includeDeleted })) {
62
+ for (const url of tracker.getRelays(event.id)) {
63
+ let eventsById = eventsByIdByUrl.get(url);
64
+ if (!eventsById) {
65
+ eventsById = new Map();
66
+ eventsByIdByUrl.set(url, eventsById);
67
+ }
68
+ eventsById.set(event.id, event);
69
+ }
70
+ }
71
+ return eventsByIdByUrl;
72
+ };
73
+ export const deriveEventsByIdByUrl = ({ filters, tracker, repository, includeDeleted, }) => readable(new Map(), set => {
74
+ const eventsByIdByUrl = getEventsByIdByUrl({ filters, tracker, repository, includeDeleted });
59
75
  const addEvent = (url, event) => {
60
76
  if (!matchFilters(filters, event))
61
77
  return false;
@@ -83,68 +99,65 @@ export const deriveEventsByIdByUrl = ({ filters, tracker, repository, includeDel
83
99
  }
84
100
  return false;
85
101
  };
86
- return readable(eventsByIdByUrl, set => {
87
- for (const event of repository.query(filters, { includeDeleted })) {
88
- for (const url of tracker.getRelays(event.id)) {
89
- addEvent(url, event);
90
- }
91
- }
92
- set(eventsByIdByUrl);
93
- const unsubscribers = [
94
- on(repository, "update", ({ added, removed }) => {
95
- let dirty = false;
96
- for (const event of added) {
97
- for (const url of tracker.getRelays(event.id)) {
98
- dirty = dirty || addEvent(url, event);
99
- }
100
- }
101
- for (const id of removed) {
102
- for (const url of tracker.getRelays(id)) {
103
- dirty = dirty || removeEvent(url, id);
104
- }
105
- }
106
- if (dirty) {
107
- set(eventsByIdByUrl);
108
- }
109
- }),
110
- on(tracker, "add", (id, url) => {
111
- const event = repository.getEvent(id);
112
- if (event && addEvent(url, event)) {
113
- set(eventsByIdByUrl);
114
- }
115
- }),
116
- on(tracker, "remove", (id, url) => {
117
- if (removeEvent(url, id)) {
118
- set(eventsByIdByUrl);
102
+ set(eventsByIdByUrl);
103
+ const unsubscribers = [
104
+ on(repository, "update", ({ added, removed }) => {
105
+ let dirty = false;
106
+ for (const event of added) {
107
+ for (const url of tracker.getRelays(event.id)) {
108
+ dirty = dirty || addEvent(url, event);
119
109
  }
120
- }),
121
- on(tracker, "load", () => {
122
- eventsByIdByUrl.clear();
123
- for (const event of repository.query(filters, { includeDeleted })) {
124
- for (const url of tracker.getRelays(event.id)) {
125
- addEvent(url, event);
126
- }
110
+ }
111
+ for (const id of removed) {
112
+ for (const url of tracker.getRelays(id)) {
113
+ dirty = dirty || removeEvent(url, id);
127
114
  }
115
+ }
116
+ if (dirty) {
128
117
  set(eventsByIdByUrl);
129
- }),
130
- on(tracker, "clear", () => {
131
- eventsByIdByUrl.clear();
118
+ }
119
+ }),
120
+ on(tracker, "add", (id, url) => {
121
+ const event = repository.getEvent(id);
122
+ if (event && addEvent(url, event)) {
132
123
  set(eventsByIdByUrl);
133
- }),
134
- ];
135
- return () => unsubscribers.forEach(call);
136
- });
124
+ }
125
+ }),
126
+ on(tracker, "remove", (id, url) => {
127
+ if (removeEvent(url, id)) {
128
+ set(eventsByIdByUrl);
129
+ }
130
+ }),
131
+ on(tracker, "load", () => {
132
+ eventsByIdByUrl.clear();
133
+ for (const event of repository.query(filters, { includeDeleted })) {
134
+ for (const url of tracker.getRelays(event.id)) {
135
+ addEvent(url, event);
136
+ }
137
+ }
138
+ set(eventsByIdByUrl);
139
+ }),
140
+ on(tracker, "clear", () => {
141
+ eventsByIdByUrl.clear();
142
+ set(eventsByIdByUrl);
143
+ }),
144
+ ];
145
+ return () => unsubscribers.forEach(call);
146
+ });
147
+ export const getEventsByIdForUrl = ({ url, filters, tracker, repository, includeDeleted, }) => {
148
+ const initialIds = Array.from(tracker.getIds(url));
149
+ const initialFilters = filters.map(assoc("ids", initialIds));
150
+ const eventsById = new Map();
151
+ for (const event of repository.query(initialFilters, { includeDeleted })) {
152
+ eventsById.set(event.id, event);
153
+ }
154
+ return eventsById;
137
155
  };
138
156
  export const deriveEventsByIdForUrl = ({ url, filters, tracker, repository, includeDeleted, }) => {
139
- const eventsById = new Map();
157
+ let eventsById = getEventsByIdForUrl({ url, filters, tracker, repository, includeDeleted });
140
158
  return readable(eventsById, set => {
141
159
  const reset = () => {
142
- const initialIds = Array.from(tracker.getIds(url));
143
- const initialFilters = filters.map(assoc("ids", initialIds));
144
- eventsById.clear();
145
- for (const event of repository.query(initialFilters, { includeDeleted })) {
146
- eventsById.set(event.id, event);
147
- }
160
+ eventsById = getEventsByIdForUrl({ url, filters, tracker, repository, includeDeleted });
148
161
  set(eventsById);
149
162
  };
150
163
  reset();