@wovin/core 0.1.36 → 0.2.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/README.md +0 -12
- package/dist/applog/applog-helpers.d.ts +12 -12
- package/dist/applog/applog-helpers.d.ts.map +1 -1
- package/dist/applog/applog-utils.d.ts +25 -6
- package/dist/applog/applog-utils.d.ts.map +1 -1
- package/dist/applog/datom-types.d.ts +4 -5
- package/dist/applog/datom-types.d.ts.map +1 -1
- package/dist/applog.d.ts +3 -3
- package/dist/applog.d.ts.map +1 -1
- package/dist/{applog.min.js → applog.js} +6 -7
- package/dist/blockstore.d.ts +1 -1
- package/dist/blockstore.d.ts.map +1 -1
- package/dist/{blockstore.min.js → blockstore.js} +1 -3
- package/dist/{blockstore.min.js.map → blockstore.js.map} +1 -1
- package/dist/{chunk-KXMTKPF4.min.js → chunk-3JZMOEOD.js} +8 -8
- package/dist/chunk-3JZMOEOD.js.map +1 -0
- package/dist/chunk-3WZVG277.js +434 -0
- package/dist/chunk-3WZVG277.js.map +1 -0
- package/dist/chunk-7Z5YDQKK.js +1 -0
- package/dist/chunk-CPSDKFBG.js +147 -0
- package/dist/chunk-CPSDKFBG.js.map +1 -0
- package/dist/chunk-E46VTKTZ.js +1 -0
- package/dist/{chunk-H3VQJP56.min.js → chunk-J2FDHGOZ.js} +9 -9
- package/dist/chunk-J2FDHGOZ.js.map +1 -0
- package/dist/chunk-L5EEEGE6.js +1862 -0
- package/dist/chunk-L5EEEGE6.js.map +1 -0
- package/dist/{chunk-BRC7LSM6.min.js → chunk-PD3C7XUM.js} +5 -5
- package/dist/chunk-PD3C7XUM.js.map +1 -0
- package/dist/chunk-QZXKQCAY.js +1026 -0
- package/dist/chunk-QZXKQCAY.js.map +1 -0
- package/dist/{chunk-QPGEBDMJ.min.js → chunk-YDAKBU6Q.js} +1 -1
- package/dist/chunk-YDAKBU6Q.js.map +1 -0
- package/dist/chunk-ZAADLBSB.js +36 -0
- package/dist/chunk-ZAADLBSB.js.map +1 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/{index.min.js → index.js} +73 -46
- package/dist/ipfs/car.d.ts +11 -11
- package/dist/ipfs/car.d.ts.map +1 -1
- package/dist/ipfs/ipfs-utils.d.ts +2 -2
- package/dist/ipfs/ipfs-utils.d.ts.map +1 -1
- package/dist/ipfs.d.ts +3 -3
- package/dist/ipfs.d.ts.map +1 -1
- package/dist/{ipfs.min.js → ipfs.js} +7 -10
- package/dist/ipns.d.ts +1 -1
- package/dist/ipns.d.ts.map +1 -1
- package/dist/ipns.js +64 -0
- package/dist/ipns.js.map +1 -0
- package/dist/pubsub/pub-pull.d.ts +3 -3
- package/dist/pubsub/pub-pull.d.ts.map +1 -1
- package/dist/pubsub/pubsub-types.d.ts +3 -3
- package/dist/pubsub/pubsub-types.d.ts.map +1 -1
- package/dist/pubsub/snap-push.d.ts +4 -4
- package/dist/pubsub/snap-push.d.ts.map +1 -1
- package/dist/pubsub/ucan.d.ts +1 -1
- package/dist/pubsub/ucan.d.ts.map +1 -1
- package/dist/pubsub.d.ts +4 -4
- package/dist/pubsub.d.ts.map +1 -1
- package/dist/{pubsub.min.js → pubsub.js} +7 -10
- package/dist/query/attr-helpers.d.ts +5 -0
- package/dist/query/attr-helpers.d.ts.map +1 -0
- package/dist/query/basic.d.ts +85 -21
- package/dist/query/basic.d.ts.map +1 -1
- package/dist/query/divergences.d.ts +5 -5
- package/dist/query/divergences.d.ts.map +1 -1
- package/dist/query/entity-collection.d.ts +19 -0
- package/dist/query/entity-collection.d.ts.map +1 -0
- package/dist/query/matchers.d.ts +1 -1
- package/dist/query/matchers.d.ts.map +1 -1
- package/dist/query/memoized.d.ts +66 -0
- package/dist/query/memoized.d.ts.map +1 -0
- package/dist/query/situations.d.ts +2 -1
- package/dist/query/situations.d.ts.map +1 -1
- package/dist/query/subscribable.d.ts +111 -0
- package/dist/query/subscribable.d.ts.map +1 -0
- package/dist/query/types.d.ts +54 -14
- package/dist/query/types.d.ts.map +1 -1
- package/dist/query.d.ts +9 -5
- package/dist/query.d.ts.map +1 -1
- package/dist/{query.min.js → query.js} +51 -32
- package/dist/retrieve/index.d.ts +1 -1
- package/dist/retrieve/index.d.ts.map +1 -1
- package/dist/retrieve/update-thread.d.ts +3 -3
- package/dist/retrieve/update-thread.d.ts.map +1 -1
- package/dist/retrieve.d.ts +1 -1
- package/dist/retrieve.d.ts.map +1 -1
- package/dist/retrieve.js +14 -0
- package/dist/thread/basic.d.ts +15 -19
- package/dist/thread/basic.d.ts.map +1 -1
- package/dist/thread/filters.d.ts +8 -10
- package/dist/thread/filters.d.ts.map +1 -1
- package/dist/thread/indexes.d.ts +56 -0
- package/dist/thread/indexes.d.ts.map +1 -0
- package/dist/thread/mapped.d.ts +40 -11
- package/dist/thread/mapped.d.ts.map +1 -1
- package/dist/thread/utils.d.ts +5 -5
- package/dist/thread/utils.d.ts.map +1 -1
- package/dist/thread/writeable.d.ts +2 -2
- package/dist/thread/writeable.d.ts.map +1 -1
- package/dist/thread.d.ts +6 -5
- package/dist/thread.d.ts.map +1 -1
- package/dist/{thread.min.js → thread.js} +9 -6
- package/dist/types/typescript-utils.d.ts +6 -5
- package/dist/types/typescript-utils.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/{types.min.js → types.js} +3 -4
- package/dist/utils/debug-name.d.ts +13 -0
- package/dist/utils/debug-name.d.ts.map +1 -0
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +9 -0
- package/package.json +32 -23
- package/src/applog/applog-helpers.ts +155 -0
- package/src/applog/applog-utils.test.ts +108 -0
- package/src/applog/applog-utils.ts +507 -0
- package/src/applog/datom-types.ts +148 -0
- package/src/applog.ts +3 -0
- package/src/blockstore/index.ts +36 -0
- package/src/blockstore.ts +1 -0
- package/src/index.ts +8 -0
- package/src/ipfs/car.ts +291 -0
- package/src/ipfs/fetch-snapshot-chain.ts +135 -0
- package/src/ipfs/ipfs-utils.ts +132 -0
- package/src/ipfs.ts +3 -0
- package/src/ipns/ipns-record.ts +115 -0
- package/src/ipns.ts +1 -0
- package/src/pubsub/UCAN Specs Overview.md +217 -0
- package/src/pubsub/connector.ts +9 -0
- package/src/pubsub/pub-pull.ts +31 -0
- package/src/pubsub/pubsub-types.ts +90 -0
- package/src/pubsub/snap-push.ts +277 -0
- package/src/pubsub/ucan-example.ts +61 -0
- package/src/pubsub/ucan.ts +56 -0
- package/src/pubsub.ts +4 -0
- package/src/query/attr-helpers.ts +5 -0
- package/src/query/basic.ts +1245 -0
- package/src/query/divergences.ts +50 -0
- package/src/query/entity-collection.ts +131 -0
- package/src/query/liveFilterAndMap.test.ts +102 -0
- package/src/query/matchers.ts +8 -0
- package/src/query/memoized.test.ts +151 -0
- package/src/query/memoized.ts +180 -0
- package/src/query/query-steps.ts +4 -0
- package/src/query/query.test.ts +538 -0
- package/src/query/situations.ts +261 -0
- package/src/query/subscribable.test.ts +245 -0
- package/src/query/subscribable.ts +234 -0
- package/src/query/types.ts +155 -0
- package/src/query/withoutDeleted.test.ts +204 -0
- package/src/query.ts +9 -0
- package/src/retrieve/index.ts +1 -0
- package/src/retrieve/update-thread.ts +248 -0
- package/src/retrieve.ts +1 -0
- package/src/test/perf/query.1m.perf.test.ts +94 -0
- package/src/test/perf/query.perf.test.ts +389 -0
- package/src/test/perf/query.realdata.perf.test.ts +182 -0
- package/src/thread/basic.ts +209 -0
- package/src/thread/filters.ts +227 -0
- package/src/thread/indexes.ts +250 -0
- package/src/thread/joinThreads.test.ts +304 -0
- package/src/thread/mapped.ts +226 -0
- package/src/thread/utils.ts +144 -0
- package/src/thread/writeable.ts +163 -0
- package/src/thread.ts +6 -0
- package/src/types/typescript-utils.ts +64 -0
- package/src/types.ts +1 -0
- package/src/utils/debug-name.ts +54 -0
- package/src/utils.ts +4 -0
- package/dist/chunk-2Y2PYHGR.min.js +0 -65
- package/dist/chunk-2Y2PYHGR.min.js.map +0 -1
- package/dist/chunk-5MMGBK2U.min.js +0 -1
- package/dist/chunk-7IDQIMQO.min.js +0 -1
- package/dist/chunk-BRC7LSM6.min.js.map +0 -1
- package/dist/chunk-COXXILXC.min.js +0 -512
- package/dist/chunk-COXXILXC.min.js.map +0 -1
- package/dist/chunk-GDX2OO7L.min.js +0 -9080
- package/dist/chunk-GDX2OO7L.min.js.map +0 -1
- package/dist/chunk-H3VQJP56.min.js.map +0 -1
- package/dist/chunk-HYMC7W6S.min.js +0 -1549
- package/dist/chunk-HYMC7W6S.min.js.map +0 -1
- package/dist/chunk-KEHU7HGZ.min.js +0 -5216
- package/dist/chunk-KEHU7HGZ.min.js.map +0 -1
- package/dist/chunk-KXMTKPF4.min.js.map +0 -1
- package/dist/chunk-PHITDXZT.min.js +0 -36
- package/dist/chunk-QO2KMGDN.min.js +0 -3771
- package/dist/chunk-QO2KMGDN.min.js.map +0 -1
- package/dist/chunk-QPGEBDMJ.min.js.map +0 -1
- package/dist/chunk-WXLCBTHX.min.js +0 -1606
- package/dist/chunk-WXLCBTHX.min.js.map +0 -1
- package/dist/ipns.min.js +0 -6419
- package/dist/ipns.min.js.map +0 -1
- package/dist/mobx/mobx-utils.d.ts +0 -82
- package/dist/mobx/mobx-utils.d.ts.map +0 -1
- package/dist/mobx.d.ts +0 -2
- package/dist/mobx.d.ts.map +0 -1
- package/dist/mobx.min.js +0 -141
- package/dist/retrieve.min.js +0 -17
- package/dist/types.min.js.map +0 -1
- package/dist/utils.min.js +0 -10
- package/dist/utils.min.js.map +0 -1
- /package/dist/{applog.min.js.map → applog.js.map} +0 -0
- /package/dist/{chunk-5MMGBK2U.min.js.map → chunk-7Z5YDQKK.js.map} +0 -0
- /package/dist/{chunk-7IDQIMQO.min.js.map → chunk-E46VTKTZ.js.map} +0 -0
- /package/dist/{chunk-PHITDXZT.min.js.map → index.js.map} +0 -0
- /package/dist/{index.min.js.map → ipfs.js.map} +0 -0
- /package/dist/{ipfs.min.js.map → pubsub.js.map} +0 -0
- /package/dist/{mobx.min.js.map → query.js.map} +0 -0
- /package/dist/{pubsub.min.js.map → retrieve.js.map} +0 -0
- /package/dist/{query.min.js.map → thread.js.map} +0 -0
- /package/dist/{retrieve.min.js.map → types.js.map} +0 -0
- /package/dist/{thread.min.js.map → utils.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"situations.d.ts","sourceRoot":"","sources":["../../src/query/situations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"situations.d.ts","sourceRoot":"","sources":["../../src/query/situations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAMlC;;;;;;;;;GASG;AACH,UAAU,SAAS;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAA;IACxD,KAAK,EAAE,OAAO,KAAK,CAAA;IACnB,iBAAiB,EAAE,UAAU,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAC7B,CAAA;CACD;AAED,UAAU,yBAAyB;IAClC,MAAM,EAAE,GAAG,CAAA;IACX,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,UAAU,CAAA;CACvB;AAED,UAAU,UAAU;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,eAAe,EAAE,eAAe,CAAA;CAChC;AAED,UAAU,eAAe;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,eAAe;IACxB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,UAAU,gBAAgB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,QAAA,MAAM,cAAc;;;;;;CAMV,CAAA;AACV,UAAU,UAAU;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,MAAM,EAAE,CAAA;CACzB;AA2ED;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,SAAS,EAAE,EACvB,OAAO,GAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;CACpB,GACJ,yBAAyB,CAqC3B;AAkBD;;GAEG;AACH,wBAAgB,eAAe,CAC9B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GACf,UAAU,CAmCZ"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Push-based subscribable primitives for the query system.
|
|
3
|
+
*
|
|
4
|
+
* Two primitives:
|
|
5
|
+
* - Subscribable<T> — any value + "changed" notifications
|
|
6
|
+
* - SubscribableArray<T> — array + incremental delta events (added/removed)
|
|
7
|
+
*
|
|
8
|
+
* Key property: **lazy subscribe** — upstream subscriptions only activate
|
|
9
|
+
* when the first subscriber attaches, and deactivate when the last leaves.
|
|
10
|
+
* This means one-off reads (.value / .items) have zero subscription overhead.
|
|
11
|
+
*/
|
|
12
|
+
export type Unsubscribe = () => void;
|
|
13
|
+
export interface Subscribable<T> {
|
|
14
|
+
/** Current value — plain read, no side effects */
|
|
15
|
+
readonly value: T;
|
|
16
|
+
/**
|
|
17
|
+
* Subscribe to change notifications.
|
|
18
|
+
* - First call activates upstream subscriptions (lazy).
|
|
19
|
+
* - Callback does NOT fire immediately — read .value for current state.
|
|
20
|
+
* - Callback fires whenever .value changes.
|
|
21
|
+
* - Last unsubscribe deactivates upstream.
|
|
22
|
+
*/
|
|
23
|
+
subscribe(cb: () => void, type?: 'derived' | 'reaction'): Unsubscribe;
|
|
24
|
+
/** Tear down all internal subscriptions */
|
|
25
|
+
dispose(): void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Implementation of Subscribable<T> with lazy upstream activation.
|
|
29
|
+
*/
|
|
30
|
+
export declare class SubscribableImpl<T> implements Subscribable<T> {
|
|
31
|
+
private _value;
|
|
32
|
+
private _derivedSubscribers;
|
|
33
|
+
private _subscribers;
|
|
34
|
+
private _upstreamActive;
|
|
35
|
+
private _activateUpstream;
|
|
36
|
+
private _deactivateUpstream;
|
|
37
|
+
private _equals;
|
|
38
|
+
constructor(initialValue: T, activateUpstream?: () => Unsubscribe, opts?: {
|
|
39
|
+
equals?: false | ((a: T, b: T) => boolean);
|
|
40
|
+
});
|
|
41
|
+
get value(): T;
|
|
42
|
+
subscribe(cb: () => void, type?: 'derived' | 'reaction'): Unsubscribe;
|
|
43
|
+
/** Update value and notify subscribers (skips if equals check passes) */
|
|
44
|
+
_set(value: T): void;
|
|
45
|
+
private _notify;
|
|
46
|
+
dispose(): void;
|
|
47
|
+
}
|
|
48
|
+
/** Delta events — mirrors ThreadEvent shape */
|
|
49
|
+
export type ArrayEvent<T> = {
|
|
50
|
+
init: readonly T[];
|
|
51
|
+
} | {
|
|
52
|
+
added: readonly T[];
|
|
53
|
+
removed: readonly T[] | null;
|
|
54
|
+
};
|
|
55
|
+
/** Type guard for init events. Same logic as thread's isInitEvent. */
|
|
56
|
+
export declare function isArrayInitEvent<T>(event: ArrayEvent<T>): event is {
|
|
57
|
+
init: readonly T[];
|
|
58
|
+
};
|
|
59
|
+
export interface SubscribableArray<T> {
|
|
60
|
+
/**
|
|
61
|
+
* Current snapshot — plain readonly array.
|
|
62
|
+
*
|
|
63
|
+
* NOTE: only stays current while at least one subscriber is active
|
|
64
|
+
* (upstream is lazily activated on first `.subscribe()`). With no
|
|
65
|
+
* subscribers this returns the initial snapshot from construction
|
|
66
|
+
* and does NOT reflect later mutations. Tests/consumers that want
|
|
67
|
+
* to observe updates must hold a subscription (`subscribe(() => {})`
|
|
68
|
+
* is enough).
|
|
69
|
+
*/
|
|
70
|
+
readonly items: readonly T[];
|
|
71
|
+
/** Length shortcut */
|
|
72
|
+
readonly length: number;
|
|
73
|
+
/**
|
|
74
|
+
* Subscribe to delta events.
|
|
75
|
+
* - First call activates upstream subscriptions (lazy).
|
|
76
|
+
* - No init event on subscribe — read .items for current state.
|
|
77
|
+
* - Receives `{ init }` only on genuine resets (triggerRemap).
|
|
78
|
+
* - Last unsubscribe deactivates upstream.
|
|
79
|
+
*/
|
|
80
|
+
subscribe(cb: (event: ArrayEvent<T>) => void, type?: 'derived' | 'reaction'): Unsubscribe;
|
|
81
|
+
/** Tear down all internal subscriptions */
|
|
82
|
+
dispose(): void;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Implementation of SubscribableArray with lazy upstream activation.
|
|
86
|
+
*
|
|
87
|
+
* Constructor takes initial items (computed synchronously at query time)
|
|
88
|
+
* and an optional activation function that sets up upstream subscriptions.
|
|
89
|
+
* The activation function is only called on first `.subscribe()`.
|
|
90
|
+
*/
|
|
91
|
+
export declare class SubscribableArrayImpl<T> implements SubscribableArray<T> {
|
|
92
|
+
private _items;
|
|
93
|
+
private _derivedSubscribers;
|
|
94
|
+
private _subscribers;
|
|
95
|
+
private _upstreamActive;
|
|
96
|
+
private _activateUpstream;
|
|
97
|
+
private _deactivateUpstream;
|
|
98
|
+
constructor(initialItems: T[], activateUpstream?: () => Unsubscribe);
|
|
99
|
+
get items(): readonly T[];
|
|
100
|
+
get length(): number;
|
|
101
|
+
subscribe(cb: (event: ArrayEvent<T>) => void, type?: 'derived' | 'reaction'): Unsubscribe;
|
|
102
|
+
/** Push items and notify subscribers */
|
|
103
|
+
_push(...items: T[]): void;
|
|
104
|
+
/** Remove items and notify subscribers */
|
|
105
|
+
_remove(items: readonly T[]): void;
|
|
106
|
+
/** Full reset — replace all items */
|
|
107
|
+
_reset(items: T[]): void;
|
|
108
|
+
private _notify;
|
|
109
|
+
dispose(): void;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=subscribable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribable.d.ts","sourceRoot":"","sources":["../../src/query/subscribable.ts"],"names":[],"mappings":"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"}
|
package/dist/query/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SearchContext } from '../applog/datom-types';
|
|
2
|
-
import type { Thread } from '../thread/basic';
|
|
3
|
-
import {
|
|
1
|
+
import { SearchContext } from '../applog/datom-types.ts';
|
|
2
|
+
import type { Thread } from '../thread/basic.ts';
|
|
3
|
+
import { ArrayEvent, SubscribableArray, Unsubscribe } from './subscribable.ts';
|
|
4
4
|
export declare class QueryNode {
|
|
5
5
|
readonly logsOfThisNode: Thread;
|
|
6
6
|
readonly variables: SearchContext;
|
|
@@ -10,21 +10,61 @@ export declare class QueryNode {
|
|
|
10
10
|
get threadOfTrail(): Thread;
|
|
11
11
|
get trailLogs(): any;
|
|
12
12
|
}
|
|
13
|
+
/** Shared interface for query results (one-off and live) */
|
|
14
|
+
export interface IQueryResult {
|
|
15
|
+
readonly nodes: readonly QueryNode[];
|
|
16
|
+
readonly size: number;
|
|
17
|
+
readonly isEmpty: boolean;
|
|
18
|
+
readonly records: readonly SearchContext[];
|
|
19
|
+
readonly leafNodeLogs: readonly import('../applog/datom-types').Applog[];
|
|
20
|
+
readonly leafNodeThread: Thread;
|
|
21
|
+
readonly threadOfAllTrails: Thread;
|
|
22
|
+
readonly thread: Thread;
|
|
23
|
+
readonly allApplogs: readonly import('../applog/datom-types').Applog[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* One-off query result — plain frozen snapshot.
|
|
27
|
+
* No subscribe method. No stale-data risk.
|
|
28
|
+
*/
|
|
29
|
+
export declare class QueryResult implements IQueryResult {
|
|
30
|
+
readonly nodes: readonly QueryNode[];
|
|
31
|
+
constructor(nodes: readonly QueryNode[]);
|
|
32
|
+
get size(): number;
|
|
33
|
+
get isEmpty(): boolean;
|
|
34
|
+
get untrackedSize(): number;
|
|
35
|
+
get records(): readonly SearchContext[];
|
|
36
|
+
get leafNodeThread(): import("../thread.ts").MappedThread;
|
|
37
|
+
get leafNodeLogSet(): (readonly import("../applog.ts").Applog[])[];
|
|
38
|
+
get leafNodeLogs(): import("../applog.ts").Applog[];
|
|
39
|
+
get threadOfAllTrails(): import("../thread.ts").MappedThread;
|
|
40
|
+
get thread(): import("../thread.ts").MappedThread;
|
|
41
|
+
get allApplogs(): readonly import("../applog.ts").Applog[];
|
|
42
|
+
}
|
|
13
43
|
/**
|
|
14
|
-
*
|
|
44
|
+
* Live query result — eagerly activated, always up-to-date.
|
|
45
|
+
*
|
|
46
|
+
* `.nodes` returns the current live view.
|
|
47
|
+
* `.subscribe()` receives future delta events (consistent with current state).
|
|
48
|
+
* Must call `.dispose()` when done to tear down upstream subscriptions.
|
|
15
49
|
*/
|
|
16
|
-
export declare class
|
|
17
|
-
|
|
18
|
-
constructor(
|
|
50
|
+
export declare class LiveQueryResult implements IQueryResult {
|
|
51
|
+
private _source;
|
|
52
|
+
constructor(_source: SubscribableArray<QueryNode>, activate?: boolean);
|
|
53
|
+
private _activationUnsub;
|
|
54
|
+
/** Subscribe to node change events. Callback fires on future changes only. */
|
|
55
|
+
subscribe(cb: (event: ArrayEvent<QueryNode>) => void, type?: 'derived' | 'reaction'): Unsubscribe;
|
|
56
|
+
/** Current nodes — live view, always up-to-date while not disposed */
|
|
57
|
+
get nodes(): readonly QueryNode[];
|
|
19
58
|
get size(): number;
|
|
20
59
|
get isEmpty(): boolean;
|
|
21
60
|
get untrackedSize(): number;
|
|
22
|
-
get records():
|
|
23
|
-
get leafNodeThread(): import("
|
|
24
|
-
get leafNodeLogSet():
|
|
25
|
-
get leafNodeLogs():
|
|
26
|
-
get threadOfAllTrails(): import("
|
|
27
|
-
get thread(): import("
|
|
28
|
-
get allApplogs(): readonly import("
|
|
61
|
+
get records(): readonly SearchContext[];
|
|
62
|
+
get leafNodeThread(): import("../thread.ts").MappedThread;
|
|
63
|
+
get leafNodeLogSet(): (readonly import("../applog.ts").Applog[])[];
|
|
64
|
+
get leafNodeLogs(): import("../applog.ts").Applog[];
|
|
65
|
+
get threadOfAllTrails(): import("../thread.ts").MappedThread;
|
|
66
|
+
get thread(): import("../thread.ts").MappedThread;
|
|
67
|
+
get allApplogs(): readonly import("../applog.ts").Applog[];
|
|
68
|
+
dispose(): void;
|
|
29
69
|
}
|
|
30
70
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/query/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/query/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAyB,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAErG,qBAAa,SAAS;IAEpB,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC/B,QAAQ,CAAC,SAAS,EAAE,aAAa;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;gBAF1B,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,aAAa,EACxB,QAAQ,GAAE,SAAS,GAAG,IAAW;IAE3C,IAAI,MAAM,kBAET;IAED,IAAI,aAAa,WAMhB;IACD,IAAI,SAAS,QAEZ;CACD;AAED,4DAA4D;AAC5D,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAA;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,OAAO,uBAAuB,EAAE,MAAM,EAAE,CAAA;IACxE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,SAAS,OAAO,uBAAuB,EAAE,MAAM,EAAE,CAAA;CACtE;AAED;;;GAGG;AACH,qBAAa,WAAY,YAAW,YAAY;IAE9C,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE;gBAA3B,KAAK,EAAE,SAAS,SAAS,EAAE;IAGrC,IAAI,IAAI,WAEP;IACD,IAAI,OAAO,YAEV;IACD,IAAI,aAAa,WAEhB;IAED,IAAI,OAAO,IAAI,SAAS,aAAa,EAAE,CAEtC;IACD,IAAI,cAAc,wCAIjB;IACD,IAAI,cAAc,iDAEjB;IACD,IAAI,YAAY,oCAEf;IACD,IAAI,iBAAiB,wCAEpB;IACD,IAAI,MAAM,wCAET;IACD,IAAI,UAAU,6CAEb;CACD;AAED;;;;;;GAMG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAElD,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAC7C,QAAQ,UAAO;IAShB,OAAO,CAAC,gBAAgB,CAA2B;IAEnD,8EAA8E;IAC9E,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW;IAIjG,sEAAsE;IACtE,IAAI,KAAK,IAAI,SAAS,SAAS,EAAE,CAEhC;IAED,IAAI,IAAI,WAEP;IACD,IAAI,OAAO,YAEV;IACD,IAAI,aAAa,WAEhB;IAED,IAAI,OAAO,IAAI,SAAS,aAAa,EAAE,CAEtC;IACD,IAAI,cAAc,wCAIjB;IACD,IAAI,cAAc,iDAEjB;IACD,IAAI,YAAY,oCAEf;IACD,IAAI,iBAAiB,wCAEpB;IACD,IAAI,MAAM,wCAET;IACD,IAAI,UAAU,6CAEb;IAED,OAAO;CAKP"}
|
package/dist/query.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './query/basic';
|
|
3
|
-
export * from './query/divergences';
|
|
4
|
-
export * from './query/matchers';
|
|
5
|
-
export * from './query/
|
|
1
|
+
export * from './utils/debug-name.ts';
|
|
2
|
+
export * from './query/basic.ts';
|
|
3
|
+
export * from './query/divergences.ts';
|
|
4
|
+
export * from './query/matchers.ts';
|
|
5
|
+
export * from './query/memoized.ts';
|
|
6
|
+
export * from './query/subscribable.ts';
|
|
7
|
+
export * from './query/types.ts';
|
|
8
|
+
export * from './query/attr-helpers.ts';
|
|
9
|
+
export * from './query/entity-collection.ts';
|
|
6
10
|
//# sourceMappingURL=query.d.ts.map
|
package/dist/query.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
includedIn,
|
|
3
3
|
includes,
|
|
4
|
+
liveEntityCollection,
|
|
4
5
|
queryDivergencesByPrev
|
|
5
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-CPSDKFBG.js";
|
|
6
7
|
import {
|
|
8
|
+
LiveQueryResult,
|
|
7
9
|
QueryNode,
|
|
8
10
|
QueryResult,
|
|
9
11
|
agentsOfThread,
|
|
@@ -13,6 +15,19 @@ import {
|
|
|
13
15
|
entityOverlapMap,
|
|
14
16
|
filterAndMap,
|
|
15
17
|
lastWriteWins,
|
|
18
|
+
liveEntityAt,
|
|
19
|
+
liveEntityOverlapCount,
|
|
20
|
+
liveFilterAndMap,
|
|
21
|
+
liveQuery,
|
|
22
|
+
liveQueryAndMap,
|
|
23
|
+
liveQueryEntity,
|
|
24
|
+
liveQueryNot,
|
|
25
|
+
liveQuerySingle,
|
|
26
|
+
liveQuerySingleAndMap,
|
|
27
|
+
liveQueryStep,
|
|
28
|
+
makeApplogMapper,
|
|
29
|
+
mapApplogsWith,
|
|
30
|
+
mapAttributes,
|
|
16
31
|
mapQueryResultWith,
|
|
17
32
|
mapThreadWith,
|
|
18
33
|
prefixAt,
|
|
@@ -23,42 +38,33 @@ import {
|
|
|
23
38
|
queryNot,
|
|
24
39
|
querySingle,
|
|
25
40
|
querySingleAndMap,
|
|
26
|
-
|
|
41
|
+
queryStepOnce,
|
|
42
|
+
resolveKeyMapper,
|
|
27
43
|
startsWith,
|
|
44
|
+
stripAtPrefix,
|
|
28
45
|
threadFromMaybeArray,
|
|
29
46
|
throwOnTimeout,
|
|
30
47
|
withTimeout,
|
|
31
48
|
withoutDeleted
|
|
32
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-QZXKQCAY.js";
|
|
33
50
|
import {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
compareStructuralButThreadsOnIdentity,
|
|
37
|
-
computedFnDeepCompare,
|
|
38
|
-
computedStructuralComparer,
|
|
51
|
+
SubscribableArrayImpl,
|
|
52
|
+
SubscribableImpl,
|
|
39
53
|
createDebugName,
|
|
40
54
|
createDebugNameObj,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
observableMapToObject,
|
|
44
|
-
observableSetMap,
|
|
55
|
+
isArrayInitEvent,
|
|
56
|
+
memoizedFn,
|
|
45
57
|
prettifyThreadName,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
import "./chunk-HYMC7W6S.min.js";
|
|
50
|
-
import "./chunk-QO2KMGDN.min.js";
|
|
51
|
-
import "./chunk-KEHU7HGZ.min.js";
|
|
52
|
-
import "./chunk-PHITDXZT.min.js";
|
|
58
|
+
refCountedMemoizedFn
|
|
59
|
+
} from "./chunk-L5EEEGE6.js";
|
|
60
|
+
import "./chunk-ZAADLBSB.js";
|
|
53
61
|
export {
|
|
62
|
+
LiveQueryResult,
|
|
54
63
|
QueryNode,
|
|
55
64
|
QueryResult,
|
|
65
|
+
SubscribableArrayImpl,
|
|
66
|
+
SubscribableImpl,
|
|
56
67
|
agentsOfThread,
|
|
57
|
-
applogThreadComparer,
|
|
58
|
-
autorunButAlsoImmediately,
|
|
59
|
-
compareStructuralButThreadsOnIdentity,
|
|
60
|
-
computedFnDeepCompare,
|
|
61
|
-
computedStructuralComparer,
|
|
62
68
|
createDebugName,
|
|
63
69
|
createDebugNameObj,
|
|
64
70
|
createObjMapper,
|
|
@@ -68,13 +74,25 @@ export {
|
|
|
68
74
|
filterAndMap,
|
|
69
75
|
includedIn,
|
|
70
76
|
includes,
|
|
77
|
+
isArrayInitEvent,
|
|
71
78
|
lastWriteWins,
|
|
79
|
+
liveEntityAt,
|
|
80
|
+
liveEntityCollection,
|
|
81
|
+
liveEntityOverlapCount,
|
|
82
|
+
liveFilterAndMap,
|
|
83
|
+
liveQuery,
|
|
84
|
+
liveQueryAndMap,
|
|
85
|
+
liveQueryEntity,
|
|
86
|
+
liveQueryNot,
|
|
87
|
+
liveQuerySingle,
|
|
88
|
+
liveQuerySingleAndMap,
|
|
89
|
+
liveQueryStep,
|
|
90
|
+
makeApplogMapper,
|
|
91
|
+
mapApplogsWith,
|
|
92
|
+
mapAttributes,
|
|
72
93
|
mapQueryResultWith,
|
|
73
94
|
mapThreadWith,
|
|
74
|
-
|
|
75
|
-
observableMapMap,
|
|
76
|
-
observableMapToObject,
|
|
77
|
-
observableSetMap,
|
|
95
|
+
memoizedFn,
|
|
78
96
|
prefixAt,
|
|
79
97
|
prefixAttrs,
|
|
80
98
|
prettifyThreadName,
|
|
@@ -82,16 +100,17 @@ export {
|
|
|
82
100
|
queryAndMap,
|
|
83
101
|
queryDivergencesByPrev,
|
|
84
102
|
queryEntity,
|
|
85
|
-
queryNodesComparer,
|
|
86
103
|
queryNot,
|
|
87
104
|
querySingle,
|
|
88
105
|
querySingleAndMap,
|
|
89
|
-
|
|
90
|
-
|
|
106
|
+
queryStepOnce,
|
|
107
|
+
refCountedMemoizedFn,
|
|
108
|
+
resolveKeyMapper,
|
|
91
109
|
startsWith,
|
|
110
|
+
stripAtPrefix,
|
|
92
111
|
threadFromMaybeArray,
|
|
93
112
|
throwOnTimeout,
|
|
94
113
|
withTimeout,
|
|
95
114
|
withoutDeleted
|
|
96
115
|
};
|
|
97
|
-
//# sourceMappingURL=query.
|
|
116
|
+
//# sourceMappingURL=query.js.map
|
package/dist/retrieve/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './update-thread';
|
|
1
|
+
export * from './update-thread.ts';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retrieve/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retrieve/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CID } from 'multiformats/cid';
|
|
2
|
-
import type { Applog } from '../applog/datom-types';
|
|
3
|
-
import type { WriteableThread } from '../thread/writeable';
|
|
4
|
-
import type { BlockStore } from '../blockstore/index';
|
|
2
|
+
import type { Applog } from '../applog/datom-types.ts';
|
|
3
|
+
import type { WriteableThread } from '../thread/writeable.ts';
|
|
4
|
+
import type { BlockStore } from '../blockstore/index.ts';
|
|
5
5
|
/**
|
|
6
6
|
* Block retrieval abstraction - fetch or get blocks.
|
|
7
7
|
* Implemented by gateway retriever or local blockstore.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-thread.d.ts","sourceRoot":"","sources":["../../src/retrieve/update-thread.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"update-thread.d.ts","sourceRoot":"","sources":["../../src/retrieve/update-thread.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAKtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAIxD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,8BAA8B;IAC9B,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAClC,sEAAsE;IACtE,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC,CAAA;CAChE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,UAAU,GACf,cAAc,CAUhB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,GAAG,CAAA;IACxB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,gCAAgC;IAChC,GAAG,EAAE,GAAG,CAAA;IACR,yCAAyC;IACzC,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAA;IACrB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,YAAY,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CACzD;AA4BD;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAqIvB"}
|
package/dist/retrieve.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './retrieve/update-thread';
|
|
1
|
+
export * from './retrieve/update-thread.ts';
|
|
2
2
|
//# sourceMappingURL=retrieve.d.ts.map
|
package/dist/retrieve.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieve.d.ts","sourceRoot":"","sources":["../src/retrieve.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"retrieve.d.ts","sourceRoot":"","sources":["../src/retrieve.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA"}
|
package/dist/retrieve.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
updateThreadFromSnapshot,
|
|
3
|
+
withBlockCache
|
|
4
|
+
} from "./chunk-J2FDHGOZ.js";
|
|
5
|
+
import "./chunk-3WZVG277.js";
|
|
6
|
+
import "./chunk-YDAKBU6Q.js";
|
|
7
|
+
import "./chunk-QZXKQCAY.js";
|
|
8
|
+
import "./chunk-L5EEEGE6.js";
|
|
9
|
+
import "./chunk-ZAADLBSB.js";
|
|
10
|
+
export {
|
|
11
|
+
updateThreadFromSnapshot,
|
|
12
|
+
withBlockCache
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=retrieve.js.map
|
package/dist/thread/basic.d.ts
CHANGED
|
@@ -1,33 +1,29 @@
|
|
|
1
|
-
import { IObservableArray } from 'mobx';
|
|
2
1
|
import { CID } from 'multiformats';
|
|
3
|
-
import { type Applog, ApplogForInsert, CidString } from '../applog/datom-types';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
export declare function isInitEvent(event: ThreadEvent): event is {
|
|
12
|
-
init: readonly Applog[];
|
|
13
|
-
};
|
|
2
|
+
import { type Applog, ApplogForInsert, CidString } from '../applog/datom-types.ts';
|
|
3
|
+
import type { SubscribableArray, ArrayEvent } from '../query/subscribable.ts';
|
|
4
|
+
import { isArrayInitEvent } from '../query/subscribable.ts';
|
|
5
|
+
import { ArrayOrSingle } from '../types/typescript-utils.ts';
|
|
6
|
+
export type ThreadEvent = ArrayEvent<Applog>;
|
|
7
|
+
/** @deprecated Use isArrayInitEvent from @wovin/core/query */
|
|
8
|
+
export declare const isInitEvent: typeof isArrayInitEvent;
|
|
14
9
|
export type ApplogsOrThread = Thread | readonly Applog[];
|
|
15
|
-
export declare abstract class Thread {
|
|
10
|
+
export declare abstract class Thread implements SubscribableArray<Applog> {
|
|
16
11
|
readonly name: string;
|
|
17
12
|
protected _applogs: Applog[];
|
|
18
13
|
readonly filters: readonly string[];
|
|
19
|
-
readonly parents:
|
|
14
|
+
readonly parents: Thread[] | readonly Thread[] | null;
|
|
20
15
|
protected _derivedSubscribers: ((event: ThreadEvent) => void)[];
|
|
21
16
|
protected _subscribers: ((event: ThreadEvent) => void)[];
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
/** Monotonic counter incremented on every mutation. Used by memoizedFn to invalidate caches. */
|
|
18
|
+
_version: number;
|
|
19
|
+
constructor(name: string, /* = null */ parents: ArrayOrSingle<Thread> | readonly Thread[] | null, filters: readonly string[], _applogs?: Applog[]);
|
|
25
20
|
get readOnly(): any;
|
|
26
21
|
insert(appLogsToInsert: ArrayOrSingle<ApplogForInsert>): any;
|
|
27
22
|
insertRaw(appLogsToInsert: readonly Applog[]): any;
|
|
28
23
|
subscribe(callback: (event: ThreadEvent) => void, type?: 'derived' | 'reaction'): () => void;
|
|
29
|
-
unsubscribe(callback: (event: ThreadEvent) => void): void;
|
|
30
24
|
protected notifySubscribers(event: ThreadEvent): void;
|
|
25
|
+
get items(): readonly Applog[];
|
|
26
|
+
dispose(): void;
|
|
31
27
|
get applogs(): readonly Applog[];
|
|
32
28
|
get applogsCids(): readonly CidString[];
|
|
33
29
|
get applogsCidSet(): ReadonlySet<CidString>;
|
|
@@ -58,7 +54,7 @@ export declare abstract class Thread {
|
|
|
58
54
|
export declare const getLogsFromThread: (logsOrThread: ApplogsOrThread) => readonly Applog[];
|
|
59
55
|
export declare class StaticThread extends Thread {
|
|
60
56
|
static fromArray(applogs: Applog[], name?: string): StaticThread;
|
|
61
|
-
constructor(name: string, /* = null */ parents: ArrayOrSingle<Thread> |
|
|
57
|
+
constructor(name: string, /* = null */ parents: ArrayOrSingle<Thread> | readonly Thread[] | null, filters: readonly string[], _applogs: Applog[]);
|
|
62
58
|
get readOnly(): boolean;
|
|
63
59
|
}
|
|
64
60
|
//# sourceMappingURL=basic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/thread/basic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/thread/basic.ts"],"names":[],"mappings":"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"}
|
package/dist/thread/filters.d.ts
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Thread, ThreadEvent } from './basic';
|
|
4
|
-
import {
|
|
1
|
+
import { Applog, ApplogForInsert, DatalogQueryPattern } from '../applog/datom-types.ts';
|
|
2
|
+
import type { Subscribable } from '../query/subscribable.ts';
|
|
3
|
+
import { Thread, ThreadEvent } from './basic.ts';
|
|
4
|
+
import { MappedThread, type ThreadDerivation } from './mapped.ts';
|
|
5
5
|
export declare const rollingFilter: (thread: Thread, pattern: DatalogQueryPattern, opts?: {
|
|
6
6
|
name?: string;
|
|
7
7
|
extraFilterName?: string;
|
|
8
8
|
}) => MappedThread;
|
|
9
|
-
export declare const rollingMapper: (thread: Thread,
|
|
9
|
+
export declare const rollingMapper: (thread: Thread, derivation: ThreadDerivation, opts?: {
|
|
10
10
|
name?: string;
|
|
11
11
|
extraFilterName?: string;
|
|
12
12
|
}) => MappedThread;
|
|
13
|
-
export declare const rollingAcc: <ACC
|
|
13
|
+
export declare const rollingAcc: <ACC>(thread: Thread, acc: ACC, eventMapper: (event: ThreadEvent, acc: ACC) => void, opts?: {
|
|
14
14
|
name?: string;
|
|
15
|
-
}) => ACC
|
|
16
|
-
export declare const getUntrackedPattern: (pattern: DatalogQueryPattern) =>
|
|
17
|
-
[k: string]: string | number | boolean | import("..").AgentHash | CidString | ReadonlySet<string> | ObservableSet<string> | readonly string[] | ((value: string) => boolean) | ReadonlySet<CidString> | ObservableSet<CidString> | readonly CidString[] | ((value: CidString) => boolean) | ReadonlySet<import("..").AgentHash> | ObservableSet<import("..").AgentHash> | readonly import("..").AgentHash[] | ((value: import("..").AgentHash) => boolean) | ReadonlySet<ApplogValue> | ObservableSet<ApplogValue> | readonly ApplogValue[] | ((value: ApplogValue) => boolean);
|
|
18
|
-
};
|
|
15
|
+
}) => Subscribable<ACC>;
|
|
16
|
+
export declare const getUntrackedPattern: (pattern: DatalogQueryPattern) => Partial<import("../applog.ts").WithMatchers<Applog>>;
|
|
19
17
|
export declare function makeFilter(pattern: DatalogQueryPattern): (logs: readonly Applog[]) => Applog[];
|
|
20
18
|
/**
|
|
21
19
|
* // ! think twice before using
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/thread/filters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/thread/filters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,eAAe,EAA0B,mBAAmB,EAAkB,MAAM,0BAA0B,CAAA;AAI/H,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAe,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAsC,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAIrG,eAAO,MAAM,aAAa,WACjB,MAAM,WACL,mBAAmB,SACtB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,iBAkChD,CAAA;AAEF,eAAO,MAAM,aAAa,WACjB,MAAM,cACF,gBAAgB,SACtB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,iBAUhD,CAAA;AAEF,eAAO,MAAM,UAAU,GAEF,GAAG,UACd,MAAM,OACT,GAAG,eACK,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,SAC7C;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KACrB,YAAY,CAAC,GAAG,CAcnB,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC/B,SAAS,mBAAmB,yDAM5B,CAAA;AACD,wBAAgB,UAAU,CACzB,OAAO,EAAE,mBAAmB,IAED,MAAM,SAAS,MAAM,EAAE,cAclD;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACrC,QAAQ,MAAM,EACd,SAAS,mBAAmB,EAC5B,OAAM;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,aAK5B,CAAA;AAKD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,GAAG;IACzD,OAAO,EAAE,SAAS,CAAC,EAAE,CAAA;CACrB,CAAA;AACD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAEpG;AACD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAItB,oBAAoB,CACrC;AACD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM;;;;EAM/C;AACD,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAA;AACjE,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;AAChE,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,CAAC,eAAe,GAAG,gBAAgB,CAAC,CAAA;AAC7F,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,EAAE,CAAA;CAAE,CAAA;AAE3D,gCAAgC;AAChC,eAAO,MAAM,UAAU,gCAA0B,CAAA;AAMjD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,eAAe,CAAA;AACjF,eAAO,MAAM,kBAAkB,GAC9B,QAAQ,MAAM,EACd,WAAW,YAAY,EACvB,OAAM;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,iBAyDtD,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Applog, ApplogValue, EntityID } from '../applog/datom-types.ts';
|
|
2
|
+
import { type Subscribable } from '../query/subscribable.ts';
|
|
3
|
+
import { Thread } from './basic.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Live index of applogs grouped by entity ID. Memoized per thread — one subscription
|
|
6
|
+
* per thread regardless of how many consumers call this. Updated incrementally on
|
|
7
|
+
* each parent event (O(event-size)). Lookup is O(1) via `map.get(en)`.
|
|
8
|
+
*
|
|
9
|
+
* Subscriber order: registers a 'derived' subscription on `thread` at first call. By
|
|
10
|
+
* the FIFO subscriber-order convention (`thread/basic.ts:notifySubscribers`),
|
|
11
|
+
* consumers that subscribe to `thread` AFTER calling `applogsByEntity(thread)` will
|
|
12
|
+
* see an up-to-date index when their handler runs.
|
|
13
|
+
*/
|
|
14
|
+
export declare const applogsByEntity: (thread: Thread) => ReadonlyMap<EntityID, readonly Applog[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Live index of applogs grouped by value for a given attribute. Value-based counterpart
|
|
17
|
+
* to `applogsByEntity` (which groups by entity ID).
|
|
18
|
+
*
|
|
19
|
+
* Uses `rollingFilter` internally for the attribute filter (memoized, shared with any
|
|
20
|
+
* other code filtering by the same attribute).
|
|
21
|
+
*
|
|
22
|
+
* Returns a `Subscribable` with lazy upstream activation:
|
|
23
|
+
* - Snapshot use: read `.value` — zero subscription overhead
|
|
24
|
+
* - Reactive use: `.subscribe()` activates the chain for incremental updates
|
|
25
|
+
*/
|
|
26
|
+
export declare const applogsByAttrValue: (thread: Thread, attr: string) => Subscribable<ReadonlyMap<ApplogValue, readonly Applog[]>>;
|
|
27
|
+
export interface LinkEntry {
|
|
28
|
+
/** The link entity's own ID */
|
|
29
|
+
linkId: EntityID;
|
|
30
|
+
/** Value of attrA on this link entity */
|
|
31
|
+
aValue: EntityID;
|
|
32
|
+
/** Value of attrB on this link entity */
|
|
33
|
+
bValue: EntityID;
|
|
34
|
+
}
|
|
35
|
+
export interface EntityLinkIndexValue {
|
|
36
|
+
/** Lookup by attrA value → link entries (each has linkId + bValue) */
|
|
37
|
+
byA: ReadonlyMap<EntityID, readonly LinkEntry[]>;
|
|
38
|
+
/** Lookup by attrB value → link entries (each has linkId + aValue) */
|
|
39
|
+
byB: ReadonlyMap<EntityID, readonly LinkEntry[]>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Live bidirectional index for entity-link relations: a common wovin pattern where
|
|
43
|
+
* a **link entity** connects two targets via two attributes.
|
|
44
|
+
*
|
|
45
|
+
* Example: note3 relations use a relation entity with `relation/block` (→ child block)
|
|
46
|
+
* and `relation/childOf` (→ parent block).
|
|
47
|
+
*
|
|
48
|
+
* Returns a `Subscribable` with lazy upstream activation:
|
|
49
|
+
* - Snapshot use: read `.value` — zero subscription overhead
|
|
50
|
+
* - Reactive use: `.subscribe()` activates the chain for incremental updates
|
|
51
|
+
*
|
|
52
|
+
* Link entity IDs are included in entries so consumers can look up full link state
|
|
53
|
+
* via `applogsByEntity`.
|
|
54
|
+
*/
|
|
55
|
+
export declare const entityLinkIndex: (thread: Thread, attrA: string, attrB: string) => Subscribable<EntityLinkIndexValue>;
|
|
56
|
+
//# sourceMappingURL=indexes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../src/thread/indexes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAExE,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAe,MAAM,EAAE,MAAM,YAAY,CAAA;AAKhD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,WAEM,MAAM,KAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAiCjF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,WAGrB,MAAM,QACR,MAAM,KACV,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC,CAwC3D,CAAA;AAID,MAAM,WAAW,SAAS;IACzB,+BAA+B;IAC/B,MAAM,EAAE,QAAQ,CAAA;IAChB,yCAAyC;IACzC,MAAM,EAAE,QAAQ,CAAA;IAChB,yCAAyC;IACzC,MAAM,EAAE,QAAQ,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACpC,sEAAsE;IACtE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC,CAAA;IAChD,sEAAsE;IACtE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC,CAAA;CAChD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,WAGlB,MAAM,SACP,MAAM,SACN,MAAM,KACX,YAAY,CAAC,oBAAoB,CAiGpC,CAAA"}
|