MCPcopy Create free account
hub / github.com/ngrx/platform / create

Method create

modules/data/src/selectors/entity-selectors.ts:268–298  ·  view source on GitHub ↗
(
    metadataOrName: EntityMetadata<T> | string
  )

Source from the content-addressed store, hash-verified

266
267 // createCollectionSelectors implementation
268 create<T, S extends EntitySelectors<T> = EntitySelectors<T>>(
269 metadataOrName: EntityMetadata<T> | string
270 ): S {
271 const metadata =
272 typeof metadataOrName === 'string'
273 ? { entityName: metadataOrName }
274 : metadataOrName;
275 const entityName = metadata.entityName;
276 const selectCollection: Selector<
277 Object,
278 EntityCollection<T>
279 > = this.createCollectionSelector<T>(entityName);
280 const collectionSelectors = this.createCollectionSelectors<T>(metadata);
281
282 const entitySelectors: {
283 [name: string]: Selector<EntityCollection<T>, any>;
284 } = {};
285 Object.keys(collectionSelectors).forEach((k) => {
286 entitySelectors[k] = createSelector(
287 selectCollection,
288 collectionSelectors[k]
289 );
290 });
291
292 return {
293 entityName,
294 selectCollection,
295 selectEntityCache: this.selectEntityCache,
296 ...entitySelectors,
297 } as S;
298 }
299}

Callers 1

getCollectionMethod · 0.45

Calls 3

createSelectorFunction · 0.90

Tested by

no test coverage detected