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

Function _createPersistentIds

src/core/runtime/morph.js:227–240  ·  view source on GitHub ↗
(oldIdElements, newIdElements)

Source from the content-addressed store, hash-verified

225}
226
227function _createPersistentIds(oldIdElements, newIdElements) {
228 var duplicateIds = new Set(), oldIdTagNameMap = new Map();
229 for (var { id, tagName } of oldIdElements) {
230 if (oldIdTagNameMap.has(id)) duplicateIds.add(id);
231 else if (id) oldIdTagNameMap.set(id, tagName);
232 }
233 var persistentIds = new Set();
234 for (var { id, tagName } of newIdElements) {
235 if (persistentIds.has(id)) duplicateIds.add(id);
236 else if (oldIdTagNameMap.get(id) === tagName) persistentIds.add(id);
237 }
238 for (var id of duplicateIds) persistentIds.delete(id);
239 return persistentIds;
240}
241
242function _populateIdMapWithTree(idMap, persistentIds, root, elements) {
243 for (var elt of elements) {

Callers 1

_createIdMapsFunction · 0.70

Calls 3

setMethod · 0.45
getMethod · 0.45
deleteMethod · 0.45

Tested by

no test coverage detected