@ngrx/signals 20.0.0-rc.0 → 20.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ngrx-signals-entities.mjs.map +1 -1
- package/fesm2022/ngrx-signals-events.mjs.map +1 -1
- package/fesm2022/ngrx-signals-rxjs-interop.mjs.map +1 -1
- package/fesm2022/ngrx-signals-testing.mjs.map +1 -1
- package/fesm2022/ngrx-signals.mjs +1 -0
- package/fesm2022/ngrx-signals.mjs.map +1 -1
- package/package.json +1 -1
- package/schematics-core/utility/libs-version.js +1 -1
- package/schematics-core/utility/libs-version.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngrx-signals-entities.mjs","sources":["../../../../modules/signals/entities/src/models.ts","../../../../modules/signals/entities/src/helpers.ts","../../../../modules/signals/entities/src/updaters/add-entity.ts","../../../../modules/signals/entities/src/updaters/add-entities.ts","../../../../modules/signals/entities/src/updaters/prepend-entity.ts","../../../../modules/signals/entities/src/updaters/prepend-entities.ts","../../../../modules/signals/entities/src/updaters/remove-entity.ts","../../../../modules/signals/entities/src/updaters/remove-entities.ts","../../../../modules/signals/entities/src/updaters/remove-all-entities.ts","../../../../modules/signals/entities/src/updaters/set-entity.ts","../../../../modules/signals/entities/src/updaters/set-entities.ts","../../../../modules/signals/entities/src/updaters/set-all-entities.ts","../../../../modules/signals/entities/src/updaters/update-entity.ts","../../../../modules/signals/entities/src/updaters/update-entities.ts","../../../../modules/signals/entities/src/updaters/update-all-entities.ts","../../../../modules/signals/entities/src/updaters/upsert-entity.ts","../../../../modules/signals/entities/src/updaters/upsert-entities.ts","../../../../modules/signals/entities/src/entity-config.ts","../../../../modules/signals/entities/src/with-entities.ts","../../../../modules/signals/entities/ngrx-signals-entities.ts"],"sourcesContent":["import { Signal } from '@angular/core';\n\nexport type EntityId = string | number;\n\nexport type EntityMap<Entity> = Record<EntityId, Entity>;\n\nexport type EntityState<Entity> = {\n entityMap: EntityMap<Entity>;\n ids: EntityId[];\n};\n\nexport type NamedEntityState<Entity, Collection extends string> = {\n [K in keyof EntityState<Entity> as `${Collection}${Capitalize<K>}`]: EntityState<Entity>[K];\n};\n\nexport type EntityProps<Entity> = {\n entities: Signal<Entity[]>;\n};\n\nexport type NamedEntityProps<Entity, Collection extends string> = {\n [K in keyof EntityProps<Entity> as `${Collection}${Capitalize<K>}`]: EntityProps<Entity>[K];\n};\n\nexport type SelectEntityId<Entity> = (entity: Entity) => EntityId;\n\nexport type EntityPredicate<Entity> = (entity: Entity) => boolean;\n\nexport type EntityChanges<Entity> =\n | Partial<Entity>\n | ((entity: Entity) => Partial<Entity>);\n\nexport enum DidMutate {\n None,\n Entities,\n Both,\n}\n","import {\n DidMutate,\n EntityChanges,\n EntityId,\n EntityPredicate,\n EntityState,\n SelectEntityId,\n} from './models';\n\ndeclare const ngDevMode: unknown;\nconst defaultSelectId: SelectEntityId<{ id: EntityId }> = (entity) => entity.id;\n\nexport function getEntityIdSelector(config?: {\n selectId?: SelectEntityId<any>;\n}): SelectEntityId<any> {\n return config?.selectId ?? defaultSelectId;\n}\n\nexport function getEntityStateKeys(config?: { collection?: string }): {\n entityMapKey: string;\n idsKey: string;\n entitiesKey: string;\n} {\n const collection = config?.collection;\n const entityMapKey =\n collection === undefined ? 'entityMap' : `${collection}EntityMap`;\n const idsKey = collection === undefined ? 'ids' : `${collection}Ids`;\n const entitiesKey =\n collection === undefined ? 'entities' : `${collection}Entities`;\n\n return { entityMapKey, idsKey, entitiesKey };\n}\n\nexport function cloneEntityState(\n state: Record<string, any>,\n stateKeys: {\n entityMapKey: string;\n idsKey: string;\n }\n): EntityState<any> {\n return {\n entityMap: { ...state[stateKeys.entityMapKey] },\n ids: [...state[stateKeys.idsKey]],\n };\n}\n\nexport function getEntityUpdaterResult(\n state: EntityState<any>,\n stateKeys: {\n entityMapKey: string;\n idsKey: string;\n },\n didMutate: DidMutate\n): Record<string, any> {\n switch (didMutate) {\n case DidMutate.Both: {\n return {\n [stateKeys.entityMapKey]: state.entityMap,\n [stateKeys.idsKey]: state.ids,\n };\n }\n case DidMutate.Entities: {\n return { [stateKeys.entityMapKey]: state.entityMap };\n }\n default: {\n return {};\n }\n }\n}\n\nexport function addEntityMutably(\n state: EntityState<any>,\n entity: any,\n selectId: SelectEntityId<any>,\n prepend = false\n): DidMutate {\n const id = selectId(entity);\n\n if (state.entityMap[id]) {\n return DidMutate.None;\n }\n\n state.entityMap[id] = entity;\n\n if (prepend) {\n state.ids.unshift(id);\n } else {\n state.ids.push(id);\n }\n\n return DidMutate.Both;\n}\n\nexport function addEntitiesMutably(\n state: EntityState<any>,\n entities: any[],\n selectId: SelectEntityId<any>,\n prepend = false\n): DidMutate {\n let didMutate = DidMutate.None;\n\n for (const entity of entities) {\n const result = addEntityMutably(state, entity, selectId, prepend);\n\n if (result === DidMutate.Both) {\n didMutate = result;\n }\n }\n\n return didMutate;\n}\n\nexport function setEntityMutably(\n state: EntityState<any>,\n entity: any,\n selectId: SelectEntityId<any>,\n replace = true\n): DidMutate {\n const id = selectId(entity);\n\n if (state.entityMap[id]) {\n state.entityMap[id] = replace\n ? entity\n : { ...state.entityMap[id], ...entity };\n\n return DidMutate.Entities;\n }\n\n state.entityMap[id] = entity;\n state.ids.push(id);\n\n return DidMutate.Both;\n}\n\nexport function setEntitiesMutably(\n state: EntityState<any>,\n entities: any[],\n selectId: SelectEntityId<any>,\n replace = true\n): DidMutate {\n let didMutate = DidMutate.None;\n\n for (const entity of entities) {\n const result = setEntityMutably(state, entity, selectId, replace);\n\n if (didMutate === DidMutate.Both) {\n continue;\n }\n\n didMutate = result;\n }\n\n return didMutate;\n}\n\nexport function removeEntitiesMutably(\n state: EntityState<any>,\n idsOrPredicate: EntityId[] | EntityPredicate<any>\n): DidMutate {\n const ids = Array.isArray(idsOrPredicate)\n ? idsOrPredicate\n : state.ids.filter((id) => idsOrPredicate(state.entityMap[id]));\n let didMutate = DidMutate.None;\n\n for (const id of ids) {\n if (state.entityMap[id]) {\n delete state.entityMap[id];\n didMutate = DidMutate.Both;\n }\n }\n\n if (didMutate === DidMutate.Both) {\n state.ids = state.ids.filter((id) => id in state.entityMap);\n }\n\n return didMutate;\n}\n\nexport function updateEntitiesMutably(\n state: EntityState<any>,\n idsOrPredicate: EntityId[] | EntityPredicate<any>,\n changes: EntityChanges<any>,\n selectId: SelectEntityId<any>\n): DidMutate {\n const ids = Array.isArray(idsOrPredicate)\n ? idsOrPredicate\n : state.ids.filter((id) => idsOrPredicate(state.entityMap[id]));\n let newIds: Record<EntityId, EntityId> | undefined = undefined;\n let didMutate = DidMutate.None;\n\n for (const id of ids) {\n const entity = state.entityMap[id];\n\n if (entity) {\n const changesRecord =\n typeof changes === 'function' ? changes(entity) : changes;\n state.entityMap[id] = { ...entity, ...changesRecord };\n didMutate = DidMutate.Entities;\n\n const newId = selectId(state.entityMap[id]);\n if (newId !== id) {\n state.entityMap[newId] = state.entityMap[id];\n delete state.entityMap[id];\n\n newIds = newIds || {};\n newIds[id] = newId;\n }\n }\n }\n\n if (newIds) {\n state.ids = state.ids.map((id) => newIds[id] ?? id);\n didMutate = DidMutate.Both;\n }\n\n if (\n typeof ngDevMode !== 'undefined' &&\n ngDevMode &&\n state.ids.length !== Object.keys(state.entityMap).length\n ) {\n console.warn(\n '@ngrx/signals/entities: Entities with IDs:',\n ids,\n 'are not updated correctly.',\n 'Make sure to apply valid changes when using `updateEntity`,',\n '`updateEntities`, and `updateAllEntities` updaters.'\n );\n }\n\n return didMutate;\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n addEntityMutably,\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n} from '../helpers';\n\nexport function addEntity<Entity extends { id: EntityId }>(\n entity: Entity\n): PartialStateUpdater<EntityState<Entity>>;\nexport function addEntity<Entity, Collection extends string>(\n entity: Entity,\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function addEntity<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entity: Entity,\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function addEntity<Entity>(\n entity: Entity,\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function addEntity(\n entity: any,\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = addEntityMutably(clonedState, entity, selectId);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n addEntitiesMutably,\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n} from '../helpers';\n\nexport function addEntities<Entity extends { id: EntityId }>(\n entities: Entity[]\n): PartialStateUpdater<EntityState<Entity>>;\nexport function addEntities<Entity, Collection extends string>(\n entities: Entity[],\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function addEntities<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entities: Entity[],\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function addEntities<Entity>(\n entities: Entity[],\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function addEntities(\n entities: any[],\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = addEntitiesMutably(clonedState, entities, selectId);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n addEntityMutably,\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n} from '../helpers';\n\nexport function prependEntity<Entity extends { id: EntityId }>(\n entity: Entity\n): PartialStateUpdater<EntityState<Entity>>;\nexport function prependEntity<Entity, Collection extends string>(\n entity: Entity,\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function prependEntity<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entity: Entity,\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function prependEntity<Entity>(\n entity: Entity,\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function prependEntity(\n entity: any,\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = addEntityMutably(clonedState, entity, selectId, true);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n addEntitiesMutably,\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n} from '../helpers';\n\nexport function prependEntities<Entity extends { id: EntityId }>(\n entities: Entity[]\n): PartialStateUpdater<EntityState<Entity>>;\nexport function prependEntities<Entity, Collection extends string>(\n entities: Entity[],\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function prependEntities<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entities: Entity[],\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function prependEntities<Entity>(\n entities: Entity[],\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function prependEntities(\n entities: any[],\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n\n const uniqueEntities: any[] = [];\n const seenIds = new Set<EntityId>();\n\n for (const entity of entities) {\n const id = selectId(entity);\n\n if (!seenIds.has(id)) {\n uniqueEntities.unshift(entity);\n seenIds.add(id);\n }\n }\n\n const didMutate = addEntitiesMutably(\n clonedState,\n uniqueEntities,\n selectId,\n true\n );\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport { EntityId, EntityState, NamedEntityState } from '../models';\nimport {\n cloneEntityState,\n getEntityStateKeys,\n getEntityUpdaterResult,\n removeEntitiesMutably,\n} from '../helpers';\n\nexport function removeEntity(\n id: EntityId\n): PartialStateUpdater<EntityState<any>>;\nexport function removeEntity<Collection extends string>(\n id: EntityId,\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<any, Collection>>;\nexport function removeEntity(\n id: EntityId,\n config?: { collection?: string }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = removeEntitiesMutably(clonedState, [id]);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityPredicate,\n EntityState,\n NamedEntityState,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityStateKeys,\n getEntityUpdaterResult,\n removeEntitiesMutably,\n} from '../helpers';\n\nexport function removeEntities(\n ids: EntityId[]\n): PartialStateUpdater<EntityState<any>>;\nexport function removeEntities<Entity>(\n predicate: EntityPredicate<Entity>\n): PartialStateUpdater<EntityState<Entity>>;\nexport function removeEntities<Collection extends string>(\n ids: EntityId[],\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<any, Collection>>;\nexport function removeEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<infer E, Collection> ? E : never\n>(\n predicate: EntityPredicate<Entity>,\n config: { collection: Collection }\n): PartialStateUpdater<State>;\nexport function removeEntities(\n idsOrPredicate: EntityId[] | EntityPredicate<any>,\n config?: { collection?: string }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = removeEntitiesMutably(clonedState, idsOrPredicate);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport { EntityState, NamedEntityState } from '../models';\nimport { getEntityStateKeys } from '../helpers';\n\nexport function removeAllEntities(): PartialStateUpdater<EntityState<any>>;\nexport function removeAllEntities<Collection extends string>(config: {\n collection: Collection;\n}): PartialStateUpdater<NamedEntityState<any, Collection>>;\nexport function removeAllEntities(config?: {\n collection?: string;\n}): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const stateKeys = getEntityStateKeys(config);\n\n return () => ({\n [stateKeys.entityMapKey]: {},\n [stateKeys.idsKey]: [],\n });\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n setEntityMutably,\n} from '../helpers';\n\nexport function setEntity<Entity extends { id: EntityId }>(\n entity: Entity\n): PartialStateUpdater<EntityState<Entity>>;\nexport function setEntity<Entity, Collection extends string>(\n entity: Entity,\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function setEntity<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entity: Entity,\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function setEntity<Entity>(\n entity: Entity,\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function setEntity(\n entity: any,\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = setEntityMutably(clonedState, entity, selectId);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n setEntitiesMutably,\n} from '../helpers';\n\nexport function setEntities<Entity extends { id: EntityId }>(\n entities: Entity[]\n): PartialStateUpdater<EntityState<Entity>>;\nexport function setEntities<Entity, Collection extends string>(\n entities: Entity[],\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function setEntities<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entities: Entity[],\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function setEntities<Entity>(\n entities: Entity[],\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function setEntities(\n entities: any[],\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = setEntitiesMutably(clonedState, entities, selectId);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n getEntityIdSelector,\n getEntityStateKeys,\n setEntitiesMutably,\n} from '../helpers';\n\nexport function setAllEntities<Entity extends { id: EntityId }>(\n entities: Entity[]\n): PartialStateUpdater<EntityState<Entity>>;\nexport function setAllEntities<Entity, Collection extends string>(\n entities: Entity[],\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function setAllEntities<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entities: Entity[],\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function setAllEntities<Entity>(\n entities: Entity[],\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function setAllEntities(\n entities: any[],\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return () => {\n const state: EntityState<any> = { entityMap: {}, ids: [] };\n setEntitiesMutably(state, entities, selectId);\n\n return {\n [stateKeys.entityMapKey]: state.entityMap,\n [stateKeys.idsKey]: state.ids,\n };\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityChanges,\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n updateEntitiesMutably,\n} from '../helpers';\n\nexport function updateEntity<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<infer E, Collection> ? E : never\n>(\n update: {\n id: EntityId;\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: {\n collection: Collection;\n selectId: SelectEntityId<NoInfer<Entity>>;\n }\n): PartialStateUpdater<State>;\nexport function updateEntity<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<\n infer E extends { id: EntityId },\n Collection\n >\n ? E\n : never\n>(\n update: {\n id: EntityId;\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: { collection: Collection }\n): PartialStateUpdater<State>;\nexport function updateEntity<Entity>(\n update: {\n id: EntityId;\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function updateEntity<Entity extends { id: EntityId }>(update: {\n id: EntityId;\n changes: EntityChanges<NoInfer<Entity>>;\n}): PartialStateUpdater<EntityState<Entity>>;\nexport function updateEntity(\n update: {\n id: EntityId;\n changes: EntityChanges<any>;\n },\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = updateEntitiesMutably(\n clonedState,\n [update.id],\n update.changes,\n selectId\n );\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityChanges,\n EntityId,\n EntityPredicate,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n updateEntitiesMutably,\n} from '../helpers';\n\nexport function updateEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<infer E, Collection> ? E : never\n>(\n update: {\n ids: EntityId[];\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: {\n collection: Collection;\n selectId: SelectEntityId<NoInfer<Entity>>;\n }\n): PartialStateUpdater<State>;\nexport function updateEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<infer E, Collection> ? E : never\n>(\n update: {\n predicate: EntityPredicate<Entity>;\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: {\n collection: Collection;\n selectId: SelectEntityId<NoInfer<Entity>>;\n }\n): PartialStateUpdater<State>;\nexport function updateEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<\n infer E extends { id: EntityId },\n Collection\n >\n ? E\n : never\n>(\n update: {\n ids: EntityId[];\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: { collection: Collection }\n): PartialStateUpdater<State>;\nexport function updateEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<\n infer E extends { id: EntityId },\n Collection\n >\n ? E\n : never\n>(\n update: {\n predicate: EntityPredicate<Entity>;\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: { collection: Collection }\n): PartialStateUpdater<State>;\nexport function updateEntities<Entity>(\n update: {\n ids: EntityId[];\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function updateEntities<Entity>(\n update: {\n predicate: EntityPredicate<Entity>;\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function updateEntities<Entity extends { id: EntityId }>(update: {\n ids: EntityId[];\n changes: EntityChanges<NoInfer<Entity>>;\n}): PartialStateUpdater<EntityState<Entity>>;\nexport function updateEntities<Entity extends { id: EntityId }>(update: {\n predicate: EntityPredicate<Entity>;\n changes: EntityChanges<NoInfer<Entity>>;\n}): PartialStateUpdater<EntityState<Entity>>;\nexport function updateEntities(\n update: ({ ids: EntityId[] } | { predicate: EntityPredicate<any> }) & {\n changes: EntityChanges<any>;\n },\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n const idsOrPredicate = 'ids' in update ? update.ids : update.predicate;\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = updateEntitiesMutably(\n clonedState,\n idsOrPredicate,\n update.changes,\n selectId\n );\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityChanges,\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n updateEntitiesMutably,\n} from '../helpers';\n\nexport function updateAllEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<infer E, Collection> ? E : never\n>(\n changes: EntityChanges<NoInfer<Entity>>,\n config: {\n collection: Collection;\n selectId: SelectEntityId<NoInfer<Entity>>;\n }\n): PartialStateUpdater<State>;\nexport function updateAllEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<\n infer E extends { id: EntityId },\n Collection\n >\n ? E\n : never\n>(\n changes: EntityChanges<NoInfer<Entity>>,\n config: { collection: Collection }\n): PartialStateUpdater<State>;\nexport function updateAllEntities<Entity>(\n changes: EntityChanges<NoInfer<Entity>>,\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function updateAllEntities<Entity extends { id: EntityId }>(\n changes: EntityChanges<NoInfer<Entity>>\n): PartialStateUpdater<EntityState<Entity>>;\nexport function updateAllEntities(\n changes: EntityChanges<any>,\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = updateEntitiesMutably(\n clonedState,\n (state as Record<string, any>)[stateKeys.idsKey],\n changes,\n selectId\n );\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n setEntityMutably,\n} from '../helpers';\n\nexport function upsertEntity<Entity extends { id: EntityId }>(\n entity: Entity\n): PartialStateUpdater<EntityState<Entity>>;\nexport function upsertEntity<Entity, Collection extends string>(\n entity: Entity,\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function upsertEntity<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entity: Entity,\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function upsertEntity<Entity>(\n entity: Entity,\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function upsertEntity(\n entity: any,\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = setEntityMutably(clonedState, entity, selectId, false);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n setEntitiesMutably,\n} from '../helpers';\n\nexport function upsertEntities<Entity extends { id: EntityId }>(\n entities: Entity[]\n): PartialStateUpdater<EntityState<Entity>>;\nexport function upsertEntities<Entity, Collection extends string>(\n entities: Entity[],\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function upsertEntities<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entities: Entity[],\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function upsertEntities<Entity>(\n entities: Entity[],\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function upsertEntities(\n entities: any[],\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = setEntitiesMutably(\n clonedState,\n entities,\n selectId,\n false\n );\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { SelectEntityId } from './models';\n\nexport function entityConfig<Entity, Collection extends string>(config: {\n entity: Entity;\n collection: Collection;\n selectId: SelectEntityId<NoInfer<Entity>>;\n}): typeof config;\nexport function entityConfig<Entity>(config: {\n entity: Entity;\n selectId: SelectEntityId<NoInfer<Entity>>;\n}): typeof config;\nexport function entityConfig<Entity, Collection extends string>(config: {\n entity: Entity;\n collection: Collection;\n}): typeof config;\nexport function entityConfig<Entity>(config: { entity: Entity }): typeof config;\nexport function entityConfig<Entity>(config: {\n entity: Entity;\n collection?: string;\n selectId?: SelectEntityId<Entity>;\n}): typeof config {\n return config;\n}\n","import { computed, Signal } from '@angular/core';\nimport {\n EmptyFeatureResult,\n SignalStoreFeature,\n signalStoreFeature,\n withComputed,\n withState,\n} from '@ngrx/signals';\nimport {\n EntityProps,\n EntityId,\n EntityMap,\n EntityState,\n NamedEntityProps,\n NamedEntityState,\n} from './models';\nimport { getEntityStateKeys } from './helpers';\n\nexport function withEntities<Entity>(): SignalStoreFeature<\n EmptyFeatureResult,\n {\n state: EntityState<Entity>;\n props: EntityProps<Entity>;\n methods: {};\n }\n>;\nexport function withEntities<Entity, Collection extends string>(config: {\n entity: Entity;\n collection: Collection;\n}): SignalStoreFeature<\n EmptyFeatureResult,\n {\n state: NamedEntityState<Entity, Collection>;\n props: NamedEntityProps<Entity, Collection>;\n methods: {};\n }\n>;\nexport function withEntities<Entity>(config: {\n entity: Entity;\n}): SignalStoreFeature<\n EmptyFeatureResult,\n {\n state: EntityState<Entity>;\n props: EntityProps<Entity>;\n methods: {};\n }\n>;\nexport function withEntities<Entity>(config?: {\n entity: Entity;\n collection?: string;\n}): SignalStoreFeature {\n const { entityMapKey, idsKey, entitiesKey } = getEntityStateKeys(config);\n\n return signalStoreFeature(\n withState({\n [entityMapKey]: {},\n [idsKey]: [],\n }),\n withComputed((store: Record<string, Signal<unknown>>) => ({\n [entitiesKey]: computed(() => {\n const entityMap = store[entityMapKey]() as EntityMap<Entity>;\n const ids = store[idsKey]() as EntityId[];\n\n return ids.map((id) => entityMap[id]);\n }),\n }))\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngrx-signals-entities.mjs","sources":["../../../../modules/signals/entities/src/models.ts","../../../../modules/signals/entities/src/helpers.ts","../../../../modules/signals/entities/src/updaters/add-entity.ts","../../../../modules/signals/entities/src/updaters/add-entities.ts","../../../../modules/signals/entities/src/updaters/prepend-entity.ts","../../../../modules/signals/entities/src/updaters/prepend-entities.ts","../../../../modules/signals/entities/src/updaters/remove-entity.ts","../../../../modules/signals/entities/src/updaters/remove-entities.ts","../../../../modules/signals/entities/src/updaters/remove-all-entities.ts","../../../../modules/signals/entities/src/updaters/set-entity.ts","../../../../modules/signals/entities/src/updaters/set-entities.ts","../../../../modules/signals/entities/src/updaters/set-all-entities.ts","../../../../modules/signals/entities/src/updaters/update-entity.ts","../../../../modules/signals/entities/src/updaters/update-entities.ts","../../../../modules/signals/entities/src/updaters/update-all-entities.ts","../../../../modules/signals/entities/src/updaters/upsert-entity.ts","../../../../modules/signals/entities/src/updaters/upsert-entities.ts","../../../../modules/signals/entities/src/entity-config.ts","../../../../modules/signals/entities/src/with-entities.ts","../../../../modules/signals/entities/ngrx-signals-entities.ts"],"sourcesContent":["import { Signal } from '@angular/core';\n\nexport type EntityId = string | number;\n\nexport type EntityMap<Entity> = Record<EntityId, Entity>;\n\nexport type EntityState<Entity> = {\n entityMap: EntityMap<Entity>;\n ids: EntityId[];\n};\n\nexport type NamedEntityState<Entity, Collection extends string> = {\n [K in keyof EntityState<Entity> as `${Collection}${Capitalize<K>}`]: EntityState<Entity>[K];\n};\n\nexport type EntityProps<Entity> = {\n entities: Signal<Entity[]>;\n};\n\nexport type NamedEntityProps<Entity, Collection extends string> = {\n [K in keyof EntityProps<Entity> as `${Collection}${Capitalize<K>}`]: EntityProps<Entity>[K];\n};\n\nexport type SelectEntityId<Entity> = (entity: Entity) => EntityId;\n\nexport type EntityPredicate<Entity> = (entity: Entity) => boolean;\n\nexport type EntityChanges<Entity> =\n | Partial<Entity>\n | ((entity: Entity) => Partial<Entity>);\n\nexport enum DidMutate {\n None,\n Entities,\n Both,\n}\n","import {\n DidMutate,\n EntityChanges,\n EntityId,\n EntityPredicate,\n EntityState,\n SelectEntityId,\n} from './models';\n\ndeclare const ngDevMode: unknown;\nconst defaultSelectId: SelectEntityId<{ id: EntityId }> = (entity) => entity.id;\n\nexport function getEntityIdSelector(config?: {\n selectId?: SelectEntityId<any>;\n}): SelectEntityId<any> {\n return config?.selectId ?? defaultSelectId;\n}\n\nexport function getEntityStateKeys(config?: { collection?: string }): {\n entityMapKey: string;\n idsKey: string;\n entitiesKey: string;\n} {\n const collection = config?.collection;\n const entityMapKey =\n collection === undefined ? 'entityMap' : `${collection}EntityMap`;\n const idsKey = collection === undefined ? 'ids' : `${collection}Ids`;\n const entitiesKey =\n collection === undefined ? 'entities' : `${collection}Entities`;\n\n return { entityMapKey, idsKey, entitiesKey };\n}\n\nexport function cloneEntityState(\n state: Record<string, any>,\n stateKeys: {\n entityMapKey: string;\n idsKey: string;\n }\n): EntityState<any> {\n return {\n entityMap: { ...state[stateKeys.entityMapKey] },\n ids: [...state[stateKeys.idsKey]],\n };\n}\n\nexport function getEntityUpdaterResult(\n state: EntityState<any>,\n stateKeys: {\n entityMapKey: string;\n idsKey: string;\n },\n didMutate: DidMutate\n): Record<string, any> {\n switch (didMutate) {\n case DidMutate.Both: {\n return {\n [stateKeys.entityMapKey]: state.entityMap,\n [stateKeys.idsKey]: state.ids,\n };\n }\n case DidMutate.Entities: {\n return { [stateKeys.entityMapKey]: state.entityMap };\n }\n default: {\n return {};\n }\n }\n}\n\nexport function addEntityMutably(\n state: EntityState<any>,\n entity: any,\n selectId: SelectEntityId<any>,\n prepend = false\n): DidMutate {\n const id = selectId(entity);\n\n if (state.entityMap[id]) {\n return DidMutate.None;\n }\n\n state.entityMap[id] = entity;\n\n if (prepend) {\n state.ids.unshift(id);\n } else {\n state.ids.push(id);\n }\n\n return DidMutate.Both;\n}\n\nexport function addEntitiesMutably(\n state: EntityState<any>,\n entities: any[],\n selectId: SelectEntityId<any>,\n prepend = false\n): DidMutate {\n let didMutate = DidMutate.None;\n\n for (const entity of entities) {\n const result = addEntityMutably(state, entity, selectId, prepend);\n\n if (result === DidMutate.Both) {\n didMutate = result;\n }\n }\n\n return didMutate;\n}\n\nexport function setEntityMutably(\n state: EntityState<any>,\n entity: any,\n selectId: SelectEntityId<any>,\n replace = true\n): DidMutate {\n const id = selectId(entity);\n\n if (state.entityMap[id]) {\n state.entityMap[id] = replace\n ? entity\n : { ...state.entityMap[id], ...entity };\n\n return DidMutate.Entities;\n }\n\n state.entityMap[id] = entity;\n state.ids.push(id);\n\n return DidMutate.Both;\n}\n\nexport function setEntitiesMutably(\n state: EntityState<any>,\n entities: any[],\n selectId: SelectEntityId<any>,\n replace = true\n): DidMutate {\n let didMutate = DidMutate.None;\n\n for (const entity of entities) {\n const result = setEntityMutably(state, entity, selectId, replace);\n\n if (didMutate === DidMutate.Both) {\n continue;\n }\n\n didMutate = result;\n }\n\n return didMutate;\n}\n\nexport function removeEntitiesMutably(\n state: EntityState<any>,\n idsOrPredicate: EntityId[] | EntityPredicate<any>\n): DidMutate {\n const ids = Array.isArray(idsOrPredicate)\n ? idsOrPredicate\n : state.ids.filter((id) => idsOrPredicate(state.entityMap[id]));\n let didMutate = DidMutate.None;\n\n for (const id of ids) {\n if (state.entityMap[id]) {\n delete state.entityMap[id];\n didMutate = DidMutate.Both;\n }\n }\n\n if (didMutate === DidMutate.Both) {\n state.ids = state.ids.filter((id) => id in state.entityMap);\n }\n\n return didMutate;\n}\n\nexport function updateEntitiesMutably(\n state: EntityState<any>,\n idsOrPredicate: EntityId[] | EntityPredicate<any>,\n changes: EntityChanges<any>,\n selectId: SelectEntityId<any>\n): DidMutate {\n const ids = Array.isArray(idsOrPredicate)\n ? idsOrPredicate\n : state.ids.filter((id) => idsOrPredicate(state.entityMap[id]));\n let newIds: Record<EntityId, EntityId> | undefined = undefined;\n let didMutate = DidMutate.None;\n\n for (const id of ids) {\n const entity = state.entityMap[id];\n\n if (entity) {\n const changesRecord =\n typeof changes === 'function' ? changes(entity) : changes;\n state.entityMap[id] = { ...entity, ...changesRecord };\n didMutate = DidMutate.Entities;\n\n const newId = selectId(state.entityMap[id]);\n if (newId !== id) {\n state.entityMap[newId] = state.entityMap[id];\n delete state.entityMap[id];\n\n newIds = newIds || {};\n newIds[id] = newId;\n }\n }\n }\n\n if (newIds) {\n state.ids = state.ids.map((id) => newIds[id] ?? id);\n didMutate = DidMutate.Both;\n }\n\n if (\n typeof ngDevMode !== 'undefined' &&\n ngDevMode &&\n state.ids.length !== Object.keys(state.entityMap).length\n ) {\n console.warn(\n '@ngrx/signals/entities: Entities with IDs:',\n ids,\n 'are not updated correctly.',\n 'Make sure to apply valid changes when using `updateEntity`,',\n '`updateEntities`, and `updateAllEntities` updaters.'\n );\n }\n\n return didMutate;\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n addEntityMutably,\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n} from '../helpers';\n\nexport function addEntity<Entity extends { id: EntityId }>(\n entity: Entity\n): PartialStateUpdater<EntityState<Entity>>;\nexport function addEntity<Entity, Collection extends string>(\n entity: Entity,\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function addEntity<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entity: Entity,\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function addEntity<Entity>(\n entity: Entity,\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function addEntity(\n entity: any,\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = addEntityMutably(clonedState, entity, selectId);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n addEntitiesMutably,\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n} from '../helpers';\n\nexport function addEntities<Entity extends { id: EntityId }>(\n entities: Entity[]\n): PartialStateUpdater<EntityState<Entity>>;\nexport function addEntities<Entity, Collection extends string>(\n entities: Entity[],\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function addEntities<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entities: Entity[],\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function addEntities<Entity>(\n entities: Entity[],\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function addEntities(\n entities: any[],\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = addEntitiesMutably(clonedState, entities, selectId);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n addEntityMutably,\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n} from '../helpers';\n\nexport function prependEntity<Entity extends { id: EntityId }>(\n entity: Entity\n): PartialStateUpdater<EntityState<Entity>>;\nexport function prependEntity<Entity, Collection extends string>(\n entity: Entity,\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function prependEntity<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entity: Entity,\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function prependEntity<Entity>(\n entity: Entity,\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function prependEntity(\n entity: any,\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = addEntityMutably(clonedState, entity, selectId, true);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n addEntitiesMutably,\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n} from '../helpers';\n\nexport function prependEntities<Entity extends { id: EntityId }>(\n entities: Entity[]\n): PartialStateUpdater<EntityState<Entity>>;\nexport function prependEntities<Entity, Collection extends string>(\n entities: Entity[],\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function prependEntities<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entities: Entity[],\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function prependEntities<Entity>(\n entities: Entity[],\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function prependEntities(\n entities: any[],\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n\n const uniqueEntities: any[] = [];\n const seenIds = new Set<EntityId>();\n\n for (const entity of entities) {\n const id = selectId(entity);\n\n if (!seenIds.has(id)) {\n uniqueEntities.unshift(entity);\n seenIds.add(id);\n }\n }\n\n const didMutate = addEntitiesMutably(\n clonedState,\n uniqueEntities,\n selectId,\n true\n );\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport { EntityId, EntityState, NamedEntityState } from '../models';\nimport {\n cloneEntityState,\n getEntityStateKeys,\n getEntityUpdaterResult,\n removeEntitiesMutably,\n} from '../helpers';\n\nexport function removeEntity(\n id: EntityId\n): PartialStateUpdater<EntityState<any>>;\nexport function removeEntity<Collection extends string>(\n id: EntityId,\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<any, Collection>>;\nexport function removeEntity(\n id: EntityId,\n config?: { collection?: string }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = removeEntitiesMutably(clonedState, [id]);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityPredicate,\n EntityState,\n NamedEntityState,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityStateKeys,\n getEntityUpdaterResult,\n removeEntitiesMutably,\n} from '../helpers';\n\nexport function removeEntities(\n ids: EntityId[]\n): PartialStateUpdater<EntityState<any>>;\nexport function removeEntities<Entity>(\n predicate: EntityPredicate<Entity>\n): PartialStateUpdater<EntityState<Entity>>;\nexport function removeEntities<Collection extends string>(\n ids: EntityId[],\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<any, Collection>>;\nexport function removeEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<infer E, Collection> ? E : never\n>(\n predicate: EntityPredicate<Entity>,\n config: { collection: Collection }\n): PartialStateUpdater<State>;\nexport function removeEntities(\n idsOrPredicate: EntityId[] | EntityPredicate<any>,\n config?: { collection?: string }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = removeEntitiesMutably(clonedState, idsOrPredicate);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport { EntityState, NamedEntityState } from '../models';\nimport { getEntityStateKeys } from '../helpers';\n\nexport function removeAllEntities(): PartialStateUpdater<EntityState<any>>;\nexport function removeAllEntities<Collection extends string>(config: {\n collection: Collection;\n}): PartialStateUpdater<NamedEntityState<any, Collection>>;\nexport function removeAllEntities(config?: {\n collection?: string;\n}): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const stateKeys = getEntityStateKeys(config);\n\n return () => ({\n [stateKeys.entityMapKey]: {},\n [stateKeys.idsKey]: [],\n });\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n setEntityMutably,\n} from '../helpers';\n\nexport function setEntity<Entity extends { id: EntityId }>(\n entity: Entity\n): PartialStateUpdater<EntityState<Entity>>;\nexport function setEntity<Entity, Collection extends string>(\n entity: Entity,\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function setEntity<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entity: Entity,\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function setEntity<Entity>(\n entity: Entity,\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function setEntity(\n entity: any,\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = setEntityMutably(clonedState, entity, selectId);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n setEntitiesMutably,\n} from '../helpers';\n\nexport function setEntities<Entity extends { id: EntityId }>(\n entities: Entity[]\n): PartialStateUpdater<EntityState<Entity>>;\nexport function setEntities<Entity, Collection extends string>(\n entities: Entity[],\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function setEntities<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entities: Entity[],\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function setEntities<Entity>(\n entities: Entity[],\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function setEntities(\n entities: any[],\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = setEntitiesMutably(clonedState, entities, selectId);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n getEntityIdSelector,\n getEntityStateKeys,\n setEntitiesMutably,\n} from '../helpers';\n\nexport function setAllEntities<Entity extends { id: EntityId }>(\n entities: Entity[]\n): PartialStateUpdater<EntityState<Entity>>;\nexport function setAllEntities<Entity, Collection extends string>(\n entities: Entity[],\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function setAllEntities<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entities: Entity[],\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function setAllEntities<Entity>(\n entities: Entity[],\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function setAllEntities(\n entities: any[],\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return () => {\n const state: EntityState<any> = { entityMap: {}, ids: [] };\n setEntitiesMutably(state, entities, selectId);\n\n return {\n [stateKeys.entityMapKey]: state.entityMap,\n [stateKeys.idsKey]: state.ids,\n };\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityChanges,\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n updateEntitiesMutably,\n} from '../helpers';\n\nexport function updateEntity<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<infer E, Collection> ? E : never\n>(\n update: {\n id: EntityId;\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: {\n collection: Collection;\n selectId: SelectEntityId<NoInfer<Entity>>;\n }\n): PartialStateUpdater<State>;\nexport function updateEntity<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<\n infer E extends { id: EntityId },\n Collection\n >\n ? E\n : never\n>(\n update: {\n id: EntityId;\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: { collection: Collection }\n): PartialStateUpdater<State>;\nexport function updateEntity<Entity>(\n update: {\n id: EntityId;\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function updateEntity<Entity extends { id: EntityId }>(update: {\n id: EntityId;\n changes: EntityChanges<NoInfer<Entity>>;\n}): PartialStateUpdater<EntityState<Entity>>;\nexport function updateEntity(\n update: {\n id: EntityId;\n changes: EntityChanges<any>;\n },\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = updateEntitiesMutably(\n clonedState,\n [update.id],\n update.changes,\n selectId\n );\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityChanges,\n EntityId,\n EntityPredicate,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n updateEntitiesMutably,\n} from '../helpers';\n\nexport function updateEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<infer E, Collection> ? E : never\n>(\n update: {\n ids: EntityId[];\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: {\n collection: Collection;\n selectId: SelectEntityId<NoInfer<Entity>>;\n }\n): PartialStateUpdater<State>;\nexport function updateEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<infer E, Collection> ? E : never\n>(\n update: {\n predicate: EntityPredicate<Entity>;\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: {\n collection: Collection;\n selectId: SelectEntityId<NoInfer<Entity>>;\n }\n): PartialStateUpdater<State>;\nexport function updateEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<\n infer E extends { id: EntityId },\n Collection\n >\n ? E\n : never\n>(\n update: {\n ids: EntityId[];\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: { collection: Collection }\n): PartialStateUpdater<State>;\nexport function updateEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<\n infer E extends { id: EntityId },\n Collection\n >\n ? E\n : never\n>(\n update: {\n predicate: EntityPredicate<Entity>;\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: { collection: Collection }\n): PartialStateUpdater<State>;\nexport function updateEntities<Entity>(\n update: {\n ids: EntityId[];\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function updateEntities<Entity>(\n update: {\n predicate: EntityPredicate<Entity>;\n changes: EntityChanges<NoInfer<Entity>>;\n },\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function updateEntities<Entity extends { id: EntityId }>(update: {\n ids: EntityId[];\n changes: EntityChanges<NoInfer<Entity>>;\n}): PartialStateUpdater<EntityState<Entity>>;\nexport function updateEntities<Entity extends { id: EntityId }>(update: {\n predicate: EntityPredicate<Entity>;\n changes: EntityChanges<NoInfer<Entity>>;\n}): PartialStateUpdater<EntityState<Entity>>;\nexport function updateEntities(\n update: ({ ids: EntityId[] } | { predicate: EntityPredicate<any> }) & {\n changes: EntityChanges<any>;\n },\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n const idsOrPredicate = 'ids' in update ? update.ids : update.predicate;\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = updateEntitiesMutably(\n clonedState,\n idsOrPredicate,\n update.changes,\n selectId\n );\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityChanges,\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n updateEntitiesMutably,\n} from '../helpers';\n\nexport function updateAllEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<infer E, Collection> ? E : never\n>(\n changes: EntityChanges<NoInfer<Entity>>,\n config: {\n collection: Collection;\n selectId: SelectEntityId<NoInfer<Entity>>;\n }\n): PartialStateUpdater<State>;\nexport function updateAllEntities<\n Collection extends string,\n State extends NamedEntityState<any, Collection>,\n Entity = State extends NamedEntityState<\n infer E extends { id: EntityId },\n Collection\n >\n ? E\n : never\n>(\n changes: EntityChanges<NoInfer<Entity>>,\n config: { collection: Collection }\n): PartialStateUpdater<State>;\nexport function updateAllEntities<Entity>(\n changes: EntityChanges<NoInfer<Entity>>,\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function updateAllEntities<Entity extends { id: EntityId }>(\n changes: EntityChanges<NoInfer<Entity>>\n): PartialStateUpdater<EntityState<Entity>>;\nexport function updateAllEntities(\n changes: EntityChanges<any>,\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = updateEntitiesMutably(\n clonedState,\n (state as Record<string, any>)[stateKeys.idsKey],\n changes,\n selectId\n );\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n setEntityMutably,\n} from '../helpers';\n\nexport function upsertEntity<Entity extends { id: EntityId }>(\n entity: Entity\n): PartialStateUpdater<EntityState<Entity>>;\nexport function upsertEntity<Entity, Collection extends string>(\n entity: Entity,\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function upsertEntity<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entity: Entity,\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function upsertEntity<Entity>(\n entity: Entity,\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function upsertEntity(\n entity: any,\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = setEntityMutably(clonedState, entity, selectId, false);\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { PartialStateUpdater } from '@ngrx/signals';\nimport {\n EntityId,\n EntityState,\n NamedEntityState,\n SelectEntityId,\n} from '../models';\nimport {\n cloneEntityState,\n getEntityIdSelector,\n getEntityStateKeys,\n getEntityUpdaterResult,\n setEntitiesMutably,\n} from '../helpers';\n\nexport function upsertEntities<Entity extends { id: EntityId }>(\n entities: Entity[]\n): PartialStateUpdater<EntityState<Entity>>;\nexport function upsertEntities<Entity, Collection extends string>(\n entities: Entity[],\n config: { collection: Collection; selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function upsertEntities<\n Entity extends { id: EntityId },\n Collection extends string\n>(\n entities: Entity[],\n config: { collection: Collection }\n): PartialStateUpdater<NamedEntityState<Entity, Collection>>;\nexport function upsertEntities<Entity>(\n entities: Entity[],\n config: { selectId: SelectEntityId<NoInfer<Entity>> }\n): PartialStateUpdater<EntityState<Entity>>;\nexport function upsertEntities(\n entities: any[],\n config?: { collection?: string; selectId?: SelectEntityId<any> }\n): PartialStateUpdater<EntityState<any> | NamedEntityState<any, string>> {\n const selectId = getEntityIdSelector(config);\n const stateKeys = getEntityStateKeys(config);\n\n return (state) => {\n const clonedState = cloneEntityState(state, stateKeys);\n const didMutate = setEntitiesMutably(\n clonedState,\n entities,\n selectId,\n false\n );\n\n return getEntityUpdaterResult(clonedState, stateKeys, didMutate);\n };\n}\n","import { SelectEntityId } from './models';\n\nexport function entityConfig<Entity, Collection extends string>(config: {\n entity: Entity;\n collection: Collection;\n selectId: SelectEntityId<NoInfer<Entity>>;\n}): typeof config;\nexport function entityConfig<Entity>(config: {\n entity: Entity;\n selectId: SelectEntityId<NoInfer<Entity>>;\n}): typeof config;\nexport function entityConfig<Entity, Collection extends string>(config: {\n entity: Entity;\n collection: Collection;\n}): typeof config;\nexport function entityConfig<Entity>(config: { entity: Entity }): typeof config;\nexport function entityConfig<Entity>(config: {\n entity: Entity;\n collection?: string;\n selectId?: SelectEntityId<Entity>;\n}): typeof config {\n return config;\n}\n","import { computed, Signal } from '@angular/core';\nimport {\n EmptyFeatureResult,\n SignalStoreFeature,\n signalStoreFeature,\n withComputed,\n withState,\n} from '@ngrx/signals';\nimport {\n EntityProps,\n EntityId,\n EntityMap,\n EntityState,\n NamedEntityProps,\n NamedEntityState,\n} from './models';\nimport { getEntityStateKeys } from './helpers';\n\nexport function withEntities<Entity>(): SignalStoreFeature<\n EmptyFeatureResult,\n {\n state: EntityState<Entity>;\n props: EntityProps<Entity>;\n methods: {};\n }\n>;\nexport function withEntities<Entity, Collection extends string>(config: {\n entity: Entity;\n collection: Collection;\n}): SignalStoreFeature<\n EmptyFeatureResult,\n {\n state: NamedEntityState<Entity, Collection>;\n props: NamedEntityProps<Entity, Collection>;\n methods: {};\n }\n>;\nexport function withEntities<Entity>(config: {\n entity: Entity;\n}): SignalStoreFeature<\n EmptyFeatureResult,\n {\n state: EntityState<Entity>;\n props: EntityProps<Entity>;\n methods: {};\n }\n>;\nexport function withEntities<Entity>(config?: {\n entity: Entity;\n collection?: string;\n}): SignalStoreFeature {\n const { entityMapKey, idsKey, entitiesKey } = getEntityStateKeys(config);\n\n return signalStoreFeature(\n withState({\n [entityMapKey]: {},\n [idsKey]: [],\n }),\n withComputed((store: Record<string, Signal<unknown>>) => ({\n [entitiesKey]: computed(() => {\n const entityMap = store[entityMapKey]() as EntityMap<Entity>;\n const ids = store[idsKey]() as EntityId[];\n\n return ids.map((id) => entityMap[id]);\n }),\n }))\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AA+BA,IAAY,SAIX;AAJD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;AACJ,IAAA,SAAA,CAAA,SAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ;AACR,IAAA,SAAA,CAAA,SAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;AACN,CAAC,EAJW,SAAS,KAAT,SAAS,GAAA,EAAA,CAAA,CAAA;;ACrBrB,MAAM,eAAe,GAAqC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE;AAEzE,SAAU,mBAAmB,CAAC,MAEnC,EAAA;AACC,IAAA,OAAO,MAAM,EAAE,QAAQ,IAAI,eAAe;AAC5C;AAEM,SAAU,kBAAkB,CAAC,MAAgC,EAAA;AAKjE,IAAA,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU;AACrC,IAAA,MAAM,YAAY,GAChB,UAAU,KAAK,SAAS,GAAG,WAAW,GAAG,CAAA,EAAG,UAAU,WAAW;AACnE,IAAA,MAAM,MAAM,GAAG,UAAU,KAAK,SAAS,GAAG,KAAK,GAAG,CAAA,EAAG,UAAU,KAAK;AACpE,IAAA,MAAM,WAAW,GACf,UAAU,KAAK,SAAS,GAAG,UAAU,GAAG,CAAA,EAAG,UAAU,UAAU;AAEjE,IAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE;AAC9C;AAEM,SAAU,gBAAgB,CAC9B,KAA0B,EAC1B,SAGC,EAAA;IAED,OAAO;QACL,SAAS,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;QAC/C,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KAClC;AACH;SAEgB,sBAAsB,CACpC,KAAuB,EACvB,SAGC,EACD,SAAoB,EAAA;IAEpB,QAAQ,SAAS;AACf,QAAA,KAAK,SAAS,CAAC,IAAI,EAAE;YACnB,OAAO;AACL,gBAAA,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS;AACzC,gBAAA,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG;aAC9B;QACH;AACA,QAAA,KAAK,SAAS,CAAC,QAAQ,EAAE;YACvB,OAAO,EAAE,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE;QACtD;QACA,SAAS;AACP,YAAA,OAAO,EAAE;QACX;;AAEJ;AAEM,SAAU,gBAAgB,CAC9B,KAAuB,EACvB,MAAW,EACX,QAA6B,EAC7B,OAAO,GAAG,KAAK,EAAA;AAEf,IAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;AAE3B,IAAA,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;QACvB,OAAO,SAAS,CAAC,IAAI;IACvB;AAEA,IAAA,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,MAAM;IAE5B,IAAI,OAAO,EAAE;AACX,QAAA,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IACvB;SAAO;AACL,QAAA,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IACpB;IAEA,OAAO,SAAS,CAAC,IAAI;AACvB;AAEM,SAAU,kBAAkB,CAChC,KAAuB,EACvB,QAAe,EACf,QAA6B,EAC7B,OAAO,GAAG,KAAK,EAAA;AAEf,IAAA,IAAI,SAAS,GAAG,SAAS,CAAC,IAAI;AAE9B,IAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;AAC7B,QAAA,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;AAEjE,QAAA,IAAI,MAAM,KAAK,SAAS,CAAC,IAAI,EAAE;YAC7B,SAAS,GAAG,MAAM;QACpB;IACF;AAEA,IAAA,OAAO,SAAS;AAClB;AAEM,SAAU,gBAAgB,CAC9B,KAAuB,EACvB,MAAW,EACX,QAA6B,EAC7B,OAAO,GAAG,IAAI,EAAA;AAEd,IAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;AAE3B,IAAA,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;AACvB,QAAA,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG;AACpB,cAAE;AACF,cAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE;QAEzC,OAAO,SAAS,CAAC,QAAQ;IAC3B;AAEA,IAAA,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,MAAM;AAC5B,IAAA,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAElB,OAAO,SAAS,CAAC,IAAI;AACvB;AAEM,SAAU,kBAAkB,CAChC,KAAuB,EACvB,QAAe,EACf,QAA6B,EAC7B,OAAO,GAAG,IAAI,EAAA;AAEd,IAAA,IAAI,SAAS,GAAG,SAAS,CAAC,IAAI;AAE9B,IAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;AAC7B,QAAA,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;AAEjE,QAAA,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,EAAE;YAChC;QACF;QAEA,SAAS,GAAG,MAAM;IACpB;AAEA,IAAA,OAAO,SAAS;AAClB;AAEM,SAAU,qBAAqB,CACnC,KAAuB,EACvB,cAAiD,EAAA;AAEjD,IAAA,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc;AACtC,UAAE;UACA,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AACjE,IAAA,IAAI,SAAS,GAAG,SAAS,CAAC,IAAI;AAE9B,IAAA,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;AACpB,QAAA,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;AACvB,YAAA,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;AAC1B,YAAA,SAAS,GAAG,SAAS,CAAC,IAAI;QAC5B;IACF;AAEA,IAAA,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,EAAE;QAChC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC;IAC7D;AAEA,IAAA,OAAO,SAAS;AAClB;AAEM,SAAU,qBAAqB,CACnC,KAAuB,EACvB,cAAiD,EACjD,OAA2B,EAC3B,QAA6B,EAAA;AAE7B,IAAA,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc;AACtC,UAAE;UACA,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,IAAI,MAAM,GAA2C,SAAS;AAC9D,IAAA,IAAI,SAAS,GAAG,SAAS,CAAC,IAAI;AAE9B,IAAA,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAElC,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,aAAa,GACjB,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO;AAC3D,YAAA,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,aAAa,EAAE;AACrD,YAAA,SAAS,GAAG,SAAS,CAAC,QAAQ;YAE9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC3C,YAAA,IAAI,KAAK,KAAK,EAAE,EAAE;AAChB,gBAAA,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;AAC5C,gBAAA,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;AAE1B,gBAAA,MAAM,GAAG,MAAM,IAAI,EAAE;AACrB,gBAAA,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK;YACpB;QACF;IACF;IAEA,IAAI,MAAM,EAAE;QACV,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AACnD,QAAA,SAAS,GAAG,SAAS,CAAC,IAAI;IAC5B;IAEA,IACE,OAAO,SAAS,KAAK,WAAW;QAChC,SAAS;AACT,QAAA,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,EACxD;AACA,QAAA,OAAO,CAAC,IAAI,CACV,4CAA4C,EAC5C,GAAG,EACH,4BAA4B,EAC5B,6DAA6D,EAC7D,qDAAqD,CACtD;IACH;AAEA,IAAA,OAAO,SAAS;AAClB;;ACrMM,SAAU,SAAS,CACvB,MAAW,EACX,MAAgE,EAAA;AAEhE,IAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;QACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;QAEjE,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;ACbM,SAAU,WAAW,CACzB,QAAe,EACf,MAAgE,EAAA;AAEhE,IAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;QACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAErE,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;ACbM,SAAU,aAAa,CAC3B,MAAW,EACX,MAAgE,EAAA;AAEhE,IAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;AACtD,QAAA,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;QAEvE,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;ACbM,SAAU,eAAe,CAC7B,QAAe,EACf,MAAgE,EAAA;AAEhE,IAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;QAEtD,MAAM,cAAc,GAAU,EAAE;AAChC,QAAA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAY;AAEnC,QAAA,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;AAC7B,YAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;YAE3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AACpB,gBAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;AAC9B,gBAAA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB;QACF;AAEA,QAAA,MAAM,SAAS,GAAG,kBAAkB,CAClC,WAAW,EACX,cAAc,EACd,QAAQ,EACR,IAAI,CACL;QAED,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;AChDM,SAAU,YAAY,CAC1B,EAAY,EACZ,MAAgC,EAAA;AAEhC,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;QACtD,MAAM,SAAS,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAE1D,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;ACIM,SAAU,cAAc,CAC5B,cAAiD,EACjD,MAAgC,EAAA;AAEhC,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;QACtD,MAAM,SAAS,GAAG,qBAAqB,CAAC,WAAW,EAAE,cAAc,CAAC;QAEpE,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;ACpCM,SAAU,iBAAiB,CAAC,MAEjC,EAAA;AACC,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,OAAO;AACZ,QAAA,CAAC,SAAS,CAAC,YAAY,GAAG,EAAE;AAC5B,QAAA,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE;AACvB,KAAA,CAAC;AACJ;;ACgBM,SAAU,SAAS,CACvB,MAAW,EACX,MAAgE,EAAA;AAEhE,IAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;QACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;QAEjE,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;ACbM,SAAU,WAAW,CACzB,QAAe,EACf,MAAgE,EAAA;AAEhE,IAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;QACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAErE,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;ACfM,SAAU,cAAc,CAC5B,QAAe,EACf,MAAgE,EAAA;AAEhE,IAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;AAE5C,IAAA,OAAO,MAAK;QACV,MAAM,KAAK,GAAqB,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;AAC1D,QAAA,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAE7C,OAAO;AACL,YAAA,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS;AACzC,YAAA,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG;SAC9B;AACH,IAAA,CAAC;AACH;;ACUM,SAAU,YAAY,CAC1B,MAGC,EACD,MAAgE,EAAA;AAEhE,IAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;AACtD,QAAA,MAAM,SAAS,GAAG,qBAAqB,CACrC,WAAW,EACX,CAAC,MAAM,CAAC,EAAE,CAAC,EACX,MAAM,CAAC,OAAO,EACd,QAAQ,CACT;QAED,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;ACqBM,SAAU,cAAc,CAC5B,MAEC,EACD,MAAgE,EAAA;AAEhE,IAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,cAAc,GAAG,KAAK,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS;IAEtE,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;AACtD,QAAA,MAAM,SAAS,GAAG,qBAAqB,CACrC,WAAW,EACX,cAAc,EACd,MAAM,CAAC,OAAO,EACd,QAAQ,CACT;QAED,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;ACzEM,SAAU,iBAAiB,CAC/B,OAA2B,EAC3B,MAAgE,EAAA;AAEhE,IAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;AACtD,QAAA,MAAM,SAAS,GAAG,qBAAqB,CACrC,WAAW,EACV,KAA6B,CAAC,SAAS,CAAC,MAAM,CAAC,EAChD,OAAO,EACP,QAAQ,CACT;QAED,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;AChCM,SAAU,YAAY,CAC1B,MAAW,EACX,MAAgE,EAAA;AAEhE,IAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;AACtD,QAAA,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;QAExE,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;ACbM,SAAU,cAAc,CAC5B,QAAe,EACf,MAAgE,EAAA;AAEhE,IAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,KAAK,KAAI;QACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;AACtD,QAAA,MAAM,SAAS,GAAG,kBAAkB,CAClC,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,CACN;QAED,OAAO,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;AAClE,IAAA,CAAC;AACH;;ACnCM,SAAU,YAAY,CAAS,MAIpC,EAAA;AACC,IAAA,OAAO,MAAM;AACf;;ACyBM,SAAU,YAAY,CAAS,MAGpC,EAAA;AACC,IAAA,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAExE,OAAO,kBAAkB,CACvB,SAAS,CAAC;QACR,CAAC,YAAY,GAAG,EAAE;QAClB,CAAC,MAAM,GAAG,EAAE;KACb,CAAC,EACF,YAAY,CAAC,CAAC,KAAsC,MAAM;AACxD,QAAA,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAK;AAC3B,YAAA,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,EAAuB;AAC5D,YAAA,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,EAAgB;AAEzC,YAAA,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;AACvC,QAAA,CAAC,CAAC;KACH,CAAC,CAAC,CACJ;AACH;;ACnEA;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngrx-signals-events.mjs","sources":["../../../../modules/signals/events/src/case-reducer.ts","../../../../modules/signals/events/src/events-service.ts","../../../../modules/signals/events/src/dispatcher.ts","../../../../modules/signals/events/src/event-creator.ts","../../../../modules/signals/events/src/event-creator-group.ts","../../../../modules/signals/events/src/inject-dispatch.ts","../../../../modules/signals/events/src/event-instance.ts","../../../../modules/signals/events/src/with-effects.ts","../../../../modules/signals/events/src/with-reducer.ts","../../../../modules/signals/events/ngrx-signals-events.ts"],"sourcesContent":["import { PartialStateUpdater } from '@ngrx/signals';\nimport { EventCreator } from './event-creator';\n\nexport type CaseReducerResult<\n State extends object,\n EventCreators extends EventCreator<string, any>[]\n> = {\n reducer: CaseReducer<State, EventCreators>;\n events: EventCreators;\n};\n\ntype CaseReducer<\n State extends object,\n EventCreators extends EventCreator<string, any>[]\n> = (\n event: { [K in keyof EventCreators]: ReturnType<EventCreators[K]> }[number],\n state: State\n) =>\n | Partial<State>\n | PartialStateUpdater<State>\n | Array<Partial<State> | PartialStateUpdater<State>>;\n\n/**\n * @experimental\n * @description\n *\n * Creates a case reducer that can be used with the `withReducer` feature.\n */\nexport function on<\n State extends object,\n EventCreators extends EventCreator<string, any>[]\n>(\n ...args: [\n ...events: [...EventCreators],\n reducer: CaseReducer<NoInfer<State>, NoInfer<EventCreators>>\n ]\n): CaseReducerResult<State, EventCreators> {\n const reducer = args.pop() as CaseReducer<State, EventCreators>;\n const events = args as unknown as EventCreators;\n\n return { reducer, events };\n}\n","import { Injectable } from '@angular/core';\nimport {\n filter,\n map,\n MonoTypeOperatorFunction,\n Observable,\n Subject,\n} from 'rxjs';\nimport { EventInstance } from './event-instance';\nimport { EventCreator } from './event-creator';\n\nexport const EVENTS = Symbol();\nexport const SOURCE_TYPE = Symbol();\n\nabstract class BaseEvents {\n /**\n * @internal\n */\n readonly [EVENTS] = new Subject<EventInstance<string, unknown>>();\n\n on(): Observable<EventInstance<string, unknown>>;\n on<EventCreators extends EventCreator<string, any>[]>(\n ...events: [...EventCreators]\n ): Observable<\n { [K in keyof EventCreators]: ReturnType<EventCreators[K]> }[number]\n >;\n on(\n ...events: EventCreator<string, unknown>[]\n ): Observable<EventInstance<string, unknown>> {\n return this[EVENTS].pipe(filterByType(events), withSourceType());\n }\n}\n\n/**\n * @experimental\n * @description\n *\n * Globally provided service for listening to dispatched events.\n *\n * @usageNotes\n *\n * ```ts\n * import { event, Events } from '@ngrx/signals/events';\n *\n * const increment = event('[Counter Page] Increment');\n *\n * \\@Component({ \\/* ... *\\/ })\n * class Counter {\n * readonly #events = inject(Events);\n *\n * constructor() {\n * this.#events\n * .on(increment)\n * .pipe(takeUntilDestroyed())\n * .subscribe(() => \\/* handle increment event *\\/);\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class Events extends BaseEvents {}\n\n@Injectable({ providedIn: 'root' })\nexport class ReducerEvents extends BaseEvents {}\n\nfunction filterByType<T extends EventInstance<string, unknown>>(\n events: EventCreator<string, unknown>[]\n): MonoTypeOperatorFunction<T> {\n if (events.length === 0) {\n return (source$) => source$;\n }\n\n const eventMap = toEventCreatorMap(events);\n return filter<T>(({ type }) => !!eventMap[type]);\n}\n\nfunction toEventCreatorMap(\n events: EventCreator<string, unknown>[]\n): Record<string, EventCreator<string, unknown>> {\n return events.reduce((acc, event) => ({ ...acc, [event.type]: event }), {});\n}\n\nfunction withSourceType<\n T extends EventInstance<string, unknown>\n>(): MonoTypeOperatorFunction<T> {\n return map(({ ...event }) => {\n Object.defineProperty(event, SOURCE_TYPE, { value: event.type });\n return event;\n });\n}\n","import { inject, Injectable } from '@angular/core';\nimport { queueScheduler } from 'rxjs';\nimport { EventInstance } from './event-instance';\nimport { Events, EVENTS, ReducerEvents } from './events-service';\n\n/**\n * @experimental\n * @description\n *\n * Globally provided service for dispatching events.\n *\n * @usageNotes\n *\n * ```ts\n * import { Dispatcher, event } from '@ngrx/signals/events';\n *\n * const increment = event('[Counter Page] Increment');\n *\n * \\@Component({ \\/* ... *\\/ })\n * class Counter {\n * readonly #dispatcher = inject(Dispatcher);\n *\n * increment(): void {\n * this.#dispatcher.dispatch(increment());\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class Dispatcher {\n protected readonly reducerEvents = inject(ReducerEvents);\n protected readonly events = inject(Events);\n\n dispatch(event: EventInstance<string, unknown>): void {\n this.reducerEvents[EVENTS].next(event);\n queueScheduler.schedule(() => this.events[EVENTS].next(event));\n }\n}\n","import { EventInstance } from './event-instance';\n\n/**\n * @experimental\n */\nexport type EventCreator<Type extends string, Payload> = ((\n payload: Payload\n) => EventInstance<Type, Payload>) & { type: Type };\n\nexport function event<Type extends string>(\n type: Type\n): EventCreator<Type, void>;\nexport function event<Type extends string, Payload>(\n type: Type,\n payload: Payload\n): EventCreator<Type, Payload>;\n/**\n * @experimental\n * @description\n *\n * Creates an event creator.\n *\n * @usageNotes\n *\n * ### Creating an event creator without payload\n *\n * ```ts\n * import { event } from '@ngrx/signals/events';\n *\n * const increment = event('[Counter Page] Increment');\n * ```\n *\n * ### Creating an event creator with payload\n *\n * ```ts\n * import { type } from '@ngrx/signals';\n * import { event } from '@ngrx/signals/events';\n *\n * const set = event('[Counter Page] Set', type<number>());\n * ```\n */\nexport function event(type: string): EventCreator<string, any> {\n const creator = (payload?: unknown) => ({ type, payload });\n (creator as any).type = type;\n\n return creator as EventCreator<string, unknown>;\n}\n","import { Prettify } from '@ngrx/signals';\nimport { event, EventCreator } from './event-creator';\n\ntype EventType<\n Source extends string,\n EventName extends string\n> = `[${Source}] ${EventName}`;\n\ntype EventCreatorGroup<\n Source extends string,\n Events extends Record<string, any>\n> = {\n [EventName in keyof Events]: EventName extends string\n ? EventCreator<EventType<Source, EventName>, Events[EventName]>\n : never;\n};\n\n/**\n * @experimental\n * @description\n *\n * Creates a group of event creators.\n *\n * @usageNotes\n *\n * ```ts\n * import { type } from '@ngrx/signals';\n * import { eventGroup } from '@ngrx/signals/events';\n *\n * const counterPageEvents = eventGroup({\n * source: 'Counter Page',\n * events: {\n * increment: type<void>(),\n * decrement: type<void>(),\n * set: type<number>(),\n * },\n * });\n * ```\n */\nexport function eventGroup<\n Source extends string,\n Events extends Record<string, unknown>\n>(config: {\n source: Source;\n events: Events;\n}): Prettify<EventCreatorGroup<Source, Events>> {\n return Object.entries(config.events).reduce((acc, [eventName]) => {\n const eventType = `[${config.source}] ${eventName}`;\n return { ...acc, [eventName]: event(eventType) };\n }, {} as EventCreatorGroup<Source, Events>);\n}\n","import {\n assertInInjectionContext,\n inject,\n Injector,\n untracked,\n} from '@angular/core';\nimport { Prettify } from '@ngrx/signals';\nimport { Dispatcher } from './dispatcher';\nimport { EventCreator } from './event-creator';\n\ntype InjectDispatchResult<\n EventGroup extends Record<string, EventCreator<string, any>>\n> = {\n [EventName in keyof EventGroup]: Parameters<EventGroup[EventName]> extends [\n infer Payload\n ]\n ? (payload: Payload) => void\n : () => void;\n};\n\n/**\n * @experimental\n * @description\n *\n * Creates self-dispatching events for a given event group.\n *\n * @usageNotes\n *\n * ```ts\n * import { type } from '@ngrx/signals';\n * import { eventGroup, injectDispatch } from '@ngrx/signals/events';\n *\n * const counterPageEvents = eventGroup({\n * source: 'Counter Page',\n * events: {\n * increment: type<void>(),\n * decrement: type<void>(),\n * },\n * });\n *\n * \\@Component({ \\/* ... *\\/ })\n * class Counter {\n * readonly dispatch = injectDispatch(counterPageEvents);\n *\n * increment(): void {\n * this.dispatch.increment();\n * }\n *\n * decrement(): void {\n * this.dispatch.decrement();\n * }\n * }\n * ```\n */\nexport function injectDispatch<\n EventGroup extends Record<string, EventCreator<string, any>>\n>(\n events: EventGroup,\n config?: { injector?: Injector }\n): Prettify<InjectDispatchResult<EventGroup>> {\n if (!config?.injector) {\n assertInInjectionContext(injectDispatch);\n }\n\n const injector = config?.injector ?? inject(Injector);\n const dispatcher = injector.get(Dispatcher);\n\n return Object.entries(events).reduce(\n (acc, [eventName, eventCreator]) => ({\n ...acc,\n [eventName]: (payload?: unknown) =>\n untracked(() => dispatcher.dispatch(eventCreator(payload))),\n }),\n {} as InjectDispatchResult<EventGroup>\n );\n}\n","/**\n * @experimental\n */\nexport type EventInstance<Type extends string, Payload> = {\n type: Type;\n payload: Payload;\n};\n\nexport function isEventInstance(\n value: unknown\n): value is EventInstance<string, unknown> {\n return typeof value === 'object' && value !== null && 'type' in value;\n}\n","import { inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { merge, Observable, tap } from 'rxjs';\nimport {\n EmptyFeatureResult,\n Prettify,\n signalStoreFeature,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n type,\n withHooks,\n WritableStateSource,\n} from '@ngrx/signals';\nimport { Dispatcher } from './dispatcher';\nimport { isEventInstance } from './event-instance';\nimport { SOURCE_TYPE } from './events-service';\n\n/**\n * @experimental\n * @description\n *\n * SignalStore feature for defining side effects.\n *\n * @usageNotes\n *\n * ```ts\n * import { signalStore, withState } from '@ngrx/signals';\n * import { event, Events, withEffects } from '@ngrx/signals/events';\n *\n * const increment = event('[Counter Page] Increment');\n * const decrement = event('[Counter Page] Decrement');\n *\n * const CounterStore = signalStore(\n * withState({ count: 0 }),\n * withEffects(({ count }, events = inject(Events)) => ({\n * logCount$: events.on(increment, decrement).pipe(\n * tap(({ type }) => console.log(type, count())),\n * ),\n * })),\n * );\n * ```\n */\nexport function withEffects<Input extends SignalStoreFeatureResult>(\n effectsFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n ) => Record<string, Observable<unknown>>\n): SignalStoreFeature<Input, EmptyFeatureResult> {\n return signalStoreFeature(\n type<Input>(),\n withHooks({\n onInit(store, dispatcher = inject(Dispatcher)) {\n const effectSources = effectsFactory(store);\n const effects = Object.values(effectSources).map((effectSource$) =>\n effectSource$.pipe(\n tap((value) => {\n if (isEventInstance(value) && !(SOURCE_TYPE in value)) {\n dispatcher.dispatch(value);\n }\n })\n )\n );\n\n merge(...effects)\n .pipe(takeUntilDestroyed())\n .subscribe();\n },\n })\n );\n}\n","import { inject, untracked } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { merge, tap } from 'rxjs';\nimport {\n EmptyFeatureResult,\n getState,\n patchState,\n SignalStoreFeature,\n signalStoreFeature,\n type,\n withHooks,\n} from '@ngrx/signals';\nimport { CaseReducerResult } from './case-reducer';\nimport { EventCreator } from './event-creator';\nimport { ReducerEvents } from './events-service';\n\n/**\n * @experimental\n * @description\n *\n * SignalStore feature for defining state changes based on dispatched events.\n *\n * @usageNotes\n *\n * ```ts\n * import { signalStore, type, withState } from '@ngrx/signals';\n * import { event, on, withReducer } from '@ngrx/signals/events';\n *\n * const set = event('[Counter Page] Set', type<number>());\n *\n * const CounterStore = signalStore(\n * withState({ count: 0 }),\n * withReducer(\n * on(set, ({ payload }) => ({ count: payload })),\n * ),\n * );\n * ```\n */\nexport function withReducer<State extends object>(\n ...caseReducers: CaseReducerResult<State, EventCreator<string, any>[]>[]\n): SignalStoreFeature<\n { state: State; props: {}; methods: {} },\n EmptyFeatureResult\n> {\n return signalStoreFeature(\n { state: type<State>() },\n withHooks({\n onInit(store, events = inject(ReducerEvents)) {\n const updates = caseReducers.map((caseReducer) =>\n events.on(...caseReducer.events).pipe(\n tap((event) => {\n const state = untracked(() => getState(store));\n const result = caseReducer.reducer(event, state);\n const updaters = Array.isArray(result) ? result : [result];\n\n patchState(store, ...updaters);\n })\n )\n );\n\n merge(...updates)\n .pipe(takeUntilDestroyed())\n .subscribe();\n },\n })\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngrx-signals-events.mjs","sources":["../../../../modules/signals/events/src/case-reducer.ts","../../../../modules/signals/events/src/events-service.ts","../../../../modules/signals/events/src/dispatcher.ts","../../../../modules/signals/events/src/event-creator.ts","../../../../modules/signals/events/src/event-creator-group.ts","../../../../modules/signals/events/src/inject-dispatch.ts","../../../../modules/signals/events/src/event-instance.ts","../../../../modules/signals/events/src/with-effects.ts","../../../../modules/signals/events/src/with-reducer.ts","../../../../modules/signals/events/ngrx-signals-events.ts"],"sourcesContent":["import { PartialStateUpdater } from '@ngrx/signals';\nimport { EventCreator } from './event-creator';\n\nexport type CaseReducerResult<\n State extends object,\n EventCreators extends EventCreator<string, any>[]\n> = {\n reducer: CaseReducer<State, EventCreators>;\n events: EventCreators;\n};\n\ntype CaseReducer<\n State extends object,\n EventCreators extends EventCreator<string, any>[]\n> = (\n event: { [K in keyof EventCreators]: ReturnType<EventCreators[K]> }[number],\n state: State\n) =>\n | Partial<State>\n | PartialStateUpdater<State>\n | Array<Partial<State> | PartialStateUpdater<State>>;\n\n/**\n * @experimental\n * @description\n *\n * Creates a case reducer that can be used with the `withReducer` feature.\n */\nexport function on<\n State extends object,\n EventCreators extends EventCreator<string, any>[]\n>(\n ...args: [\n ...events: [...EventCreators],\n reducer: CaseReducer<NoInfer<State>, NoInfer<EventCreators>>\n ]\n): CaseReducerResult<State, EventCreators> {\n const reducer = args.pop() as CaseReducer<State, EventCreators>;\n const events = args as unknown as EventCreators;\n\n return { reducer, events };\n}\n","import { Injectable } from '@angular/core';\nimport {\n filter,\n map,\n MonoTypeOperatorFunction,\n Observable,\n Subject,\n} from 'rxjs';\nimport { EventInstance } from './event-instance';\nimport { EventCreator } from './event-creator';\n\nexport const EVENTS = Symbol();\nexport const SOURCE_TYPE = Symbol();\n\nabstract class BaseEvents {\n /**\n * @internal\n */\n readonly [EVENTS] = new Subject<EventInstance<string, unknown>>();\n\n on(): Observable<EventInstance<string, unknown>>;\n on<EventCreators extends EventCreator<string, any>[]>(\n ...events: [...EventCreators]\n ): Observable<\n { [K in keyof EventCreators]: ReturnType<EventCreators[K]> }[number]\n >;\n on(\n ...events: EventCreator<string, unknown>[]\n ): Observable<EventInstance<string, unknown>> {\n return this[EVENTS].pipe(filterByType(events), withSourceType());\n }\n}\n\n/**\n * @experimental\n * @description\n *\n * Globally provided service for listening to dispatched events.\n *\n * @usageNotes\n *\n * ```ts\n * import { event, Events } from '@ngrx/signals/events';\n *\n * const increment = event('[Counter Page] Increment');\n *\n * \\@Component({ \\/* ... *\\/ })\n * class Counter {\n * readonly #events = inject(Events);\n *\n * constructor() {\n * this.#events\n * .on(increment)\n * .pipe(takeUntilDestroyed())\n * .subscribe(() => \\/* handle increment event *\\/);\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class Events extends BaseEvents {}\n\n@Injectable({ providedIn: 'root' })\nexport class ReducerEvents extends BaseEvents {}\n\nfunction filterByType<T extends EventInstance<string, unknown>>(\n events: EventCreator<string, unknown>[]\n): MonoTypeOperatorFunction<T> {\n if (events.length === 0) {\n return (source$) => source$;\n }\n\n const eventMap = toEventCreatorMap(events);\n return filter<T>(({ type }) => !!eventMap[type]);\n}\n\nfunction toEventCreatorMap(\n events: EventCreator<string, unknown>[]\n): Record<string, EventCreator<string, unknown>> {\n return events.reduce((acc, event) => ({ ...acc, [event.type]: event }), {});\n}\n\nfunction withSourceType<\n T extends EventInstance<string, unknown>\n>(): MonoTypeOperatorFunction<T> {\n return map(({ ...event }) => {\n Object.defineProperty(event, SOURCE_TYPE, { value: event.type });\n return event;\n });\n}\n","import { inject, Injectable } from '@angular/core';\nimport { queueScheduler } from 'rxjs';\nimport { EventInstance } from './event-instance';\nimport { Events, EVENTS, ReducerEvents } from './events-service';\n\n/**\n * @experimental\n * @description\n *\n * Globally provided service for dispatching events.\n *\n * @usageNotes\n *\n * ```ts\n * import { Dispatcher, event } from '@ngrx/signals/events';\n *\n * const increment = event('[Counter Page] Increment');\n *\n * \\@Component({ \\/* ... *\\/ })\n * class Counter {\n * readonly #dispatcher = inject(Dispatcher);\n *\n * increment(): void {\n * this.#dispatcher.dispatch(increment());\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class Dispatcher {\n protected readonly reducerEvents = inject(ReducerEvents);\n protected readonly events = inject(Events);\n\n dispatch(event: EventInstance<string, unknown>): void {\n this.reducerEvents[EVENTS].next(event);\n queueScheduler.schedule(() => this.events[EVENTS].next(event));\n }\n}\n","import { EventInstance } from './event-instance';\n\n/**\n * @experimental\n */\nexport type EventCreator<Type extends string, Payload> = ((\n payload: Payload\n) => EventInstance<Type, Payload>) & { type: Type };\n\nexport function event<Type extends string>(\n type: Type\n): EventCreator<Type, void>;\nexport function event<Type extends string, Payload>(\n type: Type,\n payload: Payload\n): EventCreator<Type, Payload>;\n/**\n * @experimental\n * @description\n *\n * Creates an event creator.\n *\n * @usageNotes\n *\n * ### Creating an event creator without payload\n *\n * ```ts\n * import { event } from '@ngrx/signals/events';\n *\n * const increment = event('[Counter Page] Increment');\n * ```\n *\n * ### Creating an event creator with payload\n *\n * ```ts\n * import { type } from '@ngrx/signals';\n * import { event } from '@ngrx/signals/events';\n *\n * const set = event('[Counter Page] Set', type<number>());\n * ```\n */\nexport function event(type: string): EventCreator<string, any> {\n const creator = (payload?: unknown) => ({ type, payload });\n (creator as any).type = type;\n\n return creator as EventCreator<string, unknown>;\n}\n","import { Prettify } from '@ngrx/signals';\nimport { event, EventCreator } from './event-creator';\n\ntype EventType<\n Source extends string,\n EventName extends string\n> = `[${Source}] ${EventName}`;\n\ntype EventCreatorGroup<\n Source extends string,\n Events extends Record<string, any>\n> = {\n [EventName in keyof Events]: EventName extends string\n ? EventCreator<EventType<Source, EventName>, Events[EventName]>\n : never;\n};\n\n/**\n * @experimental\n * @description\n *\n * Creates a group of event creators.\n *\n * @usageNotes\n *\n * ```ts\n * import { type } from '@ngrx/signals';\n * import { eventGroup } from '@ngrx/signals/events';\n *\n * const counterPageEvents = eventGroup({\n * source: 'Counter Page',\n * events: {\n * increment: type<void>(),\n * decrement: type<void>(),\n * set: type<number>(),\n * },\n * });\n * ```\n */\nexport function eventGroup<\n Source extends string,\n Events extends Record<string, unknown>\n>(config: {\n source: Source;\n events: Events;\n}): Prettify<EventCreatorGroup<Source, Events>> {\n return Object.entries(config.events).reduce((acc, [eventName]) => {\n const eventType = `[${config.source}] ${eventName}`;\n return { ...acc, [eventName]: event(eventType) };\n }, {} as EventCreatorGroup<Source, Events>);\n}\n","import {\n assertInInjectionContext,\n inject,\n Injector,\n untracked,\n} from '@angular/core';\nimport { Prettify } from '@ngrx/signals';\nimport { Dispatcher } from './dispatcher';\nimport { EventCreator } from './event-creator';\n\ntype InjectDispatchResult<\n EventGroup extends Record<string, EventCreator<string, any>>\n> = {\n [EventName in keyof EventGroup]: Parameters<EventGroup[EventName]> extends [\n infer Payload\n ]\n ? (payload: Payload) => void\n : () => void;\n};\n\n/**\n * @experimental\n * @description\n *\n * Creates self-dispatching events for a given event group.\n *\n * @usageNotes\n *\n * ```ts\n * import { type } from '@ngrx/signals';\n * import { eventGroup, injectDispatch } from '@ngrx/signals/events';\n *\n * const counterPageEvents = eventGroup({\n * source: 'Counter Page',\n * events: {\n * increment: type<void>(),\n * decrement: type<void>(),\n * },\n * });\n *\n * \\@Component({ \\/* ... *\\/ })\n * class Counter {\n * readonly dispatch = injectDispatch(counterPageEvents);\n *\n * increment(): void {\n * this.dispatch.increment();\n * }\n *\n * decrement(): void {\n * this.dispatch.decrement();\n * }\n * }\n * ```\n */\nexport function injectDispatch<\n EventGroup extends Record<string, EventCreator<string, any>>\n>(\n events: EventGroup,\n config?: { injector?: Injector }\n): Prettify<InjectDispatchResult<EventGroup>> {\n if (!config?.injector) {\n assertInInjectionContext(injectDispatch);\n }\n\n const injector = config?.injector ?? inject(Injector);\n const dispatcher = injector.get(Dispatcher);\n\n return Object.entries(events).reduce(\n (acc, [eventName, eventCreator]) => ({\n ...acc,\n [eventName]: (payload?: unknown) =>\n untracked(() => dispatcher.dispatch(eventCreator(payload))),\n }),\n {} as InjectDispatchResult<EventGroup>\n );\n}\n","/**\n * @experimental\n */\nexport type EventInstance<Type extends string, Payload> = {\n type: Type;\n payload: Payload;\n};\n\nexport function isEventInstance(\n value: unknown\n): value is EventInstance<string, unknown> {\n return typeof value === 'object' && value !== null && 'type' in value;\n}\n","import { inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { merge, Observable, tap } from 'rxjs';\nimport {\n EmptyFeatureResult,\n Prettify,\n signalStoreFeature,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n type,\n withHooks,\n WritableStateSource,\n} from '@ngrx/signals';\nimport { Dispatcher } from './dispatcher';\nimport { isEventInstance } from './event-instance';\nimport { SOURCE_TYPE } from './events-service';\n\n/**\n * @experimental\n * @description\n *\n * SignalStore feature for defining side effects.\n *\n * @usageNotes\n *\n * ```ts\n * import { signalStore, withState } from '@ngrx/signals';\n * import { event, Events, withEffects } from '@ngrx/signals/events';\n *\n * const increment = event('[Counter Page] Increment');\n * const decrement = event('[Counter Page] Decrement');\n *\n * const CounterStore = signalStore(\n * withState({ count: 0 }),\n * withEffects(({ count }, events = inject(Events)) => ({\n * logCount$: events.on(increment, decrement).pipe(\n * tap(({ type }) => console.log(type, count())),\n * ),\n * })),\n * );\n * ```\n */\nexport function withEffects<Input extends SignalStoreFeatureResult>(\n effectsFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n ) => Record<string, Observable<unknown>>\n): SignalStoreFeature<Input, EmptyFeatureResult> {\n return signalStoreFeature(\n type<Input>(),\n withHooks({\n onInit(store, dispatcher = inject(Dispatcher)) {\n const effectSources = effectsFactory(store);\n const effects = Object.values(effectSources).map((effectSource$) =>\n effectSource$.pipe(\n tap((value) => {\n if (isEventInstance(value) && !(SOURCE_TYPE in value)) {\n dispatcher.dispatch(value);\n }\n })\n )\n );\n\n merge(...effects)\n .pipe(takeUntilDestroyed())\n .subscribe();\n },\n })\n );\n}\n","import { inject, untracked } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { merge, tap } from 'rxjs';\nimport {\n EmptyFeatureResult,\n getState,\n patchState,\n SignalStoreFeature,\n signalStoreFeature,\n type,\n withHooks,\n} from '@ngrx/signals';\nimport { CaseReducerResult } from './case-reducer';\nimport { EventCreator } from './event-creator';\nimport { ReducerEvents } from './events-service';\n\n/**\n * @experimental\n * @description\n *\n * SignalStore feature for defining state changes based on dispatched events.\n *\n * @usageNotes\n *\n * ```ts\n * import { signalStore, type, withState } from '@ngrx/signals';\n * import { event, on, withReducer } from '@ngrx/signals/events';\n *\n * const set = event('[Counter Page] Set', type<number>());\n *\n * const CounterStore = signalStore(\n * withState({ count: 0 }),\n * withReducer(\n * on(set, ({ payload }) => ({ count: payload })),\n * ),\n * );\n * ```\n */\nexport function withReducer<State extends object>(\n ...caseReducers: CaseReducerResult<State, EventCreator<string, any>[]>[]\n): SignalStoreFeature<\n { state: State; props: {}; methods: {} },\n EmptyFeatureResult\n> {\n return signalStoreFeature(\n { state: type<State>() },\n withHooks({\n onInit(store, events = inject(ReducerEvents)) {\n const updates = caseReducers.map((caseReducer) =>\n events.on(...caseReducer.events).pipe(\n tap((event) => {\n const state = untracked(() => getState(store));\n const result = caseReducer.reducer(event, state);\n const updaters = Array.isArray(result) ? result : [result];\n\n patchState(store, ...updaters);\n })\n )\n );\n\n merge(...updates)\n .pipe(takeUntilDestroyed())\n .subscribe();\n },\n })\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAsBA;;;;;AAKG;AACG,SAAU,EAAE,CAIhB,GAAG,IAGF,EAAA;AAED,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAuC;IAC/D,MAAM,MAAM,GAAG,IAAgC;AAE/C,IAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;AAC5B;;AC9BO,MAAM,MAAM,GAAG,MAAM,EAAE;AACvB,MAAM,WAAW,GAAG,MAAM,EAAE;AAEnC,MAAe,UAAU,CAAA;AACvB;;AAEG;AACM,IAAA,CAAC,MAAM,IAAI,IAAI,OAAO,EAAkC;IAQjE,EAAE,CACA,GAAG,MAAuC,EAAA;AAE1C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAClE;AACD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AAEG,MAAO,MAAO,SAAQ,UAAU,CAAA;0HAAzB,MAAM,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAN,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAM,cADO,MAAM,EAAA,CAAA;;2FACnB,MAAM,EAAA,UAAA,EAAA,CAAA;kBADlB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;AAI5B,MAAO,aAAc,SAAQ,UAAU,CAAA;0HAAhC,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAb,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cADA,MAAM,EAAA,CAAA;;2FACnB,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;AAGlC,SAAS,YAAY,CACnB,MAAuC,EAAA;AAEvC,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AACvB,QAAA,OAAO,CAAC,OAAO,KAAK,OAAO;IAC7B;AAEA,IAAA,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC;AAC1C,IAAA,OAAO,MAAM,CAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAClD;AAEA,SAAS,iBAAiB,CACxB,MAAuC,EAAA;AAEvC,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;AAC7E;AAEA,SAAS,cAAc,GAAA;IAGrB,OAAO,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAI;AAC1B,QAAA,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;AAChE,QAAA,OAAO,KAAK;AACd,IAAA,CAAC,CAAC;AACJ;;ACpFA;;;;;;;;;;;;;;;;;;;;;;AAsBG;MAEU,UAAU,CAAA;AACF,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAE1C,IAAA,QAAQ,CAAC,KAAqC,EAAA;QAC5C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACtC,QAAA,cAAc,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE;0HAPW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAV,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,cADG,MAAM,EAAA,CAAA;;2FACnB,UAAU,EAAA,UAAA,EAAA,CAAA;kBADtB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACZlC;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACG,SAAU,KAAK,CAAC,IAAY,EAAA;AAChC,IAAA,MAAM,OAAO,GAAG,CAAC,OAAiB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACzD,IAAA,OAAe,CAAC,IAAI,GAAG,IAAI;AAE5B,IAAA,OAAO,OAAwC;AACjD;;AC7BA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACG,SAAU,UAAU,CAGxB,MAGD,EAAA;AACC,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAI;QAC/D,MAAM,SAAS,GAAG,CAAA,CAAA,EAAI,MAAM,CAAC,MAAM,CAAA,EAAA,EAAK,SAAS,CAAA,CAAE;AACnD,QAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE;IAClD,CAAC,EAAE,EAAuC,CAAC;AAC7C;;AC9BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;AACG,SAAU,cAAc,CAG5B,MAAkB,EAClB,MAAgC,EAAA;AAEhC,IAAA,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;QACrB,wBAAwB,CAAC,cAAc,CAAC;IAC1C;IAEA,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IAE3C,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,MAAM;AACnC,QAAA,GAAG,GAAG;QACN,CAAC,SAAS,GAAG,CAAC,OAAiB,KAC7B,SAAS,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9D,CAAC,EACF,EAAsC,CACvC;AACH;;ACnEM,SAAU,eAAe,CAC7B,KAAc,EAAA;AAEd,IAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK;AACvE;;ACMA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACG,SAAU,WAAW,CACzB,cAOwC,EAAA;AAExC,IAAA,OAAO,kBAAkB,CACvB,IAAI,EAAS,EACb,SAAS,CAAC;QACR,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,EAAA;AAC3C,YAAA,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,KAC7D,aAAa,CAAC,IAAI,CAChB,GAAG,CAAC,CAAC,KAAK,KAAI;AACZ,gBAAA,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,KAAK,CAAC,EAAE;AACrD,oBAAA,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC5B;YACF,CAAC,CAAC,CACH,CACF;YAED,KAAK,CAAC,GAAG,OAAO;iBACb,IAAI,CAAC,kBAAkB,EAAE;AACzB,iBAAA,SAAS,EAAE;QAChB,CAAC;AACF,KAAA,CAAC,CACH;AACH;;AC1DA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACG,SAAU,WAAW,CACzB,GAAG,YAAqE,EAAA;IAKxE,OAAO,kBAAkB,CACvB,EAAE,KAAK,EAAE,IAAI,EAAS,EAAE,EACxB,SAAS,CAAC;QACR,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,EAAA;AAC1C,YAAA,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,KAC3C,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CACnC,GAAG,CAAC,CAAC,KAAK,KAAI;AACZ,gBAAA,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;AAChD,gBAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;AAE1D,gBAAA,UAAU,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC;YAChC,CAAC,CAAC,CACH,CACF;YAED,KAAK,CAAC,GAAG,OAAO;iBACb,IAAI,CAAC,kBAAkB,EAAE;AACzB,iBAAA,SAAS,EAAE;QAChB,CAAC;AACF,KAAA,CAAC,CACH;AACH;;AClEA;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngrx-signals-rxjs-interop.mjs","sources":["../../../../modules/signals/rxjs-interop/src/rx-method.ts","../../../../modules/signals/rxjs-interop/ngrx-signals-rxjs-interop.ts"],"sourcesContent":["import {\n assertInInjectionContext,\n DestroyRef,\n effect,\n inject,\n Injector,\n isSignal,\n Signal,\n untracked,\n} from '@angular/core';\nimport { isObservable, noop, Observable, Subject } from 'rxjs';\n\ndeclare const ngDevMode: unknown;\n\ntype RxMethodRef = {\n destroy: () => void;\n};\n\nexport type RxMethod<Input> = ((\n input: Input | Signal<Input> | Observable<Input>,\n config?: { injector?: Injector }\n) => RxMethodRef) &\n RxMethodRef;\n\nexport function rxMethod<Input>(\n generator: (source$: Observable<Input>) => Observable<unknown>,\n config?: { injector?: Injector }\n): RxMethod<Input> {\n if (!config?.injector) {\n assertInInjectionContext(rxMethod);\n }\n\n const sourceInjector = config?.injector ?? inject(Injector);\n const source$ = new Subject<Input>();\n const sourceSub = generator(source$).subscribe();\n sourceInjector.get(DestroyRef).onDestroy(() => sourceSub.unsubscribe());\n\n const rxMethodFn = (\n input: Input | Signal<Input> | Observable<Input>,\n config?: { injector?: Injector }\n ): RxMethodRef => {\n if (isStatic(input)) {\n source$.next(input);\n return { destroy: noop };\n }\n\n const callerInjector = getCallerInjector();\n if (\n typeof ngDevMode !== 'undefined' &&\n ngDevMode &&\n config?.injector === undefined &&\n callerInjector === undefined\n ) {\n console.warn(\n '@ngrx/signals/rxjs-interop: The reactive method was called outside',\n 'the injection context with a signal or observable. This may lead to',\n 'a memory leak. Make sure to call it within the injection context',\n '(e.g. in a constructor or field initializer) or pass an injector',\n 'explicitly via the config parameter.\\n\\nFor more information, see:',\n 'https://ngrx.io/guide/signals/rxjs-integration#reactive-methods-and-injector-hierarchies'\n );\n }\n\n const instanceInjector =\n config?.injector ?? callerInjector ?? sourceInjector;\n\n if (isSignal(input)) {\n const watcher = effect(\n () => {\n const value = input();\n untracked(() => source$.next(value));\n },\n { injector: instanceInjector }\n );\n sourceSub.add({ unsubscribe: () => watcher.destroy() });\n\n return watcher;\n }\n\n const instanceSub = input.subscribe((value) => source$.next(value));\n sourceSub.add(instanceSub);\n\n if (instanceInjector !== sourceInjector) {\n instanceInjector\n .get(DestroyRef)\n .onDestroy(() => instanceSub.unsubscribe());\n }\n\n return { destroy: () => instanceSub.unsubscribe() };\n };\n rxMethodFn.destroy = sourceSub.unsubscribe.bind(sourceSub);\n\n return rxMethodFn;\n}\n\nfunction isStatic<T>(value: T | Signal<T> | Observable<T>): value is T {\n return !isSignal(value) && !isObservable(value);\n}\n\nfunction getCallerInjector(): Injector | undefined {\n try {\n return inject(Injector);\n } catch {\n return undefined;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ngrx-signals-rxjs-interop.mjs","sources":["../../../../modules/signals/rxjs-interop/src/rx-method.ts","../../../../modules/signals/rxjs-interop/ngrx-signals-rxjs-interop.ts"],"sourcesContent":["import {\n assertInInjectionContext,\n DestroyRef,\n effect,\n inject,\n Injector,\n isSignal,\n Signal,\n untracked,\n} from '@angular/core';\nimport { isObservable, noop, Observable, Subject } from 'rxjs';\n\ndeclare const ngDevMode: unknown;\n\ntype RxMethodRef = {\n destroy: () => void;\n};\n\nexport type RxMethod<Input> = ((\n input: Input | Signal<Input> | Observable<Input>,\n config?: { injector?: Injector }\n) => RxMethodRef) &\n RxMethodRef;\n\nexport function rxMethod<Input>(\n generator: (source$: Observable<Input>) => Observable<unknown>,\n config?: { injector?: Injector }\n): RxMethod<Input> {\n if (!config?.injector) {\n assertInInjectionContext(rxMethod);\n }\n\n const sourceInjector = config?.injector ?? inject(Injector);\n const source$ = new Subject<Input>();\n const sourceSub = generator(source$).subscribe();\n sourceInjector.get(DestroyRef).onDestroy(() => sourceSub.unsubscribe());\n\n const rxMethodFn = (\n input: Input | Signal<Input> | Observable<Input>,\n config?: { injector?: Injector }\n ): RxMethodRef => {\n if (isStatic(input)) {\n source$.next(input);\n return { destroy: noop };\n }\n\n const callerInjector = getCallerInjector();\n if (\n typeof ngDevMode !== 'undefined' &&\n ngDevMode &&\n config?.injector === undefined &&\n callerInjector === undefined\n ) {\n console.warn(\n '@ngrx/signals/rxjs-interop: The reactive method was called outside',\n 'the injection context with a signal or observable. This may lead to',\n 'a memory leak. Make sure to call it within the injection context',\n '(e.g. in a constructor or field initializer) or pass an injector',\n 'explicitly via the config parameter.\\n\\nFor more information, see:',\n 'https://ngrx.io/guide/signals/rxjs-integration#reactive-methods-and-injector-hierarchies'\n );\n }\n\n const instanceInjector =\n config?.injector ?? callerInjector ?? sourceInjector;\n\n if (isSignal(input)) {\n const watcher = effect(\n () => {\n const value = input();\n untracked(() => source$.next(value));\n },\n { injector: instanceInjector }\n );\n sourceSub.add({ unsubscribe: () => watcher.destroy() });\n\n return watcher;\n }\n\n const instanceSub = input.subscribe((value) => source$.next(value));\n sourceSub.add(instanceSub);\n\n if (instanceInjector !== sourceInjector) {\n instanceInjector\n .get(DestroyRef)\n .onDestroy(() => instanceSub.unsubscribe());\n }\n\n return { destroy: () => instanceSub.unsubscribe() };\n };\n rxMethodFn.destroy = sourceSub.unsubscribe.bind(sourceSub);\n\n return rxMethodFn;\n}\n\nfunction isStatic<T>(value: T | Signal<T> | Observable<T>): value is T {\n return !isSignal(value) && !isObservable(value);\n}\n\nfunction getCallerInjector(): Injector | undefined {\n try {\n return inject(Injector);\n } catch {\n return undefined;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAwBM,SAAU,QAAQ,CACtB,SAA8D,EAC9D,MAAgC,EAAA;AAEhC,IAAA,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;QACrB,wBAAwB,CAAC,QAAQ,CAAC;IACpC;IAEA,MAAM,cAAc,GAAG,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;AAC3D,IAAA,MAAM,OAAO,GAAG,IAAI,OAAO,EAAS;IACpC,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE;AAChD,IAAA,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC;AAEvE,IAAA,MAAM,UAAU,GAAG,CACjB,KAAgD,EAChD,MAAgC,KACjB;AACf,QAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACnB,YAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AACnB,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;QAC1B;AAEA,QAAA,MAAM,cAAc,GAAG,iBAAiB,EAAE;QAC1C,IACE,OAAO,SAAS,KAAK,WAAW;YAChC,SAAS;YACT,MAAM,EAAE,QAAQ,KAAK,SAAS;YAC9B,cAAc,KAAK,SAAS,EAC5B;AACA,YAAA,OAAO,CAAC,IAAI,CACV,oEAAoE,EACpE,qEAAqE,EACrE,kEAAkE,EAClE,kEAAkE,EAClE,oEAAoE,EACpE,0FAA0F,CAC3F;QACH;QAEA,MAAM,gBAAgB,GACpB,MAAM,EAAE,QAAQ,IAAI,cAAc,IAAI,cAAc;AAEtD,QAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACnB,YAAA,MAAM,OAAO,GAAG,MAAM,CACpB,MAAK;AACH,gBAAA,MAAM,KAAK,GAAG,KAAK,EAAE;gBACrB,SAAS,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,YAAA,CAAC,EACD,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAC/B;AACD,YAAA,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AAEvD,YAAA,OAAO,OAAO;QAChB;AAEA,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnE,QAAA,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;AAE1B,QAAA,IAAI,gBAAgB,KAAK,cAAc,EAAE;YACvC;iBACG,GAAG,CAAC,UAAU;iBACd,SAAS,CAAC,MAAM,WAAW,CAAC,WAAW,EAAE,CAAC;QAC/C;QAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC,WAAW,EAAE,EAAE;AACrD,IAAA,CAAC;IACD,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;AAE1D,IAAA,OAAO,UAAU;AACnB;AAEA,SAAS,QAAQ,CAAI,KAAoC,EAAA;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AACjD;AAEA,SAAS,iBAAiB,GAAA;AACxB,IAAA,IAAI;AACF,QAAA,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,SAAS;IAClB;AACF;;ACzGA;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngrx-signals-testing.mjs","sources":["../../../../modules/signals/testing/src/unprotected.ts","../../../../modules/signals/testing/ngrx-signals-testing.ts"],"sourcesContent":["import {\n isWritableStateSource,\n Prettify,\n StateSource,\n WritableStateSource,\n} from '@ngrx/signals';\n\ntype UnprotectedSource<Source extends StateSource<object>> =\n Source extends StateSource<infer State>\n ? Prettify<\n Omit<Source, keyof StateSource<State>> & WritableStateSource<State>\n >\n : never;\n\nexport function unprotected<Source extends StateSource<object>>(\n source: Source\n): UnprotectedSource<Source> {\n if (isWritableStateSource(source)) {\n return source as UnprotectedSource<Source>;\n }\n\n throw new Error('@ngrx/signals: The provided source is not writable.');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAcM,SAAU,WAAW,CACzB,MAAc,EAAA;AAEd,IAAA,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;AACjC,QAAA,OAAO,MAAmC
|
|
1
|
+
{"version":3,"file":"ngrx-signals-testing.mjs","sources":["../../../../modules/signals/testing/src/unprotected.ts","../../../../modules/signals/testing/ngrx-signals-testing.ts"],"sourcesContent":["import {\n isWritableStateSource,\n Prettify,\n StateSource,\n WritableStateSource,\n} from '@ngrx/signals';\n\ntype UnprotectedSource<Source extends StateSource<object>> =\n Source extends StateSource<infer State>\n ? Prettify<\n Omit<Source, keyof StateSource<State>> & WritableStateSource<State>\n >\n : never;\n\nexport function unprotected<Source extends StateSource<object>>(\n source: Source\n): UnprotectedSource<Source> {\n if (isWritableStateSource(source)) {\n return source as UnprotectedSource<Source>;\n }\n\n throw new Error('@ngrx/signals: The provided source is not writable.');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAcM,SAAU,WAAW,CACzB,MAAc,EAAA;AAEd,IAAA,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;AACjC,QAAA,OAAO,MAAmC;IAC5C;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC;AACxE;;ACtBA;;AAEG;;;;"}
|
|
@@ -417,6 +417,7 @@ function withLinkedState(linkedStateFactory) {
|
|
|
417
417
|
...store.props,
|
|
418
418
|
});
|
|
419
419
|
const stateKeys = Reflect.ownKeys(linkedState);
|
|
420
|
+
assertUniqueStoreMembers(store, stateKeys);
|
|
420
421
|
const stateSource = store[STATE_SOURCE];
|
|
421
422
|
const stateSignals = {};
|
|
422
423
|
for (const key of stateKeys) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngrx-signals.mjs","sources":["../../../../modules/signals/src/deep-signal.ts","../../../../modules/signals/src/deep-computed.ts","../../../../modules/signals/src/signal-method.ts","../../../../modules/signals/src/state-source.ts","../../../../modules/signals/src/signal-state.ts","../../../../modules/signals/src/signal-store.ts","../../../../modules/signals/src/signal-store-feature.ts","../../../../modules/signals/src/signal-store-assertions.ts","../../../../modules/signals/src/with-props.ts","../../../../modules/signals/src/with-computed.ts","../../../../modules/signals/src/with-feature.ts","../../../../modules/signals/src/with-hooks.ts","../../../../modules/signals/src/with-linked-state.ts","../../../../modules/signals/src/with-methods.ts","../../../../modules/signals/src/with-state.ts","../../../../modules/signals/ngrx-signals.ts"],"sourcesContent":["import { computed, isSignal, Signal, untracked } from '@angular/core';\nimport { IsKnownRecord } from './ts-helpers';\n\nconst DEEP_SIGNAL = Symbol('DEEP_SIGNAL');\n\nexport type DeepSignal<T> = Signal<T> &\n (IsKnownRecord<T> extends true\n ? Readonly<{\n [K in keyof T]: IsKnownRecord<T[K]> extends true\n ? DeepSignal<T[K]>\n : Signal<T[K]>;\n }>\n : unknown);\n\nexport function toDeepSignal<T>(signal: Signal<T>): DeepSignal<T> {\n return new Proxy(signal, {\n has(target: any, prop) {\n return !!this.get!(target, prop, undefined);\n },\n get(target: any, prop) {\n const value = untracked(target);\n if (!isRecord(value) || !(prop in value)) {\n if (isSignal(target[prop]) && (target[prop] as any)[DEEP_SIGNAL]) {\n delete target[prop];\n }\n\n return target[prop];\n }\n\n if (!isSignal(target[prop])) {\n Object.defineProperty(target, prop, {\n value: computed(() => target()[prop]),\n configurable: true,\n });\n target[prop][DEEP_SIGNAL] = true;\n }\n\n return toDeepSignal(target[prop]);\n },\n });\n}\n\nconst nonRecords = [\n WeakSet,\n WeakMap,\n Promise,\n Date,\n Error,\n RegExp,\n ArrayBuffer,\n DataView,\n Function,\n];\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n if (value === null || typeof value !== 'object' || isIterable(value)) {\n return false;\n }\n\n let proto = Object.getPrototypeOf(value);\n if (proto === Object.prototype) {\n return true;\n }\n\n while (proto && proto !== Object.prototype) {\n if (nonRecords.includes(proto.constructor)) {\n return false;\n }\n proto = Object.getPrototypeOf(proto);\n }\n\n return proto === Object.prototype;\n}\n\nfunction isIterable(value: any): value is Iterable<any> {\n return typeof value?.[Symbol.iterator] === 'function';\n}\n","import { computed } from '@angular/core';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\n\nexport function deepComputed<T extends object>(\n computation: () => T\n): DeepSignal<T> {\n return toDeepSignal(computed(computation));\n}\n","import {\n assertInInjectionContext,\n DestroyRef,\n effect,\n EffectRef,\n inject,\n Injector,\n isSignal,\n Signal,\n untracked,\n} from '@angular/core';\n\ndeclare const ngDevMode: unknown;\n\nexport type SignalMethod<Input> = ((\n input: Input | Signal<Input>,\n config?: { injector?: Injector }\n) => EffectRef) &\n EffectRef;\n\nexport function signalMethod<Input>(\n processingFn: (value: Input) => void,\n config?: { injector?: Injector }\n): SignalMethod<Input> {\n if (!config?.injector) {\n assertInInjectionContext(signalMethod);\n }\n\n const watchers: EffectRef[] = [];\n const sourceInjector = config?.injector ?? inject(Injector);\n\n const signalMethodFn = (\n input: Input | Signal<Input>,\n config?: { injector?: Injector }\n ): EffectRef => {\n if (isSignal(input)) {\n const callerInjector = getCallerInjector();\n if (\n typeof ngDevMode !== 'undefined' &&\n ngDevMode &&\n config?.injector === undefined &&\n callerInjector === undefined\n ) {\n console.warn(\n '@ngrx/signals: The function returned by signalMethod was called',\n 'outside the injection context with a signal. This may lead to',\n 'a memory leak. Make sure to call it within the injection context',\n '(e.g. in a constructor or field initializer) or pass an injector',\n 'explicitly via the config parameter.\\n\\nFor more information, see:',\n 'https://ngrx.io/guide/signals/signal-method#automatic-cleanup'\n );\n }\n\n const instanceInjector =\n config?.injector ?? callerInjector ?? sourceInjector;\n\n const watcher = effect(\n () => {\n const value = input();\n untracked(() => processingFn(value));\n },\n { injector: instanceInjector }\n );\n watchers.push(watcher);\n\n instanceInjector.get(DestroyRef).onDestroy(() => {\n const ix = watchers.indexOf(watcher);\n if (ix !== -1) {\n watchers.splice(ix, 1);\n }\n });\n\n return watcher;\n } else {\n processingFn(input);\n return { destroy: () => void true };\n }\n };\n\n signalMethodFn.destroy = () =>\n watchers.forEach((watcher) => watcher.destroy());\n\n return signalMethodFn;\n}\n\nfunction getCallerInjector(): Injector | undefined {\n try {\n return inject(Injector);\n } catch {\n return undefined;\n }\n}\n","import {\n assertInInjectionContext,\n DestroyRef,\n inject,\n Injector,\n isSignal,\n Signal,\n untracked,\n WritableSignal,\n} from '@angular/core';\n\ndeclare const ngDevMode: unknown;\n\nconst STATE_WATCHERS = new WeakMap<object, Array<StateWatcher<any>>>();\n\nexport const STATE_SOURCE = Symbol('STATE_SOURCE');\n\nexport type WritableStateSource<State extends object> = {\n [STATE_SOURCE]: { [K in keyof State]: WritableSignal<State[K]> };\n};\n\nexport type StateSource<State extends object> = {\n [STATE_SOURCE]: { [K in keyof State]: Signal<State[K]> };\n};\n\nexport type PartialStateUpdater<State extends object> = (\n state: State\n) => Partial<State>;\n\nexport type StateWatcher<State extends object> = (\n state: NoInfer<State>\n) => void;\n\nexport function isWritableSignal(\n value: unknown\n): value is WritableSignal<unknown> {\n return (\n isSignal(value) &&\n 'set' in value &&\n 'update' in value &&\n typeof value.set === 'function' &&\n typeof value.update === 'function'\n );\n}\n\nexport function isWritableStateSource<State extends object>(\n stateSource: StateSource<State>\n): stateSource is WritableStateSource<State> {\n const signals: Record<string | symbol, unknown> = stateSource[STATE_SOURCE];\n return Reflect.ownKeys(stateSource[STATE_SOURCE]).every((key) => {\n return isWritableSignal(signals[key]);\n });\n}\n\nexport function patchState<State extends object>(\n stateSource: WritableStateSource<State>,\n ...updaters: Array<\n Partial<NoInfer<State>> | PartialStateUpdater<NoInfer<State>>\n >\n): void {\n const currentState = untracked(() => getState(stateSource));\n const newState = updaters.reduce(\n (nextState: State, updater) => ({\n ...nextState,\n ...(typeof updater === 'function' ? updater(nextState) : updater),\n }),\n currentState\n );\n\n const signals = stateSource[STATE_SOURCE];\n const stateKeys = Reflect.ownKeys(stateSource[STATE_SOURCE]);\n\n for (const key of Reflect.ownKeys(newState)) {\n if (stateKeys.includes(key)) {\n const signalKey = key as keyof State;\n if (currentState[signalKey] !== newState[signalKey]) {\n signals[signalKey].set(newState[signalKey]);\n }\n } else if (typeof ngDevMode !== 'undefined' && ngDevMode) {\n console.warn(\n `@ngrx/signals: patchState was called with an unknown state slice '${String(\n key\n )}'.`,\n 'Ensure that all state properties are explicitly defined in the initial state.',\n 'Updates to properties not present in the initial state will be ignored.'\n );\n }\n }\n\n notifyWatchers(stateSource);\n}\n\nexport function getState<State extends object>(\n stateSource: StateSource<State>\n): State {\n const signals: Record<string | symbol, Signal<unknown>> = stateSource[\n STATE_SOURCE\n ];\n return Reflect.ownKeys(stateSource[STATE_SOURCE]).reduce((state, key) => {\n const value = signals[key]();\n return {\n ...state,\n [key]: value,\n };\n }, {} as State);\n}\n\nexport function watchState<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>,\n config?: { injector?: Injector }\n): { destroy(): void } {\n if (!config?.injector) {\n assertInInjectionContext(watchState);\n }\n\n const injector = config?.injector ?? inject(Injector);\n const destroyRef = injector.get(DestroyRef);\n\n addWatcher(stateSource, watcher);\n watcher(getState(stateSource));\n\n const destroy = () => removeWatcher(stateSource, watcher);\n destroyRef.onDestroy(destroy);\n\n return { destroy };\n}\n\nfunction getWatchers<State extends object>(\n stateSource: StateSource<State>\n): Array<StateWatcher<State>> {\n return STATE_WATCHERS.get(stateSource[STATE_SOURCE]) || [];\n}\n\nfunction notifyWatchers<State extends object>(\n stateSource: StateSource<State>\n): void {\n const watchers = getWatchers(stateSource);\n\n for (const watcher of watchers) {\n const state = untracked(() => getState(stateSource));\n watcher(state);\n }\n}\n\nfunction addWatcher<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>\n): void {\n const watchers = getWatchers(stateSource);\n STATE_WATCHERS.set(stateSource[STATE_SOURCE], [...watchers, watcher]);\n}\n\nfunction removeWatcher<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>\n): void {\n const watchers = getWatchers(stateSource);\n STATE_WATCHERS.set(\n stateSource[STATE_SOURCE],\n watchers.filter((w) => w !== watcher)\n );\n}\n","import { computed, signal } from '@angular/core';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\nimport { SignalsDictionary } from './signal-store-models';\nimport { STATE_SOURCE, WritableStateSource } from './state-source';\n\nexport type SignalState<State extends object> = DeepSignal<State> &\n WritableStateSource<State>;\n\nexport function signalState<State extends object>(\n initialState: State\n): SignalState<State> {\n const stateKeys = Reflect.ownKeys(initialState);\n\n const stateSource = stateKeys.reduce(\n (signalsDict, key) => ({\n ...signalsDict,\n [key]: signal((initialState as Record<string | symbol, unknown>)[key]),\n }),\n {} as SignalsDictionary\n );\n\n const signalState = computed(() =>\n stateKeys.reduce(\n (state, key) => ({ ...state, [key]: stateSource[key]() }),\n {}\n )\n );\n\n Object.defineProperty(signalState, STATE_SOURCE, {\n value: stateSource,\n });\n\n for (const key of stateKeys) {\n Object.defineProperty(signalState, key, {\n value: toDeepSignal(stateSource[key]),\n });\n }\n\n return signalState as SignalState<State>;\n}\n","import { DestroyRef, inject, Injectable, Type } from '@angular/core';\nimport { STATE_SOURCE, StateSource, WritableStateSource } from './state-source';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { OmitPrivate, Prettify } from './ts-helpers';\n\ntype SignalStoreConfig = { providedIn?: 'root'; protectedState?: boolean };\n\ntype SignalStoreMembers<FeatureResult extends SignalStoreFeatureResult> =\n Prettify<\n OmitPrivate<\n StateSignals<FeatureResult['state']> &\n FeatureResult['props'] &\n FeatureResult['methods']\n >\n >;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> & StateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> & StateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> &\n WritableStateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\n\nexport function signalStore(\n ...args: [SignalStoreConfig, ...SignalStoreFeature[]] | SignalStoreFeature[]\n): Type<SignalStoreMembers<any>> {\n const signalStoreArgs = [...args];\n\n const config =\n typeof signalStoreArgs[0] === 'function'\n ? {}\n : (signalStoreArgs.shift() as SignalStoreConfig);\n const features = signalStoreArgs as SignalStoreFeature[];\n\n @Injectable({ providedIn: config.providedIn || null })\n class SignalStore {\n constructor() {\n const innerStore = features.reduce(\n (store, feature) => feature(store),\n getInitialInnerStore()\n );\n const { stateSignals, props, methods, hooks } = innerStore;\n const storeMembers: Record<string | symbol, unknown> = {\n ...stateSignals,\n ...props,\n ...methods,\n };\n\n (this as any)[STATE_SOURCE] = innerStore[STATE_SOURCE];\n\n for (const key of Reflect.ownKeys(storeMembers)) {\n (this as any)[key] = storeMembers[key];\n }\n\n const { onInit, onDestroy } = hooks;\n\n if (onInit) {\n onInit();\n }\n\n if (onDestroy) {\n inject(DestroyRef).onDestroy(onDestroy);\n }\n }\n }\n\n return SignalStore;\n}\n\nexport function getInitialInnerStore(): InnerSignalStore {\n return {\n [STATE_SOURCE]: {},\n stateSignals: {},\n props: {},\n methods: {},\n hooks: {},\n };\n}\n","import {\n EmptyFeatureResult,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\ntype PrettifyFeatureResult<Result extends SignalStoreFeatureResult> = Prettify<{\n state: Prettify<Result['state']>;\n props: Prettify<Result['props']>;\n methods: Prettify<Result['methods']>;\n}>;\n\nexport function signalStoreFeature<F1 extends SignalStoreFeatureResult>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): SignalStoreFeature<EmptyFeatureResult, F1>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): SignalStoreFeature<EmptyFeatureResult, PrettifyFeatureResult<F1 & F2>>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): SignalStoreFeature<EmptyFeatureResult, PrettifyFeatureResult<F1 & F2 & F3>>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10>\n>;\n\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>\n): SignalStoreFeature<Prettify<EmptyFeatureResult & Input>, F1>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult\n>(\n Input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<\n NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8,\n F9\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<\n NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8,\n F9\n >,\n f10: SignalStoreFeature<\n NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9,\n F10\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10>\n>;\n\nexport function signalStoreFeature(\n ...args:\n | [Partial<SignalStoreFeatureResult>, ...SignalStoreFeature[]]\n | SignalStoreFeature[]\n): SignalStoreFeature<EmptyFeatureResult, EmptyFeatureResult> {\n const features = (\n typeof args[0] === 'function' ? args : args.slice(1)\n ) as SignalStoreFeature[];\n\n return (inputStore) =>\n features.reduce((store, feature) => feature(store), inputStore);\n}\n\nexport function type<T>(): T {\n return undefined as T;\n}\n","import { InnerSignalStore } from './signal-store-models';\n\ndeclare const ngDevMode: unknown;\n\nexport function assertUniqueStoreMembers(\n store: InnerSignalStore,\n newMemberKeys: Array<string | symbol>\n): void {\n if (typeof ngDevMode === 'undefined' || !ngDevMode) {\n return;\n }\n\n const storeMembers = {\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n };\n const overriddenKeys = Reflect.ownKeys(storeMembers).filter((memberKey) =>\n newMemberKeys.includes(memberKey)\n );\n\n if (overriddenKeys.length > 0) {\n console.warn(\n '@ngrx/signals: SignalStore members cannot be overridden.',\n 'Trying to override:',\n overriddenKeys.map((key) => String(key)).join(', ')\n );\n }\n}\n","import { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport {\n InnerSignalStore,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\nexport function withProps<\n Input extends SignalStoreFeatureResult,\n Props extends object\n>(\n propsFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Input['state']>\n >\n ) => Props\n): SignalStoreFeature<Input, { state: {}; props: Props; methods: {} }> {\n return (store) => {\n const props = propsFactory({\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n });\n assertUniqueStoreMembers(store, Reflect.ownKeys(props));\n\n return {\n ...store,\n props: { ...store.props, ...props },\n } as InnerSignalStore<object, Props>;\n };\n}\n","import { computed, isSignal, Signal } from '@angular/core';\nimport {\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\nimport { withProps } from './with-props';\n\ntype ComputedResult<\n ComputedDictionary extends Record<\n string | symbol,\n Signal<unknown> | (() => unknown)\n >\n> = {\n [P in keyof ComputedDictionary]: ComputedDictionary[P] extends Signal<unknown>\n ? ComputedDictionary[P]\n : ComputedDictionary[P] extends () => infer V\n ? Signal<V>\n : never;\n};\n\nexport function withComputed<\n Input extends SignalStoreFeatureResult,\n ComputedDictionary extends Record<\n string | symbol,\n Signal<unknown> | (() => unknown)\n >\n>(\n computedFactory: (\n store: Prettify<\n StateSignals<Input['state']> & Input['props'] & Input['methods']\n >\n ) => ComputedDictionary\n): SignalStoreFeature<\n Input,\n { state: {}; props: ComputedResult<ComputedDictionary>; methods: {} }\n> {\n return withProps((store) => {\n const computedResult = computedFactory(store);\n const computedResultKeys = Reflect.ownKeys(computedResult);\n\n return computedResultKeys.reduce((prev, key) => {\n const signalOrComputation = computedResult[key];\n return {\n ...prev,\n [key]: isSignal(signalOrComputation)\n ? signalOrComputation\n : computed(signalOrComputation),\n };\n }, {} as ComputedResult<ComputedDictionary>);\n });\n}\n","import {\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { Prettify } from './ts-helpers';\n\n/**\n * @description\n * Allows passing properties, methods, or signals from a SignalStore\n * to a feature.\n *\n * @usageNotes\n * ```typescript\n * signalStore(\n * withMethods((store) => ({\n * load(id: number): Observable<Entity> {\n * return of({ id, name: 'John' });\n * },\n * })),\n * withFeature(\n * // 👇 has full access to the store\n * (store) => withEntityLoader((id) => firstValueFrom(store.load(id)))\n * )\n * );\n * ```\n *\n * @param featureFactory function returning the actual feature\n */\nexport function withFeature<\n Input extends SignalStoreFeatureResult,\n Output extends SignalStoreFeatureResult\n>(\n featureFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Input['state']>\n >\n ) => SignalStoreFeature<Input, Output>\n): SignalStoreFeature<Input, Output> {\n return (store) => {\n const storeForFactory = {\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store['stateSignals'],\n ...store['props'],\n ...store['methods'],\n };\n\n return featureFactory(storeForFactory)(store);\n };\n}\n","import { STATE_SOURCE, WritableStateSource } from './state-source';\nimport {\n EmptyFeatureResult,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\ntype HookFn<Input extends SignalStoreFeatureResult> = (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Input['state']>\n >\n) => void;\n\ntype HooksFactory<Input extends SignalStoreFeatureResult> = (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Input['state']>\n >\n) => {\n onInit?: () => void;\n onDestroy?: () => void;\n};\n\nexport function withHooks<Input extends SignalStoreFeatureResult>(hooks: {\n onInit?: HookFn<Input>;\n onDestroy?: HookFn<Input>;\n}): SignalStoreFeature<Input, EmptyFeatureResult>;\nexport function withHooks<Input extends SignalStoreFeatureResult>(\n hooks: HooksFactory<Input>\n): SignalStoreFeature<Input, EmptyFeatureResult>;\n\nexport function withHooks<Input extends SignalStoreFeatureResult>(\n hooksOrFactory:\n | {\n onInit?: HookFn<Input>;\n onDestroy?: HookFn<Input>;\n }\n | HooksFactory<Input>\n): SignalStoreFeature<Input, EmptyFeatureResult> {\n return (store) => {\n const storeMembers = {\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n };\n const hooks =\n typeof hooksOrFactory === 'function'\n ? hooksOrFactory(storeMembers)\n : hooksOrFactory;\n const createHook = (name: keyof typeof hooks) => {\n const hook = hooks[name];\n const currentHook = store.hooks[name];\n\n return hook\n ? () => {\n if (currentHook) {\n currentHook();\n }\n\n hook(storeMembers);\n }\n : currentHook;\n };\n\n return {\n ...store,\n hooks: {\n onInit: createHook('onInit'),\n onDestroy: createHook('onDestroy'),\n },\n };\n };\n}\n","import { linkedSignal, WritableSignal } from '@angular/core';\nimport { toDeepSignal } from './deep-signal';\nimport {\n InnerSignalStore,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { isWritableSignal, STATE_SOURCE } from './state-source';\nimport { Prettify } from './ts-helpers';\n\ntype LinkedStateResult<\n LinkedStateInput extends Record<\n string | symbol,\n WritableSignal<unknown> | (() => unknown)\n >\n> = {\n [K in keyof LinkedStateInput]: LinkedStateInput[K] extends WritableSignal<\n infer V\n >\n ? V\n : LinkedStateInput[K] extends () => infer V\n ? V\n : never;\n};\n\n/**\n * @description\n *\n * Adds linked state slices to a SignalStore.\n *\n * @usageNotes\n *\n * ```typescript\n * const OptionsStore = signalStore(\n * withState({ options: [1, 2, 3] }),\n * withLinkedState(({ options }) => ({\n * selectedOption: () => options()[0],\n * }))\n * );\n * ```\n *\n * This returns a state of type `{ options: number[], selectedOption: number | undefined }`.\n * When the `options` signal changes, the `selectedOption` automatically updates.\n *\n * For advanced use cases, `linkedSignal` or any other `WritableSignal` instance can be used within `withLinkedState`:\n *\n * ```typescript\n * type Option = { id: number; label: string };\n *\n * const OptionsStore = signalStore(\n * withState({ options: [] as Option[] }),\n * withLinkedState(({ options }) => ({\n * selectedOption: linkedSignal<Option[], Option>({\n * source: options,\n * computation: (newOptions, previous) => {\n * const option = newOptions.find((o) => o.id === previous?.value.id);\n * return option ?? newOptions[0];\n * },\n * })\n * }))\n * )\n * ```\n *\n * @param linkedStateFactory A function that returns an object literal with properties containing an actual `linkedSignal` or the computation function.\n */\nexport function withLinkedState<\n State extends Record<\n string | symbol,\n WritableSignal<unknown> | (() => unknown)\n >,\n Input extends SignalStoreFeatureResult\n>(\n linkedStateFactory: (\n store: Prettify<StateSignals<Input['state']> & Input['props']>\n ) => State\n): SignalStoreFeature<\n Input,\n { state: LinkedStateResult<State>; props: {}; methods: {} }\n> {\n return (store) => {\n const linkedState = linkedStateFactory({\n ...store.stateSignals,\n ...store.props,\n });\n const stateKeys = Reflect.ownKeys(linkedState);\n const stateSource = store[STATE_SOURCE] as SignalsDictionary;\n const stateSignals = {} as SignalsDictionary;\n\n for (const key of stateKeys) {\n const signalOrComputationFn = linkedState[key];\n stateSource[key] = isWritableSignal(signalOrComputationFn)\n ? signalOrComputationFn\n : linkedSignal(signalOrComputationFn);\n stateSignals[key] = toDeepSignal(stateSource[key]);\n }\n\n return {\n ...store,\n stateSignals: { ...store.stateSignals, ...stateSignals },\n } as InnerSignalStore<LinkedStateResult<State>>;\n };\n}\n","import { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport {\n InnerSignalStore,\n MethodsDictionary,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\nexport function withMethods<\n Input extends SignalStoreFeatureResult,\n Methods extends MethodsDictionary\n>(\n methodsFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Input['state']>\n >\n ) => Methods\n): SignalStoreFeature<Input, { state: {}; props: {}; methods: Methods }> {\n return (store) => {\n const methods = methodsFactory({\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n });\n assertUniqueStoreMembers(store, Reflect.ownKeys(methods));\n\n return {\n ...store,\n methods: { ...store.methods, ...methods },\n } as InnerSignalStore<Record<string, unknown>, SignalsDictionary, Methods>;\n };\n}\n","import { Signal, signal } from '@angular/core';\nimport { toDeepSignal } from './deep-signal';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n} from './signal-store-models';\nimport { STATE_SOURCE } from './state-source';\n\nexport function withState<State extends object>(\n stateFactory: () => State\n): SignalStoreFeature<\n EmptyFeatureResult,\n { state: State; props: {}; methods: {} }\n>;\nexport function withState<State extends object>(\n state: State\n): SignalStoreFeature<\n EmptyFeatureResult,\n { state: State; props: {}; methods: {} }\n>;\nexport function withState<State extends object>(\n stateOrFactory: State | (() => State)\n): SignalStoreFeature<\n SignalStoreFeatureResult,\n { state: State; props: {}; methods: {} }\n> {\n return (store) => {\n const state = (\n typeof stateOrFactory === 'function' ? stateOrFactory() : stateOrFactory\n ) as Record<string | symbol, unknown>;\n const stateKeys = Reflect.ownKeys(state);\n\n assertUniqueStoreMembers(store, stateKeys);\n\n const stateSource = store[STATE_SOURCE] as Record<\n string | symbol,\n Signal<unknown>\n >;\n const stateSignals: SignalsDictionary = {};\n\n for (const key of stateKeys) {\n stateSource[key] = signal(state[key]);\n stateSignals[key] = toDeepSignal(stateSource[key]);\n }\n\n return {\n ...store,\n stateSignals: { ...store.stateSignals, ...stateSignals },\n } as InnerSignalStore<State>;\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngrx-signals.mjs","sources":["../../../../modules/signals/src/deep-signal.ts","../../../../modules/signals/src/deep-computed.ts","../../../../modules/signals/src/signal-method.ts","../../../../modules/signals/src/state-source.ts","../../../../modules/signals/src/signal-state.ts","../../../../modules/signals/src/signal-store.ts","../../../../modules/signals/src/signal-store-feature.ts","../../../../modules/signals/src/signal-store-assertions.ts","../../../../modules/signals/src/with-props.ts","../../../../modules/signals/src/with-computed.ts","../../../../modules/signals/src/with-feature.ts","../../../../modules/signals/src/with-hooks.ts","../../../../modules/signals/src/with-linked-state.ts","../../../../modules/signals/src/with-methods.ts","../../../../modules/signals/src/with-state.ts","../../../../modules/signals/ngrx-signals.ts"],"sourcesContent":["import { computed, isSignal, Signal, untracked } from '@angular/core';\nimport { IsKnownRecord } from './ts-helpers';\n\nconst DEEP_SIGNAL = Symbol('DEEP_SIGNAL');\n\nexport type DeepSignal<T> = Signal<T> &\n (IsKnownRecord<T> extends true\n ? Readonly<{\n [K in keyof T]: IsKnownRecord<T[K]> extends true\n ? DeepSignal<T[K]>\n : Signal<T[K]>;\n }>\n : unknown);\n\nexport function toDeepSignal<T>(signal: Signal<T>): DeepSignal<T> {\n return new Proxy(signal, {\n has(target: any, prop) {\n return !!this.get!(target, prop, undefined);\n },\n get(target: any, prop) {\n const value = untracked(target);\n if (!isRecord(value) || !(prop in value)) {\n if (isSignal(target[prop]) && (target[prop] as any)[DEEP_SIGNAL]) {\n delete target[prop];\n }\n\n return target[prop];\n }\n\n if (!isSignal(target[prop])) {\n Object.defineProperty(target, prop, {\n value: computed(() => target()[prop]),\n configurable: true,\n });\n target[prop][DEEP_SIGNAL] = true;\n }\n\n return toDeepSignal(target[prop]);\n },\n });\n}\n\nconst nonRecords = [\n WeakSet,\n WeakMap,\n Promise,\n Date,\n Error,\n RegExp,\n ArrayBuffer,\n DataView,\n Function,\n];\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n if (value === null || typeof value !== 'object' || isIterable(value)) {\n return false;\n }\n\n let proto = Object.getPrototypeOf(value);\n if (proto === Object.prototype) {\n return true;\n }\n\n while (proto && proto !== Object.prototype) {\n if (nonRecords.includes(proto.constructor)) {\n return false;\n }\n proto = Object.getPrototypeOf(proto);\n }\n\n return proto === Object.prototype;\n}\n\nfunction isIterable(value: any): value is Iterable<any> {\n return typeof value?.[Symbol.iterator] === 'function';\n}\n","import { computed } from '@angular/core';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\n\nexport function deepComputed<T extends object>(\n computation: () => T\n): DeepSignal<T> {\n return toDeepSignal(computed(computation));\n}\n","import {\n assertInInjectionContext,\n DestroyRef,\n effect,\n EffectRef,\n inject,\n Injector,\n isSignal,\n Signal,\n untracked,\n} from '@angular/core';\n\ndeclare const ngDevMode: unknown;\n\nexport type SignalMethod<Input> = ((\n input: Input | Signal<Input>,\n config?: { injector?: Injector }\n) => EffectRef) &\n EffectRef;\n\nexport function signalMethod<Input>(\n processingFn: (value: Input) => void,\n config?: { injector?: Injector }\n): SignalMethod<Input> {\n if (!config?.injector) {\n assertInInjectionContext(signalMethod);\n }\n\n const watchers: EffectRef[] = [];\n const sourceInjector = config?.injector ?? inject(Injector);\n\n const signalMethodFn = (\n input: Input | Signal<Input>,\n config?: { injector?: Injector }\n ): EffectRef => {\n if (isSignal(input)) {\n const callerInjector = getCallerInjector();\n if (\n typeof ngDevMode !== 'undefined' &&\n ngDevMode &&\n config?.injector === undefined &&\n callerInjector === undefined\n ) {\n console.warn(\n '@ngrx/signals: The function returned by signalMethod was called',\n 'outside the injection context with a signal. This may lead to',\n 'a memory leak. Make sure to call it within the injection context',\n '(e.g. in a constructor or field initializer) or pass an injector',\n 'explicitly via the config parameter.\\n\\nFor more information, see:',\n 'https://ngrx.io/guide/signals/signal-method#automatic-cleanup'\n );\n }\n\n const instanceInjector =\n config?.injector ?? callerInjector ?? sourceInjector;\n\n const watcher = effect(\n () => {\n const value = input();\n untracked(() => processingFn(value));\n },\n { injector: instanceInjector }\n );\n watchers.push(watcher);\n\n instanceInjector.get(DestroyRef).onDestroy(() => {\n const ix = watchers.indexOf(watcher);\n if (ix !== -1) {\n watchers.splice(ix, 1);\n }\n });\n\n return watcher;\n } else {\n processingFn(input);\n return { destroy: () => void true };\n }\n };\n\n signalMethodFn.destroy = () =>\n watchers.forEach((watcher) => watcher.destroy());\n\n return signalMethodFn;\n}\n\nfunction getCallerInjector(): Injector | undefined {\n try {\n return inject(Injector);\n } catch {\n return undefined;\n }\n}\n","import {\n assertInInjectionContext,\n DestroyRef,\n inject,\n Injector,\n isSignal,\n Signal,\n untracked,\n WritableSignal,\n} from '@angular/core';\n\ndeclare const ngDevMode: unknown;\n\nconst STATE_WATCHERS = new WeakMap<object, Array<StateWatcher<any>>>();\n\nexport const STATE_SOURCE = Symbol('STATE_SOURCE');\n\nexport type WritableStateSource<State extends object> = {\n [STATE_SOURCE]: { [K in keyof State]: WritableSignal<State[K]> };\n};\n\nexport type StateSource<State extends object> = {\n [STATE_SOURCE]: { [K in keyof State]: Signal<State[K]> };\n};\n\nexport type PartialStateUpdater<State extends object> = (\n state: State\n) => Partial<State>;\n\nexport type StateWatcher<State extends object> = (\n state: NoInfer<State>\n) => void;\n\nexport function isWritableSignal(\n value: unknown\n): value is WritableSignal<unknown> {\n return (\n isSignal(value) &&\n 'set' in value &&\n 'update' in value &&\n typeof value.set === 'function' &&\n typeof value.update === 'function'\n );\n}\n\nexport function isWritableStateSource<State extends object>(\n stateSource: StateSource<State>\n): stateSource is WritableStateSource<State> {\n const signals: Record<string | symbol, unknown> = stateSource[STATE_SOURCE];\n return Reflect.ownKeys(stateSource[STATE_SOURCE]).every((key) => {\n return isWritableSignal(signals[key]);\n });\n}\n\nexport function patchState<State extends object>(\n stateSource: WritableStateSource<State>,\n ...updaters: Array<\n Partial<NoInfer<State>> | PartialStateUpdater<NoInfer<State>>\n >\n): void {\n const currentState = untracked(() => getState(stateSource));\n const newState = updaters.reduce(\n (nextState: State, updater) => ({\n ...nextState,\n ...(typeof updater === 'function' ? updater(nextState) : updater),\n }),\n currentState\n );\n\n const signals = stateSource[STATE_SOURCE];\n const stateKeys = Reflect.ownKeys(stateSource[STATE_SOURCE]);\n\n for (const key of Reflect.ownKeys(newState)) {\n if (stateKeys.includes(key)) {\n const signalKey = key as keyof State;\n if (currentState[signalKey] !== newState[signalKey]) {\n signals[signalKey].set(newState[signalKey]);\n }\n } else if (typeof ngDevMode !== 'undefined' && ngDevMode) {\n console.warn(\n `@ngrx/signals: patchState was called with an unknown state slice '${String(\n key\n )}'.`,\n 'Ensure that all state properties are explicitly defined in the initial state.',\n 'Updates to properties not present in the initial state will be ignored.'\n );\n }\n }\n\n notifyWatchers(stateSource);\n}\n\nexport function getState<State extends object>(\n stateSource: StateSource<State>\n): State {\n const signals: Record<string | symbol, Signal<unknown>> = stateSource[\n STATE_SOURCE\n ];\n return Reflect.ownKeys(stateSource[STATE_SOURCE]).reduce((state, key) => {\n const value = signals[key]();\n return {\n ...state,\n [key]: value,\n };\n }, {} as State);\n}\n\nexport function watchState<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>,\n config?: { injector?: Injector }\n): { destroy(): void } {\n if (!config?.injector) {\n assertInInjectionContext(watchState);\n }\n\n const injector = config?.injector ?? inject(Injector);\n const destroyRef = injector.get(DestroyRef);\n\n addWatcher(stateSource, watcher);\n watcher(getState(stateSource));\n\n const destroy = () => removeWatcher(stateSource, watcher);\n destroyRef.onDestroy(destroy);\n\n return { destroy };\n}\n\nfunction getWatchers<State extends object>(\n stateSource: StateSource<State>\n): Array<StateWatcher<State>> {\n return STATE_WATCHERS.get(stateSource[STATE_SOURCE]) || [];\n}\n\nfunction notifyWatchers<State extends object>(\n stateSource: StateSource<State>\n): void {\n const watchers = getWatchers(stateSource);\n\n for (const watcher of watchers) {\n const state = untracked(() => getState(stateSource));\n watcher(state);\n }\n}\n\nfunction addWatcher<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>\n): void {\n const watchers = getWatchers(stateSource);\n STATE_WATCHERS.set(stateSource[STATE_SOURCE], [...watchers, watcher]);\n}\n\nfunction removeWatcher<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>\n): void {\n const watchers = getWatchers(stateSource);\n STATE_WATCHERS.set(\n stateSource[STATE_SOURCE],\n watchers.filter((w) => w !== watcher)\n );\n}\n","import { computed, signal } from '@angular/core';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\nimport { SignalsDictionary } from './signal-store-models';\nimport { STATE_SOURCE, WritableStateSource } from './state-source';\n\nexport type SignalState<State extends object> = DeepSignal<State> &\n WritableStateSource<State>;\n\nexport function signalState<State extends object>(\n initialState: State\n): SignalState<State> {\n const stateKeys = Reflect.ownKeys(initialState);\n\n const stateSource = stateKeys.reduce(\n (signalsDict, key) => ({\n ...signalsDict,\n [key]: signal((initialState as Record<string | symbol, unknown>)[key]),\n }),\n {} as SignalsDictionary\n );\n\n const signalState = computed(() =>\n stateKeys.reduce(\n (state, key) => ({ ...state, [key]: stateSource[key]() }),\n {}\n )\n );\n\n Object.defineProperty(signalState, STATE_SOURCE, {\n value: stateSource,\n });\n\n for (const key of stateKeys) {\n Object.defineProperty(signalState, key, {\n value: toDeepSignal(stateSource[key]),\n });\n }\n\n return signalState as SignalState<State>;\n}\n","import { DestroyRef, inject, Injectable, Type } from '@angular/core';\nimport { STATE_SOURCE, StateSource, WritableStateSource } from './state-source';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { OmitPrivate, Prettify } from './ts-helpers';\n\ntype SignalStoreConfig = { providedIn?: 'root'; protectedState?: boolean };\n\ntype SignalStoreMembers<FeatureResult extends SignalStoreFeatureResult> =\n Prettify<\n OmitPrivate<\n StateSignals<FeatureResult['state']> &\n FeatureResult['props'] &\n FeatureResult['methods']\n >\n >;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> & StateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> & StateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> &\n WritableStateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\n\nexport function signalStore(\n ...args: [SignalStoreConfig, ...SignalStoreFeature[]] | SignalStoreFeature[]\n): Type<SignalStoreMembers<any>> {\n const signalStoreArgs = [...args];\n\n const config =\n typeof signalStoreArgs[0] === 'function'\n ? {}\n : (signalStoreArgs.shift() as SignalStoreConfig);\n const features = signalStoreArgs as SignalStoreFeature[];\n\n @Injectable({ providedIn: config.providedIn || null })\n class SignalStore {\n constructor() {\n const innerStore = features.reduce(\n (store, feature) => feature(store),\n getInitialInnerStore()\n );\n const { stateSignals, props, methods, hooks } = innerStore;\n const storeMembers: Record<string | symbol, unknown> = {\n ...stateSignals,\n ...props,\n ...methods,\n };\n\n (this as any)[STATE_SOURCE] = innerStore[STATE_SOURCE];\n\n for (const key of Reflect.ownKeys(storeMembers)) {\n (this as any)[key] = storeMembers[key];\n }\n\n const { onInit, onDestroy } = hooks;\n\n if (onInit) {\n onInit();\n }\n\n if (onDestroy) {\n inject(DestroyRef).onDestroy(onDestroy);\n }\n }\n }\n\n return SignalStore;\n}\n\nexport function getInitialInnerStore(): InnerSignalStore {\n return {\n [STATE_SOURCE]: {},\n stateSignals: {},\n props: {},\n methods: {},\n hooks: {},\n };\n}\n","import {\n EmptyFeatureResult,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\ntype PrettifyFeatureResult<Result extends SignalStoreFeatureResult> = Prettify<{\n state: Prettify<Result['state']>;\n props: Prettify<Result['props']>;\n methods: Prettify<Result['methods']>;\n}>;\n\nexport function signalStoreFeature<F1 extends SignalStoreFeatureResult>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): SignalStoreFeature<EmptyFeatureResult, F1>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): SignalStoreFeature<EmptyFeatureResult, PrettifyFeatureResult<F1 & F2>>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): SignalStoreFeature<EmptyFeatureResult, PrettifyFeatureResult<F1 & F2 & F3>>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10>\n>;\n\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>\n): SignalStoreFeature<Prettify<EmptyFeatureResult & Input>, F1>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult\n>(\n Input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<\n NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8,\n F9\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<\n NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8,\n F9\n >,\n f10: SignalStoreFeature<\n NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9,\n F10\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10>\n>;\n\nexport function signalStoreFeature(\n ...args:\n | [Partial<SignalStoreFeatureResult>, ...SignalStoreFeature[]]\n | SignalStoreFeature[]\n): SignalStoreFeature<EmptyFeatureResult, EmptyFeatureResult> {\n const features = (\n typeof args[0] === 'function' ? args : args.slice(1)\n ) as SignalStoreFeature[];\n\n return (inputStore) =>\n features.reduce((store, feature) => feature(store), inputStore);\n}\n\nexport function type<T>(): T {\n return undefined as T;\n}\n","import { InnerSignalStore } from './signal-store-models';\n\ndeclare const ngDevMode: unknown;\n\nexport function assertUniqueStoreMembers(\n store: InnerSignalStore,\n newMemberKeys: Array<string | symbol>\n): void {\n if (typeof ngDevMode === 'undefined' || !ngDevMode) {\n return;\n }\n\n const storeMembers = {\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n };\n const overriddenKeys = Reflect.ownKeys(storeMembers).filter((memberKey) =>\n newMemberKeys.includes(memberKey)\n );\n\n if (overriddenKeys.length > 0) {\n console.warn(\n '@ngrx/signals: SignalStore members cannot be overridden.',\n 'Trying to override:',\n overriddenKeys.map((key) => String(key)).join(', ')\n );\n }\n}\n","import { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport {\n InnerSignalStore,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\nexport function withProps<\n Input extends SignalStoreFeatureResult,\n Props extends object\n>(\n propsFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Input['state']>\n >\n ) => Props\n): SignalStoreFeature<Input, { state: {}; props: Props; methods: {} }> {\n return (store) => {\n const props = propsFactory({\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n });\n assertUniqueStoreMembers(store, Reflect.ownKeys(props));\n\n return {\n ...store,\n props: { ...store.props, ...props },\n } as InnerSignalStore<object, Props>;\n };\n}\n","import { computed, isSignal, Signal } from '@angular/core';\nimport {\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\nimport { withProps } from './with-props';\n\ntype ComputedResult<\n ComputedDictionary extends Record<\n string | symbol,\n Signal<unknown> | (() => unknown)\n >\n> = {\n [P in keyof ComputedDictionary]: ComputedDictionary[P] extends Signal<unknown>\n ? ComputedDictionary[P]\n : ComputedDictionary[P] extends () => infer V\n ? Signal<V>\n : never;\n};\n\nexport function withComputed<\n Input extends SignalStoreFeatureResult,\n ComputedDictionary extends Record<\n string | symbol,\n Signal<unknown> | (() => unknown)\n >\n>(\n computedFactory: (\n store: Prettify<\n StateSignals<Input['state']> & Input['props'] & Input['methods']\n >\n ) => ComputedDictionary\n): SignalStoreFeature<\n Input,\n { state: {}; props: ComputedResult<ComputedDictionary>; methods: {} }\n> {\n return withProps((store) => {\n const computedResult = computedFactory(store);\n const computedResultKeys = Reflect.ownKeys(computedResult);\n\n return computedResultKeys.reduce((prev, key) => {\n const signalOrComputation = computedResult[key];\n return {\n ...prev,\n [key]: isSignal(signalOrComputation)\n ? signalOrComputation\n : computed(signalOrComputation),\n };\n }, {} as ComputedResult<ComputedDictionary>);\n });\n}\n","import {\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { Prettify } from './ts-helpers';\n\n/**\n * @description\n * Allows passing properties, methods, or signals from a SignalStore\n * to a feature.\n *\n * @usageNotes\n * ```typescript\n * signalStore(\n * withMethods((store) => ({\n * load(id: number): Observable<Entity> {\n * return of({ id, name: 'John' });\n * },\n * })),\n * withFeature(\n * // 👇 has full access to the store\n * (store) => withEntityLoader((id) => firstValueFrom(store.load(id)))\n * )\n * );\n * ```\n *\n * @param featureFactory function returning the actual feature\n */\nexport function withFeature<\n Input extends SignalStoreFeatureResult,\n Output extends SignalStoreFeatureResult\n>(\n featureFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Input['state']>\n >\n ) => SignalStoreFeature<Input, Output>\n): SignalStoreFeature<Input, Output> {\n return (store) => {\n const storeForFactory = {\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store['stateSignals'],\n ...store['props'],\n ...store['methods'],\n };\n\n return featureFactory(storeForFactory)(store);\n };\n}\n","import { STATE_SOURCE, WritableStateSource } from './state-source';\nimport {\n EmptyFeatureResult,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\ntype HookFn<Input extends SignalStoreFeatureResult> = (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Input['state']>\n >\n) => void;\n\ntype HooksFactory<Input extends SignalStoreFeatureResult> = (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Input['state']>\n >\n) => {\n onInit?: () => void;\n onDestroy?: () => void;\n};\n\nexport function withHooks<Input extends SignalStoreFeatureResult>(hooks: {\n onInit?: HookFn<Input>;\n onDestroy?: HookFn<Input>;\n}): SignalStoreFeature<Input, EmptyFeatureResult>;\nexport function withHooks<Input extends SignalStoreFeatureResult>(\n hooks: HooksFactory<Input>\n): SignalStoreFeature<Input, EmptyFeatureResult>;\n\nexport function withHooks<Input extends SignalStoreFeatureResult>(\n hooksOrFactory:\n | {\n onInit?: HookFn<Input>;\n onDestroy?: HookFn<Input>;\n }\n | HooksFactory<Input>\n): SignalStoreFeature<Input, EmptyFeatureResult> {\n return (store) => {\n const storeMembers = {\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n };\n const hooks =\n typeof hooksOrFactory === 'function'\n ? hooksOrFactory(storeMembers)\n : hooksOrFactory;\n const createHook = (name: keyof typeof hooks) => {\n const hook = hooks[name];\n const currentHook = store.hooks[name];\n\n return hook\n ? () => {\n if (currentHook) {\n currentHook();\n }\n\n hook(storeMembers);\n }\n : currentHook;\n };\n\n return {\n ...store,\n hooks: {\n onInit: createHook('onInit'),\n onDestroy: createHook('onDestroy'),\n },\n };\n };\n}\n","import { linkedSignal, WritableSignal } from '@angular/core';\nimport { toDeepSignal } from './deep-signal';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport {\n InnerSignalStore,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { isWritableSignal, STATE_SOURCE } from './state-source';\nimport { Prettify } from './ts-helpers';\n\ntype LinkedStateResult<\n LinkedStateInput extends Record<\n string | symbol,\n WritableSignal<unknown> | (() => unknown)\n >\n> = {\n [K in keyof LinkedStateInput]: LinkedStateInput[K] extends WritableSignal<\n infer V\n >\n ? V\n : LinkedStateInput[K] extends () => infer V\n ? V\n : never;\n};\n\n/**\n * @description\n *\n * Adds linked state slices to a SignalStore.\n *\n * @usageNotes\n *\n * ```typescript\n * const OptionsStore = signalStore(\n * withState({ options: [1, 2, 3] }),\n * withLinkedState(({ options }) => ({\n * selectedOption: () => options()[0],\n * }))\n * );\n * ```\n *\n * This returns a state of type `{ options: number[], selectedOption: number | undefined }`.\n * When the `options` signal changes, the `selectedOption` automatically updates.\n *\n * For advanced use cases, `linkedSignal` or any other `WritableSignal` instance can be used within `withLinkedState`:\n *\n * ```typescript\n * type Option = { id: number; label: string };\n *\n * const OptionsStore = signalStore(\n * withState({ options: [] as Option[] }),\n * withLinkedState(({ options }) => ({\n * selectedOption: linkedSignal<Option[], Option>({\n * source: options,\n * computation: (newOptions, previous) => {\n * const option = newOptions.find((o) => o.id === previous?.value.id);\n * return option ?? newOptions[0];\n * },\n * })\n * }))\n * )\n * ```\n *\n * @param linkedStateFactory A function that returns an object literal with properties containing an actual `linkedSignal` or the computation function.\n */\nexport function withLinkedState<\n State extends Record<\n string | symbol,\n WritableSignal<unknown> | (() => unknown)\n >,\n Input extends SignalStoreFeatureResult\n>(\n linkedStateFactory: (\n store: Prettify<StateSignals<Input['state']> & Input['props']>\n ) => State\n): SignalStoreFeature<\n Input,\n { state: LinkedStateResult<State>; props: {}; methods: {} }\n> {\n return (store) => {\n const linkedState = linkedStateFactory({\n ...store.stateSignals,\n ...store.props,\n });\n const stateKeys = Reflect.ownKeys(linkedState);\n assertUniqueStoreMembers(store, stateKeys);\n const stateSource = store[STATE_SOURCE] as SignalsDictionary;\n const stateSignals = {} as SignalsDictionary;\n\n for (const key of stateKeys) {\n const signalOrComputationFn = linkedState[key];\n stateSource[key] = isWritableSignal(signalOrComputationFn)\n ? signalOrComputationFn\n : linkedSignal(signalOrComputationFn);\n stateSignals[key] = toDeepSignal(stateSource[key]);\n }\n\n return {\n ...store,\n stateSignals: { ...store.stateSignals, ...stateSignals },\n } as InnerSignalStore<LinkedStateResult<State>>;\n };\n}\n","import { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport {\n InnerSignalStore,\n MethodsDictionary,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\nexport function withMethods<\n Input extends SignalStoreFeatureResult,\n Methods extends MethodsDictionary\n>(\n methodsFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Input['state']>\n >\n ) => Methods\n): SignalStoreFeature<Input, { state: {}; props: {}; methods: Methods }> {\n return (store) => {\n const methods = methodsFactory({\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n });\n assertUniqueStoreMembers(store, Reflect.ownKeys(methods));\n\n return {\n ...store,\n methods: { ...store.methods, ...methods },\n } as InnerSignalStore<Record<string, unknown>, SignalsDictionary, Methods>;\n };\n}\n","import { Signal, signal } from '@angular/core';\nimport { toDeepSignal } from './deep-signal';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n} from './signal-store-models';\nimport { STATE_SOURCE } from './state-source';\n\nexport function withState<State extends object>(\n stateFactory: () => State\n): SignalStoreFeature<\n EmptyFeatureResult,\n { state: State; props: {}; methods: {} }\n>;\nexport function withState<State extends object>(\n state: State\n): SignalStoreFeature<\n EmptyFeatureResult,\n { state: State; props: {}; methods: {} }\n>;\nexport function withState<State extends object>(\n stateOrFactory: State | (() => State)\n): SignalStoreFeature<\n SignalStoreFeatureResult,\n { state: State; props: {}; methods: {} }\n> {\n return (store) => {\n const state = (\n typeof stateOrFactory === 'function' ? stateOrFactory() : stateOrFactory\n ) as Record<string | symbol, unknown>;\n const stateKeys = Reflect.ownKeys(state);\n\n assertUniqueStoreMembers(store, stateKeys);\n\n const stateSource = store[STATE_SOURCE] as Record<\n string | symbol,\n Signal<unknown>\n >;\n const stateSignals: SignalsDictionary = {};\n\n for (const key of stateKeys) {\n stateSource[key] = signal(state[key]);\n stateSignals[key] = toDeepSignal(stateSource[key]);\n }\n\n return {\n ...store,\n stateSignals: { ...store.stateSignals, ...stateSignals },\n } as InnerSignalStore<State>;\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libs-version.js","sourceRoot":"","sources":["../../../../../modules/signals/schematics-core/utility/libs-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"libs-version.js","sourceRoot":"","sources":["../../../../../modules/signals/schematics-core/utility/libs-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,SAAS,CAAC","sourcesContent":["export const platformVersion = '^20.0.1';\n"]}
|