@llui/dom 0.0.4 → 0.0.6

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.
Files changed (55) hide show
  1. package/dist/el-split.d.ts.map +1 -1
  2. package/dist/el-split.js +4 -12
  3. package/dist/el-split.js.map +1 -1
  4. package/dist/el-template.d.ts.map +1 -1
  5. package/dist/el-template.js +4 -15
  6. package/dist/el-template.js.map +1 -1
  7. package/dist/hmr.d.ts.map +1 -1
  8. package/dist/hmr.js +2 -0
  9. package/dist/hmr.js.map +1 -1
  10. package/dist/index.d.ts +3 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +5 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/mathml-elements.d.ts +45 -0
  15. package/dist/mathml-elements.d.ts.map +1 -0
  16. package/dist/mathml-elements.js +136 -0
  17. package/dist/mathml-elements.js.map +1 -0
  18. package/dist/primitives/branch.d.ts.map +1 -1
  19. package/dist/primitives/branch.js +2 -0
  20. package/dist/primitives/branch.js.map +1 -1
  21. package/dist/primitives/context.d.ts.map +1 -1
  22. package/dist/primitives/context.js +9 -3
  23. package/dist/primitives/context.js.map +1 -1
  24. package/dist/primitives/each.d.ts +4 -0
  25. package/dist/primitives/each.d.ts.map +1 -1
  26. package/dist/primitives/each.js +236 -105
  27. package/dist/primitives/each.js.map +1 -1
  28. package/dist/primitives/selector.d.ts +7 -11
  29. package/dist/primitives/selector.d.ts.map +1 -1
  30. package/dist/primitives/selector.js +71 -59
  31. package/dist/primitives/selector.js.map +1 -1
  32. package/dist/primitives/text.d.ts.map +1 -1
  33. package/dist/primitives/text.js +4 -4
  34. package/dist/primitives/text.js.map +1 -1
  35. package/dist/scope.d.ts +15 -0
  36. package/dist/scope.d.ts.map +1 -1
  37. package/dist/scope.js +96 -15
  38. package/dist/scope.js.map +1 -1
  39. package/dist/structural.d.ts +14 -0
  40. package/dist/structural.d.ts.map +1 -1
  41. package/dist/svg-elements.d.ts +72 -0
  42. package/dist/svg-elements.d.ts.map +1 -0
  43. package/dist/svg-elements.js +191 -0
  44. package/dist/svg-elements.js.map +1 -0
  45. package/dist/types.d.ts +0 -1
  46. package/dist/types.d.ts.map +1 -1
  47. package/dist/update-loop.d.ts +15 -0
  48. package/dist/update-loop.d.ts.map +1 -1
  49. package/dist/update-loop.js +98 -29
  50. package/dist/update-loop.js.map +1 -1
  51. package/package.json +1 -1
  52. package/dist/chain-update.d.ts +0 -7
  53. package/dist/chain-update.d.ts.map +0 -1
  54. package/dist/chain-update.js +0 -16
  55. package/dist/chain-update.js.map +0 -1
@@ -1,6 +1,21 @@
1
1
  import { getRenderContext, setRenderContext, clearRenderContext, } from '../render-context';
2
- import { createScope, disposeScope, addDisposer, removeOrphanedChildren } from '../scope';
2
+ import { createScope, disposeScope, disposeScopesBulk, addDisposer, removeOrphanedChildren, } from '../scope';
3
3
  import { getFlatBindings, setFlatBindings } from '../binding';
4
+ import { FULL_MASK } from '../update-loop';
5
+ // Clear callbacks — registered by selector.bind() during render, called by reconcileClear().
6
+ // Eliminates per-row disposers (1000 Set.delete calls → 1 registry.clear() call).
7
+ let activeClearCallbacks = null;
8
+ let activeRemoveCallbacks = null;
9
+ /** Register a callback to run when the current each() block clears. */
10
+ export function registerOnClear(cb) {
11
+ if (activeClearCallbacks)
12
+ activeClearCallbacks.push(cb);
13
+ }
14
+ /** Register a callback to run when a single row is removed by key. */
15
+ export function registerOnRemove(cb) {
16
+ if (activeRemoveCallbacks)
17
+ activeRemoveCallbacks.push(cb);
18
+ }
4
19
  // Reusable render context for buildEntry — avoids object allocation per entry
