@peerbit/document-react 0.3.1 → 0.4.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.
@@ -18,7 +18,7 @@ type ApplyResultsHandler<Item> = (prev: Item[], change: {
18
18
  defaultMerge: () => Item[];
19
19
  loadMore: LoadMoreFn;
20
20
  }) => Item[] | Promise<Item[]>;
21
- type LateResultsHandler<Item> = (evt: LateResultsEvent, helpers: {
21
+ type LateResultsHandler<Item> = (evt: LateResultsEvent<"queue">, helpers: {
22
22
  loadMore: LoadMoreFn;
23
23
  inject: (items: Item | Item[], opts?: {
24
24
  position?: "start" | "end" | number;
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../src/useQuery.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../src/useQuery.tsx"],"names":[],"mappings":"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"}
@@ -73,8 +73,13 @@ dbOrDbs, options) => {
73
73
  if (cached)
74
74
  return cached;
75
75
  for (const { db } of iteratorRefs.current) {
76
- const id = db.index.resolveId(item);
77
- return idToKey(id.primitive); // return the first result
76
+ const candidate = item?.__indexed ??
77
+ item?.__context?.__indexed ??
78
+ item;
79
+ const id = db.index.resolveId(candidate);
80
+ const key = idToKey(id.primitive);
81
+ itemIdRef.current.set(item, key);
82
+ return key; // return the first result
78
83
  }
79
84
  return null;
80
85
  };
@@ -83,6 +88,34 @@ dbOrDbs, options) => {
83
88
  if (!arr.length)
84
89
  return;
85
90
  mutateAll((prev) => {
91
+ // Fast path for front insert to reduce copies
92
+ if (!opts?.position || opts.position === "start") {
93
+ const existingKeys = new Set();
94
+ prev.forEach((item) => {
95
+ const key = resolveItemKey(item);
96
+ if (key)
97
+ existingKeys.add(key);
98
+ });
99
+ const deduped = arr.filter((item) => {
100
+ const key = resolveItemKey(item);
101
+ return !(key && existingKeys.has(key));
102
+ });
103
+ if (deduped.length === 0)
104
+ return prev;
105
+ const out = new Array(deduped.length + prev.length);
106
+ let i = 0;
107
+ for (const item of deduped)
108
+ out[i++] = item;
109
+ for (const item of prev)
110
+ out[i++] = item;
111
+ deduped.forEach((item) => {
112
+ const key = resolveItemKey(item);
113
+ if (key)
114
+ itemIdRef.current.set(item, key);
115
+ });
116
+ return out;
117
+ }
118
+ // Fallback: splice semantics
86
119
  const working = [...prev];
87
120
  const keyIndex = new Map();
88
121
  working.forEach((item, idx) => {
@@ -141,20 +174,34 @@ dbOrDbs, options) => {
141
174
  }
142
175
  return {};
143
176
  };
144
- const onMissedResults = (evt) => {
177
+ const onMissedResults = async (evt, lateHelpers) => {
145
178
  log("Late results", evt);
146
179
  const loadMoreHelper = (...args) => loadMoreRef.current
147
180
  ? loadMoreRef.current(...args)
148
181
  : Promise.resolve(false);
149
- const maybeUser = options.onLateResults?.(evt, {
182
+ const helpers = {
150
183
  loadMore: loadMoreHelper,
151
184
  inject: injectItems,
152
185
  items: () => allRef.current,
153
- });
154
- if (!maybeUser) {
155
- console.error("Late results", evt);
186
+ };
187
+ const maybeUser = options.onLateResults?.(evt, helpers);
188
+ if (maybeUser) {
189
+ await maybeUser;
190
+ return;
156
191
  }
157
- return maybeUser;
192
+ // default handling: if we have concrete items, inject them at the front
193
+ const items = evt.items ?? (lateHelpers?.collect && (await lateHelpers.collect()));
194
+ if (items && items.length) {
195
+ const values = items
196
+ .map((it) => it?.value ?? it?.indexed ?? it)
197
+ .filter(Boolean);
198
+ if (values.length) {
199
+ injectItems(values, { position: "start" });
200
+ }
201
+ return;
202
+ }
203
+ // fallback: force a pull for late items
204
+ await loadMoreHelper(batchSize, { force: true, reason: "late" });
158
205
  };
159
206
  let draining = false;
160
207
  const scheduleDrain = (ref, amount, opts) => {
@@ -177,7 +224,7 @@ dbOrDbs, options) => {
177
224
  closePolicy: "manual",
178
225
  local: options.local ?? true,
179
226
  remote: resolveRemoteOptions(),
180
- onLateResults: onMissedResults,
227
+ outOfOrder: { mode: "queue", handle: onMissedResults },
181
228
  resolve,
182
229
  signal: abortSignal,
183
230
  updates: {
@@ -279,6 +326,29 @@ dbOrDbs, options) => {
279
326
  }
280
327
  const prev = allRef.current;
281
328
  const next = [...prev];
329
+ const resolveIndexedForSort = (item) => item.__indexed ??
330
+ (item.__context && item.__context.__indexed) ??
331
+ item;
332
+ const sortSpec = options.query?.sort;
333
+ const normalizeSort = (sort) => {
334
+ if (!sort)
335
+ return undefined;
336
+ const arr = Array.isArray(sort) ? sort : [sort];
337
+ return arr.map((s) => ({
338
+ ...s,
339
+ key: Array.isArray(s.key) ? s.key : [s.key],
340
+ }));
341
+ };
342
+ const normalizedSort = normalizeSort(sortSpec);
343
+ const sortComparator = normalizedSort &&
344
+ ((a, b) => {
345
+ const aIndexed = resolveIndexedForSort(a);
346
+ const bIndexed = resolveIndexedForSort(b);
347
+ if (aIndexed == null || bIndexed == null) {
348
+ return 0;
349
+ }
350
+ return indexerTypes.extractSortCompare(aIndexed, bIndexed, normalizedSort);
351
+ });
282
352
  const keyIndex = new Map();
283
353
  prev.forEach((item, idx) => {
284
354
  const key = itemIdRef.current.get(item);
@@ -339,7 +409,22 @@ dbOrDbs, options) => {
339
409
  return !emptyResultsRef.current;
340
410
  }
341
411
  let combinedDefault;
342
- if (reverseRef.current) {
412
+ if (reason === "late") {
413
+ let combined = [...freshItems, ...next];
414
+ if (sortComparator) {
415
+ try {
416
+ combined = [...next, ...freshItems].sort(sortComparator);
417
+ }
418
+ catch (error) {
419
+ console.warn("Failed to sort late results", error);
420
+ }
421
+ }
422
+ if (reverseRef.current) {
423
+ combined.reverse();
424
+ }
425
+ combinedDefault = combined;
426
+ }
427
+ else if (reverseRef.current) {
343
428
  freshItems.reverse();
344
429
  freshItems.push(...next);
345
430
  combinedDefault = freshItems;
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../../src/useQuery.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../../src/useQuery.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/document-react",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "React hooks for @peerbit/document",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -42,10 +42,10 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "uuid": "^10.0.0",
45
- "@peerbit/document": "11.1.1",
46
- "@peerbit/indexer-interface": "2.1.0",
45
+ "@peerbit/document": "11.2.0",
47
46
  "@peerbit/react": "0.0.40",
48
- "@peerbit/logger": "2.0.0"
47
+ "@peerbit/logger": "2.0.0",
48
+ "@peerbit/indexer-interface": "2.1.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@dao-xyz/borsh": "^6.0.0",
package/src/useQuery.tsx CHANGED
@@ -30,7 +30,7 @@ type ApplyResultsHandler<Item> = (
30
30
  ) => Item[] | Promise<Item[]>;
31
31
 
32
32
  type LateResultsHandler<Item> = (
33
- evt: LateResultsEvent,
33
+ evt: LateResultsEvent<"queue">,
34
34
  helpers: {
35
35
  loadMore: LoadMoreFn;
36
36
  inject: (
@@ -40,6 +40,10 @@ type LateResultsHandler<Item> = (
40
40
  items: () => Item[];
41
41
  },
42
42
  ) => void | Promise<void>;
43
+ type LateResultsQueueItems = NonNullable<LateResultsEvent<"queue">["items"]>;
44
+ type LateResultsQueueHelpers = {
45
+ collect?: () => Promise<LateResultsQueueItems>;
46
+ };
43
47
 
44
48
  /* ────────────── helper types ────────────── */
45
49
  export type QueryLike = {
@@ -181,10 +185,14 @@ export const useQuery = <
181
185
  const cached = itemIdRef.current.get(item as object);
182
186
  if (cached) return cached;
183
187
  for (const { db } of iteratorRefs.current) {
184
- const id = db.index.resolveId(
185
- item as WithContext<I> | WithIndexedContext<T, I>,
186
- );
187
- return idToKey(id.primitive); // return the first result
188
+ const candidate =
189
+ (item as any)?.__indexed ??
190
+ (item as any)?.__context?.__indexed ??
191
+ (item as WithContext<I> | WithIndexedContext<T, I>);
192
+ const id = db.index.resolveId(candidate);
193
+ const key = idToKey(id.primitive);
194
+ itemIdRef.current.set(item as object, key);
195
+ return key; // return the first result
188
196
  }
189
197
  return null;
190
198
  };
@@ -198,6 +206,30 @@ export const useQuery = <
198
206
  ) as Item[];
199
207
  if (!arr.length) return;
200
208
  mutateAll((prev) => {
209
+ // Fast path for front insert to reduce copies
210
+ if (!opts?.position || opts.position === "start") {
211
+ const existingKeys = new Set<string>();
212
+ prev.forEach((item) => {
213
+ const key = resolveItemKey(item);
214
+ if (key) existingKeys.add(key);
215
+ });
216
+ const deduped = arr.filter((item) => {
217
+ const key = resolveItemKey(item);
218
+ return !(key && existingKeys.has(key));
219
+ });
220
+ if (deduped.length === 0) return prev;
221
+ const out = new Array(deduped.length + prev.length);
222
+ let i = 0;
223
+ for (const item of deduped) out[i++] = item;
224
+ for (const item of prev) out[i++] = item;
225
+ deduped.forEach((item) => {
226
+ const key = resolveItemKey(item);
227
+ if (key) itemIdRef.current.set(item as object, key);
228
+ });
229
+ return out as Item[];
230
+ }
231
+
232
+ // Fallback: splice semantics
201
233
  const working = [...prev];
202
234
  const keyIndex = new Map<string, number>();
203
235
  working.forEach((item, idx) => {
@@ -263,21 +295,40 @@ export const useQuery = <
263
295
  }
264
296
  return {};
265
297
  };
266
- const onMissedResults = (evt: LateResultsEvent) => {
298
+ const onMissedResults = async (
299
+ evt: LateResultsEvent<"queue">,
300
+ lateHelpers?: LateResultsQueueHelpers,
301
+ ) => {
267
302
  log("Late results", evt);
268
303
  const loadMoreHelper: LoadMoreFn = (...args) =>
269
304
  loadMoreRef.current
270
305
  ? loadMoreRef.current(...args)
271
306
  : Promise.resolve(false);
272
- const maybeUser = options.onLateResults?.(evt, {
307
+ const helpers = {
273
308
  loadMore: loadMoreHelper,
274
309
  inject: injectItems,
275
310
  items: () => allRef.current,
276
- });
277
- if (!maybeUser) {
278
- console.error("Late results", evt);
311
+ };
312
+ const maybeUser = options.onLateResults?.(evt, helpers);
313
+ if (maybeUser) {
314
+ await maybeUser;
315
+ return;
279
316
  }
280
- return maybeUser;
317
+
318
+ // default handling: if we have concrete items, inject them at the front
319
+ const items =
320
+ evt.items ?? (lateHelpers?.collect && (await lateHelpers.collect()));
321
+ if (items && items.length) {
322
+ const values = items
323
+ .map((it: any) => it?.value ?? it?.indexed ?? it)
324
+ .filter(Boolean) as Item[];
325
+ if (values.length) {
326
+ injectItems(values, { position: "start" });
327
+ }
328
+ return;
329
+ }
330
+ // fallback: force a pull for late items
331
+ await loadMoreHelper(batchSize, { force: true, reason: "late" });
281
332
  };
282
333
  let draining = false;
283
334
  const scheduleDrain = (
@@ -303,7 +354,7 @@ export const useQuery = <
303
354
  closePolicy: "manual",
304
355
  local: options.local ?? true,
305
356
  remote: resolveRemoteOptions(),
306
- onLateResults: onMissedResults,
357
+ outOfOrder: { mode: "queue", handle: onMissedResults },
307
358
  resolve,
308
359
  signal: abortSignal,
309
360
  updates: {
@@ -328,7 +379,10 @@ export const useQuery = <
328
379
  });
329
380
  }
330
381
  },
331
- onBatch: (batch, props) => {
382
+ onBatch: (
383
+ batch: (WithContext<I> | WithIndexedContext<T, I>)[],
384
+ props,
385
+ ) => {
332
386
  log("onBatch", { batch, props, currentRef: !!currentRef });
333
387
  if (
334
388
  props.reason === "join" ||
@@ -429,6 +483,34 @@ export const useQuery = <
429
483
 
430
484
  const prev = allRef.current;
431
485
  const next = [...prev];
486
+ const resolveIndexedForSort = (item: Item) =>
487
+ (item as any).__indexed ??
488
+ ((item as any).__context && (item as any).__context.__indexed) ??
489
+ item;
490
+ const sortSpec = (options.query as any)?.sort;
491
+ const normalizeSort = (sort: any) => {
492
+ if (!sort) return undefined;
493
+ const arr = Array.isArray(sort) ? sort : [sort];
494
+ return arr.map((s) => ({
495
+ ...s,
496
+ key: Array.isArray(s.key) ? s.key : [s.key],
497
+ }));
498
+ };
499
+ const normalizedSort = normalizeSort(sortSpec);
500
+ const sortComparator: ((a: Item, b: Item) => number) | undefined =
501
+ normalizedSort &&
502
+ ((a: Item, b: Item) => {
503
+ const aIndexed = resolveIndexedForSort(a);
504
+ const bIndexed = resolveIndexedForSort(b);
505
+ if (aIndexed == null || bIndexed == null) {
506
+ return 0;
507
+ }
508
+ return indexerTypes.extractSortCompare(
509
+ aIndexed as any,
510
+ bIndexed as any,
511
+ normalizedSort as any,
512
+ );
513
+ });
432
514
  const keyIndex = new Map<string, number>();
433
515
  prev.forEach((item, idx) => {
434
516
  const key = itemIdRef.current.get(item as object);
@@ -501,7 +583,20 @@ export const useQuery = <
501
583
  }
502
584
 
503
585
  let combinedDefault: Item[];
504
- if (reverseRef.current) {
586
+ if (reason === "late") {
587
+ let combined = [...freshItems, ...next];
588
+ if (sortComparator) {
589
+ try {
590
+ combined = [...next, ...freshItems].sort(sortComparator);
591
+ } catch (error) {
592
+ console.warn("Failed to sort late results", error);
593
+ }
594
+ }
595
+ if (reverseRef.current) {
596
+ combined.reverse();
597
+ }
598
+ combinedDefault = combined;
599
+ } else if (reverseRef.current) {
505
600
  freshItems.reverse();
506
601
  freshItems.push(...next);
507
602
  combinedDefault = freshItems;