solid-js 1.7.3 → 1.7.4
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/dev.cjs +1 -1
- package/dist/dev.js +1 -1
- package/dist/solid.cjs +1 -1
- package/dist/solid.js +1 -1
- package/package.json +1 -1
- package/store/dist/dev.cjs +4 -1
- package/store/dist/dev.js +4 -1
- package/store/dist/store.cjs +4 -1
- package/store/dist/store.js +4 -1
- package/types/jsx.d.ts +6 -2
- package/web/dist/dev.cjs +7 -9
- package/web/dist/dev.js +7 -9
- package/web/dist/server.cjs +10 -11
- package/web/dist/server.js +10 -11
- package/web/dist/web.cjs +7 -9
- package/web/dist/web.js +7 -9
package/dist/dev.cjs
CHANGED
|
@@ -1314,7 +1314,7 @@ function mergeProps(...sources) {
|
|
|
1314
1314
|
return target;
|
|
1315
1315
|
}
|
|
1316
1316
|
function splitProps(props, ...keys) {
|
|
1317
|
-
const blocked = new Set(keys.flat());
|
|
1317
|
+
const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
|
|
1318
1318
|
if ($PROXY in props) {
|
|
1319
1319
|
const res = keys.map(k => {
|
|
1320
1320
|
return new Proxy({
|
package/dist/dev.js
CHANGED
|
@@ -1312,7 +1312,7 @@ function mergeProps(...sources) {
|
|
|
1312
1312
|
return target;
|
|
1313
1313
|
}
|
|
1314
1314
|
function splitProps(props, ...keys) {
|
|
1315
|
-
const blocked = new Set(keys.flat());
|
|
1315
|
+
const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
|
|
1316
1316
|
if ($PROXY in props) {
|
|
1317
1317
|
const res = keys.map(k => {
|
|
1318
1318
|
return new Proxy({
|
package/dist/solid.cjs
CHANGED
|
@@ -1269,7 +1269,7 @@ function mergeProps(...sources) {
|
|
|
1269
1269
|
return target;
|
|
1270
1270
|
}
|
|
1271
1271
|
function splitProps(props, ...keys) {
|
|
1272
|
-
const blocked = new Set(keys.flat());
|
|
1272
|
+
const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
|
|
1273
1273
|
if ($PROXY in props) {
|
|
1274
1274
|
const res = keys.map(k => {
|
|
1275
1275
|
return new Proxy({
|
package/dist/solid.js
CHANGED
|
@@ -1267,7 +1267,7 @@ function mergeProps(...sources) {
|
|
|
1267
1267
|
return target;
|
|
1268
1268
|
}
|
|
1269
1269
|
function splitProps(props, ...keys) {
|
|
1270
|
-
const blocked = new Set(keys.flat());
|
|
1270
|
+
const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);
|
|
1271
1271
|
if ($PROXY in props) {
|
|
1272
1272
|
const res = keys.map(k => {
|
|
1273
1273
|
return new Proxy({
|
package/package.json
CHANGED
package/store/dist/dev.cjs
CHANGED
|
@@ -135,7 +135,10 @@ function setProperty(state, property, value, deleting = false) {
|
|
|
135
135
|
let nodes = getDataNodes(state),
|
|
136
136
|
node;
|
|
137
137
|
if (node = getDataNode(nodes, property, prev)) node.$(() => value);
|
|
138
|
-
if (Array.isArray(state) && state.length !== len)
|
|
138
|
+
if (Array.isArray(state) && state.length !== len) {
|
|
139
|
+
for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();
|
|
140
|
+
(node = getDataNode(nodes, "length", len)) && node.$(state.length);
|
|
141
|
+
}
|
|
139
142
|
(node = nodes._) && node.$();
|
|
140
143
|
}
|
|
141
144
|
function mergeStoreNode(state, value) {
|
package/store/dist/dev.js
CHANGED
|
@@ -133,7 +133,10 @@ function setProperty(state, property, value, deleting = false) {
|
|
|
133
133
|
let nodes = getDataNodes(state),
|
|
134
134
|
node;
|
|
135
135
|
if (node = getDataNode(nodes, property, prev)) node.$(() => value);
|
|
136
|
-
if (Array.isArray(state) && state.length !== len)
|
|
136
|
+
if (Array.isArray(state) && state.length !== len) {
|
|
137
|
+
for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();
|
|
138
|
+
(node = getDataNode(nodes, "length", len)) && node.$(state.length);
|
|
139
|
+
}
|
|
137
140
|
(node = nodes._) && node.$();
|
|
138
141
|
}
|
|
139
142
|
function mergeStoreNode(state, value) {
|
package/store/dist/store.cjs
CHANGED
|
@@ -129,7 +129,10 @@ function setProperty(state, property, value, deleting = false) {
|
|
|
129
129
|
let nodes = getDataNodes(state),
|
|
130
130
|
node;
|
|
131
131
|
if (node = getDataNode(nodes, property, prev)) node.$(() => value);
|
|
132
|
-
if (Array.isArray(state) && state.length !== len)
|
|
132
|
+
if (Array.isArray(state) && state.length !== len) {
|
|
133
|
+
for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();
|
|
134
|
+
(node = getDataNode(nodes, "length", len)) && node.$(state.length);
|
|
135
|
+
}
|
|
133
136
|
(node = nodes._) && node.$();
|
|
134
137
|
}
|
|
135
138
|
function mergeStoreNode(state, value) {
|
package/store/dist/store.js
CHANGED
|
@@ -127,7 +127,10 @@ function setProperty(state, property, value, deleting = false) {
|
|
|
127
127
|
let nodes = getDataNodes(state),
|
|
128
128
|
node;
|
|
129
129
|
if (node = getDataNode(nodes, property, prev)) node.$(() => value);
|
|
130
|
-
if (Array.isArray(state) && state.length !== len)
|
|
130
|
+
if (Array.isArray(state) && state.length !== len) {
|
|
131
|
+
for (let i = state.length; i < len; i++) (node = nodes[i]) && node.$();
|
|
132
|
+
(node = getDataNode(nodes, "length", len)) && node.$(state.length);
|
|
133
|
+
}
|
|
131
134
|
(node = nodes._) && node.$();
|
|
132
135
|
}
|
|
133
136
|
function mergeStoreNode(state, value) {
|
package/types/jsx.d.ts
CHANGED
|
@@ -405,7 +405,8 @@ export namespace JSX {
|
|
|
405
405
|
| "allow-scripts"
|
|
406
406
|
| "allow-storage-access-by-user-activation"
|
|
407
407
|
| "allow-top-navigation"
|
|
408
|
-
| "allow-top-navigation-by-user-activation"
|
|
408
|
+
| "allow-top-navigation-by-user-activation"
|
|
409
|
+
| "allow-top-navigation-to-custom-protocols";
|
|
409
410
|
type HTMLLinkAs =
|
|
410
411
|
| "audio"
|
|
411
412
|
| "document"
|
|
@@ -705,8 +706,9 @@ export namespace JSX {
|
|
|
705
706
|
contextmenu?: string;
|
|
706
707
|
dir?: HTMLDir;
|
|
707
708
|
draggable?: boolean;
|
|
708
|
-
hidden?: boolean;
|
|
709
|
+
hidden?: boolean | "hidden" | "until-found";
|
|
709
710
|
id?: string;
|
|
711
|
+
inert?: boolean;
|
|
710
712
|
lang?: string;
|
|
711
713
|
spellcheck?: boolean;
|
|
712
714
|
style?: CSSProperties | string;
|
|
@@ -874,6 +876,8 @@ export namespace JSX {
|
|
|
874
876
|
useMap?: string;
|
|
875
877
|
width?: number | string;
|
|
876
878
|
crossOrigin?: HTMLCrossorigin;
|
|
879
|
+
elementtiming: string;
|
|
880
|
+
fetchpriority: "high" | "low" | "auto";
|
|
877
881
|
}
|
|
878
882
|
interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
|
|
879
883
|
accept?: string;
|
package/web/dist/dev.cjs
CHANGED
|
@@ -457,7 +457,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
457
457
|
appendNodes(parent, array);
|
|
458
458
|
}
|
|
459
459
|
current = array;
|
|
460
|
-
} else if (value
|
|
460
|
+
} else if (value.nodeType) {
|
|
461
461
|
if (solidJs.sharedConfig.context && value.parentNode) return current = multi ? [value] : value;
|
|
462
462
|
if (Array.isArray(current)) {
|
|
463
463
|
if (multi) return current = cleanChildren(parent, current, marker, value);
|
|
@@ -473,12 +473,13 @@ function normalizeIncomingArray(normalized, array, current, unwrap) {
|
|
|
473
473
|
let dynamic = false;
|
|
474
474
|
for (let i = 0, len = array.length; i < len; i++) {
|
|
475
475
|
let item = array[i],
|
|
476
|
-
prev = current && current[i]
|
|
477
|
-
|
|
476
|
+
prev = current && current[i],
|
|
477
|
+
t;
|
|
478
|
+
if (item == null || item === true || item === false) ; else if ((t = typeof item) === "object" && item.nodeType) {
|
|
478
479
|
normalized.push(item);
|
|
479
|
-
} else if (
|
|
480
|
+
} else if (Array.isArray(item)) {
|
|
480
481
|
dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;
|
|
481
|
-
} else if (
|
|
482
|
+
} else if (t === "function") {
|
|
482
483
|
if (unwrap) {
|
|
483
484
|
while (typeof item === "function") item = item();
|
|
484
485
|
dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;
|
|
@@ -488,10 +489,7 @@ function normalizeIncomingArray(normalized, array, current, unwrap) {
|
|
|
488
489
|
}
|
|
489
490
|
} else {
|
|
490
491
|
const value = String(item);
|
|
491
|
-
if (prev && prev.nodeType === 3)
|
|
492
|
-
prev.data = value;
|
|
493
|
-
normalized.push(prev);
|
|
494
|
-
} else normalized.push(document.createTextNode(value));
|
|
492
|
+
if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);else normalized.push(document.createTextNode(value));
|
|
495
493
|
}
|
|
496
494
|
}
|
|
497
495
|
return dynamic;
|
package/web/dist/dev.js
CHANGED
|
@@ -456,7 +456,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
456
456
|
appendNodes(parent, array);
|
|
457
457
|
}
|
|
458
458
|
current = array;
|
|
459
|
-
} else if (value
|
|
459
|
+
} else if (value.nodeType) {
|
|
460
460
|
if (sharedConfig.context && value.parentNode) return current = multi ? [value] : value;
|
|
461
461
|
if (Array.isArray(current)) {
|
|
462
462
|
if (multi) return current = cleanChildren(parent, current, marker, value);
|
|
@@ -472,12 +472,13 @@ function normalizeIncomingArray(normalized, array, current, unwrap) {
|
|
|
472
472
|
let dynamic = false;
|
|
473
473
|
for (let i = 0, len = array.length; i < len; i++) {
|
|
474
474
|
let item = array[i],
|
|
475
|
-
prev = current && current[i]
|
|
476
|
-
|
|
475
|
+
prev = current && current[i],
|
|
476
|
+
t;
|
|
477
|
+
if (item == null || item === true || item === false) ; else if ((t = typeof item) === "object" && item.nodeType) {
|
|
477
478
|
normalized.push(item);
|
|
478
|
-
} else if (
|
|
479
|
+
} else if (Array.isArray(item)) {
|
|
479
480
|
dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;
|
|
480
|
-
} else if (
|
|
481
|
+
} else if (t === "function") {
|
|
481
482
|
if (unwrap) {
|
|
482
483
|
while (typeof item === "function") item = item();
|
|
483
484
|
dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;
|
|
@@ -487,10 +488,7 @@ function normalizeIncomingArray(normalized, array, current, unwrap) {
|
|
|
487
488
|
}
|
|
488
489
|
} else {
|
|
489
490
|
const value = String(item);
|
|
490
|
-
if (prev && prev.nodeType === 3)
|
|
491
|
-
prev.data = value;
|
|
492
|
-
normalized.push(prev);
|
|
493
|
-
} else normalized.push(document.createTextNode(value));
|
|
491
|
+
if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);else normalized.push(document.createTextNode(value));
|
|
494
492
|
}
|
|
495
493
|
}
|
|
496
494
|
return dynamic;
|
package/web/dist/server.cjs
CHANGED
|
@@ -290,10 +290,10 @@ function ssrStyle(value) {
|
|
|
290
290
|
return result;
|
|
291
291
|
}
|
|
292
292
|
function ssrElement(tag, props, children, needsId) {
|
|
293
|
-
let result = `<${tag}${needsId ? ssrHydrationKey() : ""} `;
|
|
294
|
-
const skipChildren = VOID_ELEMENTS.test(tag);
|
|
295
293
|
if (props == null) props = {};else if (typeof props === "function") props = props();
|
|
294
|
+
const skipChildren = VOID_ELEMENTS.test(tag);
|
|
296
295
|
const keys = Object.keys(props);
|
|
296
|
+
let result = `<${tag}${needsId ? ssrHydrationKey() : ""} `;
|
|
297
297
|
let classResolved;
|
|
298
298
|
for (let i = 0; i < keys.length; i++) {
|
|
299
299
|
const prop = keys[i];
|
|
@@ -318,13 +318,12 @@ function ssrElement(tag, props, children, needsId) {
|
|
|
318
318
|
}
|
|
319
319
|
if (i !== keys.length - 1) result += " ";
|
|
320
320
|
}
|
|
321
|
-
if (skipChildren) {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
}
|
|
321
|
+
if (skipChildren) return {
|
|
322
|
+
t: result + "/>"
|
|
323
|
+
};
|
|
324
|
+
if (typeof children === "function") children = children();
|
|
326
325
|
return {
|
|
327
|
-
t: result + `>${resolveSSRNode(children)}</${tag}>`
|
|
326
|
+
t: result + `>${resolveSSRNode(children, true)}</${tag}>`
|
|
328
327
|
};
|
|
329
328
|
}
|
|
330
329
|
function ssrAttribute(key, value, isBoolean) {
|
|
@@ -380,7 +379,7 @@ function escape(s, attr) {
|
|
|
380
379
|
}
|
|
381
380
|
return left < s.length ? out + s.substring(left) : out;
|
|
382
381
|
}
|
|
383
|
-
function resolveSSRNode(node) {
|
|
382
|
+
function resolveSSRNode(node, top) {
|
|
384
383
|
const t = typeof node;
|
|
385
384
|
if (t === "string") return node;
|
|
386
385
|
if (node == null || t === "boolean") return "";
|
|
@@ -388,7 +387,7 @@ function resolveSSRNode(node) {
|
|
|
388
387
|
let prev = {};
|
|
389
388
|
let mapped = "";
|
|
390
389
|
for (let i = 0, len = node.length; i < len; i++) {
|
|
391
|
-
if (typeof prev !== "object" && typeof node[i] !== "object") mapped += `<!--!$-->`;
|
|
390
|
+
if (!top && typeof prev !== "object" && typeof node[i] !== "object") mapped += `<!--!$-->`;
|
|
392
391
|
mapped += resolveSSRNode(prev = node[i]);
|
|
393
392
|
}
|
|
394
393
|
return mapped;
|
|
@@ -414,7 +413,7 @@ function generateHydrationScript({
|
|
|
414
413
|
eventNames = ["click", "input"],
|
|
415
414
|
nonce
|
|
416
415
|
} = {}) {
|
|
417
|
-
return `<script${nonce ? ` nonce="${nonce}"` : ""}>(e=>{let t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")?e:t(e.host&&e.host
|
|
416
|
+
return `<script${nonce ? ` nonce="${nonce}"` : ""}>(e=>{let t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")?e:t(e.host&&e.host.nodeType?e.host:e.parentNode));["${eventNames.join('", "')}"].forEach((o=>document.addEventListener(o,(o=>{let s=o.composedPath&&o.composedPath()[0]||o.target,a=t(s);a&&!e.completed.has(a)&&e.events.push([a,o])}))))})(window._$HY||(_$HY={events:[],completed:new WeakSet,r:{},fe(){},init(e,t){_$HY.r[e]=[new Promise((e=>t=e)),t]},set(e,t,o){(o=_$HY.r[e])&&o[1](t),_$HY.r[e]=[t]},unset(e){delete _$HY.r[e]},load:e=>_$HY.r[e]}));</script><!--xs-->`;
|
|
418
417
|
}
|
|
419
418
|
function Hydration(props) {
|
|
420
419
|
if (!solidJs.sharedConfig.context.noHydrate) return props.children;
|
package/web/dist/server.js
CHANGED
|
@@ -289,10 +289,10 @@ function ssrStyle(value) {
|
|
|
289
289
|
return result;
|
|
290
290
|
}
|
|
291
291
|
function ssrElement(tag, props, children, needsId) {
|
|
292
|
-
let result = `<${tag}${needsId ? ssrHydrationKey() : ""} `;
|
|
293
|
-
const skipChildren = VOID_ELEMENTS.test(tag);
|
|
294
292
|
if (props == null) props = {};else if (typeof props === "function") props = props();
|
|
293
|
+
const skipChildren = VOID_ELEMENTS.test(tag);
|
|
295
294
|
const keys = Object.keys(props);
|
|
295
|
+
let result = `<${tag}${needsId ? ssrHydrationKey() : ""} `;
|
|
296
296
|
let classResolved;
|
|
297
297
|
for (let i = 0; i < keys.length; i++) {
|
|
298
298
|
const prop = keys[i];
|
|
@@ -317,13 +317,12 @@ function ssrElement(tag, props, children, needsId) {
|
|
|
317
317
|
}
|
|
318
318
|
if (i !== keys.length - 1) result += " ";
|
|
319
319
|
}
|
|
320
|
-
if (skipChildren) {
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
}
|
|
320
|
+
if (skipChildren) return {
|
|
321
|
+
t: result + "/>"
|
|
322
|
+
};
|
|
323
|
+
if (typeof children === "function") children = children();
|
|
325
324
|
return {
|
|
326
|
-
t: result + `>${resolveSSRNode(children)}</${tag}>`
|
|
325
|
+
t: result + `>${resolveSSRNode(children, true)}</${tag}>`
|
|
327
326
|
};
|
|
328
327
|
}
|
|
329
328
|
function ssrAttribute(key, value, isBoolean) {
|
|
@@ -379,7 +378,7 @@ function escape(s, attr) {
|
|
|
379
378
|
}
|
|
380
379
|
return left < s.length ? out + s.substring(left) : out;
|
|
381
380
|
}
|
|
382
|
-
function resolveSSRNode(node) {
|
|
381
|
+
function resolveSSRNode(node, top) {
|
|
383
382
|
const t = typeof node;
|
|
384
383
|
if (t === "string") return node;
|
|
385
384
|
if (node == null || t === "boolean") return "";
|
|
@@ -387,7 +386,7 @@ function resolveSSRNode(node) {
|
|
|
387
386
|
let prev = {};
|
|
388
387
|
let mapped = "";
|
|
389
388
|
for (let i = 0, len = node.length; i < len; i++) {
|
|
390
|
-
if (typeof prev !== "object" && typeof node[i] !== "object") mapped += `<!--!$-->`;
|
|
389
|
+
if (!top && typeof prev !== "object" && typeof node[i] !== "object") mapped += `<!--!$-->`;
|
|
391
390
|
mapped += resolveSSRNode(prev = node[i]);
|
|
392
391
|
}
|
|
393
392
|
return mapped;
|
|
@@ -413,7 +412,7 @@ function generateHydrationScript({
|
|
|
413
412
|
eventNames = ["click", "input"],
|
|
414
413
|
nonce
|
|
415
414
|
} = {}) {
|
|
416
|
-
return `<script${nonce ? ` nonce="${nonce}"` : ""}>(e=>{let t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")?e:t(e.host&&e.host
|
|
415
|
+
return `<script${nonce ? ` nonce="${nonce}"` : ""}>(e=>{let t=e=>e&&e.hasAttribute&&(e.hasAttribute("data-hk")?e:t(e.host&&e.host.nodeType?e.host:e.parentNode));["${eventNames.join('", "')}"].forEach((o=>document.addEventListener(o,(o=>{let s=o.composedPath&&o.composedPath()[0]||o.target,a=t(s);a&&!e.completed.has(a)&&e.events.push([a,o])}))))})(window._$HY||(_$HY={events:[],completed:new WeakSet,r:{},fe(){},init(e,t){_$HY.r[e]=[new Promise((e=>t=e)),t]},set(e,t,o){(o=_$HY.r[e])&&o[1](t),_$HY.r[e]=[t]},unset(e){delete _$HY.r[e]},load:e=>_$HY.r[e]}));</script><!--xs-->`;
|
|
417
416
|
}
|
|
418
417
|
function Hydration(props) {
|
|
419
418
|
if (!sharedConfig.context.noHydrate) return props.children;
|
package/web/dist/web.cjs
CHANGED
|
@@ -457,7 +457,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
457
457
|
appendNodes(parent, array);
|
|
458
458
|
}
|
|
459
459
|
current = array;
|
|
460
|
-
} else if (value
|
|
460
|
+
} else if (value.nodeType) {
|
|
461
461
|
if (solidJs.sharedConfig.context && value.parentNode) return current = multi ? [value] : value;
|
|
462
462
|
if (Array.isArray(current)) {
|
|
463
463
|
if (multi) return current = cleanChildren(parent, current, marker, value);
|
|
@@ -473,12 +473,13 @@ function normalizeIncomingArray(normalized, array, current, unwrap) {
|
|
|
473
473
|
let dynamic = false;
|
|
474
474
|
for (let i = 0, len = array.length; i < len; i++) {
|
|
475
475
|
let item = array[i],
|
|
476
|
-
prev = current && current[i]
|
|
477
|
-
|
|
476
|
+
prev = current && current[i],
|
|
477
|
+
t;
|
|
478
|
+
if (item == null || item === true || item === false) ; else if ((t = typeof item) === "object" && item.nodeType) {
|
|
478
479
|
normalized.push(item);
|
|
479
|
-
} else if (
|
|
480
|
+
} else if (Array.isArray(item)) {
|
|
480
481
|
dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;
|
|
481
|
-
} else if (
|
|
482
|
+
} else if (t === "function") {
|
|
482
483
|
if (unwrap) {
|
|
483
484
|
while (typeof item === "function") item = item();
|
|
484
485
|
dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;
|
|
@@ -488,10 +489,7 @@ function normalizeIncomingArray(normalized, array, current, unwrap) {
|
|
|
488
489
|
}
|
|
489
490
|
} else {
|
|
490
491
|
const value = String(item);
|
|
491
|
-
if (prev && prev.nodeType === 3)
|
|
492
|
-
prev.data = value;
|
|
493
|
-
normalized.push(prev);
|
|
494
|
-
} else normalized.push(document.createTextNode(value));
|
|
492
|
+
if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);else normalized.push(document.createTextNode(value));
|
|
495
493
|
}
|
|
496
494
|
}
|
|
497
495
|
return dynamic;
|
package/web/dist/web.js
CHANGED
|
@@ -456,7 +456,7 @@ function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
|
456
456
|
appendNodes(parent, array);
|
|
457
457
|
}
|
|
458
458
|
current = array;
|
|
459
|
-
} else if (value
|
|
459
|
+
} else if (value.nodeType) {
|
|
460
460
|
if (sharedConfig.context && value.parentNode) return current = multi ? [value] : value;
|
|
461
461
|
if (Array.isArray(current)) {
|
|
462
462
|
if (multi) return current = cleanChildren(parent, current, marker, value);
|
|
@@ -472,12 +472,13 @@ function normalizeIncomingArray(normalized, array, current, unwrap) {
|
|
|
472
472
|
let dynamic = false;
|
|
473
473
|
for (let i = 0, len = array.length; i < len; i++) {
|
|
474
474
|
let item = array[i],
|
|
475
|
-
prev = current && current[i]
|
|
476
|
-
|
|
475
|
+
prev = current && current[i],
|
|
476
|
+
t;
|
|
477
|
+
if (item == null || item === true || item === false) ; else if ((t = typeof item) === "object" && item.nodeType) {
|
|
477
478
|
normalized.push(item);
|
|
478
|
-
} else if (
|
|
479
|
+
} else if (Array.isArray(item)) {
|
|
479
480
|
dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;
|
|
480
|
-
} else if (
|
|
481
|
+
} else if (t === "function") {
|
|
481
482
|
if (unwrap) {
|
|
482
483
|
while (typeof item === "function") item = item();
|
|
483
484
|
dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;
|
|
@@ -487,10 +488,7 @@ function normalizeIncomingArray(normalized, array, current, unwrap) {
|
|
|
487
488
|
}
|
|
488
489
|
} else {
|
|
489
490
|
const value = String(item);
|
|
490
|
-
if (prev && prev.nodeType === 3)
|
|
491
|
-
prev.data = value;
|
|
492
|
-
normalized.push(prev);
|
|
493
|
-
} else normalized.push(document.createTextNode(value));
|
|
491
|
+
if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);else normalized.push(document.createTextNode(value));
|
|
494
492
|
}
|
|
495
493
|
}
|
|
496
494
|
return dynamic;
|