applesauce-core 0.0.0-next-20241219164005 → 0.0.0-next-20250103191026

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.
@@ -29,7 +29,7 @@ export declare class EventStore {
29
29
  /** Creates an observable that updates a single event */
30
30
  event(id: string): Observable<NostrEvent | undefined>;
31
31
  /** Creates an observable that subscribes to multiple events */
32
- events(ids: string[]): Observable<Map<string, NostrEvent>>;
32
+ events(ids: string[]): Observable<Record<string, NostrEvent>>;
33
33
  /** Creates an observable with the latest version of a replaceable event */
34
34
  replaceable(kind: number, pubkey: string, d?: string): Observable<NostrEvent | undefined>;
35
35
  /** Creates an observable with the latest versions of replaceable events */
@@ -37,7 +37,7 @@ export declare class EventStore {
37
37
  kind: number;
38
38
  pubkey: string;
39
39
  identifier?: string;
40
- }[]): Observable<Map<string, NostrEvent>>;
40
+ }[]): Observable<Record<string, NostrEvent>>;
41
41
  /**
42
42
  * Creates an observable that streams all events that match the filter
43
43
  * @param filters
@@ -149,11 +149,11 @@ export class EventStore {
149
149
  /** Creates an observable that subscribes to multiple events */
150
150
  events(ids) {
151
151
  return new Observable((observer) => {
152
- const events = new Map();
152
+ let events = {};
153
153
  for (const id of ids) {
154
154
  const event = this.getEvent(id);
155
155
  if (event) {
156
- events.set(id, event);
156
+ events = { ...events, [id]: event };
157
157
  this.database.claimEvent(event, observer);
158
158
  }
159
159
  }
@@ -161,8 +161,8 @@ export class EventStore {
161
161
  // subscribe to future events
162
162
  const inserted = this.database.inserted.subscribe((event) => {
163
163
  const id = event.id;
164
- if (ids.includes(id) && !events.has(id)) {
165
- events.set(id, event);
164
+ if (ids.includes(id) && !events[id]) {
165
+ events = { ...events, [id]: event };
166
166
  observer.next(events);
167
167
  // claim new event
168
168
  this.database.claimEvent(event, observer);
@@ -177,10 +177,10 @@ export class EventStore {
177
177
  const deleted = this.database.deleted.subscribe((event) => {
178
178
  const id = event.id;
179
179
  if (ids.includes(id)) {
180
- const current = events.get(id);
180
+ const current = events[id];
181
181
  if (current) {
182
182
  this.database.removeClaim(current, observer);
183
- events.delete(id);
183
+ delete events[id];
184
184
  observer.next(events);
185
185
  }
186
186
  }
@@ -189,7 +189,7 @@ export class EventStore {
189
189
  inserted.unsubscribe();
190
190
  deleted.unsubscribe();
191
191
  updated.unsubscribe();
192
- for (const [_uid, event] of events) {
192
+ for (const [_uid, event] of Object.entries(events)) {
193
193
  this.database.removeClaim(event, observer);
194
194
  }
195
195
  };
@@ -243,10 +243,10 @@ export class EventStore {
243
243
  replaceableSet(pointers) {
244
244
  return new Observable((observer) => {
245
245
  const coords = pointers.map((p) => getReplaceableUID(p.kind, p.pubkey, p.identifier));
246
- const events = new Map();
246
+ let events = {};
247
247
  const handleEvent = (event) => {
248
248
  const uid = getEventUID(event);
249
- const current = events.get(uid);
249
+ const current = events[uid];
250
250
  if (current) {
251
251
  if (event.created_at > current.created_at) {
252
252
  this.database.removeClaim(current, observer);
@@ -254,7 +254,7 @@ export class EventStore {
254
254
  else
255
255
  return;
256
256
  }
257
- events.set(uid, event);
257
+ events = { ...events, [uid]: event };
258
258
  this.database.claimEvent(event, observer);
259
259
  };
260
260
  // get latest version
@@ -280,8 +280,8 @@ export class EventStore {
280
280
  // subscribe to deleted events
281
281
  const deleted = this.database.deleted.subscribe((event) => {
282
282
  const uid = getEventUID(event);
283
- if (events.has(uid)) {
284
- events.delete(uid);
283
+ if (events[uid]) {
284
+ delete events[uid];
285
285
  this.database.removeClaim(event, observer);
286
286
  observer.next(events);
287
287
  }
@@ -290,7 +290,7 @@ export class EventStore {
290
290
  inserted.unsubscribe();
291
291
  deleted.unsubscribe();
292
292
  updated.unsubscribe();
293
- for (const [_id, event] of events) {
293
+ for (const [_id, event] of Object.entries(events)) {
294
294
  this.database.removeClaim(event, observer);
295
295
  }
296
296
  };
@@ -3,7 +3,7 @@ import { Query } from "../query-store/index.js";
3
3
  /** Creates a Query that returns a single event or undefined */
4
4
  export declare function SingleEventQuery(id: string): Query<NostrEvent | undefined>;
5
5
  /** Creates a Query that returns a multiple events in a map */
6
- export declare function MultipleEventsQuery(ids: string[]): Query<Map<string, NostrEvent>>;
6
+ export declare function MultipleEventsQuery(ids: string[]): Query<Record<string, NostrEvent>>;
7
7
  /** Creates a Query returning the latest version of a replaceable event */
8
8
  export declare function ReplaceableQuery(kind: number, pubkey: string, d?: string): Query<NostrEvent | undefined>;
9
9
  /** Creates a Query that returns an array of sorted events matching the filters */
@@ -13,4 +13,4 @@ export declare function ReplaceableSetQuery(pointers: {
13
13
  kind: number;
14
14
  pubkey: string;
15
15
  identifier?: string;
16
- }[]): Query<Map<string, NostrEvent>>;
16
+ }[]): Query<Record<string, NostrEvent>>;
@@ -31,7 +31,7 @@ export declare class QueryStore {
31
31
  /** Creates a SingleEventQuery */
32
32
  event(id: string): Observable<import("nostr-tools").Event | undefined>;
33
33
  /** Creates a MultipleEventsQuery */
34
- events(ids: string[]): Observable<Map<string, import("nostr-tools").Event>>;
34
+ events(ids: string[]): Observable<Record<string, import("nostr-tools").Event>>;
35
35
  /** Creates a ReplaceableQuery */
36
36
  replaceable(kind: number, pubkey: string, d?: string): Observable<import("nostr-tools").Event | undefined>;
37
37
  /** Creates a ReplaceableSetQuery */
@@ -39,7 +39,7 @@ export declare class QueryStore {
39
39
  kind: number;
40
40
  pubkey: string;
41
41
  identifier?: string;
42
- }[]): Observable<Map<string, import("nostr-tools").Event>>;
42
+ }[]): Observable<Record<string, import("nostr-tools").Event>>;
43
43
  /** Creates a TimelineQuery */
44
44
  timeline(filters: Filter | Filter[], keepOldVersions?: boolean): Observable<import("nostr-tools").Event[]>;
45
45
  /** Creates a ProfileQuery */
@@ -5,6 +5,8 @@ export class QueryStore {
5
5
  static Queries = Queries;
6
6
  store;
7
7
  constructor(store) {
8
+ if (!store)
9
+ throw new Error("EventStore required");
8
10
  this.store = store;
9
11
  }
10
12
  queries = new LRU();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "applesauce-core",
3
- "version": "0.0.0-next-20241219164005",
3
+ "version": "0.0.0-next-20250103191026",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -16,38 +16,47 @@
16
16
  "exports": {
17
17
  ".": {
18
18
  "import": "./dist/index.js",
19
+ "require": "./dist/index.js",
19
20
  "types": "./dist/index.d.ts"
20
21
  },
21
22
  "./helpers": {
22
23
  "import": "./dist/helpers/index.js",
24
+ "require": "./dist/helpers/index.js",
23
25
  "types": "./dist/helpers/index.d.ts"
24
26
  },
25
27
  "./helpers/*": {
26
28
  "import": "./dist/helpers/*.js",
29
+ "require": "./dist/helpers/*.js",
27
30
  "types": "./dist/helpers/*.d.ts"
28
31
  },
29
32
  "./queries": {
30
33
  "import": "./dist/queries/index.js",
34
+ "require": "./dist/queries/index.js",
31
35
  "types": "./dist/queries/index.d.ts"
32
36
  },
33
37
  "./queries/*": {
34
38
  "import": "./dist/queries/*.js",
39
+ "require": "./dist/queries/*.js",
35
40
  "types": "./dist/queries/*.d.ts"
36
41
  },
37
42
  "./observable": {
38
43
  "import": "./dist/observable/index.js",
44
+ "require": "./dist/observable/index.js",
39
45
  "types": "./dist/observable/index.d.ts"
40
46
  },
41
47
  "./promise": {
42
48
  "import": "./dist/promise/index.js",
49
+ "require": "./dist/promise/index.js",
43
50
  "types": "./dist/promise/index.d.ts"
44
51
  },
45
52
  "./query-store": {
46
53
  "import": "./dist/query-store/index.js",
54
+ "require": "./dist/query-store/index.js",
47
55
  "types": "./dist/query-store/index.d.ts"
48
56
  },
49
57
  "./event-store": {
50
58
  "import": "./dist/event-store/index.js",
59
+ "require": "./dist/event-store/index.js",
51
60
  "types": "./dist/event-store/index.d.ts"
52
61
  }
53
62
  },