@ngrx/entity 18.1.0 → 19.0.0-beta.0
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-entity.mjs.map +1 -1
- package/package.json +3 -5
- package/schematics-core/utility/libs-version.js +1 -1
- package/schematics-core/utility/libs-version.js.map +1 -1
- package/schematics-core/utility/visitors.js +2 -2
- package/esm2022/index.mjs +0 -7
- package/esm2022/ngrx-entity.mjs +0 -5
- package/esm2022/public_api.mjs +0 -2
- package/esm2022/src/create_adapter.mjs +0 -23
- package/esm2022/src/entity_state.mjs +0 -13
- package/esm2022/src/index.mjs +0 -3
- package/esm2022/src/models.mjs +0 -3
- package/esm2022/src/sorted_state_adapter.mjs +0 -185
- package/esm2022/src/state_adapter.mjs +0 -26
- package/esm2022/src/state_selectors.mjs +0 -25
- package/esm2022/src/unsorted_state_adapter.mjs +0 -167
- package/esm2022/src/utils.mjs +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngrx-entity.mjs","sources":["../../../../modules/entity/src/entity_state.ts","../../../../modules/entity/src/state_selectors.ts","../../../../modules/entity/src/state_adapter.ts","../../../../modules/entity/src/utils.ts","../../../../modules/entity/src/unsorted_state_adapter.ts","../../../../modules/entity/src/sorted_state_adapter.ts","../../../../modules/entity/src/create_adapter.ts","../../../../modules/entity/src/models.ts","../../../../modules/entity/index.ts","../../../../modules/entity/ngrx-entity.ts"],"sourcesContent":["import { EntityState } from './models';\n\nexport function getInitialEntityState<V>(): EntityState<V> {\n return {\n ids: [],\n entities: {},\n };\n}\n\nexport function createInitialStateFactory<V>() {\n function getInitialState(): EntityState<V>;\n function getInitialState<S extends object>(\n additionalState: S\n ): EntityState<V> & S;\n function getInitialState(additionalState: any = {}): any {\n return Object.assign(getInitialEntityState(), additionalState);\n }\n\n return { getInitialState };\n}\n","import { createSelector } from '@ngrx/store';\nimport {\n EntityState,\n EntitySelectors,\n MemoizedEntitySelectors,\n} from './models';\n\nexport function createSelectorsFactory<T>() {\n function getSelectors(): EntitySelectors<T, EntityState<T>>;\n function getSelectors<V>(\n selectState: (state: V) => EntityState<T>\n ): MemoizedEntitySelectors<T, V>;\n function getSelectors(\n selectState?: (state: any) => EntityState<T>\n ): EntitySelectors<T, any> {\n const selectIds = (state: any) => state.ids;\n const selectEntities = (state: EntityState<T>) => state.entities;\n const selectAll = createSelector(\n selectIds,\n selectEntities,\n (ids, entities): any => ids.map((id: any) => (entities as any)[id])\n );\n\n const selectTotal = createSelector(selectIds, (ids) => ids.length);\n\n if (!selectState) {\n return {\n selectIds,\n selectEntities,\n selectAll,\n selectTotal,\n };\n }\n\n return {\n selectIds: createSelector(selectState, selectIds),\n selectEntities: createSelector(selectState, selectEntities),\n selectAll: createSelector(selectState, selectAll),\n selectTotal: createSelector(selectState, selectTotal),\n };\n }\n\n return { getSelectors };\n}\n","import { EntityState } from './models';\n\nexport enum DidMutate {\n EntitiesOnly,\n Both,\n None,\n}\n\nexport function createStateOperator<V, R>(\n mutator: (arg: R, state: EntityState<V>) => DidMutate\n): EntityState<V>;\nexport function createStateOperator<V, R>(\n mutator: (arg: any, state: any) => DidMutate\n): any {\n return function operation<S extends EntityState<V>>(arg: R, state: any): S {\n const clonedEntityState: EntityState<V> = {\n ids: [...state.ids],\n entities: { ...state.entities },\n };\n\n const didMutate = mutator(arg, clonedEntityState);\n\n if (didMutate === DidMutate.Both) {\n return Object.assign({}, state, clonedEntityState);\n }\n\n if (didMutate === DidMutate.EntitiesOnly) {\n return {\n ...state,\n entities: clonedEntityState.entities,\n };\n }\n\n return state;\n };\n}\n","import { isDevMode } from '@angular/core';\nimport { IdSelector } from './models';\n\nexport function selectIdValue<T>(entity: T, selectId: IdSelector<T>) {\n const key = selectId(entity);\n\n if (isDevMode() && key === undefined) {\n console.warn(\n '@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.',\n 'You should probably provide your own `selectId` implementation.',\n 'The entity that was passed:',\n entity,\n 'The `selectId` implementation:',\n selectId.toString()\n );\n }\n\n return key;\n}\n","import {\n EntityState,\n EntityStateAdapter,\n IdSelector,\n Update,\n Predicate,\n EntityMap,\n EntityMapOneNum,\n EntityMapOneStr,\n} from './models';\nimport { createStateOperator, DidMutate } from './state_adapter';\nimport { selectIdValue } from './utils';\n\nexport function createUnsortedStateAdapter<T>(\n selectId: IdSelector<T>\n): EntityStateAdapter<T>;\nexport function createUnsortedStateAdapter<T>(selectId: IdSelector<T>): any {\n type R = EntityState<T>;\n\n function addOneMutably(entity: T, state: R): DidMutate;\n function addOneMutably(entity: any, state: any): DidMutate {\n const key = selectIdValue(entity, selectId);\n\n if (key in state.entities) {\n return DidMutate.None;\n }\n\n state.ids.push(key);\n state.entities[key] = entity;\n\n return DidMutate.Both;\n }\n\n function addManyMutably(entities: T[], state: R): DidMutate;\n function addManyMutably(entities: any[], state: any): DidMutate {\n let didMutate = false;\n\n for (const entity of entities) {\n didMutate = addOneMutably(entity, state) !== DidMutate.None || didMutate;\n }\n\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n\n function setAllMutably(entities: T[], state: R): DidMutate;\n function setAllMutably(entities: any[], state: any): DidMutate {\n state.ids = [];\n state.entities = {};\n\n addManyMutably(entities, state);\n\n return DidMutate.Both;\n }\n\n function setOneMutably(entity: T, state: R): DidMutate;\n function setOneMutably(entity: any, state: any): DidMutate {\n const key = selectIdValue(entity, selectId);\n\n if (key in state.entities) {\n state.entities[key] = entity;\n return DidMutate.EntitiesOnly;\n }\n\n state.ids.push(key);\n state.entities[key] = entity;\n\n return DidMutate.Both;\n }\n\n function setManyMutably(entities: T[], state: R): DidMutate;\n function setManyMutably(entities: any[], state: any): DidMutate {\n const didMutateSetOne = entities.map((entity) =>\n setOneMutably(entity, state)\n );\n\n switch (true) {\n case didMutateSetOne.some((didMutate) => didMutate === DidMutate.Both):\n return DidMutate.Both;\n case didMutateSetOne.some(\n (didMutate) => didMutate === DidMutate.EntitiesOnly\n ):\n return DidMutate.EntitiesOnly;\n default:\n return DidMutate.None;\n }\n }\n\n function removeOneMutably(key: string | number, state: R): DidMutate;\n function removeOneMutably(key: any, state: any): DidMutate {\n return removeManyMutably([key], state);\n }\n\n function removeManyMutably(keys: string[] | number[], state: R): DidMutate;\n function removeManyMutably(predicate: Predicate<T>, state: R): DidMutate;\n function removeManyMutably(\n keysOrPredicate: any[] | Predicate<T>,\n state: any\n ): DidMutate {\n const keys =\n keysOrPredicate instanceof Array\n ? keysOrPredicate\n : state.ids.filter((key: any) => keysOrPredicate(state.entities[key]));\n\n const didMutate =\n keys\n .filter((key: any) => key in state.entities)\n .map((key: any) => delete state.entities[key]).length > 0;\n\n if (didMutate) {\n state.ids = state.ids.filter((id: any) => id in state.entities);\n }\n\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n\n function removeAll<S extends R>(state: S): S;\n function removeAll<S extends R>(state: any): S {\n return Object.assign({}, state, {\n ids: [],\n entities: {},\n });\n }\n\n function takeNewKey(\n keys: { [id: string]: string },\n update: Update<T>,\n state: R\n ): void;\n function takeNewKey(\n keys: { [id: string]: any },\n update: Update<T>,\n state: any\n ): boolean {\n const original = state.entities[update.id];\n const updated: T = Object.assign({}, original, update.changes);\n const newKey = selectIdValue(updated, selectId);\n const hasNewKey = newKey !== update.id;\n\n if (hasNewKey) {\n keys[update.id] = newKey;\n delete state.entities[update.id];\n }\n\n state.entities[newKey] = updated;\n\n return hasNewKey;\n }\n\n function updateOneMutably(update: Update<T>, state: R): DidMutate;\n function updateOneMutably(update: any, state: any): DidMutate {\n return updateManyMutably([update], state);\n }\n\n function updateManyMutably(updates: Update<T>[], state: R): DidMutate;\n function updateManyMutably(updates: any[], state: any): DidMutate {\n const newKeys: { [id: string]: string } = {};\n\n updates = updates.filter((update) => update.id in state.entities);\n\n const didMutateEntities = updates.length > 0;\n\n if (didMutateEntities) {\n const didMutateIds =\n updates.filter((update) => takeNewKey(newKeys, update, state)).length >\n 0;\n\n if (didMutateIds) {\n state.ids = state.ids.map((id: any) => newKeys[id] || id);\n return DidMutate.Both;\n } else {\n return DidMutate.EntitiesOnly;\n }\n }\n\n return DidMutate.None;\n }\n\n function mapMutably(map: EntityMap<T>, state: R): DidMutate;\n function mapMutably(map: any, state: any): DidMutate {\n const changes: Update<T>[] = state.ids.reduce(\n (changes: any[], id: string | number) => {\n const change = map(state.entities[id]);\n if (change !== state.entities[id]) {\n changes.push({ id, changes: change });\n }\n return changes;\n },\n []\n );\n const updates = changes.filter(({ id }) => id in state.entities);\n\n return updateManyMutably(updates, state);\n }\n\n function mapOneMutably(map: EntityMapOneNum<T>, state: R): DidMutate;\n function mapOneMutably(map: EntityMapOneStr<T>, state: R): DidMutate;\n function mapOneMutably({ map, id }: any, state: any): DidMutate {\n const entity = state.entities[id];\n if (!entity) {\n return DidMutate.None;\n }\n\n const updatedEntity = map(entity);\n return updateOneMutably(\n {\n id: id,\n changes: updatedEntity,\n },\n state\n );\n }\n\n function upsertOneMutably(entity: T, state: R): DidMutate;\n function upsertOneMutably(entity: any, state: any): DidMutate {\n return upsertManyMutably([entity], state);\n }\n\n function upsertManyMutably(entities: T[], state: R): DidMutate;\n function upsertManyMutably(entities: any[], state: any): DidMutate {\n const added: any[] = [];\n const updated: any[] = [];\n\n for (const entity of entities) {\n const id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id, changes: entity });\n } else {\n added.push(entity);\n }\n }\n\n const didMutateByUpdated = updateManyMutably(updated, state);\n const didMutateByAdded = addManyMutably(added, state);\n\n switch (true) {\n case didMutateByAdded === DidMutate.None &&\n didMutateByUpdated === DidMutate.None:\n return DidMutate.None;\n case didMutateByAdded === DidMutate.Both ||\n didMutateByUpdated === DidMutate.Both:\n return DidMutate.Both;\n default:\n return DidMutate.EntitiesOnly;\n }\n }\n\n return {\n removeAll,\n addOne: createStateOperator(addOneMutably),\n addMany: createStateOperator(addManyMutably),\n setAll: createStateOperator(setAllMutably),\n setOne: createStateOperator(setOneMutably),\n setMany: createStateOperator(setManyMutably),\n updateOne: createStateOperator(updateOneMutably),\n updateMany: createStateOperator(updateManyMutably),\n upsertOne: createStateOperator(upsertOneMutably),\n upsertMany: createStateOperator(upsertManyMutably),\n removeOne: createStateOperator(removeOneMutably),\n removeMany: createStateOperator(removeManyMutably),\n map: createStateOperator(mapMutably),\n mapOne: createStateOperator(mapOneMutably),\n };\n}\n","import {\n EntityState,\n IdSelector,\n Comparer,\n EntityStateAdapter,\n Update,\n EntityMap,\n EntityMapOneNum,\n EntityMapOneStr,\n} from './models';\nimport { createStateOperator, DidMutate } from './state_adapter';\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter';\nimport { selectIdValue } from './utils';\n\nexport function createSortedStateAdapter<T>(\n selectId: IdSelector<T>,\n sort: Comparer<T>\n): EntityStateAdapter<T>;\nexport function createSortedStateAdapter<T>(selectId: any, sort: any): any {\n type R = EntityState<T>;\n\n const { removeOne, removeMany, removeAll } =\n createUnsortedStateAdapter(selectId);\n\n function addOneMutably(entity: T, state: R): DidMutate;\n function addOneMutably(entity: any, state: any): DidMutate {\n return addManyMutably([entity], state);\n }\n\n function addManyMutably(newModels: T[], state: R): DidMutate;\n function addManyMutably(newModels: any[], state: any): DidMutate {\n const models = newModels.filter(\n (model) => !(selectIdValue(model, selectId) in state.entities)\n );\n\n if (models.length === 0) {\n return DidMutate.None;\n } else {\n merge(models, state);\n return DidMutate.Both;\n }\n }\n\n function setAllMutably(models: T[], state: R): DidMutate;\n function setAllMutably(models: any[], state: any): DidMutate {\n state.entities = {};\n state.ids = [];\n\n addManyMutably(models, state);\n\n return DidMutate.Both;\n }\n\n function setOneMutably(entity: T, state: R): DidMutate;\n function setOneMutably(entity: any, state: any): DidMutate {\n const id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n state.ids = state.ids.filter((val: string | number) => val !== id);\n merge([entity], state);\n return DidMutate.Both;\n } else {\n return addOneMutably(entity, state);\n }\n }\n\n function setManyMutably(entities: T[], state: R): DidMutate;\n function setManyMutably(entities: any[], state: any): DidMutate {\n const didMutateSetOne = entities.map((entity) =>\n setOneMutably(entity, state)\n );\n\n switch (true) {\n case didMutateSetOne.some((didMutate) => didMutate === DidMutate.Both):\n return DidMutate.Both;\n case didMutateSetOne.some(\n (didMutate) => didMutate === DidMutate.EntitiesOnly\n ):\n return DidMutate.EntitiesOnly;\n default:\n return DidMutate.None;\n }\n }\n\n function updateOneMutably(update: Update<T>, state: R): DidMutate;\n function updateOneMutably(update: any, state: any): DidMutate {\n return updateManyMutably([update], state);\n }\n\n function takeUpdatedModel(models: T[], update: Update<T>, state: R): boolean;\n function takeUpdatedModel(models: any[], update: any, state: any): boolean {\n if (!(update.id in state.entities)) {\n return false;\n }\n\n const original = state.entities[update.id];\n const updated = Object.assign({}, original, update.changes);\n const newKey = selectIdValue(updated, selectId);\n\n delete state.entities[update.id];\n\n models.push(updated);\n\n return newKey !== update.id;\n }\n\n function updateManyMutably(updates: Update<T>[], state: R): DidMutate;\n function updateManyMutably(updates: any[], state: any): DidMutate {\n const models: T[] = [];\n\n const didMutateIds =\n updates.filter((update) => takeUpdatedModel(models, update, state))\n .length > 0;\n\n if (models.length === 0) {\n return DidMutate.None;\n } else {\n const originalIds = state.ids;\n const updatedIndexes: any[] = [];\n state.ids = state.ids.filter((id: any, index: number) => {\n if (id in state.entities) {\n return true;\n } else {\n updatedIndexes.push(index);\n return false;\n }\n });\n\n merge(models, state);\n\n if (\n !didMutateIds &&\n updatedIndexes.every((i: number) => state.ids[i] === originalIds[i])\n ) {\n return DidMutate.EntitiesOnly;\n } else {\n return DidMutate.Both;\n }\n }\n }\n\n function mapMutably(map: EntityMap<T>, state: R): DidMutate;\n function mapMutably(updatesOrMap: any, state: any): DidMutate {\n const updates: Update<T>[] = state.ids.reduce(\n (changes: any[], id: string | number) => {\n const change = updatesOrMap(state.entities[id]);\n if (change !== state.entities[id]) {\n changes.push({ id, changes: change });\n }\n return changes;\n },\n []\n );\n\n return updateManyMutably(updates, state);\n }\n\n function mapOneMutably(map: EntityMapOneNum<T>, state: R): DidMutate;\n function mapOneMutably(map: EntityMapOneStr<T>, state: R): DidMutate;\n function mapOneMutably({ map, id }: any, state: any): DidMutate {\n const entity = state.entities[id];\n if (!entity) {\n return DidMutate.None;\n }\n\n const updatedEntity = map(entity);\n return updateOneMutably(\n {\n id: id,\n changes: updatedEntity,\n },\n state\n );\n }\n\n function upsertOneMutably(entity: T, state: R): DidMutate;\n function upsertOneMutably(entity: any, state: any): DidMutate {\n return upsertManyMutably([entity], state);\n }\n\n function upsertManyMutably(entities: T[], state: R): DidMutate;\n function upsertManyMutably(entities: any[], state: any): DidMutate {\n const added: any[] = [];\n const updated: any[] = [];\n\n for (const entity of entities) {\n const id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id, changes: entity });\n } else {\n added.push(entity);\n }\n }\n\n const didMutateByUpdated = updateManyMutably(updated, state);\n const didMutateByAdded = addManyMutably(added, state);\n\n switch (true) {\n case didMutateByAdded === DidMutate.None &&\n didMutateByUpdated === DidMutate.None:\n return DidMutate.None;\n case didMutateByAdded === DidMutate.Both ||\n didMutateByUpdated === DidMutate.Both:\n return DidMutate.Both;\n default:\n return DidMutate.EntitiesOnly;\n }\n }\n\n function merge(models: T[], state: R): void;\n function merge(models: any[], state: any): void {\n models.sort(sort);\n\n const ids: any[] = [];\n\n let i = 0;\n let j = 0;\n\n while (i < models.length && j < state.ids.length) {\n const model = models[i];\n const modelId = selectIdValue(model, selectId);\n const entityId = state.ids[j];\n const entity = state.entities[entityId];\n\n if (sort(model, entity) <= 0) {\n ids.push(modelId);\n i++;\n } else {\n ids.push(entityId);\n j++;\n }\n }\n\n if (i < models.length) {\n state.ids = ids.concat(models.slice(i).map(selectId));\n } else {\n state.ids = ids.concat(state.ids.slice(j));\n }\n\n models.forEach((model, i) => {\n state.entities[selectId(model)] = model;\n });\n }\n\n return {\n removeOne,\n removeMany,\n removeAll,\n addOne: createStateOperator(addOneMutably),\n updateOne: createStateOperator(updateOneMutably),\n upsertOne: createStateOperator(upsertOneMutably),\n setAll: createStateOperator(setAllMutably),\n setOne: createStateOperator(setOneMutably),\n setMany: createStateOperator(setManyMutably),\n addMany: createStateOperator(addManyMutably),\n updateMany: createStateOperator(updateManyMutably),\n upsertMany: createStateOperator(upsertManyMutably),\n map: createStateOperator(mapMutably),\n mapOne: createStateOperator(mapOneMutably),\n };\n}\n","import {\n EntityDefinition,\n Comparer,\n IdSelector,\n EntityAdapter,\n} from './models';\nimport { createInitialStateFactory } from './entity_state';\nimport { createSelectorsFactory } from './state_selectors';\nimport { createSortedStateAdapter } from './sorted_state_adapter';\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter';\n\nexport function createEntityAdapter<T>(\n options: {\n selectId?: IdSelector<T>;\n sortComparer?: false | Comparer<T>;\n } = {}\n): EntityAdapter<T> {\n const { selectId, sortComparer }: EntityDefinition<T> = {\n selectId: options.selectId ?? ((entity: any) => entity.id),\n sortComparer: options.sortComparer ?? false,\n };\n\n const stateFactory = createInitialStateFactory<T>();\n const selectorsFactory = createSelectorsFactory<T>();\n const stateAdapter = sortComparer\n ? createSortedStateAdapter(selectId, sortComparer)\n : createUnsortedStateAdapter(selectId);\n\n return {\n selectId,\n sortComparer,\n ...stateFactory,\n ...selectorsFactory,\n ...stateAdapter,\n };\n}\n","import { MemoizedSelector } from '@ngrx/store';\n\nexport type Comparer<T> = (a: T, b: T) => number;\n\nexport type IdSelectorStr<T> = (model: T) => string;\nexport type IdSelectorNum<T> = (model: T) => number;\n\nexport type IdSelector<T> = IdSelectorStr<T> | IdSelectorNum<T>;\n\nexport interface DictionaryNum<T> {\n [id: number]: T | undefined;\n}\n\nexport abstract class Dictionary<T> implements DictionaryNum<T> {\n [id: string]: T | undefined;\n}\n\nexport interface UpdateStr<T> {\n id: string;\n changes: Partial<T>;\n}\n\nexport interface UpdateNum<T> {\n id: number;\n changes: Partial<T>;\n}\n\nexport type Update<T> = UpdateStr<T> | UpdateNum<T>;\n\nexport type Predicate<T> = (entity: T) => boolean;\n\nexport type EntityMap<T> = (entity: T) => T;\n\nexport interface EntityMapOneNum<T> {\n id: number;\n map: EntityMap<T>;\n}\n\nexport interface EntityMapOneStr<T> {\n id: string;\n map: EntityMap<T>;\n}\n\nexport type EntityMapOne<T> = EntityMapOneNum<T> | EntityMapOneStr<T>;\n\nexport interface EntityState<T> {\n ids: string[] | number[];\n entities: Dictionary<T>;\n}\n\nexport interface EntityDefinition<T> {\n selectId: IdSelector<T>;\n sortComparer: false | Comparer<T>;\n}\n\nexport interface EntityStateAdapter<T> {\n addOne<S extends EntityState<T>>(entity: T, state: S): S;\n addMany<S extends EntityState<T>>(entities: T[], state: S): S;\n\n setAll<S extends EntityState<T>>(entities: T[], state: S): S;\n setOne<S extends EntityState<T>>(entity: T, state: S): S;\n setMany<S extends EntityState<T>>(entities: T[], state: S): S;\n\n removeOne<S extends EntityState<T>>(key: string, state: S): S;\n removeOne<S extends EntityState<T>>(key: number, state: S): S;\n\n removeMany<S extends EntityState<T>>(keys: string[], state: S): S;\n removeMany<S extends EntityState<T>>(keys: number[], state: S): S;\n removeMany<S extends EntityState<T>>(predicate: Predicate<T>, state: S): S;\n\n removeAll<S extends EntityState<T>>(state: S): S;\n\n updateOne<S extends EntityState<T>>(update: Update<T>, state: S): S;\n updateMany<S extends EntityState<T>>(updates: Update<T>[], state: S): S;\n\n upsertOne<S extends EntityState<T>>(entity: T, state: S): S;\n upsertMany<S extends EntityState<T>>(entities: T[], state: S): S;\n\n mapOne<S extends EntityState<T>>(map: EntityMapOne<T>, state: S): S;\n map<S extends EntityState<T>>(map: EntityMap<T>, state: S): S;\n}\n\nexport type EntitySelectors<T, V> = {\n selectIds: (state: V) => string[] | number[];\n selectEntities: (state: V) => Dictionary<T>;\n selectAll: (state: V) => T[];\n selectTotal: (state: V) => number;\n};\n\nexport type MemoizedEntitySelectors<T, V> = {\n selectIds: MemoizedSelector<\n V,\n string[] | number[],\n (entityState: EntityState<T>) => string[] | number[]\n >;\n selectEntities: MemoizedSelector<\n V,\n Dictionary<T>,\n (entityState: EntityState<T>) => Dictionary<T>\n >;\n selectAll: MemoizedSelector<V, T[], (entityState: EntityState<T>) => T[]>;\n selectTotal: MemoizedSelector<\n V,\n number,\n (entityState: EntityState<T>) => number\n >;\n};\n\nexport interface EntityAdapter<T> extends EntityStateAdapter<T> {\n selectId: IdSelector<T>;\n sortComparer: false | Comparer<T>;\n getInitialState(): EntityState<T>;\n getInitialState<S extends object>(state: S): EntityState<T> & S;\n getSelectors(): EntitySelectors<T, EntityState<T>>;\n getSelectors<V>(\n selectState: (state: V) => EntityState<T>\n ): MemoizedEntitySelectors<T, V>;\n}\n","/**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\nexport * from './public_api';\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-entity.mjs","sources":["../../../../modules/entity/src/entity_state.ts","../../../../modules/entity/src/state_selectors.ts","../../../../modules/entity/src/state_adapter.ts","../../../../modules/entity/src/utils.ts","../../../../modules/entity/src/unsorted_state_adapter.ts","../../../../modules/entity/src/sorted_state_adapter.ts","../../../../modules/entity/src/create_adapter.ts","../../../../modules/entity/src/models.ts","../../../../modules/entity/index.ts","../../../../modules/entity/ngrx-entity.ts"],"sourcesContent":["import { EntityState } from './models';\n\nexport function getInitialEntityState<V>(): EntityState<V> {\n return {\n ids: [],\n entities: {},\n };\n}\n\nexport function createInitialStateFactory<V>() {\n function getInitialState(): EntityState<V>;\n function getInitialState<S extends object>(\n additionalState: S\n ): EntityState<V> & S;\n function getInitialState(additionalState: any = {}): any {\n return Object.assign(getInitialEntityState(), additionalState);\n }\n\n return { getInitialState };\n}\n","import { createSelector } from '@ngrx/store';\nimport {\n EntityState,\n EntitySelectors,\n MemoizedEntitySelectors,\n} from './models';\n\nexport function createSelectorsFactory<T>() {\n function getSelectors(): EntitySelectors<T, EntityState<T>>;\n function getSelectors<V>(\n selectState: (state: V) => EntityState<T>\n ): MemoizedEntitySelectors<T, V>;\n function getSelectors(\n selectState?: (state: any) => EntityState<T>\n ): EntitySelectors<T, any> {\n const selectIds = (state: any) => state.ids;\n const selectEntities = (state: EntityState<T>) => state.entities;\n const selectAll = createSelector(\n selectIds,\n selectEntities,\n (ids, entities): any => ids.map((id: any) => (entities as any)[id])\n );\n\n const selectTotal = createSelector(selectIds, (ids) => ids.length);\n\n if (!selectState) {\n return {\n selectIds,\n selectEntities,\n selectAll,\n selectTotal,\n };\n }\n\n return {\n selectIds: createSelector(selectState, selectIds),\n selectEntities: createSelector(selectState, selectEntities),\n selectAll: createSelector(selectState, selectAll),\n selectTotal: createSelector(selectState, selectTotal),\n };\n }\n\n return { getSelectors };\n}\n","import { EntityState } from './models';\n\nexport enum DidMutate {\n EntitiesOnly,\n Both,\n None,\n}\n\nexport function createStateOperator<V, R>(\n mutator: (arg: R, state: EntityState<V>) => DidMutate\n): EntityState<V>;\nexport function createStateOperator<V, R>(\n mutator: (arg: any, state: any) => DidMutate\n): any {\n return function operation<S extends EntityState<V>>(arg: R, state: any): S {\n const clonedEntityState: EntityState<V> = {\n ids: [...state.ids],\n entities: { ...state.entities },\n };\n\n const didMutate = mutator(arg, clonedEntityState);\n\n if (didMutate === DidMutate.Both) {\n return Object.assign({}, state, clonedEntityState);\n }\n\n if (didMutate === DidMutate.EntitiesOnly) {\n return {\n ...state,\n entities: clonedEntityState.entities,\n };\n }\n\n return state;\n };\n}\n","import { isDevMode } from '@angular/core';\nimport { IdSelector } from './models';\n\nexport function selectIdValue<T>(entity: T, selectId: IdSelector<T>) {\n const key = selectId(entity);\n\n if (isDevMode() && key === undefined) {\n console.warn(\n '@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.',\n 'You should probably provide your own `selectId` implementation.',\n 'The entity that was passed:',\n entity,\n 'The `selectId` implementation:',\n selectId.toString()\n );\n }\n\n return key;\n}\n","import {\n EntityState,\n EntityStateAdapter,\n IdSelector,\n Update,\n Predicate,\n EntityMap,\n EntityMapOneNum,\n EntityMapOneStr,\n} from './models';\nimport { createStateOperator, DidMutate } from './state_adapter';\nimport { selectIdValue } from './utils';\n\nexport function createUnsortedStateAdapter<T>(\n selectId: IdSelector<T>\n): EntityStateAdapter<T>;\nexport function createUnsortedStateAdapter<T>(selectId: IdSelector<T>): any {\n type R = EntityState<T>;\n\n function addOneMutably(entity: T, state: R): DidMutate;\n function addOneMutably(entity: any, state: any): DidMutate {\n const key = selectIdValue(entity, selectId);\n\n if (key in state.entities) {\n return DidMutate.None;\n }\n\n state.ids.push(key);\n state.entities[key] = entity;\n\n return DidMutate.Both;\n }\n\n function addManyMutably(entities: T[], state: R): DidMutate;\n function addManyMutably(entities: any[], state: any): DidMutate {\n let didMutate = false;\n\n for (const entity of entities) {\n didMutate = addOneMutably(entity, state) !== DidMutate.None || didMutate;\n }\n\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n\n function setAllMutably(entities: T[], state: R): DidMutate;\n function setAllMutably(entities: any[], state: any): DidMutate {\n state.ids = [];\n state.entities = {};\n\n addManyMutably(entities, state);\n\n return DidMutate.Both;\n }\n\n function setOneMutably(entity: T, state: R): DidMutate;\n function setOneMutably(entity: any, state: any): DidMutate {\n const key = selectIdValue(entity, selectId);\n\n if (key in state.entities) {\n state.entities[key] = entity;\n return DidMutate.EntitiesOnly;\n }\n\n state.ids.push(key);\n state.entities[key] = entity;\n\n return DidMutate.Both;\n }\n\n function setManyMutably(entities: T[], state: R): DidMutate;\n function setManyMutably(entities: any[], state: any): DidMutate {\n const didMutateSetOne = entities.map((entity) =>\n setOneMutably(entity, state)\n );\n\n switch (true) {\n case didMutateSetOne.some((didMutate) => didMutate === DidMutate.Both):\n return DidMutate.Both;\n case didMutateSetOne.some(\n (didMutate) => didMutate === DidMutate.EntitiesOnly\n ):\n return DidMutate.EntitiesOnly;\n default:\n return DidMutate.None;\n }\n }\n\n function removeOneMutably(key: string | number, state: R): DidMutate;\n function removeOneMutably(key: any, state: any): DidMutate {\n return removeManyMutably([key], state);\n }\n\n function removeManyMutably(keys: string[] | number[], state: R): DidMutate;\n function removeManyMutably(predicate: Predicate<T>, state: R): DidMutate;\n function removeManyMutably(\n keysOrPredicate: any[] | Predicate<T>,\n state: any\n ): DidMutate {\n const keys =\n keysOrPredicate instanceof Array\n ? keysOrPredicate\n : state.ids.filter((key: any) => keysOrPredicate(state.entities[key]));\n\n const didMutate =\n keys\n .filter((key: any) => key in state.entities)\n .map((key: any) => delete state.entities[key]).length > 0;\n\n if (didMutate) {\n state.ids = state.ids.filter((id: any) => id in state.entities);\n }\n\n return didMutate ? DidMutate.Both : DidMutate.None;\n }\n\n function removeAll<S extends R>(state: S): S;\n function removeAll<S extends R>(state: any): S {\n return Object.assign({}, state, {\n ids: [],\n entities: {},\n });\n }\n\n function takeNewKey(\n keys: { [id: string]: string },\n update: Update<T>,\n state: R\n ): void;\n function takeNewKey(\n keys: { [id: string]: any },\n update: Update<T>,\n state: any\n ): boolean {\n const original = state.entities[update.id];\n const updated: T = Object.assign({}, original, update.changes);\n const newKey = selectIdValue(updated, selectId);\n const hasNewKey = newKey !== update.id;\n\n if (hasNewKey) {\n keys[update.id] = newKey;\n delete state.entities[update.id];\n }\n\n state.entities[newKey] = updated;\n\n return hasNewKey;\n }\n\n function updateOneMutably(update: Update<T>, state: R): DidMutate;\n function updateOneMutably(update: any, state: any): DidMutate {\n return updateManyMutably([update], state);\n }\n\n function updateManyMutably(updates: Update<T>[], state: R): DidMutate;\n function updateManyMutably(updates: any[], state: any): DidMutate {\n const newKeys: { [id: string]: string } = {};\n\n updates = updates.filter((update) => update.id in state.entities);\n\n const didMutateEntities = updates.length > 0;\n\n if (didMutateEntities) {\n const didMutateIds =\n updates.filter((update) => takeNewKey(newKeys, update, state)).length >\n 0;\n\n if (didMutateIds) {\n state.ids = state.ids.map((id: any) => newKeys[id] || id);\n return DidMutate.Both;\n } else {\n return DidMutate.EntitiesOnly;\n }\n }\n\n return DidMutate.None;\n }\n\n function mapMutably(map: EntityMap<T>, state: R): DidMutate;\n function mapMutably(map: any, state: any): DidMutate {\n const changes: Update<T>[] = state.ids.reduce(\n (changes: any[], id: string | number) => {\n const change = map(state.entities[id]);\n if (change !== state.entities[id]) {\n changes.push({ id, changes: change });\n }\n return changes;\n },\n []\n );\n const updates = changes.filter(({ id }) => id in state.entities);\n\n return updateManyMutably(updates, state);\n }\n\n function mapOneMutably(map: EntityMapOneNum<T>, state: R): DidMutate;\n function mapOneMutably(map: EntityMapOneStr<T>, state: R): DidMutate;\n function mapOneMutably({ map, id }: any, state: any): DidMutate {\n const entity = state.entities[id];\n if (!entity) {\n return DidMutate.None;\n }\n\n const updatedEntity = map(entity);\n return updateOneMutably(\n {\n id: id,\n changes: updatedEntity,\n },\n state\n );\n }\n\n function upsertOneMutably(entity: T, state: R): DidMutate;\n function upsertOneMutably(entity: any, state: any): DidMutate {\n return upsertManyMutably([entity], state);\n }\n\n function upsertManyMutably(entities: T[], state: R): DidMutate;\n function upsertManyMutably(entities: any[], state: any): DidMutate {\n const added: any[] = [];\n const updated: any[] = [];\n\n for (const entity of entities) {\n const id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id, changes: entity });\n } else {\n added.push(entity);\n }\n }\n\n const didMutateByUpdated = updateManyMutably(updated, state);\n const didMutateByAdded = addManyMutably(added, state);\n\n switch (true) {\n case didMutateByAdded === DidMutate.None &&\n didMutateByUpdated === DidMutate.None:\n return DidMutate.None;\n case didMutateByAdded === DidMutate.Both ||\n didMutateByUpdated === DidMutate.Both:\n return DidMutate.Both;\n default:\n return DidMutate.EntitiesOnly;\n }\n }\n\n return {\n removeAll,\n addOne: createStateOperator(addOneMutably),\n addMany: createStateOperator(addManyMutably),\n setAll: createStateOperator(setAllMutably),\n setOne: createStateOperator(setOneMutably),\n setMany: createStateOperator(setManyMutably),\n updateOne: createStateOperator(updateOneMutably),\n updateMany: createStateOperator(updateManyMutably),\n upsertOne: createStateOperator(upsertOneMutably),\n upsertMany: createStateOperator(upsertManyMutably),\n removeOne: createStateOperator(removeOneMutably),\n removeMany: createStateOperator(removeManyMutably),\n map: createStateOperator(mapMutably),\n mapOne: createStateOperator(mapOneMutably),\n };\n}\n","import {\n EntityState,\n IdSelector,\n Comparer,\n EntityStateAdapter,\n Update,\n EntityMap,\n EntityMapOneNum,\n EntityMapOneStr,\n} from './models';\nimport { createStateOperator, DidMutate } from './state_adapter';\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter';\nimport { selectIdValue } from './utils';\n\nexport function createSortedStateAdapter<T>(\n selectId: IdSelector<T>,\n sort: Comparer<T>\n): EntityStateAdapter<T>;\nexport function createSortedStateAdapter<T>(selectId: any, sort: any): any {\n type R = EntityState<T>;\n\n const { removeOne, removeMany, removeAll } =\n createUnsortedStateAdapter(selectId);\n\n function addOneMutably(entity: T, state: R): DidMutate;\n function addOneMutably(entity: any, state: any): DidMutate {\n return addManyMutably([entity], state);\n }\n\n function addManyMutably(newModels: T[], state: R): DidMutate;\n function addManyMutably(newModels: any[], state: any): DidMutate {\n const models = newModels.filter(\n (model) => !(selectIdValue(model, selectId) in state.entities)\n );\n\n if (models.length === 0) {\n return DidMutate.None;\n } else {\n merge(models, state);\n return DidMutate.Both;\n }\n }\n\n function setAllMutably(models: T[], state: R): DidMutate;\n function setAllMutably(models: any[], state: any): DidMutate {\n state.entities = {};\n state.ids = [];\n\n addManyMutably(models, state);\n\n return DidMutate.Both;\n }\n\n function setOneMutably(entity: T, state: R): DidMutate;\n function setOneMutably(entity: any, state: any): DidMutate {\n const id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n state.ids = state.ids.filter((val: string | number) => val !== id);\n merge([entity], state);\n return DidMutate.Both;\n } else {\n return addOneMutably(entity, state);\n }\n }\n\n function setManyMutably(entities: T[], state: R): DidMutate;\n function setManyMutably(entities: any[], state: any): DidMutate {\n const didMutateSetOne = entities.map((entity) =>\n setOneMutably(entity, state)\n );\n\n switch (true) {\n case didMutateSetOne.some((didMutate) => didMutate === DidMutate.Both):\n return DidMutate.Both;\n case didMutateSetOne.some(\n (didMutate) => didMutate === DidMutate.EntitiesOnly\n ):\n return DidMutate.EntitiesOnly;\n default:\n return DidMutate.None;\n }\n }\n\n function updateOneMutably(update: Update<T>, state: R): DidMutate;\n function updateOneMutably(update: any, state: any): DidMutate {\n return updateManyMutably([update], state);\n }\n\n function takeUpdatedModel(models: T[], update: Update<T>, state: R): boolean;\n function takeUpdatedModel(models: any[], update: any, state: any): boolean {\n if (!(update.id in state.entities)) {\n return false;\n }\n\n const original = state.entities[update.id];\n const updated = Object.assign({}, original, update.changes);\n const newKey = selectIdValue(updated, selectId);\n\n delete state.entities[update.id];\n\n models.push(updated);\n\n return newKey !== update.id;\n }\n\n function updateManyMutably(updates: Update<T>[], state: R): DidMutate;\n function updateManyMutably(updates: any[], state: any): DidMutate {\n const models: T[] = [];\n\n const didMutateIds =\n updates.filter((update) => takeUpdatedModel(models, update, state))\n .length > 0;\n\n if (models.length === 0) {\n return DidMutate.None;\n } else {\n const originalIds = state.ids;\n const updatedIndexes: any[] = [];\n state.ids = state.ids.filter((id: any, index: number) => {\n if (id in state.entities) {\n return true;\n } else {\n updatedIndexes.push(index);\n return false;\n }\n });\n\n merge(models, state);\n\n if (\n !didMutateIds &&\n updatedIndexes.every((i: number) => state.ids[i] === originalIds[i])\n ) {\n return DidMutate.EntitiesOnly;\n } else {\n return DidMutate.Both;\n }\n }\n }\n\n function mapMutably(map: EntityMap<T>, state: R): DidMutate;\n function mapMutably(updatesOrMap: any, state: any): DidMutate {\n const updates: Update<T>[] = state.ids.reduce(\n (changes: any[], id: string | number) => {\n const change = updatesOrMap(state.entities[id]);\n if (change !== state.entities[id]) {\n changes.push({ id, changes: change });\n }\n return changes;\n },\n []\n );\n\n return updateManyMutably(updates, state);\n }\n\n function mapOneMutably(map: EntityMapOneNum<T>, state: R): DidMutate;\n function mapOneMutably(map: EntityMapOneStr<T>, state: R): DidMutate;\n function mapOneMutably({ map, id }: any, state: any): DidMutate {\n const entity = state.entities[id];\n if (!entity) {\n return DidMutate.None;\n }\n\n const updatedEntity = map(entity);\n return updateOneMutably(\n {\n id: id,\n changes: updatedEntity,\n },\n state\n );\n }\n\n function upsertOneMutably(entity: T, state: R): DidMutate;\n function upsertOneMutably(entity: any, state: any): DidMutate {\n return upsertManyMutably([entity], state);\n }\n\n function upsertManyMutably(entities: T[], state: R): DidMutate;\n function upsertManyMutably(entities: any[], state: any): DidMutate {\n const added: any[] = [];\n const updated: any[] = [];\n\n for (const entity of entities) {\n const id = selectIdValue(entity, selectId);\n if (id in state.entities) {\n updated.push({ id, changes: entity });\n } else {\n added.push(entity);\n }\n }\n\n const didMutateByUpdated = updateManyMutably(updated, state);\n const didMutateByAdded = addManyMutably(added, state);\n\n switch (true) {\n case didMutateByAdded === DidMutate.None &&\n didMutateByUpdated === DidMutate.None:\n return DidMutate.None;\n case didMutateByAdded === DidMutate.Both ||\n didMutateByUpdated === DidMutate.Both:\n return DidMutate.Both;\n default:\n return DidMutate.EntitiesOnly;\n }\n }\n\n function merge(models: T[], state: R): void;\n function merge(models: any[], state: any): void {\n models.sort(sort);\n\n const ids: any[] = [];\n\n let i = 0;\n let j = 0;\n\n while (i < models.length && j < state.ids.length) {\n const model = models[i];\n const modelId = selectIdValue(model, selectId);\n const entityId = state.ids[j];\n const entity = state.entities[entityId];\n\n if (sort(model, entity) <= 0) {\n ids.push(modelId);\n i++;\n } else {\n ids.push(entityId);\n j++;\n }\n }\n\n if (i < models.length) {\n state.ids = ids.concat(models.slice(i).map(selectId));\n } else {\n state.ids = ids.concat(state.ids.slice(j));\n }\n\n models.forEach((model, i) => {\n state.entities[selectId(model)] = model;\n });\n }\n\n return {\n removeOne,\n removeMany,\n removeAll,\n addOne: createStateOperator(addOneMutably),\n updateOne: createStateOperator(updateOneMutably),\n upsertOne: createStateOperator(upsertOneMutably),\n setAll: createStateOperator(setAllMutably),\n setOne: createStateOperator(setOneMutably),\n setMany: createStateOperator(setManyMutably),\n addMany: createStateOperator(addManyMutably),\n updateMany: createStateOperator(updateManyMutably),\n upsertMany: createStateOperator(upsertManyMutably),\n map: createStateOperator(mapMutably),\n mapOne: createStateOperator(mapOneMutably),\n };\n}\n","import {\n EntityDefinition,\n Comparer,\n IdSelector,\n EntityAdapter,\n} from './models';\nimport { createInitialStateFactory } from './entity_state';\nimport { createSelectorsFactory } from './state_selectors';\nimport { createSortedStateAdapter } from './sorted_state_adapter';\nimport { createUnsortedStateAdapter } from './unsorted_state_adapter';\n\nexport function createEntityAdapter<T>(\n options: {\n selectId?: IdSelector<T>;\n sortComparer?: false | Comparer<T>;\n } = {}\n): EntityAdapter<T> {\n const { selectId, sortComparer }: EntityDefinition<T> = {\n selectId: options.selectId ?? ((entity: any) => entity.id),\n sortComparer: options.sortComparer ?? false,\n };\n\n const stateFactory = createInitialStateFactory<T>();\n const selectorsFactory = createSelectorsFactory<T>();\n const stateAdapter = sortComparer\n ? createSortedStateAdapter(selectId, sortComparer)\n : createUnsortedStateAdapter(selectId);\n\n return {\n selectId,\n sortComparer,\n ...stateFactory,\n ...selectorsFactory,\n ...stateAdapter,\n };\n}\n","import { MemoizedSelector } from '@ngrx/store';\n\nexport type Comparer<T> = (a: T, b: T) => number;\n\nexport type IdSelectorStr<T> = (model: T) => string;\nexport type IdSelectorNum<T> = (model: T) => number;\n\nexport type IdSelector<T> = IdSelectorStr<T> | IdSelectorNum<T>;\n\nexport interface DictionaryNum<T> {\n [id: number]: T | undefined;\n}\n\nexport abstract class Dictionary<T> implements DictionaryNum<T> {\n [id: string]: T | undefined;\n}\n\nexport interface UpdateStr<T> {\n id: string;\n changes: Partial<T>;\n}\n\nexport interface UpdateNum<T> {\n id: number;\n changes: Partial<T>;\n}\n\nexport type Update<T> = UpdateStr<T> | UpdateNum<T>;\n\nexport type Predicate<T> = (entity: T) => boolean;\n\nexport type EntityMap<T> = (entity: T) => T;\n\nexport interface EntityMapOneNum<T> {\n id: number;\n map: EntityMap<T>;\n}\n\nexport interface EntityMapOneStr<T> {\n id: string;\n map: EntityMap<T>;\n}\n\nexport type EntityMapOne<T> = EntityMapOneNum<T> | EntityMapOneStr<T>;\n\nexport interface EntityState<T> {\n ids: string[] | number[];\n entities: Dictionary<T>;\n}\n\nexport interface EntityDefinition<T> {\n selectId: IdSelector<T>;\n sortComparer: false | Comparer<T>;\n}\n\nexport interface EntityStateAdapter<T> {\n addOne<S extends EntityState<T>>(entity: T, state: S): S;\n addMany<S extends EntityState<T>>(entities: T[], state: S): S;\n\n setAll<S extends EntityState<T>>(entities: T[], state: S): S;\n setOne<S extends EntityState<T>>(entity: T, state: S): S;\n setMany<S extends EntityState<T>>(entities: T[], state: S): S;\n\n removeOne<S extends EntityState<T>>(key: string, state: S): S;\n removeOne<S extends EntityState<T>>(key: number, state: S): S;\n\n removeMany<S extends EntityState<T>>(keys: string[], state: S): S;\n removeMany<S extends EntityState<T>>(keys: number[], state: S): S;\n removeMany<S extends EntityState<T>>(predicate: Predicate<T>, state: S): S;\n\n removeAll<S extends EntityState<T>>(state: S): S;\n\n updateOne<S extends EntityState<T>>(update: Update<T>, state: S): S;\n updateMany<S extends EntityState<T>>(updates: Update<T>[], state: S): S;\n\n upsertOne<S extends EntityState<T>>(entity: T, state: S): S;\n upsertMany<S extends EntityState<T>>(entities: T[], state: S): S;\n\n mapOne<S extends EntityState<T>>(map: EntityMapOne<T>, state: S): S;\n map<S extends EntityState<T>>(map: EntityMap<T>, state: S): S;\n}\n\nexport type EntitySelectors<T, V> = {\n selectIds: (state: V) => string[] | number[];\n selectEntities: (state: V) => Dictionary<T>;\n selectAll: (state: V) => T[];\n selectTotal: (state: V) => number;\n};\n\nexport type MemoizedEntitySelectors<T, V> = {\n selectIds: MemoizedSelector<\n V,\n string[] | number[],\n (entityState: EntityState<T>) => string[] | number[]\n >;\n selectEntities: MemoizedSelector<\n V,\n Dictionary<T>,\n (entityState: EntityState<T>) => Dictionary<T>\n >;\n selectAll: MemoizedSelector<V, T[], (entityState: EntityState<T>) => T[]>;\n selectTotal: MemoizedSelector<\n V,\n number,\n (entityState: EntityState<T>) => number\n >;\n};\n\nexport interface EntityAdapter<T> extends EntityStateAdapter<T> {\n selectId: IdSelector<T>;\n sortComparer: false | Comparer<T>;\n getInitialState(): EntityState<T>;\n getInitialState<S extends object>(state: S): EntityState<T> & S;\n getSelectors(): EntitySelectors<T, EntityState<T>>;\n getSelectors<V>(\n selectState: (state: V) => EntityState<T>\n ): MemoizedEntitySelectors<T, V>;\n}\n","/**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\nexport * from './public_api';\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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngrx/entity",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "19.0.0-beta.0",
|
|
4
4
|
"description": "Common utilities for entity reducers",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
},
|
|
21
21
|
"homepage": "https://github.com/ngrx/platform#readme",
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@angular/core": "^
|
|
24
|
-
"@ngrx/store": "
|
|
23
|
+
"@angular/core": "^19.0.0",
|
|
24
|
+
"@ngrx/store": "19.0.0-beta.0",
|
|
25
25
|
"rxjs": "^6.5.3 || ^7.5.0"
|
|
26
26
|
},
|
|
27
27
|
"schematics": "./schematics/collection.json",
|
|
@@ -54,8 +54,6 @@
|
|
|
54
54
|
},
|
|
55
55
|
".": {
|
|
56
56
|
"types": "./index.d.ts",
|
|
57
|
-
"esm2022": "./esm2022/ngrx-entity.mjs",
|
|
58
|
-
"esm": "./esm2022/ngrx-entity.mjs",
|
|
59
57
|
"default": "./fesm2022/ngrx-entity.mjs"
|
|
60
58
|
}
|
|
61
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libs-version.js","sourceRoot":"","sources":["../../../../../modules/entity/schematics-core/utility/libs-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"libs-version.js","sourceRoot":"","sources":["../../../../../modules/entity/schematics-core/utility/libs-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,gBAAgB,CAAC","sourcesContent":["export const platformVersion = '^19.0.0-beta.0';\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
3
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
4
|
-
return g =
|
|
3
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
4
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
5
5
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
6
6
|
function step(op) {
|
|
7
7
|
if (f) throw new TypeError("Generator is already executing.");
|
package/esm2022/index.mjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DO NOT EDIT
|
|
3
|
-
*
|
|
4
|
-
* This file is automatically generated at build
|
|
5
|
-
*/
|
|
6
|
-
export * from './public_api';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERPIE5PVCBFRElUXG4gKlxuICogVGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGF0IGJ1aWxkXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
package/esm2022/ngrx-entity.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC1lbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9uZ3J4LWVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
package/esm2022/public_api.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './src/index';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21vZHVsZXMvZW50aXR5L3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9pbmRleCc7XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { createInitialStateFactory } from './entity_state';
|
|
2
|
-
import { createSelectorsFactory } from './state_selectors';
|
|
3
|
-
import { createSortedStateAdapter } from './sorted_state_adapter';
|
|
4
|
-
import { createUnsortedStateAdapter } from './unsorted_state_adapter';
|
|
5
|
-
export function createEntityAdapter(options = {}) {
|
|
6
|
-
const { selectId, sortComparer } = {
|
|
7
|
-
selectId: options.selectId ?? ((entity) => entity.id),
|
|
8
|
-
sortComparer: options.sortComparer ?? false,
|
|
9
|
-
};
|
|
10
|
-
const stateFactory = createInitialStateFactory();
|
|
11
|
-
const selectorsFactory = createSelectorsFactory();
|
|
12
|
-
const stateAdapter = sortComparer
|
|
13
|
-
? createSortedStateAdapter(selectId, sortComparer)
|
|
14
|
-
: createUnsortedStateAdapter(selectId);
|
|
15
|
-
return {
|
|
16
|
-
selectId,
|
|
17
|
-
sortComparer,
|
|
18
|
-
...stateFactory,
|
|
19
|
-
...selectorsFactory,
|
|
20
|
-
...stateAdapter,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2FkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zcmMvY3JlYXRlX2FkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEUsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxVQUdJLEVBQUU7SUFFTixNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxHQUF3QjtRQUN0RCxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzFELFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWSxJQUFJLEtBQUs7S0FDNUMsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLHlCQUF5QixFQUFLLENBQUM7SUFDcEQsTUFBTSxnQkFBZ0IsR0FBRyxzQkFBc0IsRUFBSyxDQUFDO0lBQ3JELE1BQU0sWUFBWSxHQUFHLFlBQVk7UUFDL0IsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7UUFDbEQsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXpDLE9BQU87UUFDTCxRQUFRO1FBQ1IsWUFBWTtRQUNaLEdBQUcsWUFBWTtRQUNmLEdBQUcsZ0JBQWdCO1FBQ25CLEdBQUcsWUFBWTtLQUNoQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0eURlZmluaXRpb24sXG4gIENvbXBhcmVyLFxuICBJZFNlbGVjdG9yLFxuICBFbnRpdHlBZGFwdGVyLFxufSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBjcmVhdGVJbml0aWFsU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi9lbnRpdHlfc3RhdGUnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3JzRmFjdG9yeSB9IGZyb20gJy4vc3RhdGVfc2VsZWN0b3JzJztcbmltcG9ydCB7IGNyZWF0ZVNvcnRlZFN0YXRlQWRhcHRlciB9IGZyb20gJy4vc29ydGVkX3N0YXRlX2FkYXB0ZXInO1xuaW1wb3J0IHsgY3JlYXRlVW5zb3J0ZWRTdGF0ZUFkYXB0ZXIgfSBmcm9tICcuL3Vuc29ydGVkX3N0YXRlX2FkYXB0ZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRW50aXR5QWRhcHRlcjxUPihcbiAgb3B0aW9uczoge1xuICAgIHNlbGVjdElkPzogSWRTZWxlY3RvcjxUPjtcbiAgICBzb3J0Q29tcGFyZXI/OiBmYWxzZSB8IENvbXBhcmVyPFQ+O1xuICB9ID0ge31cbik6IEVudGl0eUFkYXB0ZXI8VD4ge1xuICBjb25zdCB7IHNlbGVjdElkLCBzb3J0Q29tcGFyZXIgfTogRW50aXR5RGVmaW5pdGlvbjxUPiA9IHtcbiAgICBzZWxlY3RJZDogb3B0aW9ucy5zZWxlY3RJZCA/PyAoKGVudGl0eTogYW55KSA9PiBlbnRpdHkuaWQpLFxuICAgIHNvcnRDb21wYXJlcjogb3B0aW9ucy5zb3J0Q29tcGFyZXIgPz8gZmFsc2UsXG4gIH07XG5cbiAgY29uc3Qgc3RhdGVGYWN0b3J5ID0gY3JlYXRlSW5pdGlhbFN0YXRlRmFjdG9yeTxUPigpO1xuICBjb25zdCBzZWxlY3RvcnNGYWN0b3J5ID0gY3JlYXRlU2VsZWN0b3JzRmFjdG9yeTxUPigpO1xuICBjb25zdCBzdGF0ZUFkYXB0ZXIgPSBzb3J0Q29tcGFyZXJcbiAgICA/IGNyZWF0ZVNvcnRlZFN0YXRlQWRhcHRlcihzZWxlY3RJZCwgc29ydENvbXBhcmVyKVxuICAgIDogY3JlYXRlVW5zb3J0ZWRTdGF0ZUFkYXB0ZXIoc2VsZWN0SWQpO1xuXG4gIHJldHVybiB7XG4gICAgc2VsZWN0SWQsXG4gICAgc29ydENvbXBhcmVyLFxuICAgIC4uLnN0YXRlRmFjdG9yeSxcbiAgICAuLi5zZWxlY3RvcnNGYWN0b3J5LFxuICAgIC4uLnN0YXRlQWRhcHRlcixcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export function getInitialEntityState() {
|
|
2
|
-
return {
|
|
3
|
-
ids: [],
|
|
4
|
-
entities: {},
|
|
5
|
-
};
|
|
6
|
-
}
|
|
7
|
-
export function createInitialStateFactory() {
|
|
8
|
-
function getInitialState(additionalState = {}) {
|
|
9
|
-
return Object.assign(getInitialEntityState(), additionalState);
|
|
10
|
-
}
|
|
11
|
-
return { getInitialState };
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5X3N0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9lbnRpdHkvc3JjL2VudGl0eV9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLE9BQU87UUFDTCxHQUFHLEVBQUUsRUFBRTtRQUNQLFFBQVEsRUFBRSxFQUFFO0tBQ2IsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCO0lBS3ZDLFNBQVMsZUFBZSxDQUFDLGtCQUF1QixFQUFFO1FBQ2hELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxPQUFPLEVBQUUsZUFBZSxFQUFFLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVN0YXRlIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5pdGlhbEVudGl0eVN0YXRlPFY+KCk6IEVudGl0eVN0YXRlPFY+IHtcbiAgcmV0dXJuIHtcbiAgICBpZHM6IFtdLFxuICAgIGVudGl0aWVzOiB7fSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluaXRpYWxTdGF0ZUZhY3Rvcnk8Vj4oKSB7XG4gIGZ1bmN0aW9uIGdldEluaXRpYWxTdGF0ZSgpOiBFbnRpdHlTdGF0ZTxWPjtcbiAgZnVuY3Rpb24gZ2V0SW5pdGlhbFN0YXRlPFMgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIGFkZGl0aW9uYWxTdGF0ZTogU1xuICApOiBFbnRpdHlTdGF0ZTxWPiAmIFM7XG4gIGZ1bmN0aW9uIGdldEluaXRpYWxTdGF0ZShhZGRpdGlvbmFsU3RhdGU6IGFueSA9IHt9KTogYW55IHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihnZXRJbml0aWFsRW50aXR5U3RhdGUoKSwgYWRkaXRpb25hbFN0YXRlKTtcbiAgfVxuXG4gIHJldHVybiB7IGdldEluaXRpYWxTdGF0ZSB9O1xufVxuIl19
|
package/esm2022/src/index.mjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { createEntityAdapter } from './create_adapter';
|
|
2
|
-
export { Dictionary, } from './models';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUVMLFVBQVUsR0FTWCxNQUFNLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGNyZWF0ZUVudGl0eUFkYXB0ZXIgfSBmcm9tICcuL2NyZWF0ZV9hZGFwdGVyJztcbmV4cG9ydCB7XG4gIENvbXBhcmVyLFxuICBEaWN0aW9uYXJ5LFxuICBEaWN0aW9uYXJ5TnVtLFxuICBFbnRpdHlBZGFwdGVyLFxuICBFbnRpdHlNYXAsXG4gIEVudGl0eU1hcE9uZSxcbiAgRW50aXR5U3RhdGUsXG4gIElkU2VsZWN0b3IsXG4gIFByZWRpY2F0ZSxcbiAgVXBkYXRlLFxufSBmcm9tICcuL21vZGVscyc7XG4iXX0=
|
package/esm2022/src/models.mjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class Dictionary {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9lbnRpdHkvc3JjL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxNQUFNLE9BQWdCLFVBQVU7Q0FFL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5leHBvcnQgdHlwZSBDb21wYXJlcjxUPiA9IChhOiBULCBiOiBUKSA9PiBudW1iZXI7XG5cbmV4cG9ydCB0eXBlIElkU2VsZWN0b3JTdHI8VD4gPSAobW9kZWw6IFQpID0+IHN0cmluZztcbmV4cG9ydCB0eXBlIElkU2VsZWN0b3JOdW08VD4gPSAobW9kZWw6IFQpID0+IG51bWJlcjtcblxuZXhwb3J0IHR5cGUgSWRTZWxlY3RvcjxUPiA9IElkU2VsZWN0b3JTdHI8VD4gfCBJZFNlbGVjdG9yTnVtPFQ+O1xuXG5leHBvcnQgaW50ZXJmYWNlIERpY3Rpb25hcnlOdW08VD4ge1xuICBbaWQ6IG51bWJlcl06IFQgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEaWN0aW9uYXJ5PFQ+IGltcGxlbWVudHMgRGljdGlvbmFyeU51bTxUPiB7XG4gIFtpZDogc3RyaW5nXTogVCB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVTdHI8VD4ge1xuICBpZDogc3RyaW5nO1xuICBjaGFuZ2VzOiBQYXJ0aWFsPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU51bTxUPiB7XG4gIGlkOiBudW1iZXI7XG4gIGNoYW5nZXM6IFBhcnRpYWw8VD47XG59XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZTxUPiA9IFVwZGF0ZVN0cjxUPiB8IFVwZGF0ZU51bTxUPjtcblxuZXhwb3J0IHR5cGUgUHJlZGljYXRlPFQ+ID0gKGVudGl0eTogVCkgPT4gYm9vbGVhbjtcblxuZXhwb3J0IHR5cGUgRW50aXR5TWFwPFQ+ID0gKGVudGl0eTogVCkgPT4gVDtcblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlNYXBPbmVOdW08VD4ge1xuICBpZDogbnVtYmVyO1xuICBtYXA6IEVudGl0eU1hcDxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlNYXBPbmVTdHI8VD4ge1xuICBpZDogc3RyaW5nO1xuICBtYXA6IEVudGl0eU1hcDxUPjtcbn1cblxuZXhwb3J0IHR5cGUgRW50aXR5TWFwT25lPFQ+ID0gRW50aXR5TWFwT25lTnVtPFQ+IHwgRW50aXR5TWFwT25lU3RyPFQ+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVN0YXRlPFQ+IHtcbiAgaWRzOiBzdHJpbmdbXSB8IG51bWJlcltdO1xuICBlbnRpdGllczogRGljdGlvbmFyeTxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlEZWZpbml0aW9uPFQ+IHtcbiAgc2VsZWN0SWQ6IElkU2VsZWN0b3I8VD47XG4gIHNvcnRDb21wYXJlcjogZmFsc2UgfCBDb21wYXJlcjxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTdGF0ZUFkYXB0ZXI8VD4ge1xuICBhZGRPbmU8UyBleHRlbmRzIEVudGl0eVN0YXRlPFQ+PihlbnRpdHk6IFQsIHN0YXRlOiBTKTogUztcbiAgYWRkTWFueTxTIGV4dGVuZHMgRW50aXR5U3RhdGU8VD4+KGVudGl0aWVzOiBUW10sIHN0YXRlOiBTKTogUztcblxuICBzZXRBbGw8UyBleHRlbmRzIEVudGl0eVN0YXRlPFQ+PihlbnRpdGllczogVFtdLCBzdGF0ZTogUyk6IFM7XG4gIHNldE9uZTxTIGV4dGVuZHMgRW50aXR5U3RhdGU8VD4+KGVudGl0eTogVCwgc3RhdGU6IFMpOiBTO1xuICBzZXRNYW55PFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxUPj4oZW50aXRpZXM6IFRbXSwgc3RhdGU6IFMpOiBTO1xuXG4gIHJlbW92ZU9uZTxTIGV4dGVuZHMgRW50aXR5U3RhdGU8VD4+KGtleTogc3RyaW5nLCBzdGF0ZTogUyk6IFM7XG4gIHJlbW92ZU9uZTxTIGV4dGVuZHMgRW50aXR5U3RhdGU8VD4+KGtleTogbnVtYmVyLCBzdGF0ZTogUyk6IFM7XG5cbiAgcmVtb3ZlTWFueTxTIGV4dGVuZHMgRW50aXR5U3RhdGU8VD4+KGtleXM6IHN0cmluZ1tdLCBzdGF0ZTogUyk6IFM7XG4gIHJlbW92ZU1hbnk8UyBleHRlbmRzIEVudGl0eVN0YXRlPFQ+PihrZXlzOiBudW1iZXJbXSwgc3RhdGU6IFMpOiBTO1xuICByZW1vdmVNYW55PFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxUPj4ocHJlZGljYXRlOiBQcmVkaWNhdGU8VD4sIHN0YXRlOiBTKTogUztcblxuICByZW1vdmVBbGw8UyBleHRlbmRzIEVudGl0eVN0YXRlPFQ+PihzdGF0ZTogUyk6IFM7XG5cbiAgdXBkYXRlT25lPFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxUPj4odXBkYXRlOiBVcGRhdGU8VD4sIHN0YXRlOiBTKTogUztcbiAgdXBkYXRlTWFueTxTIGV4dGVuZHMgRW50aXR5U3RhdGU8VD4+KHVwZGF0ZXM6IFVwZGF0ZTxUPltdLCBzdGF0ZTogUyk6IFM7XG5cbiAgdXBzZXJ0T25lPFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxUPj4oZW50aXR5OiBULCBzdGF0ZTogUyk6IFM7XG4gIHVwc2VydE1hbnk8UyBleHRlbmRzIEVudGl0eVN0YXRlPFQ+PihlbnRpdGllczogVFtdLCBzdGF0ZTogUyk6IFM7XG5cbiAgbWFwT25lPFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxUPj4obWFwOiBFbnRpdHlNYXBPbmU8VD4sIHN0YXRlOiBTKTogUztcbiAgbWFwPFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxUPj4obWFwOiBFbnRpdHlNYXA8VD4sIHN0YXRlOiBTKTogUztcbn1cblxuZXhwb3J0IHR5cGUgRW50aXR5U2VsZWN0b3JzPFQsIFY+ID0ge1xuICBzZWxlY3RJZHM6IChzdGF0ZTogVikgPT4gc3RyaW5nW10gfCBudW1iZXJbXTtcbiAgc2VsZWN0RW50aXRpZXM6IChzdGF0ZTogVikgPT4gRGljdGlvbmFyeTxUPjtcbiAgc2VsZWN0QWxsOiAoc3RhdGU6IFYpID0+IFRbXTtcbiAgc2VsZWN0VG90YWw6IChzdGF0ZTogVikgPT4gbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgTWVtb2l6ZWRFbnRpdHlTZWxlY3RvcnM8VCwgVj4gPSB7XG4gIHNlbGVjdElkczogTWVtb2l6ZWRTZWxlY3RvcjxcbiAgICBWLFxuICAgIHN0cmluZ1tdIHwgbnVtYmVyW10sXG4gICAgKGVudGl0eVN0YXRlOiBFbnRpdHlTdGF0ZTxUPikgPT4gc3RyaW5nW10gfCBudW1iZXJbXVxuICA+O1xuICBzZWxlY3RFbnRpdGllczogTWVtb2l6ZWRTZWxlY3RvcjxcbiAgICBWLFxuICAgIERpY3Rpb25hcnk8VD4sXG4gICAgKGVudGl0eVN0YXRlOiBFbnRpdHlTdGF0ZTxUPikgPT4gRGljdGlvbmFyeTxUPlxuICA+O1xuICBzZWxlY3RBbGw6IE1lbW9pemVkU2VsZWN0b3I8ViwgVFtdLCAoZW50aXR5U3RhdGU6IEVudGl0eVN0YXRlPFQ+KSA9PiBUW10+O1xuICBzZWxlY3RUb3RhbDogTWVtb2l6ZWRTZWxlY3RvcjxcbiAgICBWLFxuICAgIG51bWJlcixcbiAgICAoZW50aXR5U3RhdGU6IEVudGl0eVN0YXRlPFQ+KSA9PiBudW1iZXJcbiAgPjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5QWRhcHRlcjxUPiBleHRlbmRzIEVudGl0eVN0YXRlQWRhcHRlcjxUPiB7XG4gIHNlbGVjdElkOiBJZFNlbGVjdG9yPFQ+O1xuICBzb3J0Q29tcGFyZXI6IGZhbHNlIHwgQ29tcGFyZXI8VD47XG4gIGdldEluaXRpYWxTdGF0ZSgpOiBFbnRpdHlTdGF0ZTxUPjtcbiAgZ2V0SW5pdGlhbFN0YXRlPFMgZXh0ZW5kcyBvYmplY3Q+KHN0YXRlOiBTKTogRW50aXR5U3RhdGU8VD4gJiBTO1xuICBnZXRTZWxlY3RvcnMoKTogRW50aXR5U2VsZWN0b3JzPFQsIEVudGl0eVN0YXRlPFQ+PjtcbiAgZ2V0U2VsZWN0b3JzPFY+KFxuICAgIHNlbGVjdFN0YXRlOiAoc3RhdGU6IFYpID0+IEVudGl0eVN0YXRlPFQ+XG4gICk6IE1lbW9pemVkRW50aXR5U2VsZWN0b3JzPFQsIFY+O1xufVxuIl19
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { createStateOperator, DidMutate } from './state_adapter';
|
|
2
|
-
import { createUnsortedStateAdapter } from './unsorted_state_adapter';
|
|
3
|
-
import { selectIdValue } from './utils';
|
|
4
|
-
export function createSortedStateAdapter(selectId, sort) {
|
|
5
|
-
const { removeOne, removeMany, removeAll } = createUnsortedStateAdapter(selectId);
|
|
6
|
-
function addOneMutably(entity, state) {
|
|
7
|
-
return addManyMutably([entity], state);
|
|
8
|
-
}
|
|
9
|
-
function addManyMutably(newModels, state) {
|
|
10
|
-
const models = newModels.filter((model) => !(selectIdValue(model, selectId) in state.entities));
|
|
11
|
-
if (models.length === 0) {
|
|
12
|
-
return DidMutate.None;
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
merge(models, state);
|
|
16
|
-
return DidMutate.Both;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function setAllMutably(models, state) {
|
|
20
|
-
state.entities = {};
|
|
21
|
-
state.ids = [];
|
|
22
|
-
addManyMutably(models, state);
|
|
23
|
-
return DidMutate.Both;
|
|
24
|
-
}
|
|
25
|
-
function setOneMutably(entity, state) {
|
|
26
|
-
const id = selectIdValue(entity, selectId);
|
|
27
|
-
if (id in state.entities) {
|
|
28
|
-
state.ids = state.ids.filter((val) => val !== id);
|
|
29
|
-
merge([entity], state);
|
|
30
|
-
return DidMutate.Both;
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
return addOneMutably(entity, state);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function setManyMutably(entities, state) {
|
|
37
|
-
const didMutateSetOne = entities.map((entity) => setOneMutably(entity, state));
|
|
38
|
-
switch (true) {
|
|
39
|
-
case didMutateSetOne.some((didMutate) => didMutate === DidMutate.Both):
|
|
40
|
-
return DidMutate.Both;
|
|
41
|
-
case didMutateSetOne.some((didMutate) => didMutate === DidMutate.EntitiesOnly):
|
|
42
|
-
return DidMutate.EntitiesOnly;
|
|
43
|
-
default:
|
|
44
|
-
return DidMutate.None;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
function updateOneMutably(update, state) {
|
|
48
|
-
return updateManyMutably([update], state);
|
|
49
|
-
}
|
|
50
|
-
function takeUpdatedModel(models, update, state) {
|
|
51
|
-
if (!(update.id in state.entities)) {
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
const original = state.entities[update.id];
|
|
55
|
-
const updated = Object.assign({}, original, update.changes);
|
|
56
|
-
const newKey = selectIdValue(updated, selectId);
|
|
57
|
-
delete state.entities[update.id];
|
|
58
|
-
models.push(updated);
|
|
59
|
-
return newKey !== update.id;
|
|
60
|
-
}
|
|
61
|
-
function updateManyMutably(updates, state) {
|
|
62
|
-
const models = [];
|
|
63
|
-
const didMutateIds = updates.filter((update) => takeUpdatedModel(models, update, state))
|
|
64
|
-
.length > 0;
|
|
65
|
-
if (models.length === 0) {
|
|
66
|
-
return DidMutate.None;
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
const originalIds = state.ids;
|
|
70
|
-
const updatedIndexes = [];
|
|
71
|
-
state.ids = state.ids.filter((id, index) => {
|
|
72
|
-
if (id in state.entities) {
|
|
73
|
-
return true;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
updatedIndexes.push(index);
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
merge(models, state);
|
|
81
|
-
if (!didMutateIds &&
|
|
82
|
-
updatedIndexes.every((i) => state.ids[i] === originalIds[i])) {
|
|
83
|
-
return DidMutate.EntitiesOnly;
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
return DidMutate.Both;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
function mapMutably(updatesOrMap, state) {
|
|
91
|
-
const updates = state.ids.reduce((changes, id) => {
|
|
92
|
-
const change = updatesOrMap(state.entities[id]);
|
|
93
|
-
if (change !== state.entities[id]) {
|
|
94
|
-
changes.push({ id, changes: change });
|
|
95
|
-
}
|
|
96
|
-
return changes;
|
|
97
|
-
}, []);
|
|
98
|
-
return updateManyMutably(updates, state);
|
|
99
|
-
}
|
|
100
|
-
function mapOneMutably({ map, id }, state) {
|
|
101
|
-
const entity = state.entities[id];
|
|
102
|
-
if (!entity) {
|
|
103
|
-
return DidMutate.None;
|
|
104
|
-
}
|
|
105
|
-
const updatedEntity = map(entity);
|
|
106
|
-
return updateOneMutably({
|
|
107
|
-
id: id,
|
|
108
|
-
changes: updatedEntity,
|
|
109
|
-
}, state);
|
|
110
|
-
}
|
|
111
|
-
function upsertOneMutably(entity, state) {
|
|
112
|
-
return upsertManyMutably([entity], state);
|
|
113
|
-
}
|
|
114
|
-
function upsertManyMutably(entities, state) {
|
|
115
|
-
const added = [];
|
|
116
|
-
const updated = [];
|
|
117
|
-
for (const entity of entities) {
|
|
118
|
-
const id = selectIdValue(entity, selectId);
|
|
119
|
-
if (id in state.entities) {
|
|
120
|
-
updated.push({ id, changes: entity });
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
added.push(entity);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
const didMutateByUpdated = updateManyMutably(updated, state);
|
|
127
|
-
const didMutateByAdded = addManyMutably(added, state);
|
|
128
|
-
switch (true) {
|
|
129
|
-
case didMutateByAdded === DidMutate.None &&
|
|
130
|
-
didMutateByUpdated === DidMutate.None:
|
|
131
|
-
return DidMutate.None;
|
|
132
|
-
case didMutateByAdded === DidMutate.Both ||
|
|
133
|
-
didMutateByUpdated === DidMutate.Both:
|
|
134
|
-
return DidMutate.Both;
|
|
135
|
-
default:
|
|
136
|
-
return DidMutate.EntitiesOnly;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
function merge(models, state) {
|
|
140
|
-
models.sort(sort);
|
|
141
|
-
const ids = [];
|
|
142
|
-
let i = 0;
|
|
143
|
-
let j = 0;
|
|
144
|
-
while (i < models.length && j < state.ids.length) {
|
|
145
|
-
const model = models[i];
|
|
146
|
-
const modelId = selectIdValue(model, selectId);
|
|
147
|
-
const entityId = state.ids[j];
|
|
148
|
-
const entity = state.entities[entityId];
|
|
149
|
-
if (sort(model, entity) <= 0) {
|
|
150
|
-
ids.push(modelId);
|
|
151
|
-
i++;
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
ids.push(entityId);
|
|
155
|
-
j++;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
if (i < models.length) {
|
|
159
|
-
state.ids = ids.concat(models.slice(i).map(selectId));
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
state.ids = ids.concat(state.ids.slice(j));
|
|
163
|
-
}
|
|
164
|
-
models.forEach((model, i) => {
|
|
165
|
-
state.entities[selectId(model)] = model;
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
return {
|
|
169
|
-
removeOne,
|
|
170
|
-
removeMany,
|
|
171
|
-
removeAll,
|
|
172
|
-
addOne: createStateOperator(addOneMutably),
|
|
173
|
-
updateOne: createStateOperator(updateOneMutably),
|
|
174
|
-
upsertOne: createStateOperator(upsertOneMutably),
|
|
175
|
-
setAll: createStateOperator(setAllMutably),
|
|
176
|
-
setOne: createStateOperator(setOneMutably),
|
|
177
|
-
setMany: createStateOperator(setManyMutably),
|
|
178
|
-
addMany: createStateOperator(addManyMutably),
|
|
179
|
-
updateMany: createStateOperator(updateManyMutably),
|
|
180
|
-
upsertMany: createStateOperator(upsertManyMutably),
|
|
181
|
-
map: createStateOperator(mapMutably),
|
|
182
|
-
mapOne: createStateOperator(mapOneMutably),
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGVkX3N0YXRlX2FkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zcmMvc29ydGVkX3N0YXRlX2FkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFNeEMsTUFBTSxVQUFVLHdCQUF3QixDQUFJLFFBQWEsRUFBRSxJQUFTO0lBR2xFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxHQUN4QywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUd2QyxTQUFTLGFBQWEsQ0FBQyxNQUFXLEVBQUUsS0FBVTtRQUM1QyxPQUFPLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFHRCxTQUFTLGNBQWMsQ0FBQyxTQUFnQixFQUFFLEtBQVU7UUFDbEQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FDN0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FDL0QsQ0FBQztRQUVGLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUdELFNBQVMs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LENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU87UUFDTCxTQUFTO1FBQ1QsVUFBVTtRQUNWLFNBQVM7UUFDVCxNQUFNLEVBQUUsbUJBQW1CLENBQUMsYUFBYSxDQUFDO1FBQzFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxTQUFTLEVBQUUsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUM7UUFDaEQsTUFBTSxFQUFFLG1CQUFtQixDQUFDLGFBQWEsQ0FBQztRQUMxQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsYUFBYSxDQUFDO1FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7UUFDNUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLGNBQWMsQ0FBQztRQUM1QyxVQUFVLEVBQUUsbUJBQW1CLENBQUMsaUJBQWlCLENBQUM7UUFDbEQsVUFBVSxFQUFFLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDO1FBQ2xELEdBQUcsRUFBRSxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7UUFDcEMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLGFBQWEsQ0FBQztLQUMzQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0eVN0YXRlLFxuICBJZFNlbGVjdG9yLFxuICBDb21wYXJlcixcbiAgRW50aXR5U3RhdGVBZGFwdGVyLFxuICBVcGRhdGUsXG4gIEVudGl0eU1hcCxcbiAgRW50aXR5TWFwT25lTnVtLFxuICBFbnRpdHlNYXBPbmVTdHIsXG59IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IGNyZWF0ZVN0YXRlT3BlcmF0b3IsIERpZE11dGF0ZSB9IGZyb20gJy4vc3RhdGVfYWRhcHRlcic7XG5pbXBvcnQgeyBjcmVhdGVVbnNvcnRlZFN0YXRlQWRhcHRlciB9IGZyb20gJy4vdW5zb3J0ZWRfc3RhdGVfYWRhcHRlcic7XG5pbXBvcnQgeyBzZWxlY3RJZFZhbHVlIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTb3J0ZWRTdGF0ZUFkYXB0ZXI8VD4oXG4gIHNlbGVjdElkOiBJZFNlbGVjdG9yPFQ+LFxuICBzb3J0OiBDb21wYXJlcjxUPlxuKTogRW50aXR5U3RhdGVBZGFwdGVyPFQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNvcnRlZFN0YXRlQWRhcHRlcjxUPihzZWxlY3RJZDogYW55LCBzb3J0OiBhbnkpOiBhbnkge1xuICB0eXBlIFIgPSBFbnRpdHlTdGF0ZTxUPjtcblxuICBjb25zdCB7IHJlbW92ZU9uZSwgcmVtb3ZlTWFueSwgcmVtb3ZlQWxsIH0gPVxuICAgIGNyZWF0ZVVuc29ydGVkU3RhdGVBZGFwdGVyKHNlbGVjdElkKTtcblxuICBmdW5jdGlvbiBhZGRPbmVNdXRhYmx5KGVudGl0eTogVCwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIGFkZE9uZU11dGFibHkoZW50aXR5OiBhbnksIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIHJldHVybiBhZGRNYW55TXV0YWJseShbZW50aXR5XSwgc3RhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gYWRkTWFueU11dGFibHkobmV3TW9kZWxzOiBUW10sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiBhZGRNYW55TXV0YWJseShuZXdNb2RlbHM6IGFueVtdLCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICBjb25zdCBtb2RlbHMgPSBuZXdNb2RlbHMuZmlsdGVyKFxuICAgICAgKG1vZGVsKSA9PiAhKHNlbGVjdElkVmFsdWUobW9kZWwsIHNlbGVjdElkKSBpbiBzdGF0ZS5lbnRpdGllcylcbiAgICApO1xuXG4gICAgaWYgKG1vZGVscy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBEaWRNdXRhdGUuTm9uZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWVyZ2UobW9kZWxzLCBzdGF0ZSk7XG4gICAgICByZXR1cm4gRGlkTXV0YXRlLkJvdGg7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gc2V0QWxsTXV0YWJseShtb2RlbHM6IFRbXSwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIHNldEFsbE11dGFibHkobW9kZWxzOiBhbnlbXSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgc3RhdGUuZW50aXRpZXMgPSB7fTtcbiAgICBzdGF0ZS5pZHMgPSBbXTtcblxuICAgIGFkZE1hbnlNdXRhYmx5KG1vZGVscywgc3RhdGUpO1xuXG4gICAgcmV0dXJuIERpZE11dGF0ZS5Cb3RoO1xuICB9XG5cbiAgZnVuY3Rpb24gc2V0T25lTXV0YWJseShlbnRpdHk6IFQsIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiBzZXRPbmVNdXRhYmx5KGVudGl0eTogYW55LCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICBjb25zdCBpZCA9IHNlbGVjdElkVmFsdWUoZW50aXR5LCBzZWxlY3RJZCk7XG4gICAgaWYgKGlkIGluIHN0YXRlLmVudGl0aWVzKSB7XG4gICAgICBzdGF0ZS5pZHMgPSBzdGF0ZS5pZHMuZmlsdGVyKCh2YWw6IHN0cmluZyB8IG51bWJlcikgPT4gdmFsICE9PSBpZCk7XG4gICAgICBtZXJnZShbZW50aXR5XSwgc3RhdGUpO1xuICAgICAgcmV0dXJuIERpZE11dGF0ZS5Cb3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYWRkT25lTXV0YWJseShlbnRpdHksIHN0YXRlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBzZXRNYW55TXV0YWJseShlbnRpdGllczogVFtdLCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gc2V0TWFueU11dGFibHkoZW50aXRpZXM6IGFueVtdLCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICBjb25zdCBkaWRNdXRhdGVTZXRPbmUgPSBlbnRpdGllcy5tYXAoKGVudGl0eSkgPT5cbiAgICAgIHNldE9uZU11dGFibHkoZW50aXR5LCBzdGF0ZSlcbiAgICApO1xuXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIGRpZE11dGF0ZVNldE9uZS5zb21lKChkaWRNdXRhdGUpID0+IGRpZE11dGF0ZSA9PT0gRGlkTXV0YXRlLkJvdGgpOlxuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkJvdGg7XG4gICAgICBjYXNlIGRpZE11dGF0ZVNldE9uZS5zb21lKFxuICAgICAgICAoZGlkTXV0YXRlKSA9PiBkaWRNdXRhdGUgPT09IERpZE11dGF0ZS5FbnRpdGllc09ubHlcbiAgICAgICk6XG4gICAgICAgIHJldHVybiBEaWRNdXRhdGUuRW50aXRpZXNPbmx5O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIERpZE11dGF0ZS5Ob25lO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZU9uZU11dGFibHkodXBkYXRlOiBVcGRhdGU8VD4sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiB1cGRhdGVPbmVNdXRhYmx5KHVwZGF0ZTogYW55LCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICByZXR1cm4gdXBkYXRlTWFueU11dGFibHkoW3VwZGF0ZV0sIHN0YXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRha2VVcGRhdGVkTW9kZWwobW9kZWxzOiBUW10sIHVwZGF0ZTogVXBkYXRlPFQ+LCBzdGF0ZTogUik6IGJvb2xlYW47XG4gIGZ1bmN0aW9uIHRha2VVcGRhdGVkTW9kZWwobW9kZWxzOiBhbnlbXSwgdXBkYXRlOiBhbnksIHN0YXRlOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoISh1cGRhdGUuaWQgaW4gc3RhdGUuZW50aXRpZXMpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3Qgb3JpZ2luYWwgPSBzdGF0ZS5lbnRpdGllc1t1cGRhdGUuaWRdO1xuICAgIGNvbnN0IHVwZGF0ZWQgPSBPYmplY3QuYXNzaWduKHt9LCBvcmlnaW5hbCwgdXBkYXRlLmNoYW5nZXMpO1xuICAgIGNvbnN0IG5ld0tleSA9IHNlbGVjdElkVmFsdWUodXBkYXRlZCwgc2VsZWN0SWQpO1xuXG4gICAgZGVsZXRlIHN0YXRlLmVudGl0aWVzW3VwZGF0ZS5pZF07XG5cbiAgICBtb2RlbHMucHVzaCh1cGRhdGVkKTtcblxuICAgIHJldHVybiBuZXdLZXkgIT09IHVwZGF0ZS5pZDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZU1hbnlNdXRhYmx5KHVwZGF0ZXM6IFVwZGF0ZTxUPltdLCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gdXBkYXRlTWFueU11dGFibHkodXBkYXRlczogYW55W10sIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIGNvbnN0IG1vZGVsczogVFtdID0gW107XG5cbiAgICBjb25zdCBkaWRNdXRhdGVJZHMgPVxuICAgICAgdXBkYXRlcy5maWx0ZXIoKHVwZGF0ZSkgPT4gdGFrZVVwZGF0ZWRNb2RlbChtb2RlbHMsIHVwZGF0ZSwgc3RhdGUpKVxuICAgICAgICAubGVuZ3RoID4gMDtcblxuICAgIGlmIChtb2RlbHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gRGlkTXV0YXRlLk5vbmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsSWRzID0gc3RhdGUuaWRzO1xuICAgICAgY29uc3QgdXBkYXRlZEluZGV4ZXM6IGFueVtdID0gW107XG4gICAgICBzdGF0ZS5pZHMgPSBzdGF0ZS5pZHMuZmlsdGVyKChpZDogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChpZCBpbiBzdGF0ZS5lbnRpdGllcykge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHVwZGF0ZWRJbmRleGVzLnB1c2goaW5kZXgpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG1lcmdlKG1vZGVscywgc3RhdGUpO1xuXG4gICAgICBpZiAoXG4gICAgICAgICFkaWRNdXRhdGVJZHMgJiZcbiAgICAgICAgdXBkYXRlZEluZGV4ZXMuZXZlcnkoKGk6IG51bWJlcikgPT4gc3RhdGUuaWRzW2ldID09PSBvcmlnaW5hbElkc1tpXSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkVudGl0aWVzT25seTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBEaWRNdXRhdGUuQm90aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBtYXBNdXRhYmx5KG1hcDogRW50aXR5TWFwPFQ+LCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gbWFwTXV0YWJseSh1cGRhdGVzT3JNYXA6IGFueSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgY29uc3QgdXBkYXRlczogVXBkYXRlPFQ+W10gPSBzdGF0ZS5pZHMucmVkdWNlKFxuICAgICAgKGNoYW5nZXM6IGFueVtdLCBpZDogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5nZSA9IHVwZGF0ZXNPck1hcChzdGF0ZS5lbnRpdGllc1tpZF0pO1xuICAgICAgICBpZiAoY2hhbmdlICE9PSBzdGF0ZS5lbnRpdGllc1tpZF0pIHtcbiAgICAgICAgICBjaGFuZ2VzLnB1c2goeyBpZCwgY2hhbmdlczogY2hhbmdlIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjaGFuZ2VzO1xuICAgICAgfSxcbiAgICAgIFtdXG4gICAgKTtcblxuICAgIHJldHVybiB1cGRhdGVNYW55TXV0YWJseSh1cGRhdGVzLCBzdGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBtYXBPbmVNdXRhYmx5KG1hcDogRW50aXR5TWFwT25lTnVtPFQ+LCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gbWFwT25lTXV0YWJseShtYXA6IEVudGl0eU1hcE9uZVN0cjxUPiwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIG1hcE9uZU11dGFibHkoeyBtYXAsIGlkIH06IGFueSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgY29uc3QgZW50aXR5ID0gc3RhdGUuZW50aXRpZXNbaWRdO1xuICAgIGlmICghZW50aXR5KSB7XG4gICAgICByZXR1cm4gRGlkTXV0YXRlLk5vbmU7XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlZEVudGl0eSA9IG1hcChlbnRpdHkpO1xuICAgIHJldHVybiB1cGRhdGVPbmVNdXRhYmx5KFxuICAgICAge1xuICAgICAgICBpZDogaWQsXG4gICAgICAgIGNoYW5nZXM6IHVwZGF0ZWRFbnRpdHksXG4gICAgICB9LFxuICAgICAgc3RhdGVcbiAgICApO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBzZXJ0T25lTXV0YWJseShlbnRpdHk6IFQsIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiB1cHNlcnRPbmVNdXRhYmx5KGVudGl0eTogYW55LCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICByZXR1cm4gdXBzZXJ0TWFueU11dGFibHkoW2VudGl0eV0sIHN0YXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwc2VydE1hbnlNdXRhYmx5KGVudGl0aWVzOiBUW10sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiB1cHNlcnRNYW55TXV0YWJseShlbnRpdGllczogYW55W10sIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIGNvbnN0IGFkZGVkOiBhbnlbXSA9IFtdO1xuICAgIGNvbnN0IHVwZGF0ZWQ6IGFueVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGVudGl0eSBvZiBlbnRpdGllcykge1xuICAgICAgY29uc3QgaWQgPSBzZWxlY3RJZFZhbHVlKGVudGl0eSwgc2VsZWN0SWQpO1xuICAgICAgaWYgKGlkIGluIHN0YXRlLmVudGl0aWVzKSB7XG4gICAgICAgIHVwZGF0ZWQucHVzaCh7IGlkLCBjaGFuZ2VzOiBlbnRpdHkgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhZGRlZC5wdXNoKGVudGl0eSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZGlkTXV0YXRlQnlVcGRhdGVkID0gdXBkYXRlTWFueU11dGFibHkodXBkYXRlZCwgc3RhdGUpO1xuICAgIGNvbnN0IGRpZE11dGF0ZUJ5QWRkZWQgPSBhZGRNYW55TXV0YWJseShhZGRlZCwgc3RhdGUpO1xuXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIGRpZE11dGF0ZUJ5QWRkZWQgPT09IERpZE11dGF0ZS5Ob25lICYmXG4gICAgICAgIGRpZE11dGF0ZUJ5VXBkYXRlZCA9PT0gRGlkTXV0YXRlLk5vbmU6XG4gICAgICAgIHJldHVybiBEaWRNdXRhdGUuTm9uZTtcbiAgICAgIGNhc2UgZGlkTXV0YXRlQnlBZGRlZCA9PT0gRGlkTXV0YXRlLkJvdGggfHxcbiAgICAgICAgZGlkTXV0YXRlQnlVcGRhdGVkID09PSBEaWRNdXRhdGUuQm90aDpcbiAgICAgICAgcmV0dXJuIERpZE11dGF0ZS5Cb3RoO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIERpZE11dGF0ZS5FbnRpdGllc09ubHk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gbWVyZ2UobW9kZWxzOiBUW10sIHN0YXRlOiBSKTogdm9pZDtcbiAgZnVuY3Rpb24gbWVyZ2UobW9kZWxzOiBhbnlbXSwgc3RhdGU6IGFueSk6IHZvaWQge1xuICAgIG1vZGVscy5zb3J0KHNvcnQpO1xuXG4gICAgY29uc3QgaWRzOiBhbnlbXSA9IFtdO1xuXG4gICAgbGV0IGkgPSAwO1xuICAgIGxldCBqID0gMDtcblxuICAgIHdoaWxlIChpIDwgbW9kZWxzLmxlbmd0aCAmJiBqIDwgc3RhdGUuaWRzLmxlbmd0aCkge1xuICAgICAgY29uc3QgbW9kZWwgPSBtb2RlbHNbaV07XG4gICAgICBjb25zdCBtb2RlbElkID0gc2VsZWN0SWRWYWx1ZShtb2RlbCwgc2VsZWN0SWQpO1xuICAgICAgY29uc3QgZW50aXR5SWQgPSBzdGF0ZS5pZHNbal07XG4gICAgICBjb25zdCBlbnRpdHkgPSBzdGF0ZS5lbnRpdGllc1tlbnRpdHlJZF07XG5cbiAgICAgIGlmIChzb3J0KG1vZGVsLCBlbnRpdHkpIDw9IDApIHtcbiAgICAgICAgaWRzLnB1c2gobW9kZWxJZCk7XG4gICAgICAgIGkrKztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlkcy5wdXNoKGVudGl0eUlkKTtcbiAgICAgICAgaisrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpIDwgbW9kZWxzLmxlbmd0aCkge1xuICAgICAgc3RhdGUuaWRzID0gaWRzLmNvbmNhdChtb2RlbHMuc2xpY2UoaSkubWFwKHNlbGVjdElkKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlLmlkcyA9IGlkcy5jb25jYXQoc3RhdGUuaWRzLnNsaWNlKGopKTtcbiAgICB9XG5cbiAgICBtb2RlbHMuZm9yRWFjaCgobW9kZWwsIGkpID0+IHtcbiAgICAgIHN0YXRlLmVudGl0aWVzW3NlbGVjdElkKG1vZGVsKV0gPSBtb2RlbDtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVtb3ZlT25lLFxuICAgIHJlbW92ZU1hbnksXG4gICAgcmVtb3ZlQWxsLFxuICAgIGFkZE9uZTogY3JlYXRlU3RhdGVPcGVyYXRvcihhZGRPbmVNdXRhYmx5KSxcbiAgICB1cGRhdGVPbmU6IGNyZWF0ZVN0YXRlT3BlcmF0b3IodXBkYXRlT25lTXV0YWJseSksXG4gICAgdXBzZXJ0T25lOiBjcmVhdGVTdGF0ZU9wZXJhdG9yKHVwc2VydE9uZU11dGFibHkpLFxuICAgIHNldEFsbDogY3JlYXRlU3RhdGVPcGVyYXRvcihzZXRBbGxNdXRhYmx5KSxcbiAgICBzZXRPbmU6IGNyZWF0ZVN0YXRlT3BlcmF0b3Ioc2V0T25lTXV0YWJseSksXG4gICAgc2V0TWFueTogY3JlYXRlU3RhdGVPcGVyYXRvcihzZXRNYW55TXV0YWJseSksXG4gICAgYWRkTWFueTogY3JlYXRlU3RhdGVPcGVyYXRvcihhZGRNYW55TXV0YWJseSksXG4gICAgdXBkYXRlTWFueTogY3JlYXRlU3RhdGVPcGVyYXRvcih1cGRhdGVNYW55TXV0YWJseSksXG4gICAgdXBzZXJ0TWFueTogY3JlYXRlU3RhdGVPcGVyYXRvcih1cHNlcnRNYW55TXV0YWJseSksXG4gICAgbWFwOiBjcmVhdGVTdGF0ZU9wZXJhdG9yKG1hcE11dGFibHkpLFxuICAgIG1hcE9uZTogY3JlYXRlU3RhdGVPcGVyYXRvcihtYXBPbmVNdXRhYmx5KSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export var DidMutate;
|
|
2
|
-
(function (DidMutate) {
|
|
3
|
-
DidMutate[DidMutate["EntitiesOnly"] = 0] = "EntitiesOnly";
|
|
4
|
-
DidMutate[DidMutate["Both"] = 1] = "Both";
|
|
5
|
-
DidMutate[DidMutate["None"] = 2] = "None";
|
|
6
|
-
})(DidMutate || (DidMutate = {}));
|
|
7
|
-
export function createStateOperator(mutator) {
|
|
8
|
-
return function operation(arg, state) {
|
|
9
|
-
const clonedEntityState = {
|
|
10
|
-
ids: [...state.ids],
|
|
11
|
-
entities: { ...state.entities },
|
|
12
|
-
};
|
|
13
|
-
const didMutate = mutator(arg, clonedEntityState);
|
|
14
|
-
if (didMutate === DidMutate.Both) {
|
|
15
|
-
return Object.assign({}, state, clonedEntityState);
|
|
16
|
-
}
|
|
17
|
-
if (didMutate === DidMutate.EntitiesOnly) {
|
|
18
|
-
return {
|
|
19
|
-
...state,
|
|
20
|
-
entities: clonedEntityState.entities,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
return state;
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVfYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZW50aXR5L3NyYy9zdGF0ZV9hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIseURBQVksQ0FBQTtJQUNaLHlDQUFJLENBQUE7SUFDSix5Q0FBSSxDQUFBO0FBQ04sQ0FBQyxFQUpXLFNBQVMsS0FBVCxTQUFTLFFBSXBCO0FBS0QsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxPQUE0QztJQUU1QyxPQUFPLFNBQVMsU0FBUyxDQUEyQixHQUFNLEVBQUUsS0FBVTtRQUNwRSxNQUFNLGlCQUFpQixHQUFtQjtZQUN4QyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDbkIsUUFBUSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFO1NBQ2hDLENBQUM7UUFFRixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFbEQsSUFBSSxTQUFTLEtBQUssU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDckQsQ0FBQztRQUVELElBQUksU0FBUyxLQUFLLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6QyxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixRQUFRLEVBQUUsaUJBQWlCLENBQUMsUUFBUTthQUNyQyxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVN0YXRlIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgZW51bSBEaWRNdXRhdGUge1xuICBFbnRpdGllc09ubHksXG4gIEJvdGgsXG4gIE5vbmUsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTdGF0ZU9wZXJhdG9yPFYsIFI+KFxuICBtdXRhdG9yOiAoYXJnOiBSLCBzdGF0ZTogRW50aXR5U3RhdGU8Vj4pID0+IERpZE11dGF0ZVxuKTogRW50aXR5U3RhdGU8Vj47XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3RhdGVPcGVyYXRvcjxWLCBSPihcbiAgbXV0YXRvcjogKGFyZzogYW55LCBzdGF0ZTogYW55KSA9PiBEaWRNdXRhdGVcbik6IGFueSB7XG4gIHJldHVybiBmdW5jdGlvbiBvcGVyYXRpb248UyBleHRlbmRzIEVudGl0eVN0YXRlPFY+Pihhcmc6IFIsIHN0YXRlOiBhbnkpOiBTIHtcbiAgICBjb25zdCBjbG9uZWRFbnRpdHlTdGF0ZTogRW50aXR5U3RhdGU8Vj4gPSB7XG4gICAgICBpZHM6IFsuLi5zdGF0ZS5pZHNdLFxuICAgICAgZW50aXRpZXM6IHsgLi4uc3RhdGUuZW50aXRpZXMgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgZGlkTXV0YXRlID0gbXV0YXRvcihhcmcsIGNsb25lZEVudGl0eVN0YXRlKTtcblxuICAgIGlmIChkaWRNdXRhdGUgPT09IERpZE11dGF0ZS5Cb3RoKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIGNsb25lZEVudGl0eVN0YXRlKTtcbiAgICB9XG5cbiAgICBpZiAoZGlkTXV0YXRlID09PSBEaWRNdXRhdGUuRW50aXRpZXNPbmx5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgZW50aXRpZXM6IGNsb25lZEVudGl0eVN0YXRlLmVudGl0aWVzLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGU7XG4gIH07XG59XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { createSelector } from '@ngrx/store';
|
|
2
|
-
export function createSelectorsFactory() {
|
|
3
|
-
function getSelectors(selectState) {
|
|
4
|
-
const selectIds = (state) => state.ids;
|
|
5
|
-
const selectEntities = (state) => state.entities;
|
|
6
|
-
const selectAll = createSelector(selectIds, selectEntities, (ids, entities) => ids.map((id) => entities[id]));
|
|
7
|
-
const selectTotal = createSelector(selectIds, (ids) => ids.length);
|
|
8
|
-
if (!selectState) {
|
|
9
|
-
return {
|
|
10
|
-
selectIds,
|
|
11
|
-
selectEntities,
|
|
12
|
-
selectAll,
|
|
13
|
-
selectTotal,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
return {
|
|
17
|
-
selectIds: createSelector(selectState, selectIds),
|
|
18
|
-
selectEntities: createSelector(selectState, selectEntities),
|
|
19
|
-
selectAll: createSelector(selectState, selectAll),
|
|
20
|
-
selectTotal: createSelector(selectState, selectTotal),
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
return { getSelectors };
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGVfc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9lbnRpdHkvc3JjL3N0YXRlX3NlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBTzdDLE1BQU0sVUFBVSxzQkFBc0I7SUFLcEMsU0FBUyxZQUFZLENBQ25CLFdBQTRDO1FBRTVDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzVDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUNqRSxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQzlCLFNBQVMsRUFDVCxjQUFjLEVBQ2QsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBRSxRQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3BFLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE9BQU87Z0JBQ0wsU0FBUztnQkFDVCxjQUFjO2dCQUNkLFNBQVM7Z0JBQ1QsV0FBVzthQUNaLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTztZQUNMLFNBQVMsRUFBRSxjQUFjLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztZQUNqRCxjQUFjLEVBQUUsY0FBYyxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUM7WUFDM0QsU0FBUyxFQUFFLGNBQWMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO1lBQ2pELFdBQVcsRUFBRSxjQUFjLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztTQUN0RCxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBFbnRpdHlTdGF0ZSxcbiAgRW50aXR5U2VsZWN0b3JzLFxuICBNZW1vaXplZEVudGl0eVNlbGVjdG9ycyxcbn0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0b3JzRmFjdG9yeTxUPigpIHtcbiAgZnVuY3Rpb24gZ2V0U2VsZWN0b3JzKCk6IEVudGl0eVNlbGVjdG9yczxULCBFbnRpdHlTdGF0ZTxUPj47XG4gIGZ1bmN0aW9uIGdldFNlbGVjdG9yczxWPihcbiAgICBzZWxlY3RTdGF0ZTogKHN0YXRlOiBWKSA9PiBFbnRpdHlTdGF0ZTxUPlxuICApOiBNZW1vaXplZEVudGl0eVNlbGVjdG9yczxULCBWPjtcbiAgZnVuY3Rpb24gZ2V0U2VsZWN0b3JzKFxuICAgIHNlbGVjdFN0YXRlPzogKHN0YXRlOiBhbnkpID0+IEVudGl0eVN0YXRlPFQ+XG4gICk6IEVudGl0eVNlbGVjdG9yczxULCBhbnk+IHtcbiAgICBjb25zdCBzZWxlY3RJZHMgPSAoc3RhdGU6IGFueSkgPT4gc3RhdGUuaWRzO1xuICAgIGNvbnN0IHNlbGVjdEVudGl0aWVzID0gKHN0YXRlOiBFbnRpdHlTdGF0ZTxUPikgPT4gc3RhdGUuZW50aXRpZXM7XG4gICAgY29uc3Qgc2VsZWN0QWxsID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICBzZWxlY3RJZHMsXG4gICAgICBzZWxlY3RFbnRpdGllcyxcbiAgICAgIChpZHMsIGVudGl0aWVzKTogYW55ID0+IGlkcy5tYXAoKGlkOiBhbnkpID0+IChlbnRpdGllcyBhcyBhbnkpW2lkXSlcbiAgICApO1xuXG4gICAgY29uc3Qgc2VsZWN0VG90YWwgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RJZHMsIChpZHMpID0+IGlkcy5sZW5ndGgpO1xuXG4gICAgaWYgKCFzZWxlY3RTdGF0ZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2VsZWN0SWRzLFxuICAgICAgICBzZWxlY3RFbnRpdGllcyxcbiAgICAgICAgc2VsZWN0QWxsLFxuICAgICAgICBzZWxlY3RUb3RhbCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNlbGVjdElkczogY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3RhdGUsIHNlbGVjdElkcyksXG4gICAgICBzZWxlY3RFbnRpdGllczogY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3RhdGUsIHNlbGVjdEVudGl0aWVzKSxcbiAgICAgIHNlbGVjdEFsbDogY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3RhdGUsIHNlbGVjdEFsbCksXG4gICAgICBzZWxlY3RUb3RhbDogY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3RhdGUsIHNlbGVjdFRvdGFsKSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHsgZ2V0U2VsZWN0b3JzIH07XG59XG4iXX0=
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { createStateOperator, DidMutate } from './state_adapter';
|
|
2
|
-
import { selectIdValue } from './utils';
|
|
3
|
-
export function createUnsortedStateAdapter(selectId) {
|
|
4
|
-
function addOneMutably(entity, state) {
|
|
5
|
-
const key = selectIdValue(entity, selectId);
|
|
6
|
-
if (key in state.entities) {
|
|
7
|
-
return DidMutate.None;
|
|
8
|
-
}
|
|
9
|
-
state.ids.push(key);
|
|
10
|
-
state.entities[key] = entity;
|
|
11
|
-
return DidMutate.Both;
|
|
12
|
-
}
|
|
13
|
-
function addManyMutably(entities, state) {
|
|
14
|
-
let didMutate = false;
|
|
15
|
-
for (const entity of entities) {
|
|
16
|
-
didMutate = addOneMutably(entity, state) !== DidMutate.None || didMutate;
|
|
17
|
-
}
|
|
18
|
-
return didMutate ? DidMutate.Both : DidMutate.None;
|
|
19
|
-
}
|
|
20
|
-
function setAllMutably(entities, state) {
|
|
21
|
-
state.ids = [];
|
|
22
|
-
state.entities = {};
|
|
23
|
-
addManyMutably(entities, state);
|
|
24
|
-
return DidMutate.Both;
|
|
25
|
-
}
|
|
26
|
-
function setOneMutably(entity, state) {
|
|
27
|
-
const key = selectIdValue(entity, selectId);
|
|
28
|
-
if (key in state.entities) {
|
|
29
|
-
state.entities[key] = entity;
|
|
30
|
-
return DidMutate.EntitiesOnly;
|
|
31
|
-
}
|
|
32
|
-
state.ids.push(key);
|
|
33
|
-
state.entities[key] = entity;
|
|
34
|
-
return DidMutate.Both;
|
|
35
|
-
}
|
|
36
|
-
function setManyMutably(entities, state) {
|
|
37
|
-
const didMutateSetOne = entities.map((entity) => setOneMutably(entity, state));
|
|
38
|
-
switch (true) {
|
|
39
|
-
case didMutateSetOne.some((didMutate) => didMutate === DidMutate.Both):
|
|
40
|
-
return DidMutate.Both;
|
|
41
|
-
case didMutateSetOne.some((didMutate) => didMutate === DidMutate.EntitiesOnly):
|
|
42
|
-
return DidMutate.EntitiesOnly;
|
|
43
|
-
default:
|
|
44
|
-
return DidMutate.None;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
function removeOneMutably(key, state) {
|
|
48
|
-
return removeManyMutably([key], state);
|
|
49
|
-
}
|
|
50
|
-
function removeManyMutably(keysOrPredicate, state) {
|
|
51
|
-
const keys = keysOrPredicate instanceof Array
|
|
52
|
-
? keysOrPredicate
|
|
53
|
-
: state.ids.filter((key) => keysOrPredicate(state.entities[key]));
|
|
54
|
-
const didMutate = keys
|
|
55
|
-
.filter((key) => key in state.entities)
|
|
56
|
-
.map((key) => delete state.entities[key]).length > 0;
|
|
57
|
-
if (didMutate) {
|
|
58
|
-
state.ids = state.ids.filter((id) => id in state.entities);
|
|
59
|
-
}
|
|
60
|
-
return didMutate ? DidMutate.Both : DidMutate.None;
|
|
61
|
-
}
|
|
62
|
-
function removeAll(state) {
|
|
63
|
-
return Object.assign({}, state, {
|
|
64
|
-
ids: [],
|
|
65
|
-
entities: {},
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
function takeNewKey(keys, update, state) {
|
|
69
|
-
const original = state.entities[update.id];
|
|
70
|
-
const updated = Object.assign({}, original, update.changes);
|
|
71
|
-
const newKey = selectIdValue(updated, selectId);
|
|
72
|
-
const hasNewKey = newKey !== update.id;
|
|
73
|
-
if (hasNewKey) {
|
|
74
|
-
keys[update.id] = newKey;
|
|
75
|
-
delete state.entities[update.id];
|
|
76
|
-
}
|
|
77
|
-
state.entities[newKey] = updated;
|
|
78
|
-
return hasNewKey;
|
|
79
|
-
}
|
|
80
|
-
function updateOneMutably(update, state) {
|
|
81
|
-
return updateManyMutably([update], state);
|
|
82
|
-
}
|
|
83
|
-
function updateManyMutably(updates, state) {
|
|
84
|
-
const newKeys = {};
|
|
85
|
-
updates = updates.filter((update) => update.id in state.entities);
|
|
86
|
-
const didMutateEntities = updates.length > 0;
|
|
87
|
-
if (didMutateEntities) {
|
|
88
|
-
const didMutateIds = updates.filter((update) => takeNewKey(newKeys, update, state)).length >
|
|
89
|
-
0;
|
|
90
|
-
if (didMutateIds) {
|
|
91
|
-
state.ids = state.ids.map((id) => newKeys[id] || id);
|
|
92
|
-
return DidMutate.Both;
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
return DidMutate.EntitiesOnly;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return DidMutate.None;
|
|
99
|
-
}
|
|
100
|
-
function mapMutably(map, state) {
|
|
101
|
-
const changes = state.ids.reduce((changes, id) => {
|
|
102
|
-
const change = map(state.entities[id]);
|
|
103
|
-
if (change !== state.entities[id]) {
|
|
104
|
-
changes.push({ id, changes: change });
|
|
105
|
-
}
|
|
106
|
-
return changes;
|
|
107
|
-
}, []);
|
|
108
|
-
const updates = changes.filter(({ id }) => id in state.entities);
|
|
109
|
-
return updateManyMutably(updates, state);
|
|
110
|
-
}
|
|
111
|
-
function mapOneMutably({ map, id }, state) {
|
|
112
|
-
const entity = state.entities[id];
|
|
113
|
-
if (!entity) {
|
|
114
|
-
return DidMutate.None;
|
|
115
|
-
}
|
|
116
|
-
const updatedEntity = map(entity);
|
|
117
|
-
return updateOneMutably({
|
|
118
|
-
id: id,
|
|
119
|
-
changes: updatedEntity,
|
|
120
|
-
}, state);
|
|
121
|
-
}
|
|
122
|
-
function upsertOneMutably(entity, state) {
|
|
123
|
-
return upsertManyMutably([entity], state);
|
|
124
|
-
}
|
|
125
|
-
function upsertManyMutably(entities, state) {
|
|
126
|
-
const added = [];
|
|
127
|
-
const updated = [];
|
|
128
|
-
for (const entity of entities) {
|
|
129
|
-
const id = selectIdValue(entity, selectId);
|
|
130
|
-
if (id in state.entities) {
|
|
131
|
-
updated.push({ id, changes: entity });
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
added.push(entity);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
const didMutateByUpdated = updateManyMutably(updated, state);
|
|
138
|
-
const didMutateByAdded = addManyMutably(added, state);
|
|
139
|
-
switch (true) {
|
|
140
|
-
case didMutateByAdded === DidMutate.None &&
|
|
141
|
-
didMutateByUpdated === DidMutate.None:
|
|
142
|
-
return DidMutate.None;
|
|
143
|
-
case didMutateByAdded === DidMutate.Both ||
|
|
144
|
-
didMutateByUpdated === DidMutate.Both:
|
|
145
|
-
return DidMutate.Both;
|
|
146
|
-
default:
|
|
147
|
-
return DidMutate.EntitiesOnly;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return {
|
|
151
|
-
removeAll,
|
|
152
|
-
addOne: createStateOperator(addOneMutably),
|
|
153
|
-
addMany: createStateOperator(addManyMutably),
|
|
154
|
-
setAll: createStateOperator(setAllMutably),
|
|
155
|
-
setOne: createStateOperator(setOneMutably),
|
|
156
|
-
setMany: createStateOperator(setManyMutably),
|
|
157
|
-
updateOne: createStateOperator(updateOneMutably),
|
|
158
|
-
updateMany: createStateOperator(updateManyMutably),
|
|
159
|
-
upsertOne: createStateOperator(upsertOneMutably),
|
|
160
|
-
upsertMany: createStateOperator(upsertManyMutably),
|
|
161
|
-
removeOne: createStateOperator(removeOneMutably),
|
|
162
|
-
removeMany: createStateOperator(removeManyMutably),
|
|
163
|
-
map: createStateOperator(mapMutably),
|
|
164
|
-
mapOne: createStateOperator(mapOneMutably),
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zb3J0ZWRfc3RhdGVfYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZW50aXR5L3NyYy91bnNvcnRlZF9zdGF0ZV9hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBS3hDLE1BQU0sVUFBVSwwQkFBMEIsQ0FBSSxRQUF1QjtJQUluRSxTQUFTLGFBQWEsQ0FBQyxNQUFXLEVBQUUsS0FBVTtRQUM1QyxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTVDLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDeEIsQ0FBQztRQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBRTdCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztJQUN4QixDQUFDO0lBR0QsU0FBUyxjQUFjLENBQUMsUUFBZSxFQUFFLEtBQVU7UUFDakQsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXRCLEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxFQUFFLENBQUM7WUFDOUIsU0FBUyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEtBQUssU0FBUyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUM7UUFDM0UsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQ3JELENB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QUFVLEVBQUUsbUJBQW1CLENBQUMsaUJBQWlCLENBQUM7UUFDbEQsU0FBUyxFQUFFLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDO1FBQ2hELFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRCxHQUFHLEVBQUUsbUJBQW1CLENBQUMsVUFBVSxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxhQUFhLENBQUM7S0FDM0MsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHlTdGF0ZSxcbiAgRW50aXR5U3RhdGVBZGFwdGVyLFxuICBJZFNlbGVjdG9yLFxuICBVcGRhdGUsXG4gIFByZWRpY2F0ZSxcbiAgRW50aXR5TWFwLFxuICBFbnRpdHlNYXBPbmVOdW0sXG4gIEVudGl0eU1hcE9uZVN0cixcbn0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgY3JlYXRlU3RhdGVPcGVyYXRvciwgRGlkTXV0YXRlIH0gZnJvbSAnLi9zdGF0ZV9hZGFwdGVyJztcbmltcG9ydCB7IHNlbGVjdElkVmFsdWUgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVVuc29ydGVkU3RhdGVBZGFwdGVyPFQ+KFxuICBzZWxlY3RJZDogSWRTZWxlY3RvcjxUPlxuKTogRW50aXR5U3RhdGVBZGFwdGVyPFQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVVuc29ydGVkU3RhdGVBZGFwdGVyPFQ+KHNlbGVjdElkOiBJZFNlbGVjdG9yPFQ+KTogYW55IHtcbiAgdHlwZSBSID0gRW50aXR5U3RhdGU8VD47XG5cbiAgZnVuY3Rpb24gYWRkT25lTXV0YWJseShlbnRpdHk6IFQsIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiBhZGRPbmVNdXRhYmx5KGVudGl0eTogYW55LCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICBjb25zdCBrZXkgPSBzZWxlY3RJZFZhbHVlKGVudGl0eSwgc2VsZWN0SWQpO1xuXG4gICAgaWYgKGtleSBpbiBzdGF0ZS5lbnRpdGllcykge1xuICAgICAgcmV0dXJuIERpZE11dGF0ZS5Ob25lO1xuICAgIH1cblxuICAgIHN0YXRlLmlkcy5wdXNoKGtleSk7XG4gICAgc3RhdGUuZW50aXRpZXNba2V5XSA9IGVudGl0eTtcblxuICAgIHJldHVybiBEaWRNdXRhdGUuQm90aDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGFkZE1hbnlNdXRhYmx5KGVudGl0aWVzOiBUW10sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiBhZGRNYW55TXV0YWJseShlbnRpdGllczogYW55W10sIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIGxldCBkaWRNdXRhdGUgPSBmYWxzZTtcblxuICAgIGZvciAoY29uc3QgZW50aXR5IG9mIGVudGl0aWVzKSB7XG4gICAgICBkaWRNdXRhdGUgPSBhZGRPbmVNdXRhYmx5KGVudGl0eSwgc3RhdGUpICE9PSBEaWRNdXRhdGUuTm9uZSB8fCBkaWRNdXRhdGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpZE11dGF0ZSA/IERpZE11dGF0ZS5Cb3RoIDogRGlkTXV0YXRlLk5vbmU7XG4gIH1cblxuICBmdW5jdGlvbiBzZXRBbGxNdXRhYmx5KGVudGl0aWVzOiBUW10sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiBzZXRBbGxNdXRhYmx5KGVudGl0aWVzOiBhbnlbXSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgc3RhdGUuaWRzID0gW107XG4gICAgc3RhdGUuZW50aXRpZXMgPSB7fTtcblxuICAgIGFkZE1hbnlNdXRhYmx5KGVudGl0aWVzLCBzdGF0ZSk7XG5cbiAgICByZXR1cm4gRGlkTXV0YXRlLkJvdGg7XG4gIH1cblxuICBmdW5jdGlvbiBzZXRPbmVNdXRhYmx5KGVudGl0eTogVCwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIHNldE9uZU11dGFibHkoZW50aXR5OiBhbnksIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIGNvbnN0IGtleSA9IHNlbGVjdElkVmFsdWUoZW50aXR5LCBzZWxlY3RJZCk7XG5cbiAgICBpZiAoa2V5IGluIHN0YXRlLmVudGl0aWVzKSB7XG4gICAgICBzdGF0ZS5lbnRpdGllc1trZXldID0gZW50aXR5O1xuICAgICAgcmV0dXJuIERpZE11dGF0ZS5FbnRpdGllc09ubHk7XG4gICAgfVxuXG4gICAgc3RhdGUuaWRzLnB1c2goa2V5KTtcbiAgICBzdGF0ZS5lbnRpdGllc1trZXldID0gZW50aXR5O1xuXG4gICAgcmV0dXJuIERpZE11dGF0ZS5Cb3RoO1xuICB9XG5cbiAgZnVuY3Rpb24gc2V0TWFueU11dGFibHkoZW50aXRpZXM6IFRbXSwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIHNldE1hbnlNdXRhYmx5KGVudGl0aWVzOiBhbnlbXSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgY29uc3QgZGlkTXV0YXRlU2V0T25lID0gZW50aXRpZXMubWFwKChlbnRpdHkpID0+XG4gICAgICBzZXRPbmVNdXRhYmx5KGVudGl0eSwgc3RhdGUpXG4gICAgKTtcblxuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSBkaWRNdXRhdGVTZXRPbmUuc29tZSgoZGlkTXV0YXRlKSA9PiBkaWRNdXRhdGUgPT09IERpZE11dGF0ZS5Cb3RoKTpcbiAgICAgICAgcmV0dXJuIERpZE11dGF0ZS5Cb3RoO1xuICAgICAgY2FzZSBkaWRNdXRhdGVTZXRPbmUuc29tZShcbiAgICAgICAgKGRpZE11dGF0ZSkgPT4gZGlkTXV0YXRlID09PSBEaWRNdXRhdGUuRW50aXRpZXNPbmx5XG4gICAgICApOlxuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkVudGl0aWVzT25seTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBEaWRNdXRhdGUuTm9uZTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZW1vdmVPbmVNdXRhYmx5KGtleTogc3RyaW5nIHwgbnVtYmVyLCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gcmVtb3ZlT25lTXV0YWJseShrZXk6IGFueSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgcmV0dXJuIHJlbW92ZU1hbnlNdXRhYmx5KFtrZXldLCBzdGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiByZW1vdmVNYW55TXV0YWJseShrZXlzOiBzdHJpbmdbXSB8IG51bWJlcltdLCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gcmVtb3ZlTWFueU11dGFibHkocHJlZGljYXRlOiBQcmVkaWNhdGU8VD4sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiByZW1vdmVNYW55TXV0YWJseShcbiAgICBrZXlzT3JQcmVkaWNhdGU6IGFueVtdIHwgUHJlZGljYXRlPFQ+LFxuICAgIHN0YXRlOiBhbnlcbiAgKTogRGlkTXV0YXRlIHtcbiAgICBjb25zdCBrZXlzID1cbiAgICAgIGtleXNPclByZWRpY2F0ZSBpbnN0YW5jZW9mIEFycmF5XG4gICAgICAgID8ga2V5c09yUHJlZGljYXRlXG4gICAgICAgIDogc3RhdGUuaWRzLmZpbHRlcigoa2V5OiBhbnkpID0+IGtleXNPclByZWRpY2F0ZShzdGF0ZS5lbnRpdGllc1trZXldKSk7XG5cbiAgICBjb25zdCBkaWRNdXRhdGUgPVxuICAgICAga2V5c1xuICAgICAgICAuZmlsdGVyKChrZXk6IGFueSkgPT4ga2V5IGluIHN0YXRlLmVudGl0aWVzKVxuICAgICAgICAubWFwKChrZXk6IGFueSkgPT4gZGVsZXRlIHN0YXRlLmVudGl0aWVzW2tleV0pLmxlbmd0aCA+IDA7XG5cbiAgICBpZiAoZGlkTXV0YXRlKSB7XG4gICAgICBzdGF0ZS5pZHMgPSBzdGF0ZS5pZHMuZmlsdGVyKChpZDogYW55KSA9PiBpZCBpbiBzdGF0ZS5lbnRpdGllcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpZE11dGF0ZSA/IERpZE11dGF0ZS5Cb3RoIDogRGlkTXV0YXRlLk5vbmU7XG4gIH1cblxuICBmdW5jdGlvbiByZW1vdmVBbGw8UyBleHRlbmRzIFI+KHN0YXRlOiBTKTogUztcbiAgZnVuY3Rpb24gcmVtb3ZlQWxsPFMgZXh0ZW5kcyBSPihzdGF0ZTogYW55KTogUyB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7XG4gICAgICBpZHM6IFtdLFxuICAgICAgZW50aXRpZXM6IHt9LFxuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gdGFrZU5ld0tleShcbiAgICBrZXlzOiB7IFtpZDogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgdXBkYXRlOiBVcGRhdGU8VD4sXG4gICAgc3RhdGU6IFJcbiAgKTogdm9pZDtcbiAgZnVuY3Rpb24gdGFrZU5ld0tleShcbiAgICBrZXlzOiB7IFtpZDogc3RyaW5nXTogYW55IH0sXG4gICAgdXBkYXRlOiBVcGRhdGU8VD4sXG4gICAgc3RhdGU6IGFueVxuICApOiBib29sZWFuIHtcbiAgICBjb25zdCBvcmlnaW5hbCA9IHN0YXRlLmVudGl0aWVzW3VwZGF0ZS5pZF07XG4gICAgY29uc3QgdXBkYXRlZDogVCA9IE9iamVjdC5hc3NpZ24oe30sIG9yaWdpbmFsLCB1cGRhdGUuY2hhbmdlcyk7XG4gICAgY29uc3QgbmV3S2V5ID0gc2VsZWN0SWRWYWx1ZSh1cGRhdGVkLCBzZWxlY3RJZCk7XG4gICAgY29uc3QgaGFzTmV3S2V5ID0gbmV3S2V5ICE9PSB1cGRhdGUuaWQ7XG5cbiAgICBpZiAoaGFzTmV3S2V5KSB7XG4gICAgICBrZXlzW3VwZGF0ZS5pZF0gPSBuZXdLZXk7XG4gICAgICBkZWxldGUgc3RhdGUuZW50aXRpZXNbdXBkYXRlLmlkXTtcbiAgICB9XG5cbiAgICBzdGF0ZS5lbnRpdGllc1tuZXdLZXldID0gdXBkYXRlZDtcblxuICAgIHJldHVybiBoYXNOZXdLZXk7XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVPbmVNdXRhYmx5KHVwZGF0ZTogVXBkYXRlPFQ+LCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gdXBkYXRlT25lTXV0YWJseSh1cGRhdGU6IGFueSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgcmV0dXJuIHVwZGF0ZU1hbnlNdXRhYmx5KFt1cGRhdGVdLCBzdGF0ZSk7XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVNYW55TXV0YWJseSh1cGRhdGVzOiBVcGRhdGU8VD5bXSwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIHVwZGF0ZU1hbnlNdXRhYmx5KHVwZGF0ZXM6IGFueVtdLCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICBjb25zdCBuZXdLZXlzOiB7IFtpZDogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICAgIHVwZGF0ZXMgPSB1cGRhdGVzLmZpbHRlcigodXBkYXRlKSA9PiB1cGRhdGUuaWQgaW4gc3RhdGUuZW50aXRpZXMpO1xuXG4gICAgY29uc3QgZGlkTXV0YXRlRW50aXRpZXMgPSB1cGRhdGVzLmxlbmd0aCA+IDA7XG5cbiAgICBpZiAoZGlkTXV0YXRlRW50aXRpZXMpIHtcbiAgICAgIGNvbnN0IGRpZE11dGF0ZUlkcyA9XG4gICAgICAgIHVwZGF0ZXMuZmlsdGVyKCh1cGRhdGUpID0+IHRha2VOZXdLZXkobmV3S2V5cywgdXBkYXRlLCBzdGF0ZSkpLmxlbmd0aCA+XG4gICAgICAgIDA7XG5cbiAgICAgIGlmIChkaWRNdXRhdGVJZHMpIHtcbiAgICAgICAgc3RhdGUuaWRzID0gc3RhdGUuaWRzLm1hcCgoaWQ6IGFueSkgPT4gbmV3S2V5c1tpZF0gfHwgaWQpO1xuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkJvdGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkVudGl0aWVzT25seTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gRGlkTXV0YXRlLk5vbmU7XG4gIH1cblxuICBmdW5jdGlvbiBtYXBNdXRhYmx5KG1hcDogRW50aXR5TWFwPFQ+LCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gbWFwTXV0YWJseShtYXA6IGFueSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgY29uc3QgY2hhbmdlczogVXBkYXRlPFQ+W10gPSBzdGF0ZS5pZHMucmVkdWNlKFxuICAgICAgKGNoYW5nZXM6IGFueVtdLCBpZDogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5nZSA9IG1hcChzdGF0ZS5lbnRpdGllc1tpZF0pO1xuICAgICAgICBpZiAoY2hhbmdlICE9PSBzdGF0ZS5lbnRpdGllc1tpZF0pIHtcbiAgICAgICAgICBjaGFuZ2VzLnB1c2goeyBpZCwgY2hhbmdlczogY2hhbmdlIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjaGFuZ2VzO1xuICAgICAgfSxcbiAgICAgIFtdXG4gICAgKTtcbiAgICBjb25zdCB1cGRhdGVzID0gY2hhbmdlcy5maWx0ZXIoKHsgaWQgfSkgPT4gaWQgaW4gc3RhdGUuZW50aXRpZXMpO1xuXG4gICAgcmV0dXJuIHVwZGF0ZU1hbnlNdXRhYmx5KHVwZGF0ZXMsIHN0YXRlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1hcE9uZU11dGFibHkobWFwOiBFbnRpdHlNYXBPbmVOdW08VD4sIHN0YXRlOiBSKTogRGlkTXV0YXRlO1xuICBmdW5jdGlvbiBtYXBPbmVNdXRhYmx5KG1hcDogRW50aXR5TWFwT25lU3RyPFQ+LCBzdGF0ZTogUik6IERpZE11dGF0ZTtcbiAgZnVuY3Rpb24gbWFwT25lTXV0YWJseSh7IG1hcCwgaWQgfTogYW55LCBzdGF0ZTogYW55KTogRGlkTXV0YXRlIHtcbiAgICBjb25zdCBlbnRpdHkgPSBzdGF0ZS5lbnRpdGllc1tpZF07XG4gICAgaWYgKCFlbnRpdHkpIHtcbiAgICAgIHJldHVybiBEaWRNdXRhdGUuTm9uZTtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVkRW50aXR5ID0gbWFwKGVudGl0eSk7XG4gICAgcmV0dXJuIHVwZGF0ZU9uZU11dGFibHkoXG4gICAgICB7XG4gICAgICAgIGlkOiBpZCxcbiAgICAgICAgY2hhbmdlczogdXBkYXRlZEVudGl0eSxcbiAgICAgIH0sXG4gICAgICBzdGF0ZVxuICAgICk7XG4gIH1cblxuICBmdW5jdGlvbiB1cHNlcnRPbmVNdXRhYmx5KGVudGl0eTogVCwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIHVwc2VydE9uZU11dGFibHkoZW50aXR5OiBhbnksIHN0YXRlOiBhbnkpOiBEaWRNdXRhdGUge1xuICAgIHJldHVybiB1cHNlcnRNYW55TXV0YWJseShbZW50aXR5XSwgc3RhdGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBzZXJ0TWFueU11dGFibHkoZW50aXRpZXM6IFRbXSwgc3RhdGU6IFIpOiBEaWRNdXRhdGU7XG4gIGZ1bmN0aW9uIHVwc2VydE1hbnlNdXRhYmx5KGVudGl0aWVzOiBhbnlbXSwgc3RhdGU6IGFueSk6IERpZE11dGF0ZSB7XG4gICAgY29uc3QgYWRkZWQ6IGFueVtdID0gW107XG4gICAgY29uc3QgdXBkYXRlZDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgZW50aXR5IG9mIGVudGl0aWVzKSB7XG4gICAgICBjb25zdCBpZCA9IHNlbGVjdElkVmFsdWUoZW50aXR5LCBzZWxlY3RJZCk7XG4gICAgICBpZiAoaWQgaW4gc3RhdGUuZW50aXRpZXMpIHtcbiAgICAgICAgdXBkYXRlZC5wdXNoKHsgaWQsIGNoYW5nZXM6IGVudGl0eSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFkZGVkLnB1c2goZW50aXR5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBkaWRNdXRhdGVCeVVwZGF0ZWQgPSB1cGRhdGVNYW55TXV0YWJseSh1cGRhdGVkLCBzdGF0ZSk7XG4gICAgY29uc3QgZGlkTXV0YXRlQnlBZGRlZCA9IGFkZE1hbnlNdXRhYmx5KGFkZGVkLCBzdGF0ZSk7XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgZGlkTXV0YXRlQnlBZGRlZCA9PT0gRGlkTXV0YXRlLk5vbmUgJiZcbiAgICAgICAgZGlkTXV0YXRlQnlVcGRhdGVkID09PSBEaWRNdXRhdGUuTm9uZTpcbiAgICAgICAgcmV0dXJuIERpZE11dGF0ZS5Ob25lO1xuICAgICAgY2FzZSBkaWRNdXRhdGVCeUFkZGVkID09PSBEaWRNdXRhdGUuQm90aCB8fFxuICAgICAgICBkaWRNdXRhdGVCeVVwZGF0ZWQgPT09IERpZE11dGF0ZS5Cb3RoOlxuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkJvdGg7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gRGlkTXV0YXRlLkVudGl0aWVzT25seTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHJlbW92ZUFsbCxcbiAgICBhZGRPbmU6IGNyZWF0ZVN0YXRlT3BlcmF0b3IoYWRkT25lTXV0YWJseSksXG4gICAgYWRkTWFueTogY3JlYXRlU3RhdGVPcGVyYXRvcihhZGRNYW55TXV0YWJseSksXG4gICAgc2V0QWxsOiBjcmVhdGVTdGF0ZU9wZXJhdG9yKHNldEFsbE11dGFibHkpLFxuICAgIHNldE9uZTogY3JlYXRlU3RhdGVPcGVyYXRvcihzZXRPbmVNdXRhYmx5KSxcbiAgICBzZXRNYW55OiBjcmVhdGVTdGF0ZU9wZXJhdG9yKHNldE1hbnlNdXRhYmx5KSxcbiAgICB1cGRhdGVPbmU6IGNyZWF0ZVN0YXRlT3BlcmF0b3IodXBkYXRlT25lTXV0YWJseSksXG4gICAgdXBkYXRlTWFueTogY3JlYXRlU3RhdGVPcGVyYXRvcih1cGRhdGVNYW55TXV0YWJseSksXG4gICAgdXBzZXJ0T25lOiBjcmVhdGVTdGF0ZU9wZXJhdG9yKHVwc2VydE9uZU11dGFibHkpLFxuICAgIHVwc2VydE1hbnk6IGNyZWF0ZVN0YXRlT3BlcmF0b3IodXBzZXJ0TWFueU11dGFibHkpLFxuICAgIHJlbW92ZU9uZTogY3JlYXRlU3RhdGVPcGVyYXRvcihyZW1vdmVPbmVNdXRhYmx5KSxcbiAgICByZW1vdmVNYW55OiBjcmVhdGVTdGF0ZU9wZXJhdG9yKHJlbW92ZU1hbnlNdXRhYmx5KSxcbiAgICBtYXA6IGNyZWF0ZVN0YXRlT3BlcmF0b3IobWFwTXV0YWJseSksXG4gICAgbWFwT25lOiBjcmVhdGVTdGF0ZU9wZXJhdG9yKG1hcE9uZU11dGFibHkpLFxuICB9O1xufVxuIl19
|
package/esm2022/src/utils.mjs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { isDevMode } from '@angular/core';
|
|
2
|
-
export function selectIdValue(entity, selectId) {
|
|
3
|
-
const key = selectId(entity);
|
|
4
|
-
if (isDevMode() && key === undefined) {
|
|
5
|
-
console.warn('@ngrx/entity: The entity passed to the `selectId` implementation returned undefined.', 'You should probably provide your own `selectId` implementation.', 'The entity that was passed:', entity, 'The `selectId` implementation:', selectId.toString());
|
|
6
|
-
}
|
|
7
|
-
return key;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2VudGl0eS9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQyxNQUFNLFVBQVUsYUFBYSxDQUFJLE1BQVMsRUFBRSxRQUF1QjtJQUNqRSxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFN0IsSUFBSSxTQUFTLEVBQUUsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDckMsT0FBTyxDQUFDLElBQUksQ0FDVixzRkFBc0YsRUFDdEYsaUVBQWlFLEVBQ2pFLDZCQUE2QixFQUM3QixNQUFNLEVBQ04sZ0NBQWdDLEVBQ2hDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElkU2VsZWN0b3IgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RJZFZhbHVlPFQ+KGVudGl0eTogVCwgc2VsZWN0SWQ6IElkU2VsZWN0b3I8VD4pIHtcbiAgY29uc3Qga2V5ID0gc2VsZWN0SWQoZW50aXR5KTtcblxuICBpZiAoaXNEZXZNb2RlKCkgJiYga2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICAnQG5ncngvZW50aXR5OiBUaGUgZW50aXR5IHBhc3NlZCB0byB0aGUgYHNlbGVjdElkYCBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCB1bmRlZmluZWQuJyxcbiAgICAgICdZb3Ugc2hvdWxkIHByb2JhYmx5IHByb3ZpZGUgeW91ciBvd24gYHNlbGVjdElkYCBpbXBsZW1lbnRhdGlvbi4nLFxuICAgICAgJ1RoZSBlbnRpdHkgdGhhdCB3YXMgcGFzc2VkOicsXG4gICAgICBlbnRpdHksXG4gICAgICAnVGhlIGBzZWxlY3RJZGAgaW1wbGVtZW50YXRpb246JyxcbiAgICAgIHNlbGVjdElkLnRvU3RyaW5nKClcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGtleTtcbn1cbiJdfQ==
|