MCPcopy
hub / github.com/angular/angular / createOrAttach

Function createOrAttach

packages/core/src/render3/list_reconciliation.ts:369–382  ·  view source on GitHub ↗
(
  liveCollection: LiveCollection<T, V>,
  detachedItems: UniqueValueMultiKeyMap<unknown, T> | undefined,
  trackByFn: TrackByFunction<unknown>,
  index: number,
  value: V,
)

Source from the content-addressed store, hash-verified

367}
368
369function createOrAttach<T, V>(
370 liveCollection: LiveCollection<T, V>,
371 detachedItems: UniqueValueMultiKeyMap<unknown, T> | undefined,
372 trackByFn: TrackByFunction<unknown>,
373 index: number,
374 value: V,
375) {
376 if (!attachPreviouslyDetached(liveCollection, detachedItems, index, trackByFn(index, value))) {
377 const newItem = liveCollection.create(index, value);
378 liveCollection.attach(index, newItem);
379 } else {
380 liveCollection.updateValue(index, value);
381 }
382}
383
384function initLiveItemsInTheFuture<T>(
385 liveCollection: LiveCollection<unknown, unknown>,

Callers 1

reconcileFunction · 0.85

Calls 4

attachPreviouslyDetachedFunction · 0.85
createMethod · 0.65
attachMethod · 0.65
updateValueMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…