MCPcopy Create free account
hub / github.com/bigskysoftware/_hyperscript / _createPersistentIds

Function _createPersistentIds

www/js/_hyperscript.esm.js:3716–3729  ·  view source on GitHub ↗
(oldIdElements, newIdElements)

Source from the content-addressed store, hash-verified

3714 return { persistentIds, idMap };
3715}
3716function _createPersistentIds(oldIdElements, newIdElements) {
3717 var duplicateIds = /* @__PURE__ */ new Set(), oldIdTagNameMap = /* @__PURE__ */ new Map();
3718 for (var { id, tagName } of oldIdElements) {
3719 if (oldIdTagNameMap.has(id)) duplicateIds.add(id);
3720 else if (id) oldIdTagNameMap.set(id, tagName);
3721 }
3722 var persistentIds = /* @__PURE__ */ new Set();
3723 for (var { id, tagName } of newIdElements) {
3724 if (persistentIds.has(id)) duplicateIds.add(id);
3725 else if (oldIdTagNameMap.get(id) === tagName) persistentIds.add(id);
3726 }
3727 for (var id of duplicateIds) persistentIds.delete(id);
3728 return persistentIds;
3729}
3730function _populateIdMapWithTree(idMap, persistentIds, root, elements) {
3731 for (var elt of elements) {
3732 if (persistentIds.has(elt.id)) {

Callers 1

_createIdMapsFunction · 0.70

Calls 3

setMethod · 0.45
getMethod · 0.45
deleteMethod · 0.45

Tested by

no test coverage detected