1.2.19 each with new key=string
All checks were successful
Deploy Docs to Synology / deploy (push) Successful in 3s

This commit is contained in:
2026-04-25 21:17:40 +02:00
parent f4654a938a
commit a0711b3294
7 changed files with 12 additions and 12 deletions

4
dist/sigpro.esm.js vendored
View File

@@ -463,7 +463,7 @@ var fx = ({ name, duration = 200, scale, slide, rotate, blur }, child) => {
}); });
return el; return el;
}; };
var each = (src, itemFn, keyFn) => { var each = (src, itemFn, keyField) => {
const anchor = doc.createTextNode(""); const anchor = doc.createTextNode("");
const root = h("div", { style: "display:contents" }, [anchor]); const root = h("div", { style: "display:contents" }, [anchor]);
let cache = new Map; let cache = new Map;
@@ -473,7 +473,7 @@ var each = (src, itemFn, keyFn) => {
const newItems = items || []; const newItems = items || [];
for (let i = 0;i < newItems.length; i++) { for (let i = 0;i < newItems.length; i++) {
const item = newItems[i]; const item = newItems[i];
const key = keyFn ? keyFn(item, i) : item?.id ?? i; const key = keyField ? item?.[keyField] ?? i : item?.id ?? i;
let view = cache.get(key); let view = cache.get(key);
if (!view) if (!view)
view = render(() => itemFn(item, i)); view = render(() => itemFn(item, i));

File diff suppressed because one or more lines are too long

4
dist/sigpro.js vendored
View File

@@ -518,7 +518,7 @@
}); });
return el; return el;
}; };
var each = (src, itemFn, keyFn) => { var each = (src, itemFn, keyField) => {
const anchor = doc.createTextNode(""); const anchor = doc.createTextNode("");
const root = h("div", { style: "display:contents" }, [anchor]); const root = h("div", { style: "display:contents" }, [anchor]);
let cache = new Map; let cache = new Map;
@@ -528,7 +528,7 @@
const newItems = items || []; const newItems = items || [];
for (let i = 0;i < newItems.length; i++) { for (let i = 0;i < newItems.length; i++) {
const item = newItems[i]; const item = newItems[i];
const key = keyFn ? keyFn(item, i) : item?.id ?? i; const key = keyField ? item?.[keyField] ?? i : item?.id ?? i;
let view = cache.get(key); let view = cache.get(key);
if (!view) if (!view)
view = render(() => itemFn(item, i)); view = render(() => itemFn(item, i));

2
dist/sigpro.min.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -518,7 +518,7 @@
}); });
return el; return el;
}; };
var each = (src, itemFn, keyFn) => { var each = (src, itemFn, keyField) => {
const anchor = doc.createTextNode(""); const anchor = doc.createTextNode("");
const root = h("div", { style: "display:contents" }, [anchor]); const root = h("div", { style: "display:contents" }, [anchor]);
let cache = new Map; let cache = new Map;
@@ -528,7 +528,7 @@
const newItems = items || []; const newItems = items || [];
for (let i = 0;i < newItems.length; i++) { for (let i = 0;i < newItems.length; i++) {
const item = newItems[i]; const item = newItems[i];
const key = keyFn ? keyFn(item, i) : item?.id ?? i; const key = keyField ? item?.[keyField] ?? i : item?.id ?? i;
let view = cache.get(key); let view = cache.get(key);
if (!view) if (!view)
view = render(() => itemFn(item, i)); view = render(() => itemFn(item, i));

View File

@@ -1,6 +1,6 @@
{ {
"name": "sigpro", "name": "sigpro",
"version": "1.2.18", "version": "1.2.19",
"type": "module", "type": "module",
"license": "MIT", "license": "MIT",
"main": "./dist/sigpro.esm.min.js", "main": "./dist/sigpro.esm.min.js",

View File

@@ -1,4 +1,4 @@
// sigpro 1.2.18 // sigpro 1.2.19
const isFunc = f => typeof f === "function" const isFunc = f => typeof f === "function"
const isObj = o => o && typeof o === "object" const isObj = o => o && typeof o === "object"
const isArr = Array.isArray const isArr = Array.isArray
@@ -458,7 +458,7 @@ const fx = ({ name, duration = 200, scale, slide, rotate, blur }, child) => {
return el; return el;
}; };
const each = (src, itemFn, keyFn) => { const each = (src, itemFn, keyField) => {
const anchor = doc.createTextNode("") const anchor = doc.createTextNode("")
const root = h("div", { style: "display:contents" }, [anchor]) const root = h("div", { style: "display:contents" }, [anchor])
let cache = new Map() let cache = new Map()
@@ -468,7 +468,7 @@ const each = (src, itemFn, keyFn) => {
const newItems = items || [] const newItems = items || []
for (let i = 0; i < newItems.length; i++) { for (let i = 0; i < newItems.length; i++) {
const item = newItems[i] const item = newItems[i]
const key = keyFn ? keyFn(item, i) : (item?.id ?? i) const key = keyField ? (item?.[keyField] ?? i) : (item?.id ?? i)
let view = cache.get(key) let view = cache.get(key)
if (!view) view = render(() => itemFn(item, i)) if (!view) view = render(() => itemFn(item, i))
else cache.delete(key) else cache.delete(key)