@graphrefly/graphrefly 0.23.0 → 0.24.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/dist/{chunk-NZMBRXQV.js → chunk-5DJTTKX3.js} +11 -13
- package/dist/chunk-5DJTTKX3.js.map +1 -0
- package/dist/{chunk-XTLYW4FR.js → chunk-5WGT55R4.js} +4 -4
- package/dist/{chunk-CWYPA63G.js → chunk-AOCBDH4T.js} +2 -2
- package/dist/{chunk-HVBX5KIW.js → chunk-H4RVA4VE.js} +2 -2
- package/dist/{chunk-32N5A454.js → chunk-HWPIFSW2.js} +2 -2
- package/dist/chunk-HWPIFSW2.js.map +1 -0
- package/dist/{chunk-PNUZM7PC.js → chunk-IPLKX3L2.js} +6 -6
- package/dist/{chunk-2GQLMQVJ.js → chunk-MW4VAKAO.js} +3 -3
- package/dist/{chunk-JFONSPNF.js → chunk-PY4XCDLR.js} +2 -2
- package/dist/{chunk-263BEJJO.js → chunk-QOWVNWOC.js} +3 -3
- package/dist/{chunk-PX6PDUJ5.js → chunk-TDEXAMGO.js} +4 -4
- package/dist/{chunk-PX6PDUJ5.js.map → chunk-TDEXAMGO.js.map} +1 -1
- package/dist/{chunk-XRFJJ2IU.js → chunk-XOFWRC73.js} +3 -3
- package/dist/compat/nestjs/index.cjs +10 -12
- package/dist/compat/nestjs/index.cjs.map +1 -1
- package/dist/compat/nestjs/index.d.cts +6 -6
- package/dist/compat/nestjs/index.d.ts +6 -6
- package/dist/compat/nestjs/index.js +9 -9
- package/dist/core/index.cjs +10 -12
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +3 -3
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.js +3 -3
- package/dist/extra/index.cjs +10 -12
- package/dist/extra/index.cjs.map +1 -1
- package/dist/extra/index.d.cts +4 -4
- package/dist/extra/index.d.ts +4 -4
- package/dist/extra/index.js +4 -4
- package/dist/graph/index.cjs +10 -12
- package/dist/graph/index.cjs.map +1 -1
- package/dist/graph/index.d.cts +5 -5
- package/dist/graph/index.d.ts +5 -5
- package/dist/graph/index.js +4 -4
- package/dist/{graph-CEO2FkLY.d.ts → graph-B6NFqv3z.d.ts} +3 -3
- package/dist/{graph-BtdSRHUc.d.cts → graph-D-3JIQme.d.cts} +3 -3
- package/dist/{index-B0tfuXwV.d.cts → index-1z8vRTCt.d.cts} +3 -3
- package/dist/{index-BFGjXbiP.d.cts → index-AMWewNDe.d.cts} +2 -2
- package/dist/{index-BUj3ASVe.d.cts → index-BJB7t9gg.d.cts} +10 -24
- package/dist/{index-RXN94sHK.d.ts → index-BysCTzJz.d.ts} +3 -3
- package/dist/{index-DSPc5rkv.d.ts → index-C-TXEa7C.d.ts} +10 -24
- package/dist/{index-CkElcUY6.d.ts → index-CYkjxu3s.d.ts} +2 -2
- package/dist/{index-jEtF4N7L.d.ts → index-D7XgsUt7.d.ts} +2 -2
- package/dist/{index-DgscL7v0.d.ts → index-DiobMNwE.d.ts} +3 -3
- package/dist/{index-BPlWVAKY.d.cts → index-J7Kc0oIQ.d.cts} +3 -3
- package/dist/{index-C59uSJAH.d.cts → index-b5BYtczN.d.cts} +2 -2
- package/dist/index.cjs +20 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -15
- package/dist/index.d.ts +15 -15
- package/dist/index.js +21 -31
- package/dist/index.js.map +1 -1
- package/dist/{meta-3QjzotRv.d.ts → meta-CnkLA_43.d.ts} +1 -1
- package/dist/{meta-B-Lbs4-O.d.cts → meta-DWbkoq1s.d.cts} +1 -1
- package/dist/{node-C7PD3sn9.d.cts → node-B-f-Lu-k.d.cts} +15 -13
- package/dist/{node-C7PD3sn9.d.ts → node-B-f-Lu-k.d.ts} +15 -13
- package/dist/{observable-axpzv1K2.d.cts → observable-DBnrwcar.d.cts} +1 -1
- package/dist/{observable-EyO-moQY.d.ts → observable-uP-wy_uK.d.ts} +1 -1
- package/dist/patterns/reactive-layout/index.cjs +10 -12
- package/dist/patterns/reactive-layout/index.cjs.map +1 -1
- package/dist/patterns/reactive-layout/index.d.cts +5 -5
- package/dist/patterns/reactive-layout/index.d.ts +5 -5
- package/dist/patterns/reactive-layout/index.js +6 -6
- package/dist/{storage-DIgAr7M_.d.cts → storage-BuTdpCI1.d.cts} +1 -1
- package/dist/{storage-CHT5WE9m.d.ts → storage-F2X1U1x0.d.ts} +1 -1
- package/package.json +2 -2
- package/dist/chunk-32N5A454.js.map +0 -1
- package/dist/chunk-NZMBRXQV.js.map +0 -1
- /package/dist/{chunk-XTLYW4FR.js.map → chunk-5WGT55R4.js.map} +0 -0
- /package/dist/{chunk-CWYPA63G.js.map → chunk-AOCBDH4T.js.map} +0 -0
- /package/dist/{chunk-HVBX5KIW.js.map → chunk-H4RVA4VE.js.map} +0 -0
- /package/dist/{chunk-PNUZM7PC.js.map → chunk-IPLKX3L2.js.map} +0 -0
- /package/dist/{chunk-2GQLMQVJ.js.map → chunk-MW4VAKAO.js.map} +0 -0
- /package/dist/{chunk-JFONSPNF.js.map → chunk-PY4XCDLR.js.map} +0 -0
- /package/dist/{chunk-263BEJJO.js.map → chunk-QOWVNWOC.js.map} +0 -0
- /package/dist/{chunk-XRFJJ2IU.js.map → chunk-XOFWRC73.js.map} +0 -0
package/dist/graph/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { E as ENVELOPE_VERSION, a as EvictedSubgraphInfo, b as EvictionPolicy, G as GraphCodec, J as JsonCodec, L as LazyGraphCodec, O as SIZEOF_OVERHEAD, S as SIZEOF_SYMBOL, W as WALEntry, c as createDagCborCodec, d as createDagCborZstdCodec, e as decodeEnvelope, f as encodeEnvelope, r as registerBuiltinCodecs, g as replayWAL, s as sizeof } from '../index-
|
|
2
|
-
export { D as DescribeFilter, e as GRAPH_META_SEGMENT, G as Graph, f as GraphActorOptions, b as GraphAttachStorageOptions, g as GraphCheckpointRecord, h as GraphDescribeOptions, i as GraphDescribeOutput, j as GraphDiagramDirection, k as GraphDiagramOptions, l as GraphDiffChange, m as GraphDiffResult, n as GraphFactoryContext, o as GraphNodeFactory, p as GraphObserveAll, q as GraphObserveOne, a as GraphOptions, r as GraphPersistSnapshot, d as GraphProfileOptions, c as GraphProfileResult, s as GraphVersionChange, t as GraphWALDiff, N as NodeProfile, O as ObserveDetail, u as ObserveEvent, v as ObserveOptions, w as ObserveResult, x as ObserveTheme, y as ObserveThemeName, R as ReachableDirection, z as ReachableOptions, T as TraceEntry, A as diffForWAL, B as graphProfile, C as reachable } from '../graph-
|
|
3
|
-
import '../node-
|
|
4
|
-
import '../meta-
|
|
5
|
-
import '../storage-
|
|
1
|
+
export { E as ENVELOPE_VERSION, a as EvictedSubgraphInfo, b as EvictionPolicy, G as GraphCodec, J as JsonCodec, L as LazyGraphCodec, O as SIZEOF_OVERHEAD, S as SIZEOF_SYMBOL, W as WALEntry, c as createDagCborCodec, d as createDagCborZstdCodec, e as decodeEnvelope, f as encodeEnvelope, r as registerBuiltinCodecs, g as replayWAL, s as sizeof } from '../index-AMWewNDe.cjs';
|
|
2
|
+
export { D as DescribeFilter, e as GRAPH_META_SEGMENT, G as Graph, f as GraphActorOptions, b as GraphAttachStorageOptions, g as GraphCheckpointRecord, h as GraphDescribeOptions, i as GraphDescribeOutput, j as GraphDiagramDirection, k as GraphDiagramOptions, l as GraphDiffChange, m as GraphDiffResult, n as GraphFactoryContext, o as GraphNodeFactory, p as GraphObserveAll, q as GraphObserveOne, a as GraphOptions, r as GraphPersistSnapshot, d as GraphProfileOptions, c as GraphProfileResult, s as GraphVersionChange, t as GraphWALDiff, N as NodeProfile, O as ObserveDetail, u as ObserveEvent, v as ObserveOptions, w as ObserveResult, x as ObserveTheme, y as ObserveThemeName, R as ReachableDirection, z as ReachableOptions, T as TraceEntry, A as diffForWAL, B as graphProfile, C as reachable } from '../graph-D-3JIQme.cjs';
|
|
3
|
+
import '../node-B-f-Lu-k.cjs';
|
|
4
|
+
import '../meta-DWbkoq1s.cjs';
|
|
5
|
+
import '../storage-BuTdpCI1.cjs';
|
package/dist/graph/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { E as ENVELOPE_VERSION, a as EvictedSubgraphInfo, b as EvictionPolicy, G as GraphCodec, J as JsonCodec, L as LazyGraphCodec, O as SIZEOF_OVERHEAD, S as SIZEOF_SYMBOL, W as WALEntry, c as createDagCborCodec, d as createDagCborZstdCodec, e as decodeEnvelope, f as encodeEnvelope, r as registerBuiltinCodecs, g as replayWAL, s as sizeof } from '../index-
|
|
2
|
-
export { D as DescribeFilter, e as GRAPH_META_SEGMENT, G as Graph, f as GraphActorOptions, b as GraphAttachStorageOptions, g as GraphCheckpointRecord, h as GraphDescribeOptions, i as GraphDescribeOutput, j as GraphDiagramDirection, k as GraphDiagramOptions, l as GraphDiffChange, m as GraphDiffResult, n as GraphFactoryContext, o as GraphNodeFactory, p as GraphObserveAll, q as GraphObserveOne, a as GraphOptions, r as GraphPersistSnapshot, d as GraphProfileOptions, c as GraphProfileResult, s as GraphVersionChange, t as GraphWALDiff, N as NodeProfile, O as ObserveDetail, u as ObserveEvent, v as ObserveOptions, w as ObserveResult, x as ObserveTheme, y as ObserveThemeName, R as ReachableDirection, z as ReachableOptions, T as TraceEntry, A as diffForWAL, B as graphProfile, C as reachable } from '../graph-
|
|
3
|
-
import '../node-
|
|
4
|
-
import '../meta-
|
|
5
|
-
import '../storage-
|
|
1
|
+
export { E as ENVELOPE_VERSION, a as EvictedSubgraphInfo, b as EvictionPolicy, G as GraphCodec, J as JsonCodec, L as LazyGraphCodec, O as SIZEOF_OVERHEAD, S as SIZEOF_SYMBOL, W as WALEntry, c as createDagCborCodec, d as createDagCborZstdCodec, e as decodeEnvelope, f as encodeEnvelope, r as registerBuiltinCodecs, g as replayWAL, s as sizeof } from '../index-CYkjxu3s.js';
|
|
2
|
+
export { D as DescribeFilter, e as GRAPH_META_SEGMENT, G as Graph, f as GraphActorOptions, b as GraphAttachStorageOptions, g as GraphCheckpointRecord, h as GraphDescribeOptions, i as GraphDescribeOutput, j as GraphDiagramDirection, k as GraphDiagramOptions, l as GraphDiffChange, m as GraphDiffResult, n as GraphFactoryContext, o as GraphNodeFactory, p as GraphObserveAll, q as GraphObserveOne, a as GraphOptions, r as GraphPersistSnapshot, d as GraphProfileOptions, c as GraphProfileResult, s as GraphVersionChange, t as GraphWALDiff, N as NodeProfile, O as ObserveDetail, u as ObserveEvent, v as ObserveOptions, w as ObserveResult, x as ObserveTheme, y as ObserveThemeName, R as ReachableDirection, z as ReachableOptions, T as TraceEntry, A as diffForWAL, B as graphProfile, C as reachable } from '../graph-B6NFqv3z.js';
|
|
3
|
+
import '../node-B-f-Lu-k.js';
|
|
4
|
+
import '../meta-CnkLA_43.js';
|
|
5
|
+
import '../storage-F2X1U1x0.js';
|
package/dist/graph/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-MW4VAKAO.js";
|
|
2
2
|
import {
|
|
3
3
|
GRAPH_META_SEGMENT,
|
|
4
4
|
Graph,
|
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
graphProfile,
|
|
9
9
|
reachable,
|
|
10
10
|
sizeof
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-
|
|
11
|
+
} from "../chunk-XOFWRC73.js";
|
|
12
|
+
import "../chunk-H4RVA4VE.js";
|
|
13
13
|
import "../chunk-7TAQJHQV.js";
|
|
14
14
|
import {
|
|
15
15
|
ENVELOPE_VERSION,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
encodeEnvelope,
|
|
21
21
|
registerBuiltinCodecs,
|
|
22
22
|
replayWAL
|
|
23
|
-
} from "../chunk-
|
|
23
|
+
} from "../chunk-5DJTTKX3.js";
|
|
24
24
|
export {
|
|
25
25
|
ENVELOPE_VERSION,
|
|
26
26
|
GRAPH_META_SEGMENT,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { k as GraphReFlyConfig, a6 as VersioningLevel, N as Node, A as Actor, t as Messages, K as NodeSink } from './node-
|
|
2
|
-
import { b as DescribeNodeOutput, D as DescribeDetail, a as DescribeField } from './meta-
|
|
3
|
-
import { a as StorageTier, S as StorageHandle } from './storage-
|
|
1
|
+
import { k as GraphReFlyConfig, a6 as VersioningLevel, N as Node, A as Actor, t as Messages, K as NodeSink } from './node-B-f-Lu-k.js';
|
|
2
|
+
import { b as DescribeNodeOutput, D as DescribeDetail, a as DescribeField } from './meta-CnkLA_43.js';
|
|
3
|
+
import { a as StorageTier, S as StorageHandle } from './storage-F2X1U1x0.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Graph profiling and inspection utilities.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { k as GraphReFlyConfig, a6 as VersioningLevel, N as Node, A as Actor, t as Messages, K as NodeSink } from './node-
|
|
2
|
-
import { b as DescribeNodeOutput, D as DescribeDetail, a as DescribeField } from './meta-
|
|
3
|
-
import { a as StorageTier, S as StorageHandle } from './storage-
|
|
1
|
+
import { k as GraphReFlyConfig, a6 as VersioningLevel, N as Node, A as Actor, t as Messages, K as NodeSink } from './node-B-f-Lu-k.cjs';
|
|
2
|
+
import { b as DescribeNodeOutput, D as DescribeDetail, a as DescribeField } from './meta-DWbkoq1s.cjs';
|
|
3
|
+
import { a as StorageTier, S as StorageHandle } from './storage-BuTdpCI1.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Graph profiling and inspection utilities.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as NodeOptions, N as Node, M as Message, t as Messages, a6 as VersioningLevel } from './node-
|
|
2
|
-
import { a as StorageTier, I as IndexedDbStorageSpec, S as StorageHandle, d as dictStorage, f as fileStorage, b as fromIDBRequest, c as fromIDBTransaction, i as indexedDbStorage, m as memoryStorage, s as sqliteStorage } from './storage-
|
|
3
|
-
import { T as ToObservableOptions, t as toObservable } from './observable-
|
|
1
|
+
import { a as NodeOptions, N as Node, M as Message, t as Messages, a6 as VersioningLevel } from './node-B-f-Lu-k.cjs';
|
|
2
|
+
import { a as StorageTier, I as IndexedDbStorageSpec, S as StorageHandle, d as dictStorage, f as fileStorage, b as fromIDBRequest, c as fromIDBTransaction, i as indexedDbStorage, m as memoryStorage, s as sqliteStorage } from './storage-BuTdpCI1.cjs';
|
|
3
|
+
import { T as ToObservableOptions, t as toObservable } from './observable-DBnrwcar.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* External-register helpers — the common `register({emit, error, complete})`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { k as GraphReFlyConfig } from './node-
|
|
2
|
-
import { r as GraphPersistSnapshot, g as GraphCheckpointRecord, D as DescribeFilter, e as GRAPH_META_SEGMENT, G as Graph, f as GraphActorOptions, b as GraphAttachStorageOptions, h as GraphDescribeOptions, i as GraphDescribeOutput, j as GraphDiagramDirection, k as GraphDiagramOptions, l as GraphDiffChange, m as GraphDiffResult, n as GraphFactoryContext, o as GraphNodeFactory, p as GraphObserveAll, q as GraphObserveOne, a as GraphOptions, d as GraphProfileOptions, c as GraphProfileResult, s as GraphVersionChange, t as GraphWALDiff, N as NodeProfile, O as ObserveDetail, u as ObserveEvent, v as ObserveOptions, w as ObserveResult, x as ObserveTheme, y as ObserveThemeName, R as ReachableDirection, z as ReachableOptions, T as TraceEntry, A as diffForWAL, B as graphProfile, C as reachable } from './graph-
|
|
1
|
+
import { k as GraphReFlyConfig } from './node-B-f-Lu-k.cjs';
|
|
2
|
+
import { r as GraphPersistSnapshot, g as GraphCheckpointRecord, D as DescribeFilter, e as GRAPH_META_SEGMENT, G as Graph, f as GraphActorOptions, b as GraphAttachStorageOptions, h as GraphDescribeOptions, i as GraphDescribeOutput, j as GraphDiagramDirection, k as GraphDiagramOptions, l as GraphDiffChange, m as GraphDiffResult, n as GraphFactoryContext, o as GraphNodeFactory, p as GraphObserveAll, q as GraphObserveOne, a as GraphOptions, d as GraphProfileOptions, c as GraphProfileResult, s as GraphVersionChange, t as GraphWALDiff, N as NodeProfile, O as ObserveDetail, u as ObserveEvent, v as ObserveOptions, w as ObserveResult, x as ObserveTheme, y as ObserveThemeName, R as ReachableDirection, z as ReachableOptions, T as TraceEntry, A as diffForWAL, B as graphProfile, C as reachable } from './graph-D-3JIQme.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Approximate in-memory size estimation for arbitrary JS values.
|
|
@@ -1,28 +1,21 @@
|
|
|
1
|
-
import { t as Messages, a as NodeOptions, F as FnCtx, N as Node, b as NodeActions, x as NodeFnCleanup, A as Actor, C as COMPLETE, c as COMPLETE_MSG, d as COMPLETE_ONLY_BATCH, D as DATA, e as DEFAULT_ACTOR, f as DIRTY, g as DIRTY_MSG, h as DIRTY_ONLY_BATCH, i as DepRecord, E as ERROR, G as GlobalInspectorEvent, j as GlobalInspectorHook, k as GraphReFlyConfig, l as GuardAction, m as GuardDenied, n as GuardDeniedDetails, H as HashFn, I as INVALIDATE, o as INVALIDATE_MSG, p as INVALIDATE_ONLY_BATCH, M as Message, q as MessageContext, r as MessageTypeRegistration, s as MessageTypeRegistrationInput, u as NodeCtx, v as NodeDescribeKind, w as NodeFn, y as NodeGuard, z as NodeImpl, B as NodeInspectorHook, J as NodeInspectorHookEvent, K as NodeSink, L as NodeStatus, O as NodeTransportOptions, P as NodeVersionInfo, Q as OnMessageHandler, R as OnSubscribeHandler, S as PAUSE, T as PolicyAllow, U as PolicyDeny, V as PolicyRuleData, W as RESOLVED, X as RESOLVED_MSG, Y as RESOLVED_ONLY_BATCH, Z as RESUME, _ as START, $ as START_MSG, a0 as SubscribeContext, a1 as TEARDOWN, a2 as TEARDOWN_MSG, a3 as TEARDOWN_ONLY_BATCH, a4 as V0, a5 as V1, a6 as VersioningLevel, a7 as VersioningOptions, a8 as accessHintForGuard, a9 as advanceVersion, aa as configure, ab as createVersioning, ac as defaultConfig, ad as defaultHash, ae as isV1, af as node, ag as normalizeActor, ah as policy, ai as policyFromRules, aj as registerBuiltins } from './node-
|
|
2
|
-
import { D as DescribeDetail, a as DescribeField, b as DescribeNodeOutput, r as resolveDescribeFields } from './meta-
|
|
1
|
+
import { t as Messages, a as NodeOptions, F as FnCtx, N as Node, b as NodeActions, x as NodeFnCleanup, A as Actor, C as COMPLETE, c as COMPLETE_MSG, d as COMPLETE_ONLY_BATCH, D as DATA, e as DEFAULT_ACTOR, f as DIRTY, g as DIRTY_MSG, h as DIRTY_ONLY_BATCH, i as DepRecord, E as ERROR, G as GlobalInspectorEvent, j as GlobalInspectorHook, k as GraphReFlyConfig, l as GuardAction, m as GuardDenied, n as GuardDeniedDetails, H as HashFn, I as INVALIDATE, o as INVALIDATE_MSG, p as INVALIDATE_ONLY_BATCH, M as Message, q as MessageContext, r as MessageTypeRegistration, s as MessageTypeRegistrationInput, u as NodeCtx, v as NodeDescribeKind, w as NodeFn, y as NodeGuard, z as NodeImpl, B as NodeInspectorHook, J as NodeInspectorHookEvent, K as NodeSink, L as NodeStatus, O as NodeTransportOptions, P as NodeVersionInfo, Q as OnMessageHandler, R as OnSubscribeHandler, S as PAUSE, T as PolicyAllow, U as PolicyDeny, V as PolicyRuleData, W as RESOLVED, X as RESOLVED_MSG, Y as RESOLVED_ONLY_BATCH, Z as RESUME, _ as START, $ as START_MSG, a0 as SubscribeContext, a1 as TEARDOWN, a2 as TEARDOWN_MSG, a3 as TEARDOWN_ONLY_BATCH, a4 as V0, a5 as V1, a6 as VersioningLevel, a7 as VersioningOptions, a8 as accessHintForGuard, a9 as advanceVersion, aa as configure, ab as createVersioning, ac as defaultConfig, ad as defaultHash, ae as isV1, af as node, ag as normalizeActor, ah as policy, ai as policyFromRules, aj as registerBuiltins } from './node-B-f-Lu-k.cjs';
|
|
2
|
+
import { D as DescribeDetail, a as DescribeField, b as DescribeNodeOutput, r as resolveDescribeFields } from './meta-DWbkoq1s.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Batch deferral for tier-3+ messages, plus per-node emit coalescing inside
|
|
6
6
|
* explicit `batch()` scopes.
|
|
7
7
|
*
|
|
8
|
-
* §1.3.7 —
|
|
9
|
-
*
|
|
10
|
-
* and
|
|
11
|
-
* returns.
|
|
8
|
+
* **Canonical invariant:** GRAPHREFLY-SPEC.md §1.3.7 — inside a batch,
|
|
9
|
+
* tier 0–2 signals propagate immediately; tier 3 (DATA/RESOLVED), tier 4
|
|
10
|
+
* (COMPLETE/ERROR), and tier 5 (TEARDOWN) are queued and drained in ascending
|
|
11
|
+
* phase order after the outermost `batch()` callback returns.
|
|
12
12
|
*
|
|
13
13
|
* **Per-node emit coalescing (Bug 2 fix, 2026-04-17).** Inside an explicit
|
|
14
14
|
* `batch()` scope, consecutive emissions from the same node accumulate in
|
|
15
|
-
* `NodeImpl._batchPendingMessages` instead of each producing
|
|
16
|
-
* downstream wave.
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* tier-3 sink call. Downstream nodes' fns run once per wave with the full
|
|
20
|
-
* `batchData` (dep's `dataBatch` accumulates all K values, fn sees
|
|
21
|
-
* `[[v1, v2, ..., vK]]`). Resolves the K+1 fan-in over-fire.
|
|
22
|
-
*
|
|
23
|
-
* Outside batch — and during drain (where `flushInProgress` is true but
|
|
24
|
-
* `batchDepth` is 0) — coalescing does NOT apply: each emit goes through
|
|
25
|
-
* its own `downWithBatch` call and produces its own wave.
|
|
15
|
+
* `NodeImpl._batchPendingMessages` (see JSDoc there) instead of each producing
|
|
16
|
+
* a separate downstream wave. K `.emit()` calls to the same source collapse to
|
|
17
|
+
* one coalesced `downWithBatch` call per child edge at batch end. Outside batch
|
|
18
|
+
* (or during drain), coalescing does NOT apply — each emit produces its own wave.
|
|
26
19
|
*
|
|
27
20
|
* **Phase vocabulary:**
|
|
28
21
|
* - Phase 1 = tiers 0–2 — immediate, never queued.
|
|
@@ -34,13 +27,6 @@ import { D as DescribeDetail, a as DescribeField, b as DescribeNodeOutput, r as
|
|
|
34
27
|
* phase. Re-enqueues during drain (and hooks registered by reentrant batches
|
|
35
28
|
* inside subscriber callbacks) bump the loop back to the top so newly-added
|
|
36
29
|
* hooks and closures get processed.
|
|
37
|
-
*
|
|
38
|
-
* **Pre-sorted input invariant.** `downWithBatch` assumes `messages` is
|
|
39
|
-
* already sorted in ascending tier order (produced by `_frameBatch` in
|
|
40
|
-
* `node.ts`). The walker exploits monotonicity for a single O(n) pass and
|
|
41
|
-
* slices at phase boundaries without re-sorting. Flushed multi-emit batches
|
|
42
|
-
* re-run `_frameBatch` to restore monotonicity (the per-emit framings
|
|
43
|
-
* accumulate in interleaved order: `[DIRTY, DATA, DIRTY, DATA, ...]`).
|
|
44
30
|
*/
|
|
45
31
|
|
|
46
32
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as NodeOptions, N as Node, M as Message, t as Messages, a6 as VersioningLevel } from './node-
|
|
2
|
-
import { a as StorageTier, I as IndexedDbStorageSpec, S as StorageHandle, d as dictStorage, f as fileStorage, b as fromIDBRequest, c as fromIDBTransaction, i as indexedDbStorage, m as memoryStorage, s as sqliteStorage } from './storage-
|
|
3
|
-
import { T as ToObservableOptions, t as toObservable } from './observable-
|
|
1
|
+
import { a as NodeOptions, N as Node, M as Message, t as Messages, a6 as VersioningLevel } from './node-B-f-Lu-k.js';
|
|
2
|
+
import { a as StorageTier, I as IndexedDbStorageSpec, S as StorageHandle, d as dictStorage, f as fileStorage, b as fromIDBRequest, c as fromIDBTransaction, i as indexedDbStorage, m as memoryStorage, s as sqliteStorage } from './storage-F2X1U1x0.js';
|
|
3
|
+
import { T as ToObservableOptions, t as toObservable } from './observable-uP-wy_uK.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* External-register helpers — the common `register({emit, error, complete})`
|
|
@@ -1,28 +1,21 @@
|
|
|
1
|
-
import { t as Messages, a as NodeOptions, F as FnCtx, N as Node, b as NodeActions, x as NodeFnCleanup, A as Actor, C as COMPLETE, c as COMPLETE_MSG, d as COMPLETE_ONLY_BATCH, D as DATA, e as DEFAULT_ACTOR, f as DIRTY, g as DIRTY_MSG, h as DIRTY_ONLY_BATCH, i as DepRecord, E as ERROR, G as GlobalInspectorEvent, j as GlobalInspectorHook, k as GraphReFlyConfig, l as GuardAction, m as GuardDenied, n as GuardDeniedDetails, H as HashFn, I as INVALIDATE, o as INVALIDATE_MSG, p as INVALIDATE_ONLY_BATCH, M as Message, q as MessageContext, r as MessageTypeRegistration, s as MessageTypeRegistrationInput, u as NodeCtx, v as NodeDescribeKind, w as NodeFn, y as NodeGuard, z as NodeImpl, B as NodeInspectorHook, J as NodeInspectorHookEvent, K as NodeSink, L as NodeStatus, O as NodeTransportOptions, P as NodeVersionInfo, Q as OnMessageHandler, R as OnSubscribeHandler, S as PAUSE, T as PolicyAllow, U as PolicyDeny, V as PolicyRuleData, W as RESOLVED, X as RESOLVED_MSG, Y as RESOLVED_ONLY_BATCH, Z as RESUME, _ as START, $ as START_MSG, a0 as SubscribeContext, a1 as TEARDOWN, a2 as TEARDOWN_MSG, a3 as TEARDOWN_ONLY_BATCH, a4 as V0, a5 as V1, a6 as VersioningLevel, a7 as VersioningOptions, a8 as accessHintForGuard, a9 as advanceVersion, aa as configure, ab as createVersioning, ac as defaultConfig, ad as defaultHash, ae as isV1, af as node, ag as normalizeActor, ah as policy, ai as policyFromRules, aj as registerBuiltins } from './node-
|
|
2
|
-
import { D as DescribeDetail, a as DescribeField, b as DescribeNodeOutput, r as resolveDescribeFields } from './meta-
|
|
1
|
+
import { t as Messages, a as NodeOptions, F as FnCtx, N as Node, b as NodeActions, x as NodeFnCleanup, A as Actor, C as COMPLETE, c as COMPLETE_MSG, d as COMPLETE_ONLY_BATCH, D as DATA, e as DEFAULT_ACTOR, f as DIRTY, g as DIRTY_MSG, h as DIRTY_ONLY_BATCH, i as DepRecord, E as ERROR, G as GlobalInspectorEvent, j as GlobalInspectorHook, k as GraphReFlyConfig, l as GuardAction, m as GuardDenied, n as GuardDeniedDetails, H as HashFn, I as INVALIDATE, o as INVALIDATE_MSG, p as INVALIDATE_ONLY_BATCH, M as Message, q as MessageContext, r as MessageTypeRegistration, s as MessageTypeRegistrationInput, u as NodeCtx, v as NodeDescribeKind, w as NodeFn, y as NodeGuard, z as NodeImpl, B as NodeInspectorHook, J as NodeInspectorHookEvent, K as NodeSink, L as NodeStatus, O as NodeTransportOptions, P as NodeVersionInfo, Q as OnMessageHandler, R as OnSubscribeHandler, S as PAUSE, T as PolicyAllow, U as PolicyDeny, V as PolicyRuleData, W as RESOLVED, X as RESOLVED_MSG, Y as RESOLVED_ONLY_BATCH, Z as RESUME, _ as START, $ as START_MSG, a0 as SubscribeContext, a1 as TEARDOWN, a2 as TEARDOWN_MSG, a3 as TEARDOWN_ONLY_BATCH, a4 as V0, a5 as V1, a6 as VersioningLevel, a7 as VersioningOptions, a8 as accessHintForGuard, a9 as advanceVersion, aa as configure, ab as createVersioning, ac as defaultConfig, ad as defaultHash, ae as isV1, af as node, ag as normalizeActor, ah as policy, ai as policyFromRules, aj as registerBuiltins } from './node-B-f-Lu-k.js';
|
|
2
|
+
import { D as DescribeDetail, a as DescribeField, b as DescribeNodeOutput, r as resolveDescribeFields } from './meta-CnkLA_43.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Batch deferral for tier-3+ messages, plus per-node emit coalescing inside
|
|
6
6
|
* explicit `batch()` scopes.
|
|
7
7
|
*
|
|
8
|
-
* §1.3.7 —
|
|
9
|
-
*
|
|
10
|
-
* and
|
|
11
|
-
* returns.
|
|
8
|
+
* **Canonical invariant:** GRAPHREFLY-SPEC.md §1.3.7 — inside a batch,
|
|
9
|
+
* tier 0–2 signals propagate immediately; tier 3 (DATA/RESOLVED), tier 4
|
|
10
|
+
* (COMPLETE/ERROR), and tier 5 (TEARDOWN) are queued and drained in ascending
|
|
11
|
+
* phase order after the outermost `batch()` callback returns.
|
|
12
12
|
*
|
|
13
13
|
* **Per-node emit coalescing (Bug 2 fix, 2026-04-17).** Inside an explicit
|
|
14
14
|
* `batch()` scope, consecutive emissions from the same node accumulate in
|
|
15
|
-
* `NodeImpl._batchPendingMessages` instead of each producing
|
|
16
|
-
* downstream wave.
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* tier-3 sink call. Downstream nodes' fns run once per wave with the full
|
|
20
|
-
* `batchData` (dep's `dataBatch` accumulates all K values, fn sees
|
|
21
|
-
* `[[v1, v2, ..., vK]]`). Resolves the K+1 fan-in over-fire.
|
|
22
|
-
*
|
|
23
|
-
* Outside batch — and during drain (where `flushInProgress` is true but
|
|
24
|
-
* `batchDepth` is 0) — coalescing does NOT apply: each emit goes through
|
|
25
|
-
* its own `downWithBatch` call and produces its own wave.
|
|
15
|
+
* `NodeImpl._batchPendingMessages` (see JSDoc there) instead of each producing
|
|
16
|
+
* a separate downstream wave. K `.emit()` calls to the same source collapse to
|
|
17
|
+
* one coalesced `downWithBatch` call per child edge at batch end. Outside batch
|
|
18
|
+
* (or during drain), coalescing does NOT apply — each emit produces its own wave.
|
|
26
19
|
*
|
|
27
20
|
* **Phase vocabulary:**
|
|
28
21
|
* - Phase 1 = tiers 0–2 — immediate, never queued.
|
|
@@ -34,13 +27,6 @@ import { D as DescribeDetail, a as DescribeField, b as DescribeNodeOutput, r as
|
|
|
34
27
|
* phase. Re-enqueues during drain (and hooks registered by reentrant batches
|
|
35
28
|
* inside subscriber callbacks) bump the loop back to the top so newly-added
|
|
36
29
|
* hooks and closures get processed.
|
|
37
|
-
*
|
|
38
|
-
* **Pre-sorted input invariant.** `downWithBatch` assumes `messages` is
|
|
39
|
-
* already sorted in ascending tier order (produced by `_frameBatch` in
|
|
40
|
-
* `node.ts`). The walker exploits monotonicity for a single O(n) pass and
|
|
41
|
-
* slices at phase boundaries without re-sorting. Flushed multi-emit batches
|
|
42
|
-
* re-run `_frameBatch` to restore monotonicity (the per-emit framings
|
|
43
|
-
* accumulate in interleaved order: `[DIRTY, DATA, DIRTY, DATA, ...]`).
|
|
44
30
|
*/
|
|
45
31
|
|
|
46
32
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { k as GraphReFlyConfig } from './node-
|
|
2
|
-
import { r as GraphPersistSnapshot, g as GraphCheckpointRecord, D as DescribeFilter, e as GRAPH_META_SEGMENT, G as Graph, f as GraphActorOptions, b as GraphAttachStorageOptions, h as GraphDescribeOptions, i as GraphDescribeOutput, j as GraphDiagramDirection, k as GraphDiagramOptions, l as GraphDiffChange, m as GraphDiffResult, n as GraphFactoryContext, o as GraphNodeFactory, p as GraphObserveAll, q as GraphObserveOne, a as GraphOptions, d as GraphProfileOptions, c as GraphProfileResult, s as GraphVersionChange, t as GraphWALDiff, N as NodeProfile, O as ObserveDetail, u as ObserveEvent, v as ObserveOptions, w as ObserveResult, x as ObserveTheme, y as ObserveThemeName, R as ReachableDirection, z as ReachableOptions, T as TraceEntry, A as diffForWAL, B as graphProfile, C as reachable } from './graph-
|
|
1
|
+
import { k as GraphReFlyConfig } from './node-B-f-Lu-k.js';
|
|
2
|
+
import { r as GraphPersistSnapshot, g as GraphCheckpointRecord, D as DescribeFilter, e as GRAPH_META_SEGMENT, G as Graph, f as GraphActorOptions, b as GraphAttachStorageOptions, h as GraphDescribeOptions, i as GraphDescribeOutput, j as GraphDiagramDirection, k as GraphDiagramOptions, l as GraphDiffChange, m as GraphDiffResult, n as GraphFactoryContext, o as GraphNodeFactory, p as GraphObserveAll, q as GraphObserveOne, a as GraphOptions, d as GraphProfileOptions, c as GraphProfileResult, s as GraphVersionChange, t as GraphWALDiff, N as NodeProfile, O as ObserveDetail, u as ObserveEvent, v as ObserveOptions, w as ObserveResult, x as ObserveTheme, y as ObserveThemeName, R as ReachableDirection, z as ReachableOptions, T as TraceEntry, A as diffForWAL, B as graphProfile, C as reachable } from './graph-B6NFqv3z.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Approximate in-memory size estimation for arbitrary JS values.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as Node } from './node-
|
|
2
|
-
import { G as Graph } from './graph-
|
|
1
|
+
import { N as Node } from './node-B-f-Lu-k.js';
|
|
2
|
+
import { G as Graph } from './graph-B6NFqv3z.js';
|
|
3
3
|
|
|
4
4
|
/** Pluggable measurement backend. */
|
|
5
5
|
interface MeasurementAdapter {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { T as ToObservableOptions, t as toObservable } from './observable-
|
|
1
|
+
import { T as ToObservableOptions, t as toObservable } from './observable-uP-wy_uK.js';
|
|
2
2
|
import { OnModuleInit, OnModuleDestroy, ExecutionContext, CanActivate, DynamicModule } from '@nestjs/common';
|
|
3
3
|
import { ModuleRef } from '@nestjs/core';
|
|
4
|
-
import { G as Graph, a as GraphOptions, r as GraphPersistSnapshot } from './graph-
|
|
5
|
-
import { A as Actor, N as Node } from './node-
|
|
4
|
+
import { G as Graph, a as GraphOptions, r as GraphPersistSnapshot } from './graph-B6NFqv3z.js';
|
|
5
|
+
import { A as Actor, N as Node } from './node-B-f-Lu-k.js';
|
|
6
6
|
|
|
7
7
|
/** Class constructor key for decorator registries and Nest `ModuleRef.get()`. */
|
|
8
8
|
type DecoratorHostConstructor = abstract new (...args: unknown[]) => unknown;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { T as ToObservableOptions, t as toObservable } from './observable-
|
|
1
|
+
import { T as ToObservableOptions, t as toObservable } from './observable-DBnrwcar.cjs';
|
|
2
2
|
import { OnModuleInit, OnModuleDestroy, ExecutionContext, CanActivate, DynamicModule } from '@nestjs/common';
|
|
3
3
|
import { ModuleRef } from '@nestjs/core';
|
|
4
|
-
import { G as Graph, a as GraphOptions, r as GraphPersistSnapshot } from './graph-
|
|
5
|
-
import { A as Actor, N as Node } from './node-
|
|
4
|
+
import { G as Graph, a as GraphOptions, r as GraphPersistSnapshot } from './graph-D-3JIQme.cjs';
|
|
5
|
+
import { A as Actor, N as Node } from './node-B-f-Lu-k.cjs';
|
|
6
6
|
|
|
7
7
|
/** Class constructor key for decorator registries and Nest `ModuleRef.get()`. */
|
|
8
8
|
type DecoratorHostConstructor = abstract new (...args: unknown[]) => unknown;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as Node } from './node-
|
|
2
|
-
import { G as Graph } from './graph-
|
|
1
|
+
import { N as Node } from './node-B-f-Lu-k.cjs';
|
|
2
|
+
import { G as Graph } from './graph-D-3JIQme.cjs';
|
|
3
3
|
|
|
4
4
|
/** Pluggable measurement backend. */
|
|
5
5
|
interface MeasurementAdapter {
|
package/dist/index.cjs
CHANGED
|
@@ -2132,37 +2132,35 @@ var NodeImpl = class _NodeImpl {
|
|
|
2132
2132
|
// --- Emit pipeline ---
|
|
2133
2133
|
/**
|
|
2134
2134
|
* @internal The unified dispatch waist — one call = one wave.
|
|
2135
|
+
* See `GRAPHREFLY-SPEC.md` §1.3.1 for protocol context — the stages
|
|
2136
|
+
* below are the implementation order.
|
|
2135
2137
|
*
|
|
2136
2138
|
* Pipeline stages, in order:
|
|
2137
2139
|
*
|
|
2138
|
-
* 1.
|
|
2139
|
-
* 2. Terminal filter — post-COMPLETE/ERROR only TEARDOWN/INVALIDATE
|
|
2140
|
+
* 1. Terminal filter — post-COMPLETE/ERROR only TEARDOWN/INVALIDATE
|
|
2140
2141
|
* still propagate so graph teardown and cache-clear still work.
|
|
2141
|
-
*
|
|
2142
|
+
* 2. Tier sort (stable) — the batch can be in any order when it
|
|
2142
2143
|
* arrives; the walker downstream (`downWithBatch`) assumes
|
|
2143
2144
|
* ascending tier monotone, and so does `_updateState`'s tier-3
|
|
2144
2145
|
* slice walk. This is the single source of truth for ordering.
|
|
2145
|
-
*
|
|
2146
|
+
* 3. Synthetic DIRTY prefix — if a tier-3 payload is present, no
|
|
2146
2147
|
* DIRTY is already in the batch, and the node isn't already in
|
|
2147
2148
|
* `"dirty"` status, prepend `[DIRTY]` after any tier-0 START
|
|
2148
2149
|
* entries. Guarantees spec §1.3.1 (DIRTY precedes DATA within
|
|
2149
2150
|
* the same batch) uniformly across every entry point.
|
|
2150
|
-
*
|
|
2151
|
+
* 4. PAUSE/RESUME lock bookkeeping (C0) — update `_pauseLocks`,
|
|
2151
2152
|
* derive `_paused`, filter unknown-lockId RESUME, replay
|
|
2152
2153
|
* bufferAll buffer on final lock release.
|
|
2153
|
-
*
|
|
2154
|
+
* 5. Meta TEARDOWN fan-out — notify meta children before
|
|
2154
2155
|
* `_updateState`'s TEARDOWN branch calls `_deactivate`. Hoisted
|
|
2155
2156
|
* out of the walk to keep `_updateState` re-entrance-free.
|
|
2156
|
-
*
|
|
2157
|
+
* 6. `_updateState` — walk the batch in tier order, advancing
|
|
2157
2158
|
* `_cached` / `_status` / `_versioning` and running equals
|
|
2158
2159
|
* substitution on tier-3 DATA (§3.5.1). Returns
|
|
2159
2160
|
* `{finalMessages, equalsError?}`.
|
|
2160
|
-
*
|
|
2161
|
+
* 7. `downWithBatch` dispatch (or bufferAll capture if paused with
|
|
2161
2162
|
* `pausable: "resumeAll"`).
|
|
2162
|
-
*
|
|
2163
|
-
*
|
|
2164
|
-
* `node.down` / `node.emit` / `actions.down` / `actions.emit` all
|
|
2165
|
-
* converge here — the unified `_emit` waist (spec §1.3.1).
|
|
2163
|
+
* 8. Recursive ERROR emission if equals threw mid-walk.
|
|
2166
2164
|
*/
|
|
2167
2165
|
_emit(messages) {
|
|
2168
2166
|
if (messages.length === 0) return;
|
|
@@ -8187,20 +8185,12 @@ function useStore4(node2) {
|
|
|
8187
8185
|
function useSubscribeRecord4(keys, factory) {
|
|
8188
8186
|
const result = (0, import_vue.shallowRef)({});
|
|
8189
8187
|
const activeSubs = /* @__PURE__ */ new Map();
|
|
8190
|
-
|
|
8191
|
-
|
|
8192
|
-
|
|
8193
|
-
|
|
8194
|
-
|
|
8195
|
-
|
|
8196
|
-
if (disposed) return;
|
|
8197
|
-
batchPending = false;
|
|
8198
|
-
const snap = {};
|
|
8199
|
-
for (const [key, entry] of activeSubs) {
|
|
8200
|
-
snap[key] = { ...entry.values };
|
|
8201
|
-
}
|
|
8202
|
-
result.value = snap;
|
|
8203
|
-
});
|
|
8188
|
+
function flushResult() {
|
|
8189
|
+
const snap = {};
|
|
8190
|
+
for (const [key, entry] of activeSubs) {
|
|
8191
|
+
snap[key] = { ...entry.values };
|
|
8192
|
+
}
|
|
8193
|
+
result.value = snap;
|
|
8204
8194
|
}
|
|
8205
8195
|
function sync(newKeys) {
|
|
8206
8196
|
for (const entry of activeSubs.values()) {
|
|
@@ -8217,7 +8207,7 @@ function useSubscribeRecord4(keys, factory) {
|
|
|
8217
8207
|
values[field] = node2.cache;
|
|
8218
8208
|
const unsub = node2.subscribe(() => {
|
|
8219
8209
|
values[field] = node2.cache;
|
|
8220
|
-
|
|
8210
|
+
flushResult();
|
|
8221
8211
|
});
|
|
8222
8212
|
subs.push(unsub);
|
|
8223
8213
|
}
|
|
@@ -8236,7 +8226,6 @@ function useSubscribeRecord4(keys, factory) {
|
|
|
8236
8226
|
(0, import_vue.watch)(readKeys, (newKeys) => sync(newKeys ?? []), { immediate: true });
|
|
8237
8227
|
if ((0, import_vue.getCurrentScope)()) {
|
|
8238
8228
|
(0, import_vue.onScopeDispose)(() => {
|
|
8239
|
-
disposed = true;
|
|
8240
8229
|
for (const entry of activeSubs.values()) {
|
|
8241
8230
|
for (const unsub of entry.subs) unsub();
|
|
8242
8231
|
}
|
|
@@ -8265,18 +8254,17 @@ function create(initializer) {
|
|
|
8265
8254
|
g.add("state", s);
|
|
8266
8255
|
const getState = () => s.cache;
|
|
8267
8256
|
const setState = (partial, replace) => {
|
|
8268
|
-
const prev =
|
|
8257
|
+
const prev = s.cache;
|
|
8269
8258
|
const next = typeof partial === "function" ? partial(prev) : partial;
|
|
8270
|
-
|
|
8271
|
-
s.emit(nextState);
|
|
8259
|
+
s.emit(replace ? next : { ...prev, ...next });
|
|
8272
8260
|
};
|
|
8273
8261
|
const api = {
|
|
8274
8262
|
getState,
|
|
8275
8263
|
setState,
|
|
8276
8264
|
getInitialState: () => initialValue,
|
|
8277
8265
|
subscribe: (listener) => {
|
|
8278
|
-
let prev = getState();
|
|
8279
8266
|
let initial = true;
|
|
8267
|
+
let prev = s.cache;
|
|
8280
8268
|
return s.subscribe((msgs) => {
|
|
8281
8269
|
for (const [t, v] of msgs) {
|
|
8282
8270
|
if (t === DATA) {
|