@toyz/loom 0.16.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/element/element.d.ts.map +1 -1
- package/dist/element/element.js +5 -1
- package/dist/element/element.js.map +1 -1
- package/dist/morph.d.ts.map +1 -1
- package/dist/morph.js +35 -23
- package/dist/morph.js.map +1 -1
- package/dist/trace.d.ts +6 -5
- package/dist/trace.d.ts.map +1 -1
- package/dist/trace.js +27 -7
- package/dist/trace.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../src/element/element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,QAAQ,CAAC;AAIjD,OAAO,
|
|
1
|
+
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../src/element/element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,QAAQ,CAAC;AAIjD,OAAO,EAAmG,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE3I,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,8BAAsB,WAAY,SAAQ,WAAW;IACnD,iEAAiE;IACjE,SAAS,KAAK,GAAG,yBAAkB;IAEnC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,qEAAqE;IACrE,WAAW,EAAE,SAAS,GAAG,IAAI,CAAQ;;IAerC,8DAA8D;IAC9D,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACjC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;IAQzE;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAa1C,8DAA8D;IAC9D,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAMtE,yBAAyB;IACzB,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAMnD,sDAAsD;IACtD,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI;IAM9B,uCAAuC;IACvC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAInE,0CAA0C;IAC1C,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,OAAO,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE;IAM/D,iBAAiB,IAAI,IAAI;IAgBzB,oBAAoB,IAAI,IAAI;IAQ5B;;;OAGG;IACH,MAAM,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI;IAE9B;;;OAGG;IACH,YAAY,IAAI,IAAI;IAEpB;;;OAGG;IACH,YAAY,IAAI,OAAO;IAMvB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,YAAY,CA4BlB;IAEF,0DAA0D;IAC1D,cAAc,IAAI,IAAI;IAMtB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAkCpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAqCnB;;;OAGG;IACH,KAAK,IAAI,IAAI;CAKd"}
|
package/dist/element/element.js
CHANGED
|
@@ -3,7 +3,7 @@ import { adoptCSS } from "../css";
|
|
|
3
3
|
import { COMPUTED_DIRTY, REACTIVES, CONNECT_HOOKS, FIRST_UPDATED_HOOKS } from "../decorators/symbols";
|
|
4
4
|
import { morph } from "../morph";
|
|
5
5
|
import { app } from "../app";
|
|
6
|
-
import { startTrace, endTrace, hasDirtyDeps, canFastPatch, applyBindings, refreshSnapshots } from "../trace";
|
|
6
|
+
import { startTrace, endTrace, hasDirtyDeps, canFastPatch, applyBindings, refreshSnapshots, releaseTrace } from "../trace";
|
|
7
7
|
export class LoomElement extends HTMLElement {
|
|
8
8
|
/** Access the LoomApp instance for inline provider resolution */
|
|
9
9
|
get app() { return app; }
|
|
@@ -156,6 +156,8 @@ export class LoomElement extends HTMLElement {
|
|
|
156
156
|
const result = this.update();
|
|
157
157
|
// Capture trace BEFORE appendChild — appendChild triggers child connectedCallback
|
|
158
158
|
// which would call startTrace() and clobber our module-level trace state.
|
|
159
|
+
if (this.__traceDeps)
|
|
160
|
+
releaseTrace(this.__traceDeps);
|
|
159
161
|
this.__traceDeps = endTrace();
|
|
160
162
|
// Fast append — shadow root is empty, no need to diff
|
|
161
163
|
if (result != null) {
|
|
@@ -200,6 +202,8 @@ export class LoomElement extends HTMLElement {
|
|
|
200
202
|
morph(this.shadow, result);
|
|
201
203
|
}
|
|
202
204
|
// Capture/refresh dependency tracking + bindings
|
|
205
|
+
if (this.__traceDeps)
|
|
206
|
+
releaseTrace(this.__traceDeps);
|
|
203
207
|
this.__traceDeps = endTrace();
|
|
204
208
|
if (!this._hasUpdated) {
|
|
205
209
|
this._hasUpdated = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/element/element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkC,MAAM,QAAQ,CAAC;AAE7D,OAAO,EAAiB,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAkB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/element/element.ts"],"names":[],"mappings":"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"}
|
package/dist/morph.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"morph.d.ts","sourceRoot":"","sources":["../src/morph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,8CAA8C;AAC9C,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,uEAAuE;AACvE,eAAO,MAAM,UAAU,gBAAgB,CAAC;AAExC,4CAA4C;AAC5C,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAEzD,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD,wDAAwD;AACxD,MAAM,WAAW,QAAQ;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC;CACjC;AAID;;;GAGG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAGlF;
|
|
1
|
+
{"version":3,"file":"morph.d.ts","sourceRoot":"","sources":["../src/morph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,8CAA8C;AAC9C,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,uEAAuE;AACvE,eAAO,MAAM,UAAU,gBAAgB,CAAC;AAExC,4CAA4C;AAC5C,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAEzD,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD,wDAAwD;AACxD,MAAM,WAAW,QAAQ;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC;CACjC;AAID;;;GAGG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAGlF;AA6LD,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CAO5D"}
|
package/dist/morph.js
CHANGED
|
@@ -27,19 +27,25 @@ export function morph(root, newTree) {
|
|
|
27
27
|
}
|
|
28
28
|
// ── Core algorithm ──
|
|
29
29
|
function morphChildren(parent, newChildren) {
|
|
30
|
-
// Build keyed index &
|
|
30
|
+
// Build keyed index & collect keep set in a single scan
|
|
31
31
|
let oldKeyed = null;
|
|
32
|
-
let
|
|
32
|
+
let keepSet = null;
|
|
33
33
|
let current = parent.firstChild;
|
|
34
34
|
while (current) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
if (current.nodeType === 1) {
|
|
36
|
+
const el = current;
|
|
37
|
+
const key = el.getAttribute("loom-key");
|
|
38
|
+
if (key) {
|
|
39
|
+
if (!oldKeyed)
|
|
40
|
+
oldKeyed = new Map();
|
|
41
|
+
oldKeyed.set(key, el);
|
|
42
|
+
}
|
|
43
|
+
if (el.hasAttribute("loom-keep")) {
|
|
44
|
+
if (!keepSet)
|
|
45
|
+
keepSet = new Set();
|
|
46
|
+
keepSet.add(el);
|
|
47
|
+
}
|
|
40
48
|
}
|
|
41
|
-
if (isKeep(current))
|
|
42
|
-
hasKeep = true;
|
|
43
49
|
current = current.nextSibling;
|
|
44
50
|
}
|
|
45
51
|
let oldChild = parent.firstChild;
|
|
@@ -60,16 +66,16 @@ function morphChildren(parent, newChildren) {
|
|
|
60
66
|
}
|
|
61
67
|
continue;
|
|
62
68
|
}
|
|
63
|
-
// Skip unconsumed keyed nodes or kept nodes
|
|
69
|
+
// Skip unconsumed keyed nodes or kept nodes
|
|
64
70
|
while (oldChild) {
|
|
65
|
-
if (oldKeyed) {
|
|
66
|
-
const ock =
|
|
71
|
+
if (oldKeyed && oldChild.nodeType === 1) {
|
|
72
|
+
const ock = oldChild.getAttribute("loom-key");
|
|
67
73
|
if (ock && oldKeyed.has(ock)) {
|
|
68
74
|
oldChild = oldChild.nextSibling;
|
|
69
75
|
continue;
|
|
70
76
|
}
|
|
71
77
|
}
|
|
72
|
-
if (
|
|
78
|
+
if (keepSet && keepSet.has(oldChild)) {
|
|
73
79
|
oldChild = oldChild.nextSibling;
|
|
74
80
|
continue;
|
|
75
81
|
}
|
|
@@ -92,9 +98,10 @@ function morphChildren(parent, newChildren) {
|
|
|
92
98
|
// Remove unconsumed old children
|
|
93
99
|
while (oldChild) {
|
|
94
100
|
const next = oldChild.nextSibling;
|
|
101
|
+
const isKept = keepSet && keepSet.has(oldChild);
|
|
95
102
|
const oldKey = getKey(oldChild);
|
|
96
103
|
const isUnconsumedKeyed = oldKeyed && oldKey && oldKeyed.has(oldKey);
|
|
97
|
-
if (!
|
|
104
|
+
if (!isKept && !isUnconsumedKeyed) {
|
|
98
105
|
parent.removeChild(oldChild);
|
|
99
106
|
}
|
|
100
107
|
oldChild = next;
|
|
@@ -102,7 +109,7 @@ function morphChildren(parent, newChildren) {
|
|
|
102
109
|
// Also remove unconsumed keyed nodes that were skipped
|
|
103
110
|
if (oldKeyed) {
|
|
104
111
|
for (const old of oldKeyed.values()) {
|
|
105
|
-
if (!
|
|
112
|
+
if (!keepSet || !keepSet.has(old)) {
|
|
106
113
|
parent.removeChild(old);
|
|
107
114
|
}
|
|
108
115
|
}
|
|
@@ -160,9 +167,15 @@ function morphNode(old, next) {
|
|
|
160
167
|
// When morphChildren appends children from nextEl to oldEl,
|
|
161
168
|
// the live list shrinks mid-iteration, skipping every other child.
|
|
162
169
|
const nextChildren = nextEl.childNodes;
|
|
163
|
-
const
|
|
164
|
-
|
|
165
|
-
|
|
170
|
+
const len = nextChildren.length;
|
|
171
|
+
if (len > _snapshotBuf.length)
|
|
172
|
+
_snapshotBuf.length = len;
|
|
173
|
+
for (let i = 0; i < len; i++)
|
|
174
|
+
_snapshotBuf[i] = nextChildren[i];
|
|
175
|
+
// Create a fixed-length view so morphChildren sees exactly `len` items
|
|
176
|
+
const snapshot = { length: len };
|
|
177
|
+
for (let i = 0; i < len; i++)
|
|
178
|
+
snapshot[i] = _snapshotBuf[i];
|
|
166
179
|
morphChildren(oldEl, snapshot);
|
|
167
180
|
}
|
|
168
181
|
}
|
|
@@ -210,18 +223,15 @@ function patchEvents(old, next) {
|
|
|
210
223
|
}
|
|
211
224
|
}
|
|
212
225
|
// Add/replace listeners from new
|
|
226
|
+
let hasNew = false;
|
|
213
227
|
for (const type in ne) {
|
|
228
|
+
hasNew = true;
|
|
214
229
|
if (!(type in oe)) {
|
|
215
230
|
old.addEventListener(type, loomEventProxy);
|
|
216
231
|
}
|
|
217
232
|
oe[type] = ne[type];
|
|
218
233
|
}
|
|
219
234
|
// Transfer the record to old element if new has any events
|
|
220
|
-
let hasNew = false;
|
|
221
|
-
for (const _ in ne) {
|
|
222
|
-
hasNew = true;
|
|
223
|
-
break;
|
|
224
|
-
}
|
|
225
235
|
if (hasNew) {
|
|
226
236
|
old.__loomEvents = oe;
|
|
227
237
|
}
|
|
@@ -291,6 +301,8 @@ function canMorph(old, next) {
|
|
|
291
301
|
}
|
|
292
302
|
return false;
|
|
293
303
|
}
|
|
304
|
+
/** Pooled snapshot buffer — grows to match the largest childNodes list, avoids per-element allocation */
|
|
305
|
+
let _snapshotBuf = [];
|
|
294
306
|
/** Reusable single-element wrapper to avoid allocating [tree] on every call */
|
|
295
307
|
const _singleWrap = [null];
|
|
296
308
|
function normalizeChildren(tree) {
|
package/dist/morph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"morph.js","sourceRoot":"","sources":["../src/morph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,8CAA8C;AAC9C,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC;AAE1C,uEAAuE;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC;AAgBxC,mBAAmB;AAEnB;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,IAA8B,EAAE,OAAsB;IAC1E,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC/C,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACnC,CAAC;AAED,uBAAuB;AAEvB,SAAS,aAAa,CAAC,MAAY,EAAE,WAA4B;IAC/D,
|
|
1
|
+
{"version":3,"file":"morph.js","sourceRoot":"","sources":["../src/morph.ts"],"names":[],"mappings":"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"}
|
package/dist/trace.d.ts
CHANGED
|
@@ -81,15 +81,16 @@ export declare function hasDirtyDeps(trace: TraceDeps | null): boolean;
|
|
|
81
81
|
* Returns false for null trace or if any dirty dep has no binding.
|
|
82
82
|
*/
|
|
83
83
|
export declare function canFastPatch(trace: TraceDeps | null): boolean;
|
|
84
|
-
/**
|
|
85
|
-
* Apply all dirty bindings.
|
|
86
|
-
* Only patches bindings for deps that actually changed.
|
|
87
|
-
* Uses a Set to deduplicate patchers (one binding might depend on multiple changed reactives).
|
|
88
|
-
*/
|
|
89
84
|
export declare function applyBindings(trace: TraceDeps): void;
|
|
90
85
|
/**
|
|
91
86
|
* Update the snapshot versions to current.
|
|
92
87
|
* Called after a successful update()+morph() or fast-patch.
|
|
93
88
|
*/
|
|
94
89
|
export declare function refreshSnapshots(trace: TraceDeps): void;
|
|
90
|
+
/**
|
|
91
|
+
* Return a trace's pooled structures back to the pools.
|
|
92
|
+
* Call after the trace is no longer needed (after refreshSnapshots).
|
|
93
|
+
* Prevents unbounded pool growth.
|
|
94
|
+
*/
|
|
95
|
+
export declare function releaseTrace(trace: TraceDeps): void;
|
|
95
96
|
//# sourceMappingURL=trace.d.ts.map
|
package/dist/trace.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,mEAAmE;AACnE,MAAM,WAAW,OAAO;IACtB,qDAAqD;IACrD,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,4BAA4B;IAC5B,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,kEAAkE;IAClE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,iFAAiF;AACjF,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,wDAAwD;IACxD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;CACzC;AAUD,sHAAsH;AACtH,wBAAgB,eAAe,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAuB;AA2BnF;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,SAAS,CAepC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAIxD;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAUhD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC7B,MAAM,EAAE,IAAI,GAAG,OAAO,EACtB,OAAO,EAAE,MAAM,IAAI,GAClB,IAAI,CAcN;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAM7D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAW7D;
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,mEAAmE;AACnE,MAAM,WAAW,OAAO;IACtB,qDAAqD;IACrD,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,4BAA4B;IAC5B,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,kEAAkE;IAClE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,iFAAiF;AACjF,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACrC,wDAAwD;IACxD,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;CACzC;AAUD,sHAAsH;AACtH,wBAAgB,eAAe,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAuB;AA2BnF;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,SAAS,CAepC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAIxD;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAUhD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC7B,MAAM,EAAE,IAAI,GAAG,OAAO,EACtB,OAAO,EAAE,MAAM,IAAI,GAClB,IAAI,CAcN;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAM7D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAW7D;AAUD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAyBpD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAIvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CASnD"}
|
package/dist/trace.js
CHANGED
|
@@ -101,7 +101,8 @@ export function endSubTrace() {
|
|
|
101
101
|
activeDeps = traceStack.pop() || null;
|
|
102
102
|
// Merge sub-trace deps into parent trace
|
|
103
103
|
if (activeDeps) {
|
|
104
|
-
|
|
104
|
+
for (const r of captured)
|
|
105
|
+
activeDeps.add(r);
|
|
105
106
|
}
|
|
106
107
|
return captured;
|
|
107
108
|
}
|
|
@@ -114,14 +115,14 @@ export function addBinding(reactives, target, patcher) {
|
|
|
114
115
|
return;
|
|
115
116
|
const binding = { reactives, target, patcher };
|
|
116
117
|
// Register this binding for every reactive it depends on
|
|
117
|
-
|
|
118
|
+
for (const r of reactives) {
|
|
118
119
|
let list = activeBindings.get(r);
|
|
119
120
|
if (!list) {
|
|
120
121
|
list = [];
|
|
121
122
|
activeBindings.set(r, list);
|
|
122
123
|
}
|
|
123
124
|
list.push(binding);
|
|
124
|
-
}
|
|
125
|
+
}
|
|
125
126
|
}
|
|
126
127
|
/**
|
|
127
128
|
* Check if any dependency in the trace has changed since the snapshot.
|
|
@@ -161,10 +162,12 @@ export function canFastPatch(trace) {
|
|
|
161
162
|
* Only patches bindings for deps that actually changed.
|
|
162
163
|
* Uses a Set to deduplicate patchers (one binding might depend on multiple changed reactives).
|
|
163
164
|
*/
|
|
165
|
+
/** Pooled buffer for applyBindings — avoids array allocation per call */
|
|
166
|
+
const _toRunBuf = [];
|
|
164
167
|
export function applyBindings(trace) {
|
|
165
168
|
// Monotonic generation counter for per-call dedup (avoids Set allocation)
|
|
166
169
|
const gen = ++_applyGen;
|
|
167
|
-
|
|
170
|
+
_toRunBuf.length = 0;
|
|
168
171
|
for (const [r, ver] of trace.versions) {
|
|
169
172
|
if (r.peekVersion() !== ver) {
|
|
170
173
|
const bindings = trace.bindings.get(r);
|
|
@@ -173,16 +176,17 @@ export function applyBindings(trace) {
|
|
|
173
176
|
const p = bindings[i].patcher;
|
|
174
177
|
if (p.__ran !== gen) {
|
|
175
178
|
p.__ran = gen;
|
|
176
|
-
|
|
179
|
+
_toRunBuf.push(p);
|
|
177
180
|
}
|
|
178
181
|
}
|
|
179
182
|
}
|
|
180
183
|
}
|
|
181
184
|
}
|
|
182
185
|
// Execute unique patchers
|
|
183
|
-
for (let i = 0; i <
|
|
184
|
-
|
|
186
|
+
for (let i = 0; i < _toRunBuf.length; i++) {
|
|
187
|
+
_toRunBuf[i]();
|
|
185
188
|
}
|
|
189
|
+
_toRunBuf.length = 0;
|
|
186
190
|
}
|
|
187
191
|
/**
|
|
188
192
|
* Update the snapshot versions to current.
|
|
@@ -193,4 +197,20 @@ export function refreshSnapshots(trace) {
|
|
|
193
197
|
trace.versions.set(r, r.peekVersion());
|
|
194
198
|
}
|
|
195
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Return a trace's pooled structures back to the pools.
|
|
202
|
+
* Call after the trace is no longer needed (after refreshSnapshots).
|
|
203
|
+
* Prevents unbounded pool growth.
|
|
204
|
+
*/
|
|
205
|
+
export function releaseTrace(trace) {
|
|
206
|
+
trace.deps.clear();
|
|
207
|
+
_depsPool.push(trace.deps);
|
|
208
|
+
trace.versions.clear();
|
|
209
|
+
_versionsPool.push(trace.versions);
|
|
210
|
+
// Clear binding arrays, then the map itself
|
|
211
|
+
for (const list of trace.bindings.values())
|
|
212
|
+
list.length = 0;
|
|
213
|
+
trace.bindings.clear();
|
|
214
|
+
_bindingsPool.push(trace.bindings);
|
|
215
|
+
}
|
|
196
216
|
//# sourceMappingURL=trace.js.map
|
package/dist/trace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA0BH,qCAAqC;AAErC;;;GAGG;AACH,IAAI,UAAU,GAA8B,IAAI,CAAC;AAEjD,sHAAsH;AACtH,MAAM,UAAU,eAAe,KAAgC,OAAO,UAAU,CAAC,CAAC,CAAC;AAEnF,kFAAkF;AAClF,IAAI,UAAU,GAAyB,EAAE,CAAC;AAE1C,+DAA+D;AAC/D,IAAI,cAAc,GAAyC,IAAI,CAAC;AAEhE,2DAA2D;AAC3D,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,sDAAsD;AAEtD,MAAM,SAAS,GAAyB,EAAE,CAAC;AAC3C,MAAM,aAAa,GAAiC,EAAE,CAAC;AACvD,MAAM,aAAa,GAAoC,EAAE,CAAC;AAE1D,SAAS,UAAU;IACjB,OAAO,SAAS,CAAC,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;AACtC,CAAC;AACD,SAAS,eAAe;IACtB,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;AAC1C,CAAC;AACD,SAAS,eAAe;IACtB,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,UAAU,GAAG,UAAU,EAAE,CAAC;IAC1B,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,cAAc,GAAG,eAAe,EAAE,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,IAAI,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC;IACxC,UAAU,GAAG,IAAI,CAAC;IAElB,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,IAAI,eAAe,EAAE,CAAC;IACrD,cAAc,GAAG,IAAI,CAAC;IACtB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAEtB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,UAAU,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAAuB;IAChD,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,UAAU,GAAG,UAAU,EAAE,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,QAAQ,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC;IAC5C,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;IAEtC,yCAAyC;IACzC,IAAI,UAAU,EAAE,CAAC;QACf,
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"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"}
|