@toyz/loom 0.12.8 → 0.13.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/app.d.ts.map +1 -1
- package/dist/app.js +6 -1
- package/dist/app.js.map +1 -1
- package/dist/css.d.ts.map +1 -1
- package/dist/css.js +14 -2
- package/dist/css.js.map +1 -1
- package/dist/di/decorators.d.ts +2 -1
- package/dist/di/decorators.d.ts.map +1 -1
- package/dist/di/decorators.js +1 -0
- package/dist/di/decorators.js.map +1 -1
- package/dist/element/decorators.d.ts.map +1 -1
- package/dist/element/decorators.js +10 -5
- package/dist/element/decorators.js.map +1 -1
- package/dist/element/element.d.ts +10 -0
- package/dist/element/element.d.ts.map +1 -1
- package/dist/element/element.js +110 -45
- package/dist/element/element.js.map +1 -1
- package/dist/element/events.js +3 -3
- package/dist/element/events.js.map +1 -1
- package/dist/jsx-runtime.d.ts.map +1 -1
- package/dist/jsx-runtime.js +143 -100
- package/dist/jsx-runtime.js.map +1 -1
- package/dist/morph.d.ts +2 -2
- package/dist/morph.d.ts.map +1 -1
- package/dist/morph.js +74 -33
- package/dist/morph.js.map +1 -1
- package/dist/store/decorators.d.ts.map +1 -1
- package/dist/store/decorators.js +14 -4
- package/dist/store/decorators.js.map +1 -1
- package/dist/store/reactive.d.ts +3 -1
- package/dist/store/reactive.d.ts.map +1 -1
- package/dist/store/reactive.js +20 -10
- package/dist/store/reactive.js.map +1 -1
- package/dist/trace.d.ts +2 -0
- package/dist/trace.d.ts.map +1 -1
- package/dist/trace.js +40 -20
- package/dist/trace.js.map +1 -1
- package/package.json +1 -1
package/dist/jsx-runtime.js
CHANGED
|
@@ -15,118 +15,160 @@ const SVG_TAGS = new Set([
|
|
|
15
15
|
]);
|
|
16
16
|
/** Properties that must be set as JS properties, not HTML attributes */
|
|
17
17
|
const PROP_KEYS = new Set(["value", "checked", "selected", "indeterminate"]);
|
|
18
|
+
/**
|
|
19
|
+
* Cache event type strings: "onClick" → "click", "onInput" → "input"
|
|
20
|
+
* Avoids allocating a new .slice(2).toLowerCase() string per jsx() call.
|
|
21
|
+
*/
|
|
22
|
+
const _eventTypeCache = {};
|
|
23
|
+
/**
|
|
24
|
+
* V8 optimization: cloneNode(false) is 2-3x faster than createElement.
|
|
25
|
+
* Cache template elements for repeated tag names.
|
|
26
|
+
*/
|
|
27
|
+
const _elCache = {};
|
|
28
|
+
const _svgCache = {};
|
|
29
|
+
function acquireElement(tag, isSVG) {
|
|
30
|
+
if (isSVG) {
|
|
31
|
+
let tmpl = _svgCache[tag];
|
|
32
|
+
if (!tmpl) {
|
|
33
|
+
tmpl = document.createElementNS(SVG_NS, tag);
|
|
34
|
+
_svgCache[tag] = tmpl;
|
|
35
|
+
}
|
|
36
|
+
return tmpl.cloneNode(false);
|
|
37
|
+
}
|
|
38
|
+
// Custom elements (tag contains hyphen) MUST use createElement — cloneNode
|
|
39
|
+
// does NOT call the custom element constructor, breaking shadow DOM, reactivity, etc.
|
|
40
|
+
if (tag.indexOf('-') !== -1)
|
|
41
|
+
return document.createElement(tag);
|
|
42
|
+
let tmpl = _elCache[tag];
|
|
43
|
+
if (!tmpl) {
|
|
44
|
+
tmpl = document.createElement(tag);
|
|
45
|
+
_elCache[tag] = tmpl;
|
|
46
|
+
}
|
|
47
|
+
return tmpl.cloneNode(false);
|
|
48
|
+
}
|
|
18
49
|
export function jsx(tag, props) {
|
|
19
50
|
if (typeof tag === "function")
|
|
20
51
|
return tag(props);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
else if (key === "className" || key === "class") {
|
|
48
|
-
if (typeof val === "function") {
|
|
49
|
-
// Closure binding for class
|
|
50
|
-
startSubTrace();
|
|
51
|
-
try {
|
|
52
|
-
const res = val();
|
|
53
|
-
if (isSVG)
|
|
54
|
-
el.setAttribute("class", String(res));
|
|
55
|
-
else
|
|
56
|
-
el.className = String(res);
|
|
57
|
-
const deps = endSubTrace();
|
|
58
|
-
if (deps.size > 0) {
|
|
59
|
-
addBinding(deps, el, () => {
|
|
60
|
-
const v = val();
|
|
61
|
-
if (isSVG)
|
|
62
|
-
el.setAttribute("class", String(v));
|
|
63
|
-
else
|
|
64
|
-
el.className = String(v);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
52
|
+
// Fast SVG rejection: SVG tags only start with c,d,e,f,g,i,l,m,p,r,s,t,u
|
|
53
|
+
// Common HTML tags (div, span, button, a, h1-h6, input, label, ul, li, etc.)
|
|
54
|
+
// are rejected before touching the Set.
|
|
55
|
+
const fc = tag.charCodeAt(0);
|
|
56
|
+
const isSVG = (fc === 99 || fc === 100 || fc === 101 || fc === 102 || // c,d,e,f
|
|
57
|
+
fc === 103 || fc === 105 || fc === 108 || fc === 109 || // g,i,l,m
|
|
58
|
+
fc === 112 || fc === 114 || fc === 115 || fc === 116 || // p,r,s,t
|
|
59
|
+
fc === 117) && SVG_TAGS.has(tag); // u
|
|
60
|
+
const el = acquireElement(tag, isSVG);
|
|
61
|
+
if (props)
|
|
62
|
+
for (const key in props) {
|
|
63
|
+
const val = props[key];
|
|
64
|
+
if (key === "children")
|
|
65
|
+
continue;
|
|
66
|
+
if (key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && typeof val === "function") { // 'o','n'
|
|
67
|
+
let eventType = _eventTypeCache[key];
|
|
68
|
+
if (!eventType) {
|
|
69
|
+
eventType = key.slice(2).toLowerCase();
|
|
70
|
+
_eventTypeCache[key] = eventType;
|
|
71
|
+
}
|
|
72
|
+
// Track for morph diffing
|
|
73
|
+
let events = el[LOOM_EVENTS];
|
|
74
|
+
if (!events) {
|
|
75
|
+
events = Object.create(null);
|
|
76
|
+
el[LOOM_EVENTS] = events;
|
|
67
77
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
endSubTrace();
|
|
78
|
+
if (!(eventType in events)) {
|
|
79
|
+
el.addEventListener(eventType, loomEventProxy);
|
|
71
80
|
}
|
|
81
|
+
events[eventType] = val;
|
|
72
82
|
}
|
|
73
|
-
else {
|
|
74
|
-
|
|
75
|
-
|
|
83
|
+
else if (key === "ref" && typeof val === "function") {
|
|
84
|
+
val(el);
|
|
85
|
+
}
|
|
86
|
+
else if (key === "style" && typeof val === "object") {
|
|
87
|
+
Object.assign(el.style, val);
|
|
88
|
+
}
|
|
89
|
+
else if (key === "className" || key === "class") {
|
|
90
|
+
if (typeof val === "function") {
|
|
91
|
+
// Closure binding for class
|
|
92
|
+
startSubTrace();
|
|
93
|
+
try {
|
|
94
|
+
const res = val();
|
|
95
|
+
if (isSVG)
|
|
96
|
+
el.setAttribute("class", '' + res);
|
|
97
|
+
else
|
|
98
|
+
el.className = '' + res;
|
|
99
|
+
const deps = endSubTrace();
|
|
100
|
+
if (deps.size > 0) {
|
|
101
|
+
addBinding(deps, el, () => {
|
|
102
|
+
const v = val();
|
|
103
|
+
if (isSVG)
|
|
104
|
+
el.setAttribute("class", '' + v);
|
|
105
|
+
else
|
|
106
|
+
el.className = '' + v;
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch (e) {
|
|
111
|
+
console.error("Loom: Error executing class binding", e);
|
|
112
|
+
endSubTrace();
|
|
113
|
+
}
|
|
76
114
|
}
|
|
77
115
|
else {
|
|
78
|
-
|
|
116
|
+
if (isSVG) {
|
|
117
|
+
el.setAttribute("class", val);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
el.className = val;
|
|
121
|
+
}
|
|
79
122
|
}
|
|
80
123
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
el.setAttribute("for", val);
|
|
84
|
-
}
|
|
85
|
-
else if (key === "rawHTML" || key === "innerHTML") {
|
|
86
|
-
el.innerHTML = val;
|
|
87
|
-
el.__loomRawHTML = true;
|
|
88
|
-
}
|
|
89
|
-
else if (PROP_KEYS.has(key)) {
|
|
90
|
-
el[key] = val;
|
|
91
|
-
}
|
|
92
|
-
else if (typeof val === "boolean") {
|
|
93
|
-
val ? el.setAttribute(key, "") : el.removeAttribute(key);
|
|
94
|
-
}
|
|
95
|
-
else if (typeof val === "object" || typeof val === "function") {
|
|
96
|
-
// Non-primitive values (arrays, objects) — set as JS property
|
|
97
|
-
el[key] = val;
|
|
98
|
-
// Track for morph diffing (so morph copies them to the existing element)
|
|
99
|
-
let tracked = el[LOOM_PROPS];
|
|
100
|
-
if (!tracked) {
|
|
101
|
-
tracked = new Map();
|
|
102
|
-
el[LOOM_PROPS] = tracked;
|
|
124
|
+
else if (key === "htmlFor") {
|
|
125
|
+
el.setAttribute("for", val);
|
|
103
126
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
if (
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
el
|
|
122
|
-
endSubTrace(); // Ensure trace stack is popped
|
|
127
|
+
else if (key === "rawHTML" || key === "innerHTML") {
|
|
128
|
+
el.innerHTML = val;
|
|
129
|
+
el.__loomRawHTML = true;
|
|
130
|
+
}
|
|
131
|
+
else if (PROP_KEYS.has(key)) {
|
|
132
|
+
el[key] = val;
|
|
133
|
+
}
|
|
134
|
+
else if (typeof val === "boolean") {
|
|
135
|
+
val ? el.setAttribute(key, "") : el.removeAttribute(key);
|
|
136
|
+
}
|
|
137
|
+
else if (typeof val === "object" || typeof val === "function") {
|
|
138
|
+
// Non-primitive values (arrays, objects) — set as JS property
|
|
139
|
+
el[key] = val;
|
|
140
|
+
// Track for morph diffing (so morph copies them to the existing element)
|
|
141
|
+
let tracked = el[LOOM_PROPS];
|
|
142
|
+
if (!tracked) {
|
|
143
|
+
tracked = Object.create(null);
|
|
144
|
+
el[LOOM_PROPS] = tracked;
|
|
123
145
|
}
|
|
146
|
+
tracked[key] = val;
|
|
124
147
|
}
|
|
125
148
|
else {
|
|
126
|
-
|
|
149
|
+
// Check for closure binding: class={() => this.theme}
|
|
150
|
+
if (typeof val === "function") {
|
|
151
|
+
startSubTrace();
|
|
152
|
+
try {
|
|
153
|
+
const res = val();
|
|
154
|
+
el.setAttribute(key, '' + res);
|
|
155
|
+
const deps = endSubTrace();
|
|
156
|
+
if (deps.size > 0) {
|
|
157
|
+
addBinding(deps, el, () => el.setAttribute(key, '' + val()));
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch (e) {
|
|
161
|
+
// Fallback or error handling for failed binding execution
|
|
162
|
+
console.error(`Loom: Error executing binding for attribute '${key}'`, e);
|
|
163
|
+
el.setAttribute(key, "");
|
|
164
|
+
endSubTrace(); // Ensure trace stack is popped
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
el.setAttribute(key, '' + val);
|
|
169
|
+
}
|
|
127
170
|
}
|
|
128
171
|
}
|
|
129
|
-
}
|
|
130
172
|
appendChildren(el, props?.children);
|
|
131
173
|
return el;
|
|
132
174
|
}
|
|
@@ -141,7 +183,8 @@ function appendChildren(parent, children) {
|
|
|
141
183
|
if (children == null || children === false)
|
|
142
184
|
return;
|
|
143
185
|
if (Array.isArray(children)) {
|
|
144
|
-
|
|
186
|
+
for (let i = 0; i < children.length; i++)
|
|
187
|
+
appendChildren(parent, children[i]);
|
|
145
188
|
}
|
|
146
189
|
else if (children instanceof Node) {
|
|
147
190
|
parent.appendChild(children);
|
|
@@ -161,12 +204,12 @@ function appendChildren(parent, children) {
|
|
|
161
204
|
startSubTrace();
|
|
162
205
|
try {
|
|
163
206
|
const res = children();
|
|
164
|
-
textNode.textContent =
|
|
207
|
+
textNode.textContent = '' + res;
|
|
165
208
|
const deps = endSubTrace();
|
|
166
209
|
if (deps.size > 0) {
|
|
167
210
|
// Create binding with the closure itself as the patcher
|
|
168
211
|
addBinding(deps, textNode, () => {
|
|
169
|
-
textNode.textContent =
|
|
212
|
+
textNode.textContent = '' + children();
|
|
170
213
|
});
|
|
171
214
|
}
|
|
172
215
|
}
|
|
@@ -176,7 +219,7 @@ function appendChildren(parent, children) {
|
|
|
176
219
|
}
|
|
177
220
|
}
|
|
178
221
|
else {
|
|
179
|
-
parent.appendChild(document.createTextNode(
|
|
222
|
+
parent.appendChild(document.createTextNode('' + children));
|
|
180
223
|
}
|
|
181
224
|
}
|
|
182
225
|
//# sourceMappingURL=jsx-runtime.js.map
|
package/dist/jsx-runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAuC,MAAM,SAAS,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,MAAM,GAAG,4BAA4B,CAAC;AAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS;IAC9D,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ;IACxD,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe;IAC3D,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;CAC3D,CAAC,CAAC;AAEH,wEAAwE;AACxE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;AAE7E,MAAM,UAAU,GAAG,CACjB,GAAsB,EACtB,KAA0B;IAE1B,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IAEjD,MAAM,
|
|
1
|
+
{"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/morph.d.ts
CHANGED
|
@@ -16,9 +16,9 @@ export declare const LOOM_EVENTS = "__loomEvents";
|
|
|
16
16
|
/** Expando key for tracked JS properties (non-attribute, non-event) */
|
|
17
17
|
export declare const LOOM_PROPS = "__loomProps";
|
|
18
18
|
/** Type for tracked events on an element */
|
|
19
|
-
export type LoomEventMap =
|
|
19
|
+
export type LoomEventMap = Record<string, EventListener>;
|
|
20
20
|
/** Type for tracked JS properties on an element */
|
|
21
|
-
export type LoomPropMap =
|
|
21
|
+
export type LoomPropMap = Record<string, any>;
|
|
22
22
|
/**
|
|
23
23
|
* Morph the children of `root` (typically a ShadowRoot) to match `newTree`.
|
|
24
24
|
* `newTree` can be a single Node or an array of Nodes (from Fragment).
|
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;AAEH,8CAA8C;AAC9C,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAE1C,uEAAuE;AACvE,eAAO,MAAM,UAAU,gBAAgB,CAAC;AAExC,4CAA4C;AAC5C,MAAM,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"morph.d.ts","sourceRoot":"","sources":["../src/morph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,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,GAAG,CAAC,CAAC;AAI9C;;;GAGG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAGlF;AAgLD,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CAO5D"}
|
package/dist/morph.js
CHANGED
|
@@ -59,10 +59,20 @@ function morphChildren(parent, newChildren) {
|
|
|
59
59
|
}
|
|
60
60
|
continue;
|
|
61
61
|
}
|
|
62
|
-
// Skip unconsumed keyed nodes or kept nodes
|
|
63
|
-
while (oldChild
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
// Skip unconsumed keyed nodes or kept nodes — cache getKey to avoid double call
|
|
63
|
+
while (oldChild) {
|
|
64
|
+
if (oldKeyed) {
|
|
65
|
+
const ock = (oldChild.nodeType === 1) ? oldChild.getAttribute("loom-key") : null;
|
|
66
|
+
if (ock && oldKeyed.has(ock)) {
|
|
67
|
+
oldChild = oldChild.nextSibling;
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (hasKeep && oldChild.nodeType === 1 && oldChild.hasAttribute("loom-keep")) {
|
|
72
|
+
oldChild = oldChild.nextSibling;
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
break;
|
|
66
76
|
}
|
|
67
77
|
if (!oldChild) {
|
|
68
78
|
// No more old children — append
|
|
@@ -81,7 +91,8 @@ function morphChildren(parent, newChildren) {
|
|
|
81
91
|
// Remove unconsumed old children
|
|
82
92
|
while (oldChild) {
|
|
83
93
|
const next = oldChild.nextSibling;
|
|
84
|
-
const
|
|
94
|
+
const oldKey = getKey(oldChild);
|
|
95
|
+
const isUnconsumedKeyed = oldKeyed && oldKey && oldKeyed.has(oldKey);
|
|
85
96
|
if (!isKeep(oldChild) && !isUnconsumedKeyed) {
|
|
86
97
|
parent.removeChild(oldChild);
|
|
87
98
|
}
|
|
@@ -98,6 +109,9 @@ function morphChildren(parent, newChildren) {
|
|
|
98
109
|
}
|
|
99
110
|
/** Morph a single node in-place. */
|
|
100
111
|
function morphNode(old, next) {
|
|
112
|
+
// Identity short-circuit — same node, nothing to diff
|
|
113
|
+
if (old === next)
|
|
114
|
+
return;
|
|
101
115
|
// Text nodes
|
|
102
116
|
if (old.nodeType === Node.TEXT_NODE && next.nodeType === Node.TEXT_NODE) {
|
|
103
117
|
if (old.textContent !== next.textContent) {
|
|
@@ -116,8 +130,12 @@ function morphNode(old, next) {
|
|
|
116
130
|
if (old.nodeType === Node.ELEMENT_NODE && next.nodeType === Node.ELEMENT_NODE) {
|
|
117
131
|
const oldEl = old;
|
|
118
132
|
const nextEl = next;
|
|
119
|
-
// Patch attributes
|
|
120
|
-
|
|
133
|
+
// Patch attributes — skip if both have none
|
|
134
|
+
const oldAttrLen = oldEl.attributes.length;
|
|
135
|
+
const nextAttrLen = nextEl.attributes.length;
|
|
136
|
+
if (oldAttrLen > 0 || nextAttrLen > 0) {
|
|
137
|
+
patchAttributes(oldEl, nextEl);
|
|
138
|
+
}
|
|
121
139
|
// Patch event listeners
|
|
122
140
|
patchEvents(oldEl, nextEl);
|
|
123
141
|
// Patch special DOM properties
|
|
@@ -137,8 +155,12 @@ function morphNode(old, next) {
|
|
|
137
155
|
if (oldEl.constructor?.__loom_noshadow) {
|
|
138
156
|
return;
|
|
139
157
|
}
|
|
140
|
-
// Recurse children
|
|
141
|
-
|
|
158
|
+
// Recurse children — avoid Array.from iterator overhead
|
|
159
|
+
const nextNodes = nextEl.childNodes;
|
|
160
|
+
const nextArr = new Array(nextNodes.length);
|
|
161
|
+
for (let i = 0; i < nextNodes.length; i++)
|
|
162
|
+
nextArr[i] = nextNodes[i];
|
|
163
|
+
morphChildren(oldEl, nextArr);
|
|
142
164
|
}
|
|
143
165
|
}
|
|
144
166
|
// ── Attribute diffing ──
|
|
@@ -161,7 +183,7 @@ function patchAttributes(old, next) {
|
|
|
161
183
|
}
|
|
162
184
|
}
|
|
163
185
|
export function loomEventProxy(e) {
|
|
164
|
-
const handler = this[LOOM_EVENTS]?.
|
|
186
|
+
const handler = this[LOOM_EVENTS]?.[e.type];
|
|
165
187
|
if (typeof handler === "function") {
|
|
166
188
|
handler.call(this, e);
|
|
167
189
|
}
|
|
@@ -170,31 +192,42 @@ export function loomEventProxy(e) {
|
|
|
170
192
|
}
|
|
171
193
|
}
|
|
172
194
|
function patchEvents(old, next) {
|
|
173
|
-
const oldEvents = old[LOOM_EVENTS]
|
|
174
|
-
const newEvents = next[LOOM_EVENTS]
|
|
195
|
+
const oldEvents = old[LOOM_EVENTS];
|
|
196
|
+
const newEvents = next[LOOM_EVENTS];
|
|
197
|
+
// Early exit: both have no events
|
|
198
|
+
if (!oldEvents && !newEvents)
|
|
199
|
+
return;
|
|
200
|
+
const oe = oldEvents ?? Object.create(null);
|
|
201
|
+
const ne = newEvents ?? Object.create(null);
|
|
175
202
|
// Remove old listeners not in new
|
|
176
|
-
for (const type
|
|
177
|
-
if (!
|
|
203
|
+
for (const type in oe) {
|
|
204
|
+
if (!(type in ne)) {
|
|
178
205
|
old.removeEventListener(type, loomEventProxy);
|
|
179
|
-
|
|
206
|
+
delete oe[type];
|
|
180
207
|
}
|
|
181
208
|
}
|
|
182
209
|
// Add/replace listeners from new
|
|
183
|
-
for (const
|
|
184
|
-
if (!
|
|
210
|
+
for (const type in ne) {
|
|
211
|
+
if (!(type in oe)) {
|
|
185
212
|
old.addEventListener(type, loomEventProxy);
|
|
186
213
|
}
|
|
187
|
-
|
|
214
|
+
oe[type] = ne[type];
|
|
188
215
|
}
|
|
189
|
-
// Transfer the
|
|
190
|
-
|
|
191
|
-
|
|
216
|
+
// Transfer the record to old element if new has any events
|
|
217
|
+
let hasNew = false;
|
|
218
|
+
for (const _ in ne) {
|
|
219
|
+
hasNew = true;
|
|
220
|
+
break;
|
|
221
|
+
}
|
|
222
|
+
if (hasNew) {
|
|
223
|
+
old[LOOM_EVENTS] = oe;
|
|
192
224
|
}
|
|
193
225
|
}
|
|
194
226
|
// ── DOM property patching ──
|
|
195
227
|
const PROP_KEYS = ["value", "checked", "selected", "indeterminate"];
|
|
196
228
|
function patchProperties(old, next) {
|
|
197
|
-
for (
|
|
229
|
+
for (let i = 0; i < PROP_KEYS.length; i++) {
|
|
230
|
+
const key = PROP_KEYS[i];
|
|
198
231
|
if (key in next && old[key] !== next[key]) {
|
|
199
232
|
old[key] = next[key];
|
|
200
233
|
}
|
|
@@ -203,22 +236,26 @@ function patchProperties(old, next) {
|
|
|
203
236
|
// ── JSX JS-property patching ──
|
|
204
237
|
function patchJSProps(old, next) {
|
|
205
238
|
const newProps = next[LOOM_PROPS];
|
|
206
|
-
const oldProps = old[LOOM_PROPS]
|
|
239
|
+
const oldProps = old[LOOM_PROPS];
|
|
240
|
+
// Early exit: both have no JS props
|
|
241
|
+
if (!newProps && !oldProps)
|
|
242
|
+
return;
|
|
243
|
+
const op = oldProps ?? Object.create(null);
|
|
207
244
|
// Remove old props not in new
|
|
208
|
-
for (const key
|
|
209
|
-
if (!newProps
|
|
210
|
-
|
|
245
|
+
for (const key in op) {
|
|
246
|
+
if (!newProps || !(key in newProps)) {
|
|
247
|
+
delete op[key];
|
|
211
248
|
}
|
|
212
249
|
}
|
|
213
250
|
// Set/update props from new
|
|
214
251
|
if (newProps) {
|
|
215
|
-
for (const
|
|
216
|
-
if (old[key] !==
|
|
217
|
-
old[key] =
|
|
252
|
+
for (const key in newProps) {
|
|
253
|
+
if (old[key] !== newProps[key]) {
|
|
254
|
+
old[key] = newProps[key];
|
|
218
255
|
}
|
|
219
|
-
|
|
256
|
+
op[key] = newProps[key];
|
|
220
257
|
}
|
|
221
|
-
old[LOOM_PROPS] =
|
|
258
|
+
old[LOOM_PROPS] = op;
|
|
222
259
|
}
|
|
223
260
|
}
|
|
224
261
|
// ── Helpers ──
|
|
@@ -248,9 +285,13 @@ function canMorph(old, next) {
|
|
|
248
285
|
function normalizeChildren(tree) {
|
|
249
286
|
if (Array.isArray(tree))
|
|
250
287
|
return tree;
|
|
251
|
-
// DocumentFragment — extract children
|
|
288
|
+
// DocumentFragment — extract children without iterator
|
|
252
289
|
if (tree.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
|
253
|
-
|
|
290
|
+
const nodes = tree.childNodes;
|
|
291
|
+
const arr = new Array(nodes.length);
|
|
292
|
+
for (let i = 0; i < nodes.length; i++)
|
|
293
|
+
arr[i] = nodes[i];
|
|
294
|
+
return arr;
|
|
254
295
|
}
|
|
255
296
|
return [tree];
|
|
256
297
|
}
|
package/dist/morph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"morph.js","sourceRoot":"","sources":["../src/morph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC;AAE1C,uEAAuE;AACvE,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC;AAQxC,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,WAAmB;IACtD,uDAAuD;IACvD,IAAI,QAAQ,GAAgC,IAAI,CAAC;IACjD,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,IAAI,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;IAChC,OAAO,OAAO,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,QAAQ;gBAAE,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YACpC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAkB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC;QACpC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhC,cAAc;QACd,IAAI,MAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;YACpC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAExB,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACvB,SAAS,CAAC,KAAK,EAAE,QAAmB,CAAC,CAAC;gBACtC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,KAAK,EAAE,QAAmB,CAAC,CAAC;gBACtC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvC,CAAC;YACD,SAAS;QACX,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"morph.js","sourceRoot":"","sources":["../src/morph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAM,CAAC;AAIvD,qFAAqF;AACrF,eAAO,MAAM,MAAM,eAAiC,CAAC;AAErD,oFAAoF;AACpF,eAAO,MAAM,UAAU,eAAgC,CAAC;AAExD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAC7C,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC9C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/store/decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAM,CAAC;AAIvD,qFAAqF;AACrF,eAAO,MAAM,MAAM,eAAiC,CAAC;AAErD,oFAAoF;AACpF,eAAO,MAAM,UAAU,eAAgC,CAAC;AAExD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAC7C,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC9C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAqDvC;AAWD,KAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,IAAI,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EACzC,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC9C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,wBAAgB,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAChE,MAAM,EAAE,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,EAAE,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,KAC5C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AA+C3C;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,EAC7C,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,EACzB,OAAO,EAAE,2BAA2B,CAAC,IAAI,EAAE,CAAC,CAAC,GAC5C,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,CAsBnB;AAoDD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,QAAQ,EAAE,CAAC,EACX,OAAO,CAAC,EAAE,cAAc,IAEhB,IAAI,SAAS,MAAM,EACzB,SAAS,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,EAC9C,SAAS,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,KAC9C,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,CA+BzC"}
|
package/dist/store/decorators.js
CHANGED
|
@@ -50,12 +50,22 @@ export function reactive(target, context) {
|
|
|
50
50
|
r.subscribe(() => this.scheduleUpdate?.());
|
|
51
51
|
// Wire @watch handlers (WATCHERS is populated because method
|
|
52
52
|
// addInitializer runs BEFORE accessor field init in TC39)
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
const watchers = this[WATCHERS.key];
|
|
54
|
+
if (watchers) {
|
|
55
|
+
for (let i = 0; i < watchers.length; i++) {
|
|
56
|
+
const w = watchers[i];
|
|
57
|
+
if (w.field === key)
|
|
58
|
+
r.subscribe((v, prev) => this[w.key](v, prev));
|
|
59
|
+
}
|
|
55
60
|
}
|
|
56
61
|
// Wire @emit handlers
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
const emitters = this[EMITTERS.key];
|
|
63
|
+
if (emitters) {
|
|
64
|
+
for (let i = 0; i < emitters.length; i++) {
|
|
65
|
+
const e = emitters[i];
|
|
66
|
+
if (e.field === key)
|
|
67
|
+
r.subscribe((v) => bus.emit(e.factory(v)));
|
|
68
|
+
}
|
|
59
69
|
}
|
|
60
70
|
}
|
|
61
71
|
return this[storageKey].value;
|