5
20
  const buildCtx = {
6
21
  rootScope: null,
@@ -8,21 +23,37 @@ const buildCtx = {
8
23
  allBindings: [],
9
24
  structuralBlocks: [],
10
25
  };
26
+ // Reusable render bag — mutated per entry instead of allocating new objects
27
+ const buildBag = {
28
+ send: null,
29
+ get item() {
30
+ return buildBag._getItemProxy();
31
+ },
32
+ acc: null,
33
+ index: null,
34
+ _getItemProxy: null,
35
+ };
11
36
  export function each(opts) {
12
37
  const ctx = getRenderContext();
13
38
  const parentScope = ctx.rootScope;
14
39
  const blocks = ctx.structuralBlocks;
15
40
  const anchor = document.createComment('each');
16
41
  const entries = [];
42
+ const clearCallbacks = [];
43
+ const removeCallbacks = [];
17
44
  // Entries whose leave animation is still in progress. Their DOM nodes
18
45
  // remain in the parent until the leave Promise resolves.
19
46
  const leaving = [];
20
47
  const initialItems = opts.items(ctx.state);
48
+ activeClearCallbacks = clearCallbacks;
49
+ activeRemoveCallbacks = removeCallbacks;
21
50
  for (let i = 0; i < initialItems.length; i++) {
22
51
  const item = initialItems[i];
23
52
  const entry = buildEntry(item, i, opts, parentScope, ctx);
24
53
  entries.push(entry);
25
54
  }
55
+ activeClearCallbacks = null;
56
+ activeRemoveCallbacks = null;
26
57
  // Fire initial enter for mount-time items
27
58
  if (opts.enter) {
28
59
  for (const entry of entries) {
@@ -32,17 +63,15 @@ export function each(opts) {
32
63
  }
33
64
  let lastItemsRef = initialItems;
34
65
  const block = {
66
+ mask: opts.__mask ?? FULL_MASK,
35
67
  reconcile(state) {
36
68
  const parent = anchor.parentNode;
37
69
  if (!parent)
38
70
  return;
39
71
  const newItems = opts.items(state);
40
- // Fast path: same array reference → skip entirely
41
- if (newItems === lastItemsRef) {
42
- for (const entry of entries)
43
- entry.scope.eachItemStable = true;
72
+ // Fast path: same array reference → skip entirely.
73
+ if (newItems === lastItemsRef)
44
74
  return;
45
- }
46
75
  lastItemsRef = newItems;
47
76
  const report = opts.onTransition ? { entering: [], leaving: [] } : null;
48
77
  reconcileEntries(entries, newItems, opts, parentScope, parent, anchor, ctx, state, leaving, report);
@@ -50,6 +79,115 @@ export function each(opts) {
50
79
  opts.onTransition({ entering: report.entering, leaving: report.leaving, parent });
51
80
  }
52
81
  },
82
+ /** Same keys, only item data changed — skip mismatch/swap detection.
83
+ * Compiler calls this when it knows the array structure is unchanged. */
84
+ reconcileItems(state) {
85
+ const newItems = opts.items(state);
86
+ lastItemsRef = newItems;
87
+ const len = Math.min(entries.length, newItems.length);
88
+ for (let i = 0; i < len; i++) {
89
+ const entry = entries[i];
90
+ const newItem = newItems[i];
91
+ if (entry.item !== newItem) {
92
+ updateEntry(entry, newItem, i);
93
+ }
94
+ }
95
+ },
96
+ /** Remove all items — skip items accessor, go straight to clear path. */
97
+ reconcileClear() {
98
+ lastItemsRef = [];
99
+ const parent = anchor.parentNode;
100
+ if (!parent)
101
+ return;
102
+ if (entries.length === 0)
103
+ return;
104
+ // Call registered clear callbacks (e.g., selector registry.clear())
105
+ // BEFORE scope disposal — avoids 1000 individual Set.delete calls
106
+ for (let i = 0; i < clearCallbacks.length; i++)
107
+ clearCallbacks[i]();
108
+ // Bulk DOM removal
109
+ const range = document.createRange();
110
+ range.setStartAfter(anchor);
111
+ const lastEntry = entries[entries.length - 1];
112
+ const lastNode = lastEntry.nodes[lastEntry.nodes.length - 1];
113
+ range.setEndAfter(lastNode);
114
+ range.deleteContents();
115
+ // Bulk scope disposal — disposers that were replaced by clearCallbacks
116
+ // are now no-ops, making this much faster
117
+ const scopes = [];
118
+ for (let i = 0; i < entries.length; i++)
119
+ scopes.push(entries[i].scope);
120
+ disposeScopesBulk(scopes);
121
+ removeOrphanedChildren(parentScope);
122
+ entries.length = 0;
123
+ },
124
+ /** Remove entries not present in the new items. Optimized for filter()
125
+ * patterns where items are removed but order is preserved. Walks old
126
+ * and new arrays in parallel — O(n) with no Map/Set allocation. */
127
+ reconcileRemove(state) {
128
+ const newItems = opts.items(state);
129
+ lastItemsRef = newItems;
130
+ const parent = anchor.parentNode;
131
+ if (!parent)
132
+ return;
133
+ const oldLen = entries.length;
134
+ const newLen = newItems.length;
135
+ if (newLen >= oldLen) {
136
+ // Not a removal — fallback (shouldn't happen if compiler detected correctly)
137
+ reconcileEntries(entries, newItems, opts, parentScope, parent, anchor, ctx, state, leaving, null);
138
+ return;
139
+ }
140
+ // Parallel walk: new items are a subsequence of old items (same order, some removed)
141
+ let ni = 0;
142
+ let didRemove = false;
143
+ for (let oi = 0; oi < oldLen; oi++) {
144
+ const entry = entries[oi];
145
+ if (ni < newLen && entry.key === opts.key(newItems[ni])) {
146
+ // Entry survives — update if item ref changed
147
+ if (entry.item !== newItems[ni]) {
148
+ updateEntry(entry, newItems[ni], ni);
149
+ }
150
+ ni++;
151
+ }
152
+ else {
153
+ // Entry removed — notify selectors before scope disposal
154
+ for (let ci = 0; ci < removeCallbacks.length; ci++)
155
+ removeCallbacks[ci](entry.key);
156
+ for (const node of entry.nodes)
157
+ parent.removeChild(node);
158
+ disposeScope(entry.scope, true);
159
+ entries[oi] = null;
160
+ didRemove = true;
161
+ }
162
+ }
163
+ // Compact entries array
164
+ if (didRemove) {
165
+ let w = 0;
166
+ for (let r = 0; r < oldLen; r++) {
167
+ if (entries[r])
168
+ entries[w++] = entries[r];
169
+ }
170
+ entries.length = w;
171
+ removeOrphanedChildren(parentScope);
172
+ }
173
+ // Update indices for remaining entries
174
+ for (let i = 0; i < entries.length; i++) {
175
+ entries[i].index = i;
176
+ }
177
+ },
178
+ /** Update only entries at stride intervals — O(k) where k = n/stride.
179
+ * The compiler passes the stride from the detected for-loop pattern. */
180
+ reconcileChanged(state, stride) {
181
+ const newItems = opts.items(state);
182
+ lastItemsRef = newItems;
183
+ for (let i = 0; i < entries.length && i < newItems.length; i += stride) {
184
+ const entry = entries[i];
185
+ const newItem = newItems[i];
186
+ if (entry.item !== newItem) {
187
+ updateEntry(entry, newItem, i);
188
+ }
189
+ }
190
+ },
53
191
  };
54
192
  blocks.push(block);
55
193
  addDisposer(parentScope, () => {
@@ -75,7 +213,9 @@ export function each(opts) {
75
213
  });
76
214
  const result = [anchor];
77
215
  for (const entry of entries) {
78
- result.push(...entry.nodes);
216
+ const nodes = entry.nodes;
217
+ for (let i = 0; i < nodes.length; i++)
218
+ result.push(nodes[i]);
79
219
  }
80
220
  return result;
81
221
  }
@@ -112,11 +252,14 @@ function fireEnter(entry, opts) {
112
252
  }
113
253
  function buildEntry(item, index, opts, parentScope, ctx, state) {
114
254
  const key = opts.key(item);
255
+ // Use a lightweight scope — just needs itemUpdaters for per-item bindings.
256
+ // Full scope features (disposers, bindings, children) are only needed when
257
+ // the render callback uses structural primitives or selector.bind().
115
258
  const scope = createScope(parentScope);
116
259
  const currentState = (state ?? ctx.state);
117
260
  const send = ctx.send;
118
261
  // Create entry before render so itemAccessor closures can capture it
119
- const entry = { key, item, current: item, index, scope, nodes: null };
262
+ const entry = { key, item, current: item, index, scope, nodes: null, updaters: [] };
120
263
  // Base callable: item(selector) for computed expressions
121
264
  const itemFn = (selector) => {
122
265
  const accessor = () => selector(entry.current);
@@ -163,18 +306,26 @@ function buildEntry(item, index, opts, parentScope, ctx, state) {
163
306
  const prevFlatBindings = getFlatBindings();
164
307
  setFlatBindings(ctx.allBindings);
165
308
  setRenderContext(buildCtx);
166
- // The render bag exposes `item` as a getter so the Proxy is only
167
- // created when the callback actually accesses item.field. Compiled
168
- // code uses `acc(fn)` exclusively, avoiding the Proxy entirely.
169
- const renderBag = {
170
- send,
171
- get item() {
172
- return getItemProxy();
173
- },
174
- acc: itemFn,
175
- index: indexAccessor,
176
- };
177
- entry.nodes = opts.render(renderBag);
309
+ // Reuse a single render bag object across entries mutate `acc` and
310
+ // `index` per entry to avoid per-entry object allocation.
311
+ buildBag.send = send;
312
+ buildBag.acc = itemFn;
313
+ buildBag.index = indexAccessor;
314
+ buildBag._getItemProxy = getItemProxy;
315
+ buildBag.entry = entry;
316
+ // Row factory: pass compiler-injected template + update function through to render
317
+ const rfOpts = opts;
318
+ if (rfOpts.__tpl)
319
+ buildBag.__tpl = rfOpts.__tpl;
320
+ if (rfOpts.__rowUpd)
321
+ buildBag.__rowUpd = rfOpts.__rowUpd;
322
+ entry.nodes = opts.render(buildBag);
323
+ // Move itemUpdaters from scope to entry for direct access during updateEntry.
324
+ // This avoids scope.itemUpdaters lookup overhead on every item update.
325
+ if (scope.itemUpdaters.length > 0) {
326
+ entry.updaters = scope.itemUpdaters;
327
+ scope.itemUpdaters = [];
328
+ }
178
329
  clearRenderContext();
179
330
  setFlatBindings(prevFlatBindings);
180
331
  setRenderContext(ctx);
@@ -212,12 +363,11 @@ function reconcileEntries(entries, newItems, opts, parentScope, parent, anchor,
212
363
  range.setEndAfter(lastNode);
213
364
  range.deleteContents();
214
365
  }
215
- // Dispose scopes in bulk. Individual disposeScope removeFromParent
216
- // does parent.children.indexOf+splice per scope, which is O(N²) when
217
- // clearing 1000 sibling entries. Pass skipParentRemoval=true and
218
- // collapse all detachments into one O(N) scan.
219
- for (const entry of entries)
220
- disposeScope(entry.scope, true);
366
+ // Bulk dispose all entry scopes avoids per-scope function call overhead
367
+ const scopes = [];
368
+ for (let i = 0; i < entries.length; i++)
369
+ scopes.push(entries[i].scope);
370
+ disposeScopesBulk(scopes);
221
371
  removeOrphanedChildren(parentScope);
222
372
  entries.length = 0;
223
373
  return;
@@ -250,56 +400,54 @@ function reconcileEntries(entries, newItems, opts, parentScope, parent, anchor,
250
400
  fireEnter(entry, opts);
251
401
  return;
252
402
  }
253
- // Fast path 3: same length, same keys in order update items in place.
254
- // This is the dominant path for partial updates (e.g., "update every 10th
255
- // row"): the array length is unchanged, every key at position i still
256
- // matches. Skip the Map/Set/reorder machinery entirely — just call
257
- // updateEntry per item. updateEntry checks item-ref identity internally
258
- // and only fires per-item updaters for actually-changed items.
403
+ // Fast path 3: same length single pass handles both same-keys update
404
+ // and two-element swap detection. Avoids a second O(n) pass.
259
405
  if (newLen === oldLen) {
260
- let allSameKeys = true;
406
+ let mismatch1 = -1;
407
+ let mismatch2 = -1;
408
+ let mismatchCount = 0;
261
409
  for (let i = 0; i < newLen; i++) {
262
- // If the item ref is identical, the key is guaranteed unchanged —
263
- // skip the (potentially expensive) opts.key() call.
264
- if (entries[i].item === newItems[i])
410
+ const entry = entries[i];
411
+ const newItem = newItems[i];
412
+ if (entry.item === newItem)
413
+ continue;
414
+ const newKey = opts.key(newItem);
415
+ if (entry.key === newKey) {
416
+ updateEntry(entry, newItem, i);
265
417
  continue;
266
- if (entries[i].key !== opts.key(newItems[i])) {
267
- allSameKeys = false;
268
- break;
269
418
  }
419
+ // Key mismatch — track for swap detection
420
+ mismatchCount++;
421
+ if (mismatchCount === 1)
422
+ mismatch1 = i;
423
+ else if (mismatchCount === 2)
424
+ mismatch2 = i;
425
+ else
426
+ break; // 3+ mismatches → fall through to general path
270
427
  }
271
- if (allSameKeys) {
272
- for (let i = 0; i < newLen; i++) {
273
- updateEntry(entries[i], newItems[i], i);
274
- }
428
+ // All keys matched (with possible item updates) → done
429
+ if (mismatchCount === 0)
275
430
  return;
276
- }
277
- }
278
- // Fast path 4: two-element swap — same keys, exactly two positions differ
279
- if (newLen === oldLen && oldLen >= 2) {
280
- const swapResult = detectSwap(entries, newItems, opts);
281
- if (swapResult) {
282
- const [i, j] = swapResult;
283
- const entryI = entries[i];
284
- const entryJ = entries[j];
285
- // Capture reference nodes before any DOM mutation
286
- const refI = entryI.nodes[0];
287
- const refAfterJ = entryJ.nodes[entryJ.nodes.length - 1].nextSibling;
288
- // Move J's nodes to where I was
289
- for (const node of entryJ.nodes)
290
- parent.insertBefore(node, refI);
291
- // Move I's nodes to where J was (after J's last node's original position)
292
- for (const node of entryI.nodes)
293
- parent.insertBefore(node, refAfterJ);
294
- // Swap entries in the array
295
- entries[i] = entryJ;
296
- entries[j] = entryI;
297
- // Update all entries' refs
298
- for (let k = 0; k < oldLen; k++) {
299
- updateEntry(entries[k], newItems[k], k);
431
+ // Exactly 2 key mismatches — check if it's a swap
432
+ if (mismatchCount === 2) {
433
+ const e1 = entries[mismatch1];
434
+ const e2 = entries[mismatch2];
435
+ if (e1.key === opts.key(newItems[mismatch2]) && e2.key === opts.key(newItems[mismatch1])) {
436
+ // DOM swap
437
+ const refI = e1.nodes[0];
438
+ const refAfterJ = e2.nodes[e2.nodes.length - 1].nextSibling;
439
+ for (const node of e2.nodes)
440
+ parent.insertBefore(node, refI);
441
+ for (const node of e1.nodes)
442
+ parent.insertBefore(node, refAfterJ);
443
+ entries[mismatch1] = e2;
444
+ entries[mismatch2] = e1;
445
+ updateEntry(e2, newItems[mismatch1], mismatch1);
446
+ updateEntry(e1, newItems[mismatch2], mismatch2);
447
+ return;
300
448
  }
301
- return;
302
449
  }
450
+ // Fall through to general path for 3+ mismatches or non-swap
303
451
  }
304
452
  // Fast path 5: full replace — no shared keys between old and new.
305
453
  // Skipped when opts.leave is set so departing items can animate individually.
@@ -325,9 +473,11 @@ function reconcileEntries(entries, newItems, opts, parentScope, parent, anchor,
325
473
  const lastEntry = entries[entries.length - 1];
326
474
  range.setEndAfter(lastEntry.nodes[lastEntry.nodes.length - 1]);
327
475
  range.deleteContents();
328
- // Bulk detach — see comment at the clear-all path above.
329
- for (const entry of entries)
330
- disposeScope(entry.scope, true);
476
+ // Bulk dispose all old scopes
477
+ const oldScopes = [];
478
+ for (let i = 0; i < entries.length; i++)
479
+ oldScopes.push(entries[i].scope);
480
+ disposeScopesBulk(oldScopes);
331
481
  removeOrphanedChildren(parentScope);
332
482
  entries.length = 0;
333
483
  // Build all new entries into a fragment
@@ -431,8 +581,9 @@ function reconcileEntries(entries, newItems, opts, parentScope, parent, anchor,
431
581
  if (frag)
432
582
  parent.insertBefore(frag, insertRef);
433
583
  }
434
- entries.length = 0;
435
- entries.push(...newEntries);
584
+ entries.length = newEntries.length;
585
+ for (let i = 0; i < newEntries.length; i++)
586
+ entries[i] = newEntries[i];
436
587
  if (report) {
437
588
  for (const entry of newlyAdded)
438
589
  collectNodes(report.entering, entry.nodes);
@@ -448,12 +599,20 @@ function updateEntry(entry, item, index) {
448
599
  entry.item = item;
449
600
  entry.current = item;
450
601
  entry.index = index;
451
- entry.scope.eachItemStable = !changed;
602
+ // eachItemStable removed — unused
452
603
  // Directly run per-item updaters when item changed — bypasses Phase 2
453
604
  if (changed) {
454
- const updaters = entry.scope.itemUpdaters;
455
- for (let i = 0; i < updaters.length; i++) {
456
- updaters[i]();
605
+ // Row factory fast path: shared update function, zero closures
606
+ const rowUpd = entry.__rowUpdate;
607
+ if (rowUpd) {
608
+ rowUpd(entry);
609
+ }
610
+ else {
611
+ // Closure-based fallback
612
+ const updaters = entry.updaters.length > 0 ? entry.updaters : entry.scope.itemUpdaters;
613
+ for (let i = 0; i < updaters.length; i++) {
614
+ updaters[i]();
615
+ }
457
616
  }
458
617
  }
459
618
  }
@@ -464,34 +623,6 @@ function isAppendOnly(entries, newItems, opts) {
464
623
  }
465
624
  return true;
466
625
  }
467
- function detectSwap(entries, newItems, opts) {
468
- let diff1 = -1;
469
- let diff2 = -1;
470
- let diffCount = 0;
471
- for (let i = 0; i < entries.length; i++) {
472
- const newKey = opts.key(newItems[i]);
473
- if (entries[i].key !== newKey) {
474
- diffCount++;
475
- if (diffCount === 1)
476
- diff1 = i;
477
- else if (diffCount === 2)
478
- diff2 = i;
479
- else
480
- return null; // more than 2 differences
481
- }
482
- }
483
- if (diffCount !== 2)
484
- return null;
485
- // Verify it's actually a swap (keys are exchanged)
486
- const oldKey1 = entries[diff1].key;
487
- const oldKey2 = entries[diff2].key;
488
- const newKey1 = opts.key(newItems[diff1]);
489
- const newKey2 = opts.key(newItems[diff2]);
490
- if (oldKey1 === newKey2 && oldKey2 === newKey1) {
491
- return [diff1, diff2];
492
- }
493
- return null;
494
- }
495
626
  function survivorsInOrder(oldEntries, newEntries, usedKeys) {
496
627
  // Build old-index map for survivors
497
628
  const oldIndexMap = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"each.js","sourceRoot":"","sources":["../../src/primitives/each.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"each.js","sourceRoot":"","sources":["../../src/primitives/each.ts"],"names":[],"mappings":"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"}
@@ -2,21 +2,17 @@ import type { BindingKind } from '../types';
2
2
  /**
3
3
  * Optimized "one-of-N" reactive binding — O(1) updates instead of O(n).
4
4
  *
5
- * Watches a state field and compares it against per-item keys. When the
6
- * field changes, only the old and new matching rows update their DOM.
5
+ * Uses a generation counter instead of per-row disposers:
6
+ * - bind() tags entries with the current generation
7
+ * - Individual row removal bumps the generation for that entry (set gen = -1)
8
+ * - Bulk clear bumps the generation and clears the registry via registerOnClear
9
+ * - updateSelector() skips stale entries (gen !== current) and compacts lazily
7
10
  *
8
- * Usage:
9
- * // In view, before each():
10
- * const sel = selector<State, number>(s => s.selected)
11
- *
12
- * // Inside each() render:
13
- * tr({ class: sel.bind(item(r => r.id), 'class', match => match ? 'danger' : '') })
14
- *
15
- * sel.bind() creates and manages the DOM binding directly.
16
- * Returns Node[] to spread into the element's children (empty — no visible output).
11
+ * Zero per-row closure allocations. Zero Set.delete calls on disposal.
17
12
  */
18
13
  export declare function selector<S, V>(field: (s: S) => V): SelectorInstance<V>;
19
14
  export interface SelectorInstance<V> {
20
15
  bind(node: Node, key: V | (() => V), kind: BindingKind, propKey: string | undefined, transform: (match: boolean) => unknown): void;
16
+ __directUpdate(state: unknown): void;
21
17
  }
22
18
  //# sourceMappingURL=selector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selector.d.ts","sourceRoot":"","sources":["../../src/primitives/selector.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAU3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAgGtE;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,CACF,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAClB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GACrC,IAAI,CAAA;CACR"}
1
+ {"version":3,"file":"selector.d.ts","sourceRoot":"","sources":["../../src/primitives/selector.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAW3C;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CA+GtE;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,CACF,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAClB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GACrC,IAAI,CAAA;IACP,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;CACrC"}