@ngrx/signals 17.0.0-beta.0 → 17.0.0-rc.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/entities/index.d.ts +1 -0
- package/entities/src/helpers.d.ts +25 -0
- package/entities/src/index.d.ts +13 -0
- package/entities/src/models.d.ts +29 -0
- package/entities/src/updaters/add-entities.d.ts +17 -0
- package/entities/src/updaters/add-entity.d.ts +17 -0
- package/entities/src/updaters/remove-all-entities.d.ts +6 -0
- package/entities/src/updaters/remove-entities.d.ts +10 -0
- package/entities/src/updaters/remove-entity.d.ts +6 -0
- package/entities/src/updaters/set-all-entities.d.ts +17 -0
- package/entities/src/updaters/set-entities.d.ts +17 -0
- package/entities/src/updaters/set-entity.d.ts +17 -0
- package/entities/src/updaters/update-all-entities.d.ts +6 -0
- package/entities/src/updaters/update-entities.d.ts +22 -0
- package/entities/src/updaters/update-entity.d.ts +12 -0
- package/entities/src/with-entities.d.ts +34 -0
- package/esm2022/entities/index.mjs +2 -0
- package/esm2022/entities/ngrx-signals-entities.mjs +5 -0
- package/esm2022/entities/src/helpers.mjs +105 -0
- package/esm2022/entities/src/index.mjs +13 -0
- package/esm2022/entities/src/models.mjs +7 -0
- package/esm2022/entities/src/updaters/add-entities.mjs +11 -0
- package/esm2022/entities/src/updaters/add-entity.mjs +11 -0
- package/esm2022/entities/src/updaters/remove-all-entities.mjs +9 -0
- package/esm2022/entities/src/updaters/remove-entities.mjs +10 -0
- package/esm2022/entities/src/updaters/remove-entity.mjs +10 -0
- package/esm2022/entities/src/updaters/set-all-entities.mjs +14 -0
- package/esm2022/entities/src/updaters/set-entities.mjs +11 -0
- package/esm2022/entities/src/updaters/set-entity.mjs +11 -0
- package/esm2022/entities/src/updaters/update-all-entities.mjs +10 -0
- package/esm2022/entities/src/updaters/update-entities.mjs +11 -0
- package/esm2022/entities/src/updaters/update-entity.mjs +10 -0
- package/esm2022/entities/src/with-entities.mjs +17 -0
- package/esm2022/src/get-state.mjs +5 -0
- package/esm2022/src/index.mjs +2 -1
- package/esm2022/src/patch-state.mjs +1 -1
- package/esm2022/src/signal-store.mjs +4 -4
- package/fesm2022/ngrx-signals-entities.mjs +241 -0
- package/fesm2022/ngrx-signals-entities.mjs.map +1 -0
- package/fesm2022/ngrx-signals-rxjs-interop.mjs +1 -1
- package/fesm2022/ngrx-signals.mjs +9 -5
- package/fesm2022/ngrx-signals.mjs.map +1 -1
- package/package.json +8 -2
- package/schematics-core/utility/libs-version.js +1 -1
- package/schematics-core/utility/libs-version.js.map +1 -1
- package/src/get-state.d.ts +2 -0
- package/src/index.d.ts +2 -0
- package/src/patch-state.d.ts +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './src/index';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DidMutate, EntityChanges, EntityId, EntityPredicate, EntityState } from './models';
|
|
2
|
+
export declare function getEntityIdKey(config?: {
|
|
3
|
+
idKey?: string;
|
|
4
|
+
}): string;
|
|
5
|
+
export declare function getEntityStateKeys(config?: {
|
|
6
|
+
collection?: string;
|
|
7
|
+
}): {
|
|
8
|
+
entityMapKey: string;
|
|
9
|
+
idsKey: string;
|
|
10
|
+
entitiesKey: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function cloneEntityState(state: Record<string, any>, stateKeys: {
|
|
13
|
+
entityMapKey: string;
|
|
14
|
+
idsKey: string;
|
|
15
|
+
}): EntityState<any>;
|
|
16
|
+
export declare function getEntityUpdaterResult(state: EntityState<any>, stateKeys: {
|
|
17
|
+
entityMapKey: string;
|
|
18
|
+
idsKey: string;
|
|
19
|
+
}, didMutate: DidMutate): Record<string, any>;
|
|
20
|
+
export declare function addEntityMutably(state: EntityState<any>, entity: any, idKey: string): DidMutate;
|
|
21
|
+
export declare function addEntitiesMutably(state: EntityState<any>, entities: any[], idKey: string): DidMutate;
|
|
22
|
+
export declare function setEntityMutably(state: EntityState<any>, entity: any, idKey: string): DidMutate;
|
|
23
|
+
export declare function setEntitiesMutably(state: EntityState<any>, entities: any[], idKey: string): DidMutate;
|
|
24
|
+
export declare function removeEntitiesMutably(state: EntityState<any>, idsOrPredicate: EntityId[] | EntityPredicate<any>): DidMutate;
|
|
25
|
+
export declare function updateEntitiesMutably(state: EntityState<any>, idsOrPredicate: EntityId[] | EntityPredicate<any>, changes: EntityChanges<any>): DidMutate;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { addEntity } from './updaters/add-entity';
|
|
2
|
+
export { addEntities } from './updaters/add-entities';
|
|
3
|
+
export { removeEntity } from './updaters/remove-entity';
|
|
4
|
+
export { removeEntities } from './updaters/remove-entities';
|
|
5
|
+
export { removeAllEntities } from './updaters/remove-all-entities';
|
|
6
|
+
export { setEntity } from './updaters/set-entity';
|
|
7
|
+
export { setEntities } from './updaters/set-entities';
|
|
8
|
+
export { setAllEntities } from './updaters/set-all-entities';
|
|
9
|
+
export { updateEntity } from './updaters/update-entity';
|
|
10
|
+
export { updateEntities } from './updaters/update-entities';
|
|
11
|
+
export { updateAllEntities } from './updaters/update-all-entities';
|
|
12
|
+
export { EntityId, EntityMap, EntityState, NamedEntityState } from './models';
|
|
13
|
+
export { withEntities } from './with-entities';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Signal } from '@angular/core';
|
|
2
|
+
export type EntityId = string | number;
|
|
3
|
+
export type EntityMap<Entity> = Record<EntityId, Entity>;
|
|
4
|
+
export type EntityState<Entity> = {
|
|
5
|
+
entityMap: EntityMap<Entity>;
|
|
6
|
+
ids: EntityId[];
|
|
7
|
+
};
|
|
8
|
+
export type NamedEntityState<Entity, Collection extends string> = {
|
|
9
|
+
[K in Collection as `${K}EntityMap`]: EntityMap<Entity>;
|
|
10
|
+
} & {
|
|
11
|
+
[K in Collection as `${K}Ids`]: EntityId[];
|
|
12
|
+
};
|
|
13
|
+
export type EntitySignals<Entity> = {
|
|
14
|
+
entities: Signal<Entity[]>;
|
|
15
|
+
};
|
|
16
|
+
export type NamedEntitySignals<Entity, Collection extends string> = {
|
|
17
|
+
[K in Collection as `${K}Entities`]: Signal<Entity[]>;
|
|
18
|
+
};
|
|
19
|
+
export type EntityIdProps<Entity> = {
|
|
20
|
+
[K in keyof Entity as Entity[K] extends EntityId ? K : never]: Entity[K];
|
|
21
|
+
};
|
|
22
|
+
export type EntityIdKey<Entity> = keyof EntityIdProps<Entity> & string;
|
|
23
|
+
export type EntityPredicate<Entity> = (entity: Entity) => boolean;
|
|
24
|
+
export type EntityChanges<Entity> = Partial<Entity> | ((entity: Entity) => Partial<Entity>);
|
|
25
|
+
export declare enum DidMutate {
|
|
26
|
+
None = 0,
|
|
27
|
+
Entities = 1,
|
|
28
|
+
Both = 2
|
|
29
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PartialStateUpdater } from '@ngrx/signals';
|
|
2
|
+
import { EntityId, EntityIdKey, EntityState, NamedEntityState } from '../models';
|
|
3
|
+
export declare function addEntities<Entity extends {
|
|
4
|
+
id: EntityId;
|
|
5
|
+
}>(entities: Entity[]): PartialStateUpdater<EntityState<Entity>>;
|
|
6
|
+
export declare function addEntities<Entity, Collection extends string>(entities: Entity[], config: {
|
|
7
|
+
collection: Collection;
|
|
8
|
+
idKey: EntityIdKey<Entity>;
|
|
9
|
+
}): PartialStateUpdater<NamedEntityState<Entity, Collection>>;
|
|
10
|
+
export declare function addEntities<Entity extends {
|
|
11
|
+
id: EntityId;
|
|
12
|
+
}, Collection extends string>(entities: Entity[], config: {
|
|
13
|
+
collection: Collection;
|
|
14
|
+
}): PartialStateUpdater<NamedEntityState<Entity, Collection>>;
|
|
15
|
+
export declare function addEntities<Entity>(entities: Entity[], config: {
|
|
16
|
+
idKey: EntityIdKey<Entity>;
|
|
17
|
+
}): PartialStateUpdater<EntityState<Entity>>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PartialStateUpdater } from '@ngrx/signals';
|
|
2
|
+
import { EntityId, EntityIdKey, EntityState, NamedEntityState } from '../models';
|
|
3
|
+
export declare function addEntity<Entity extends {
|
|
4
|
+
id: EntityId;
|
|
5
|
+
}>(entity: Entity): PartialStateUpdater<EntityState<Entity>>;
|
|
6
|
+
export declare function addEntity<Entity, Collection extends string>(entity: Entity, config: {
|
|
7
|
+
collection: Collection;
|
|
8
|
+
idKey: EntityIdKey<Entity>;
|
|
9
|
+
}): PartialStateUpdater<NamedEntityState<Entity, Collection>>;
|
|
10
|
+
export declare function addEntity<Entity extends {
|
|
11
|
+
id: EntityId;
|
|
12
|
+
}, Collection extends string>(entity: Entity, config: {
|
|
13
|
+
collection: Collection;
|
|
14
|
+
}): PartialStateUpdater<NamedEntityState<Entity, Collection>>;
|
|
15
|
+
export declare function addEntity<Entity>(entity: Entity, config: {
|
|
16
|
+
idKey: EntityIdKey<Entity>;
|
|
17
|
+
}): PartialStateUpdater<EntityState<Entity>>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PartialStateUpdater } from '@ngrx/signals';
|
|
2
|
+
import { EntityState, NamedEntityState } from '../models';
|
|
3
|
+
export declare function removeAllEntities(): PartialStateUpdater<EntityState<any>>;
|
|
4
|
+
export declare function removeAllEntities<Collection extends string>(config: {
|
|
5
|
+
collection: Collection;
|
|
6
|
+
}): PartialStateUpdater<NamedEntityState<any, Collection>>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PartialStateUpdater } from '@ngrx/signals';
|
|
2
|
+
import { EntityId, EntityPredicate, EntityState, NamedEntityState } from '../models';
|
|
3
|
+
export declare function removeEntities(ids: EntityId[]): PartialStateUpdater<EntityState<any>>;
|
|
4
|
+
export declare function removeEntities<Entity>(predicate: EntityPredicate<Entity>): PartialStateUpdater<EntityState<Entity>>;
|
|
5
|
+
export declare function removeEntities<Collection extends string>(ids: EntityId[], config: {
|
|
6
|
+
collection: Collection;
|
|
7
|
+
}): PartialStateUpdater<NamedEntityState<any, Collection>>;
|
|
8
|
+
export declare function removeEntities<Collection extends string, State extends NamedEntityState<any, Collection>, Entity = State extends NamedEntityState<infer E, Collection> ? E : never>(predicate: EntityPredicate<Entity>, config: {
|
|
9
|
+
collection: Collection;
|
|
10
|
+
}): PartialStateUpdater<State>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PartialStateUpdater } from '@ngrx/signals';
|
|
2
|
+
import { EntityId, EntityState, NamedEntityState } from '../models';
|
|
3
|
+
export declare function removeEntity(id: EntityId): PartialStateUpdater<EntityState<any>>;
|
|
4
|
+
export declare function removeEntity<Collection extends string>(id: EntityId, config: {
|
|
5
|
+
collection: Collection;
|
|
6
|
+
}): PartialStateUpdater<NamedEntityState<any, Collection>>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PartialStateUpdater } from '@ngrx/signals';
|
|
2
|
+
import { EntityId, EntityIdKey, EntityState, NamedEntityState } from '../models';
|
|
3
|
+
export declare function setAllEntities<Entity extends {
|
|
4
|
+
id: EntityId;
|
|
5
|
+
}>(entities: Entity[]): PartialStateUpdater<EntityState<Entity>>;
|
|
6
|
+
export declare function setAllEntities<Entity, Collection extends string>(entities: Entity[], config: {
|
|
7
|
+
collection: Collection;
|
|
8
|
+
idKey: EntityIdKey<Entity>;
|
|
9
|
+
}): PartialStateUpdater<NamedEntityState<Entity, Collection>>;
|
|
10
|
+
export declare function setAllEntities<Entity extends {
|
|
11
|
+
id: EntityId;
|
|
12
|
+
}, Collection extends string>(entities: Entity[], config: {
|
|
13
|
+
collection: Collection;
|
|
14
|
+
}): PartialStateUpdater<NamedEntityState<Entity, Collection>>;
|
|
15
|
+
export declare function setAllEntities<Entity>(entities: Entity[], config: {
|
|
16
|
+
idKey: EntityIdKey<Entity>;
|
|
17
|
+
}): PartialStateUpdater<EntityState<Entity>>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PartialStateUpdater } from '@ngrx/signals';
|
|
2
|
+
import { EntityId, EntityIdKey, EntityState, NamedEntityState } from '../models';
|
|
3
|
+
export declare function setEntities<Entity extends {
|
|
4
|
+
id: EntityId;
|
|
5
|
+
}>(entities: Entity[]): PartialStateUpdater<EntityState<Entity>>;
|
|
6
|
+
export declare function setEntities<Entity, Collection extends string>(entities: Entity[], config: {
|
|
7
|
+
collection: Collection;
|
|
8
|
+
idKey: EntityIdKey<Entity>;
|
|
9
|
+
}): PartialStateUpdater<NamedEntityState<Entity, Collection>>;
|
|
10
|
+
export declare function setEntities<Entity extends {
|
|
11
|
+
id: EntityId;
|
|
12
|
+
}, Collection extends string>(entities: Entity[], config: {
|
|
13
|
+
collection: Collection;
|
|
14
|
+
}): PartialStateUpdater<NamedEntityState<Entity, Collection>>;
|
|
15
|
+
export declare function setEntities<Entity>(entities: Entity[], config: {
|
|
16
|
+
idKey: EntityIdKey<Entity>;
|
|
17
|
+
}): PartialStateUpdater<EntityState<Entity>>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PartialStateUpdater } from '@ngrx/signals';
|
|
2
|
+
import { EntityId, EntityIdKey, EntityState, NamedEntityState } from '../models';
|
|
3
|
+
export declare function setEntity<Entity extends {
|
|
4
|
+
id: EntityId;
|
|
5
|
+
}>(entity: Entity): PartialStateUpdater<EntityState<Entity>>;
|
|
6
|
+
export declare function setEntity<Entity, Collection extends string>(entity: Entity, config: {
|
|
7
|
+
collection: Collection;
|
|
8
|
+
idKey: EntityIdKey<Entity>;
|
|
9
|
+
}): PartialStateUpdater<NamedEntityState<Entity, Collection>>;
|
|
10
|
+
export declare function setEntity<Entity extends {
|
|
11
|
+
id: EntityId;
|
|
12
|
+
}, Collection extends string>(entity: Entity, config: {
|
|
13
|
+
collection: Collection;
|
|
14
|
+
}): PartialStateUpdater<NamedEntityState<Entity, Collection>>;
|
|
15
|
+
export declare function setEntity<Entity>(entity: Entity, config: {
|
|
16
|
+
idKey: EntityIdKey<Entity>;
|
|
17
|
+
}): PartialStateUpdater<EntityState<Entity>>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PartialStateUpdater } from '@ngrx/signals';
|
|
2
|
+
import { EntityChanges, EntityState, NamedEntityState } from '../models';
|
|
3
|
+
export declare function updateAllEntities<Entity>(changes: EntityChanges<Entity & {}>): PartialStateUpdater<EntityState<Entity>>;
|
|
4
|
+
export declare function updateAllEntities<Collection extends string, State extends NamedEntityState<any, Collection>, Entity = State extends NamedEntityState<infer E, Collection> ? E : never>(changes: EntityChanges<Entity & {}>, config: {
|
|
5
|
+
collection: Collection;
|
|
6
|
+
}): PartialStateUpdater<State>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { PartialStateUpdater } from '@ngrx/signals';
|
|
2
|
+
import { EntityChanges, EntityId, EntityPredicate, EntityState, NamedEntityState } from '../models';
|
|
3
|
+
export declare function updateEntities<Entity>(update: {
|
|
4
|
+
ids: EntityId[];
|
|
5
|
+
changes: EntityChanges<Entity & {}>;
|
|
6
|
+
}): PartialStateUpdater<EntityState<Entity>>;
|
|
7
|
+
export declare function updateEntities<Entity>(update: {
|
|
8
|
+
predicate: EntityPredicate<Entity>;
|
|
9
|
+
changes: EntityChanges<Entity & {}>;
|
|
10
|
+
}): PartialStateUpdater<EntityState<Entity>>;
|
|
11
|
+
export declare function updateEntities<Collection extends string, State extends NamedEntityState<any, Collection>, Entity = State extends NamedEntityState<infer E, Collection> ? E : never>(update: {
|
|
12
|
+
ids: EntityId[];
|
|
13
|
+
changes: EntityChanges<Entity & {}>;
|
|
14
|
+
}, config: {
|
|
15
|
+
collection: Collection;
|
|
16
|
+
}): PartialStateUpdater<State>;
|
|
17
|
+
export declare function updateEntities<Collection extends string, State extends NamedEntityState<any, Collection>, Entity = State extends NamedEntityState<infer E, Collection> ? E : never>(update: {
|
|
18
|
+
predicate: EntityPredicate<Entity>;
|
|
19
|
+
changes: EntityChanges<Entity & {}>;
|
|
20
|
+
}, config: {
|
|
21
|
+
collection: Collection;
|
|
22
|
+
}): PartialStateUpdater<State>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PartialStateUpdater } from '@ngrx/signals';
|
|
2
|
+
import { EntityChanges, EntityId, EntityState, NamedEntityState } from '../models';
|
|
3
|
+
export declare function updateEntity<Entity>(update: {
|
|
4
|
+
id: EntityId;
|
|
5
|
+
changes: EntityChanges<Entity & {}>;
|
|
6
|
+
}): PartialStateUpdater<EntityState<Entity>>;
|
|
7
|
+
export declare function updateEntity<Collection extends string, State extends NamedEntityState<any, Collection>, Entity = State extends NamedEntityState<infer E, Collection> ? E : never>(update: {
|
|
8
|
+
id: EntityId;
|
|
9
|
+
changes: EntityChanges<Entity & {}>;
|
|
10
|
+
}, config: {
|
|
11
|
+
collection: Collection;
|
|
12
|
+
}): PartialStateUpdater<State>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { SignalStoreFeature } from '@ngrx/signals';
|
|
2
|
+
import { EntitySignals, EntityState, NamedEntitySignals, NamedEntityState } from './models';
|
|
3
|
+
export declare function withEntities<Entity>(): SignalStoreFeature<{
|
|
4
|
+
state: {};
|
|
5
|
+
signals: {};
|
|
6
|
+
methods: {};
|
|
7
|
+
}, {
|
|
8
|
+
state: EntityState<Entity>;
|
|
9
|
+
signals: EntitySignals<Entity>;
|
|
10
|
+
methods: {};
|
|
11
|
+
}>;
|
|
12
|
+
export declare function withEntities<Entity, Collection extends string>(config: {
|
|
13
|
+
entity: Entity;
|
|
14
|
+
collection: Collection;
|
|
15
|
+
}): SignalStoreFeature<{
|
|
16
|
+
state: {};
|
|
17
|
+
signals: {};
|
|
18
|
+
methods: {};
|
|
19
|
+
}, {
|
|
20
|
+
state: NamedEntityState<Entity, Collection>;
|
|
21
|
+
signals: NamedEntitySignals<Entity, Collection>;
|
|
22
|
+
methods: {};
|
|
23
|
+
}>;
|
|
24
|
+
export declare function withEntities<Entity>(config: {
|
|
25
|
+
entity: Entity;
|
|
26
|
+
}): SignalStoreFeature<{
|
|
27
|
+
state: {};
|
|
28
|
+
signals: {};
|
|
29
|
+
methods: {};
|
|
30
|
+
}, {
|
|
31
|
+
state: EntityState<Entity>;
|
|
32
|
+
signals: EntitySignals<Entity>;
|
|
33
|
+
methods: {};
|
|
34
|
+
}>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './src/index';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3NpZ25hbHMvZW50aXRpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC1zaWduYWxzLWVudGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zaWduYWxzL2VudGl0aWVzL25ncngtc2lnbmFscy1lbnRpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { DidMutate, } from './models';
|
|
2
|
+
export function getEntityIdKey(config) {
|
|
3
|
+
return config?.idKey ?? 'id';
|
|
4
|
+
}
|
|
5
|
+
export function getEntityStateKeys(config) {
|
|
6
|
+
const collection = config?.collection;
|
|
7
|
+
const entityMapKey = collection === undefined ? 'entityMap' : `${collection}EntityMap`;
|
|
8
|
+
const idsKey = collection === undefined ? 'ids' : `${collection}Ids`;
|
|
9
|
+
const entitiesKey = collection === undefined ? 'entities' : `${collection}Entities`;
|
|
10
|
+
return { entityMapKey, idsKey, entitiesKey };
|
|
11
|
+
}
|
|
12
|
+
export function cloneEntityState(state, stateKeys) {
|
|
13
|
+
return {
|
|
14
|
+
entityMap: { ...state[stateKeys.entityMapKey] },
|
|
15
|
+
ids: [...state[stateKeys.idsKey]],
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export function getEntityUpdaterResult(state, stateKeys, didMutate) {
|
|
19
|
+
switch (didMutate) {
|
|
20
|
+
case DidMutate.Both: {
|
|
21
|
+
return {
|
|
22
|
+
[stateKeys.entityMapKey]: state.entityMap,
|
|
23
|
+
[stateKeys.idsKey]: state.ids,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
case DidMutate.Entities: {
|
|
27
|
+
return { [stateKeys.entityMapKey]: state.entityMap };
|
|
28
|
+
}
|
|
29
|
+
default: {
|
|
30
|
+
return {};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export function addEntityMutably(state, entity, idKey) {
|
|
35
|
+
const id = entity[idKey];
|
|
36
|
+
if (state.entityMap[id]) {
|
|
37
|
+
return DidMutate.None;
|
|
38
|
+
}
|
|
39
|
+
state.entityMap[id] = entity;
|
|
40
|
+
state.ids.push(id);
|
|
41
|
+
return DidMutate.Both;
|
|
42
|
+
}
|
|
43
|
+
export function addEntitiesMutably(state, entities, idKey) {
|
|
44
|
+
let didMutate = DidMutate.None;
|
|
45
|
+
for (const entity of entities) {
|
|
46
|
+
const result = addEntityMutably(state, entity, idKey);
|
|
47
|
+
if (result === DidMutate.Both) {
|
|
48
|
+
didMutate = result;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return didMutate;
|
|
52
|
+
}
|
|
53
|
+
export function setEntityMutably(state, entity, idKey) {
|
|
54
|
+
const id = entity[idKey];
|
|
55
|
+
if (state.entityMap[id]) {
|
|
56
|
+
state.entityMap[id] = entity;
|
|
57
|
+
return DidMutate.Entities;
|
|
58
|
+
}
|
|
59
|
+
state.entityMap[id] = entity;
|
|
60
|
+
state.ids.push(id);
|
|
61
|
+
return DidMutate.Both;
|
|
62
|
+
}
|
|
63
|
+
export function setEntitiesMutably(state, entities, idKey) {
|
|
64
|
+
let didMutate = DidMutate.None;
|
|
65
|
+
for (const entity of entities) {
|
|
66
|
+
const result = setEntityMutably(state, entity, idKey);
|
|
67
|
+
if (didMutate === DidMutate.Both) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
didMutate = result;
|
|
71
|
+
}
|
|
72
|
+
return didMutate;
|
|
73
|
+
}
|
|
74
|
+
export function removeEntitiesMutably(state, idsOrPredicate) {
|
|
75
|
+
const ids = Array.isArray(idsOrPredicate)
|
|
76
|
+
? idsOrPredicate
|
|
77
|
+
: state.ids.filter((id) => idsOrPredicate(state.entityMap[id]));
|
|
78
|
+
let didMutate = DidMutate.None;
|
|
79
|
+
for (const id of ids) {
|
|
80
|
+
if (state.entityMap[id]) {
|
|
81
|
+
delete state.entityMap[id];
|
|
82
|
+
didMutate = DidMutate.Both;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (didMutate === DidMutate.Both) {
|
|
86
|
+
state.ids = state.ids.filter((id) => id in state.entityMap);
|
|
87
|
+
}
|
|
88
|
+
return didMutate;
|
|
89
|
+
}
|
|
90
|
+
export function updateEntitiesMutably(state, idsOrPredicate, changes) {
|
|
91
|
+
const ids = Array.isArray(idsOrPredicate)
|
|
92
|
+
? idsOrPredicate
|
|
93
|
+
: state.ids.filter((id) => idsOrPredicate(state.entityMap[id]));
|
|
94
|
+
let didMutate = DidMutate.None;
|
|
95
|
+
for (const id of ids) {
|
|
96
|
+
const entity = state.entityMap[id];
|
|
97
|
+
if (entity) {
|
|
98
|
+
const changesRecord = typeof changes === 'function' ? changes(entity) : changes;
|
|
99
|
+
state.entityMap[id] = { ...entity, ...changesRecord };
|
|
100
|
+
didMutate = DidMutate.Entities;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return didMutate;
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc2lnbmFscy9lbnRpdGllcy9zcmMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxHQUtWLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBMkI7SUFDeEQsT0FBTyxNQUFNLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQWdDO0lBS2pFLE1BQU0sVUFBVSxHQUFHLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDdEMsTUFBTSxZQUFZLEdBQ2hCLFVBQVUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLFdBQVcsQ0FBQztJQUNwRSxNQUFNLE1BQU0sR0FBRyxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxLQUFLLENBQUM7SUFDckUsTUFBTSxXQUFXLEdBQ2YsVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsVUFBVSxDQUFDO0lBRWxFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEtBQTBCLEVBQzFCLFNBR0M7SUFFRCxPQUFPO1FBQ0wsU0FBUyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFO1FBQy9DLEdBQUcsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNsQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FD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RUFBRTtRQUNwQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5DLElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxhQUFhLEdBQ2pCLE9BQU8sT0FBTyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDNUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsTUFBTSxFQUFFLEdBQUcsYUFBYSxFQUFFLENBQUM7WUFDdEQsU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7U0FDaEM7S0FDRjtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaWRNdXRhdGUsXG4gIEVudGl0eUNoYW5nZXMsXG4gIEVudGl0eUlkLFxuICBFbnRpdHlQcmVkaWNhdGUsXG4gIEVudGl0eVN0YXRlLFxufSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnRpdHlJZEtleShjb25maWc/OiB7IGlkS2V5Pzogc3RyaW5nIH0pOiBzdHJpbmcge1xuICByZXR1cm4gY29uZmlnPy5pZEtleSA/PyAnaWQnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXR5U3RhdGVLZXlzKGNvbmZpZz86IHsgY29sbGVjdGlvbj86IHN0cmluZyB9KToge1xuICBlbnRpdHlNYXBLZXk6IHN0cmluZztcbiAgaWRzS2V5OiBzdHJpbmc7XG4gIGVudGl0aWVzS2V5OiBzdHJpbmc7XG59IHtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGNvbmZpZz8uY29sbGVjdGlvbjtcbiAgY29uc3QgZW50aXR5TWFwS2V5ID1cbiAgICBjb2xsZWN0aW9uID09PSB1bmRlZmluZWQgPyAnZW50aXR5TWFwJyA6IGAke2NvbGxlY3Rpb259RW50aXR5TWFwYDtcbiAgY29uc3QgaWRzS2V5ID0gY29sbGVjdGlvbiA9PT0gdW5kZWZpbmVkID8gJ2lkcycgOiBgJHtjb2xsZWN0aW9ufUlkc2A7XG4gIGNvbnN0IGVudGl0aWVzS2V5ID1cbiAgICBjb2xsZWN0aW9uID09PSB1bmRlZmluZWQgPyAnZW50aXRpZXMnIDogYCR7Y29sbGVjdGlvbn1FbnRpdGllc2A7XG5cbiAgcmV0dXJuIHsgZW50aXR5TWFwS2V5LCBpZHNLZXksIGVudGl0aWVzS2V5IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9uZUVudGl0eVN0YXRlKFxuICBzdGF0ZTogUmVjb3JkPHN0cmluZywgYW55PixcbiAgc3RhdGVLZXlzOiB7XG4gICAgZW50aXR5TWFwS2V5OiBzdHJpbmc7XG4gICAgaWRzS2V5OiBzdHJpbmc7XG4gIH1cbik6IEVudGl0eVN0YXRlPGFueT4ge1xuICByZXR1cm4ge1xuICAgIGVudGl0eU1hcDogeyAuLi5zdGF0ZVtzdGF0ZUtleXMuZW50aXR5TWFwS2V5XSB9LFxuICAgIGlkczogWy4uLnN0YXRlW3N0YXRlS2V5cy5pZHNLZXldXSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eVVwZGF0ZXJSZXN1bHQoXG4gIHN0YXRlOiBFbnRpdHlTdGF0ZTxhbnk+LFxuICBzdGF0ZUtleXM6IHtcbiAgICBlbnRpdHlNYXBLZXk6IHN0cmluZztcbiAgICBpZHNLZXk6IHN0cmluZztcbiAgfSxcbiAgZGlkTXV0YXRlOiBEaWRNdXRhdGVcbik6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICBzd2l0Y2ggKGRpZE11dGF0ZSkge1xuICAgIGNhc2UgRGlkTXV0YXRlLkJvdGg6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtzdGF0ZUtleXMuZW50aXR5TWFwS2V5XTogc3RhdGUuZW50aXR5TWFwLFxuICAgICAgICBbc3RhdGVLZXlzLmlkc0tleV06IHN0YXRlLmlkcyxcbiAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgRGlkTXV0YXRlLkVudGl0aWVzOiB7XG4gICAgICByZXR1cm4geyBbc3RhdGVLZXlzLmVudGl0eU1hcEtleV06IHN0YXRlLmVudGl0eU1hcCB9O1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRFbnRpdHlNdXRhYmx5KFxuICBzdGF0ZTogRW50aXR5U3RhdGU8YW55PixcbiAgZW50aXR5OiBhbnksXG4gIGlkS2V5OiBzdHJpbmdcbik6IERpZE11dGF0ZSB7XG4gIGNvbnN0IGlkID0gZW50aXR5W2lkS2V5XTtcblxuICBpZiAoc3RhdGUuZW50aXR5TWFwW2lkXSkge1xuICAgIHJldHVybiBEaWRNdXRhdGUuTm9uZTtcbiAgfVxuXG4gIHN0YXRlLmVudGl0eU1hcFtpZF0gPSBlbnRpdHk7XG4gIHN0YXRlLmlkcy5wdXNoKGlkKTtcblxuICByZXR1cm4gRGlkTXV0YXRlLkJvdGg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRFbnRpdGllc011dGFibHkoXG4gIHN0YXRlOiBFbnRpdHlTdGF0ZTxhbnk+LFxuICBlbnRpdGllczogYW55W10sXG4gIGlkS2V5OiBzdHJpbmdcbik6IERpZE11dGF0ZSB7XG4gIGxldCBkaWRNdXRhdGUgPSBEaWRNdXRhdGUuTm9uZTtcblxuICBmb3IgKGNvbnN0IGVudGl0eSBvZiBlbnRpdGllcykge1xuICAgIGNvbnN0IHJlc3VsdCA9IGFkZEVudGl0eU11dGFibHkoc3RhdGUsIGVudGl0eSwgaWRLZXkpO1xuXG4gICAgaWYgKHJlc3VsdCA9PT0gRGlkTXV0YXRlLkJvdGgpIHtcbiAgICAgIGRpZE11dGF0ZSA9IHJlc3VsdDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGlkTXV0YXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RW50aXR5TXV0YWJseShcbiAgc3RhdGU6IEVudGl0eVN0YXRlPGFueT4sXG4gIGVudGl0eTogYW55LFxuICBpZEtleTogc3RyaW5nXG4pOiBEaWRNdXRhdGUge1xuICBjb25zdCBpZCA9IGVudGl0eVtpZEtleV07XG5cbiAgaWYgKHN0YXRlLmVudGl0eU1hcFtpZF0pIHtcbiAgICBzdGF0ZS5lbnRpdHlNYXBbaWRdID0gZW50aXR5O1xuICAgIHJldHVybiBEaWRNdXRhdGUuRW50aXRpZXM7XG4gIH1cblxuICBzdGF0ZS5lbnRpdHlNYXBbaWRdID0gZW50aXR5O1xuICBzdGF0ZS5pZHMucHVzaChpZCk7XG5cbiAgcmV0dXJuIERpZE11dGF0ZS5Cb3RoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RW50aXRpZXNNdXRhYmx5KFxuICBzdGF0ZTogRW50aXR5U3RhdGU8YW55PixcbiAgZW50aXRpZXM6IGFueVtdLFxuICBpZEtleTogc3RyaW5nXG4pOiBEaWRNdXRhdGUge1xuICBsZXQgZGlkTXV0YXRlID0gRGlkTXV0YXRlLk5vbmU7XG5cbiAgZm9yIChjb25zdCBlbnRpdHkgb2YgZW50aXRpZXMpIHtcbiAgICBjb25zdCByZXN1bHQgPSBzZXRFbnRpdHlNdXRhYmx5KHN0YXRlLCBlbnRpdHksIGlkS2V5KTtcblxuICAgIGlmIChkaWRNdXRhdGUgPT09IERpZE11dGF0ZS5Cb3RoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBkaWRNdXRhdGUgPSByZXN1bHQ7XG4gIH1cblxuICByZXR1cm4gZGlkTXV0YXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRW50aXRpZXNNdXRhYmx5KFxuICBzdGF0ZTogRW50aXR5U3RhdGU8YW55PixcbiAgaWRzT3JQcmVkaWNhdGU6IEVudGl0eUlkW10gfCBFbnRpdHlQcmVkaWNhdGU8YW55PlxuKTogRGlkTXV0YXRlIHtcbiAgY29uc3QgaWRzID0gQXJyYXkuaXNBcnJheShpZHNPclByZWRpY2F0ZSlcbiAgICA/IGlkc09yUHJlZGljYXRlXG4gICAgOiBzdGF0ZS5pZHMuZmlsdGVyKChpZCkgPT4gaWRzT3JQcmVkaWNhdGUoc3RhdGUuZW50aXR5TWFwW2lkXSkpO1xuICBsZXQgZGlkTXV0YXRlID0gRGlkTXV0YXRlLk5vbmU7XG5cbiAgZm9yIChjb25zdCBpZCBvZiBpZHMpIHtcbiAgICBpZiAoc3RhdGUuZW50aXR5TWFwW2lkXSkge1xuICAgICAgZGVsZXRlIHN0YXRlLmVudGl0eU1hcFtpZF07XG4gICAgICBkaWRNdXRhdGUgPSBEaWRNdXRhdGUuQm90aDtcbiAgICB9XG4gIH1cblxuICBpZiAoZGlkTXV0YXRlID09PSBEaWRNdXRhdGUuQm90aCkge1xuICAgIHN0YXRlLmlkcyA9IHN0YXRlLmlkcy5maWx0ZXIoKGlkKSA9PiBpZCBpbiBzdGF0ZS5lbnRpdHlNYXApO1xuICB9XG5cbiAgcmV0dXJuIGRpZE11dGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUVudGl0aWVzTXV0YWJseShcbiAgc3RhdGU6IEVudGl0eVN0YXRlPGFueT4sXG4gIGlkc09yUHJlZGljYXRlOiBFbnRpdHlJZFtdIHwgRW50aXR5UHJlZGljYXRlPGFueT4sXG4gIGNoYW5nZXM6IEVudGl0eUNoYW5nZXM8YW55PlxuKTogRGlkTXV0YXRlIHtcbiAgY29uc3QgaWRzID0gQXJyYXkuaXNBcnJheShpZHNPclByZWRpY2F0ZSlcbiAgICA/IGlkc09yUHJlZGljYXRlXG4gICAgOiBzdGF0ZS5pZHMuZmlsdGVyKChpZCkgPT4gaWRzT3JQcmVkaWNhdGUoc3RhdGUuZW50aXR5TWFwW2lkXSkpO1xuICBsZXQgZGlkTXV0YXRlID0gRGlkTXV0YXRlLk5vbmU7XG5cbiAgZm9yIChjb25zdCBpZCBvZiBpZHMpIHtcbiAgICBjb25zdCBlbnRpdHkgPSBzdGF0ZS5lbnRpdHlNYXBbaWRdO1xuXG4gICAgaWYgKGVudGl0eSkge1xuICAgICAgY29uc3QgY2hhbmdlc1JlY29yZCA9XG4gICAgICAgIHR5cGVvZiBjaGFuZ2VzID09PSAnZnVuY3Rpb24nID8gY2hhbmdlcyhlbnRpdHkpIDogY2hhbmdlcztcbiAgICAgIHN0YXRlLmVudGl0eU1hcFtpZF0gPSB7IC4uLmVudGl0eSwgLi4uY2hhbmdlc1JlY29yZCB9O1xuICAgICAgZGlkTXV0YXRlID0gRGlkTXV0YXRlLkVudGl0aWVzO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkaWRNdXRhdGU7XG59XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { addEntity } from './updaters/add-entity';
|
|
2
|
+
export { addEntities } from './updaters/add-entities';
|
|
3
|
+
export { removeEntity } from './updaters/remove-entity';
|
|
4
|
+
export { removeEntities } from './updaters/remove-entities';
|
|
5
|
+
export { removeAllEntities } from './updaters/remove-all-entities';
|
|
6
|
+
export { setEntity } from './updaters/set-entity';
|
|
7
|
+
export { setEntities } from './updaters/set-entities';
|
|
8
|
+
export { setAllEntities } from './updaters/set-all-entities';
|
|
9
|
+
export { updateEntity } from './updaters/update-entity';
|
|
10
|
+
export { updateEntities } from './updaters/update-entities';
|
|
11
|
+
export { updateAllEntities } from './updaters/update-all-entities';
|
|
12
|
+
export { withEntities } from './with-entities';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3NpZ25hbHMvZW50aXRpZXMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGFkZEVudGl0eSB9IGZyb20gJy4vdXBkYXRlcnMvYWRkLWVudGl0eSc7XG5leHBvcnQgeyBhZGRFbnRpdGllcyB9IGZyb20gJy4vdXBkYXRlcnMvYWRkLWVudGl0aWVzJztcbmV4cG9ydCB7IHJlbW92ZUVudGl0eSB9IGZyb20gJy4vdXBkYXRlcnMvcmVtb3ZlLWVudGl0eSc7XG5leHBvcnQgeyByZW1vdmVFbnRpdGllcyB9IGZyb20gJy4vdXBkYXRlcnMvcmVtb3ZlLWVudGl0aWVzJztcbmV4cG9ydCB7IHJlbW92ZUFsbEVudGl0aWVzIH0gZnJvbSAnLi91cGRhdGVycy9yZW1vdmUtYWxsLWVudGl0aWVzJztcbmV4cG9ydCB7IHNldEVudGl0eSB9IGZyb20gJy4vdXBkYXRlcnMvc2V0LWVudGl0eSc7XG5leHBvcnQgeyBzZXRFbnRpdGllcyB9IGZyb20gJy4vdXBkYXRlcnMvc2V0LWVudGl0aWVzJztcbmV4cG9ydCB7IHNldEFsbEVudGl0aWVzIH0gZnJvbSAnLi91cGRhdGVycy9zZXQtYWxsLWVudGl0aWVzJztcbmV4cG9ydCB7IHVwZGF0ZUVudGl0eSB9IGZyb20gJy4vdXBkYXRlcnMvdXBkYXRlLWVudGl0eSc7XG5leHBvcnQgeyB1cGRhdGVFbnRpdGllcyB9IGZyb20gJy4vdXBkYXRlcnMvdXBkYXRlLWVudGl0aWVzJztcbmV4cG9ydCB7IHVwZGF0ZUFsbEVudGl0aWVzIH0gZnJvbSAnLi91cGRhdGVycy91cGRhdGUtYWxsLWVudGl0aWVzJztcblxuZXhwb3J0IHsgRW50aXR5SWQsIEVudGl0eU1hcCwgRW50aXR5U3RhdGUsIE5hbWVkRW50aXR5U3RhdGUgfSBmcm9tICcuL21vZGVscyc7XG5leHBvcnQgeyB3aXRoRW50aXRpZXMgfSBmcm9tICcuL3dpdGgtZW50aXRpZXMnO1xuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var DidMutate;
|
|
2
|
+
(function (DidMutate) {
|
|
3
|
+
DidMutate[DidMutate["None"] = 0] = "None";
|
|
4
|
+
DidMutate[DidMutate["Entities"] = 1] = "Entities";
|
|
5
|
+
DidMutate[DidMutate["Both"] = 2] = "Both";
|
|
6
|
+
})(DidMutate || (DidMutate = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zaWduYWxzL2VudGl0aWVzL3NyYy9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUNBLE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIseUNBQUksQ0FBQTtJQUNKLGlEQUFRLENBQUE7SUFDUix5Q0FBSSxDQUFBO0FBQ04sQ0FBQyxFQUpXLFNBQVMsS0FBVCxTQUFTLFFBSXBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEVudGl0eUlkID0gc3RyaW5nIHwgbnVtYmVyO1xuXG5leHBvcnQgdHlwZSBFbnRpdHlNYXA8RW50aXR5PiA9IFJlY29yZDxFbnRpdHlJZCwgRW50aXR5PjtcblxuZXhwb3J0IHR5cGUgRW50aXR5U3RhdGU8RW50aXR5PiA9IHtcbiAgZW50aXR5TWFwOiBFbnRpdHlNYXA8RW50aXR5PjtcbiAgaWRzOiBFbnRpdHlJZFtdO1xufTtcblxuZXhwb3J0IHR5cGUgTmFtZWRFbnRpdHlTdGF0ZTxFbnRpdHksIENvbGxlY3Rpb24gZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICBbSyBpbiBDb2xsZWN0aW9uIGFzIGAke0t9RW50aXR5TWFwYF06IEVudGl0eU1hcDxFbnRpdHk+O1xufSAmIHsgW0sgaW4gQ29sbGVjdGlvbiBhcyBgJHtLfUlkc2BdOiBFbnRpdHlJZFtdIH07XG5cbmV4cG9ydCB0eXBlIEVudGl0eVNpZ25hbHM8RW50aXR5PiA9IHtcbiAgZW50aXRpZXM6IFNpZ25hbDxFbnRpdHlbXT47XG59O1xuXG5leHBvcnQgdHlwZSBOYW1lZEVudGl0eVNpZ25hbHM8RW50aXR5LCBDb2xsZWN0aW9uIGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgW0sgaW4gQ29sbGVjdGlvbiBhcyBgJHtLfUVudGl0aWVzYF06IFNpZ25hbDxFbnRpdHlbXT47XG59O1xuXG5leHBvcnQgdHlwZSBFbnRpdHlJZFByb3BzPEVudGl0eT4gPSB7XG4gIFtLIGluIGtleW9mIEVudGl0eSBhcyBFbnRpdHlbS10gZXh0ZW5kcyBFbnRpdHlJZCA/IEsgOiBuZXZlcl06IEVudGl0eVtLXTtcbn07XG5cbmV4cG9ydCB0eXBlIEVudGl0eUlkS2V5PEVudGl0eT4gPSBrZXlvZiBFbnRpdHlJZFByb3BzPEVudGl0eT4gJiBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIEVudGl0eVByZWRpY2F0ZTxFbnRpdHk+ID0gKGVudGl0eTogRW50aXR5KSA9PiBib29sZWFuO1xuXG5leHBvcnQgdHlwZSBFbnRpdHlDaGFuZ2VzPEVudGl0eT4gPVxuICB8IFBhcnRpYWw8RW50aXR5PlxuICB8ICgoZW50aXR5OiBFbnRpdHkpID0+IFBhcnRpYWw8RW50aXR5Pik7XG5cbmV4cG9ydCBlbnVtIERpZE11dGF0ZSB7XG4gIE5vbmUsXG4gIEVudGl0aWVzLFxuICBCb3RoLFxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { addEntitiesMutably, cloneEntityState, getEntityIdKey, getEntityStateKeys, getEntityUpdaterResult, } from '../helpers';
|
|
2
|
+
export function addEntities(entities, config) {
|
|
3
|
+
const idKey = getEntityIdKey(config);
|
|
4
|
+
const stateKeys = getEntityStateKeys(config);
|
|
5
|
+
return (state) => {
|
|
6
|
+
const clonedState = cloneEntityState(state, stateKeys);
|
|
7
|
+
const didMutate = addEntitiesMutably(clonedState, entities, idKey);
|
|
8
|
+
return getEntityUpdaterResult(clonedState, stateKeys, didMutate);
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVudGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zaWduYWxzL2VudGl0aWVzL3NyYy91cGRhdGVycy9hZGQtZW50aXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixzQkFBc0IsR0FDdkIsTUFBTSxZQUFZLENBQUM7QUFvQnBCLE1BQU0sVUFBVSxXQUFXLENBQ3pCLFFBQWUsRUFDZixNQUFnRDtJQUVoRCxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFN0MsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2YsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbkUsT0FBTyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25FLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJ0aWFsU3RhdGVVcGRhdGVyIH0gZnJvbSAnQG5ncngvc2lnbmFscyc7XG5pbXBvcnQge1xuICBFbnRpdHlJZCxcbiAgRW50aXR5SWRLZXksXG4gIEVudGl0eVN0YXRlLFxuICBOYW1lZEVudGl0eVN0YXRlLFxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgYWRkRW50aXRpZXNNdXRhYmx5LFxuICBjbG9uZUVudGl0eVN0YXRlLFxuICBnZXRFbnRpdHlJZEtleSxcbiAgZ2V0RW50aXR5U3RhdGVLZXlzLFxuICBnZXRFbnRpdHlVcGRhdGVyUmVzdWx0LFxufSBmcm9tICcuLi9oZWxwZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZEVudGl0aWVzPEVudGl0eSBleHRlbmRzIHsgaWQ6IEVudGl0eUlkIH0+KFxuICBlbnRpdGllczogRW50aXR5W11cbik6IFBhcnRpYWxTdGF0ZVVwZGF0ZXI8RW50aXR5U3RhdGU8RW50aXR5Pj47XG5leHBvcnQgZnVuY3Rpb24gYWRkRW50aXRpZXM8RW50aXR5LCBDb2xsZWN0aW9uIGV4dGVuZHMgc3RyaW5nPihcbiAgZW50aXRpZXM6IEVudGl0eVtdLFxuICBjb25maWc6IHsgY29sbGVjdGlvbjogQ29sbGVjdGlvbjsgaWRLZXk6IEVudGl0eUlkS2V5PEVudGl0eT4gfVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxOYW1lZEVudGl0eVN0YXRlPEVudGl0eSwgQ29sbGVjdGlvbj4+O1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEVudGl0aWVzPFxuICBFbnRpdHkgZXh0ZW5kcyB7IGlkOiBFbnRpdHlJZCB9LFxuICBDb2xsZWN0aW9uIGV4dGVuZHMgc3RyaW5nXG4+KFxuICBlbnRpdGllczogRW50aXR5W10sXG4gIGNvbmZpZzogeyBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uIH1cbik6IFBhcnRpYWxTdGF0ZVVwZGF0ZXI8TmFtZWRFbnRpdHlTdGF0ZTxFbnRpdHksIENvbGxlY3Rpb24+PjtcbmV4cG9ydCBmdW5jdGlvbiBhZGRFbnRpdGllczxFbnRpdHk+KFxuICBlbnRpdGllczogRW50aXR5W10sXG4gIGNvbmZpZzogeyBpZEtleTogRW50aXR5SWRLZXk8RW50aXR5PiB9XG4pOiBQYXJ0aWFsU3RhdGVVcGRhdGVyPEVudGl0eVN0YXRlPEVudGl0eT4+O1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEVudGl0aWVzKFxuICBlbnRpdGllczogYW55W10sXG4gIGNvbmZpZz86IHsgY29sbGVjdGlvbj86IHN0cmluZzsgaWRLZXk/OiBzdHJpbmcgfVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxFbnRpdHlTdGF0ZTxhbnk+IHwgTmFtZWRFbnRpdHlTdGF0ZTxhbnksIHN0cmluZz4+IHtcbiAgY29uc3QgaWRLZXkgPSBnZXRFbnRpdHlJZEtleShjb25maWcpO1xuICBjb25zdCBzdGF0ZUtleXMgPSBnZXRFbnRpdHlTdGF0ZUtleXMoY29uZmlnKTtcblxuICByZXR1cm4gKHN0YXRlKSA9PiB7XG4gICAgY29uc3QgY2xvbmVkU3RhdGUgPSBjbG9uZUVudGl0eVN0YXRlKHN0YXRlLCBzdGF0ZUtleXMpO1xuICAgIGNvbnN0IGRpZE11dGF0ZSA9IGFkZEVudGl0aWVzTXV0YWJseShjbG9uZWRTdGF0ZSwgZW50aXRpZXMsIGlkS2V5KTtcblxuICAgIHJldHVybiBnZXRFbnRpdHlVcGRhdGVyUmVzdWx0KGNsb25lZFN0YXRlLCBzdGF0ZUtleXMsIGRpZE11dGF0ZSk7XG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { addEntityMutably, cloneEntityState, getEntityIdKey, getEntityStateKeys, getEntityUpdaterResult, } from '../helpers';
|
|
2
|
+
export function addEntity(entity, config) {
|
|
3
|
+
const idKey = getEntityIdKey(config);
|
|
4
|
+
const stateKeys = getEntityStateKeys(config);
|
|
5
|
+
return (state) => {
|
|
6
|
+
const clonedState = cloneEntityState(state, stateKeys);
|
|
7
|
+
const didMutate = addEntityMutably(clonedState, entity, idKey);
|
|
8
|
+
return getEntityUpdaterResult(clonedState, stateKeys, didMutate);
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc2lnbmFscy9lbnRpdGllcy9zcmMvdXBkYXRlcnMvYWRkLWVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLHNCQUFzQixHQUN2QixNQUFNLFlBQVksQ0FBQztBQW9CcEIsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsTUFBVyxFQUNYLE1BQWdEO0lBRWhELE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU3QyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDZixNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdkQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUvRCxPQUFPLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnRpYWxTdGF0ZVVwZGF0ZXIgfSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7XG4gIEVudGl0eUlkLFxuICBFbnRpdHlJZEtleSxcbiAgRW50aXR5U3RhdGUsXG4gIE5hbWVkRW50aXR5U3RhdGUsXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBhZGRFbnRpdHlNdXRhYmx5LFxuICBjbG9uZUVudGl0eVN0YXRlLFxuICBnZXRFbnRpdHlJZEtleSxcbiAgZ2V0RW50aXR5U3RhdGVLZXlzLFxuICBnZXRFbnRpdHlVcGRhdGVyUmVzdWx0LFxufSBmcm9tICcuLi9oZWxwZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZEVudGl0eTxFbnRpdHkgZXh0ZW5kcyB7IGlkOiBFbnRpdHlJZCB9PihcbiAgZW50aXR5OiBFbnRpdHlcbik6IFBhcnRpYWxTdGF0ZVVwZGF0ZXI8RW50aXR5U3RhdGU8RW50aXR5Pj47XG5leHBvcnQgZnVuY3Rpb24gYWRkRW50aXR5PEVudGl0eSwgQ29sbGVjdGlvbiBleHRlbmRzIHN0cmluZz4oXG4gIGVudGl0eTogRW50aXR5LFxuICBjb25maWc6IHsgY29sbGVjdGlvbjogQ29sbGVjdGlvbjsgaWRLZXk6IEVudGl0eUlkS2V5PEVudGl0eT4gfVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxOYW1lZEVudGl0eVN0YXRlPEVudGl0eSwgQ29sbGVjdGlvbj4+O1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEVudGl0eTxcbiAgRW50aXR5IGV4dGVuZHMgeyBpZDogRW50aXR5SWQgfSxcbiAgQ29sbGVjdGlvbiBleHRlbmRzIHN0cmluZ1xuPihcbiAgZW50aXR5OiBFbnRpdHksXG4gIGNvbmZpZzogeyBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uIH1cbik6IFBhcnRpYWxTdGF0ZVVwZGF0ZXI8TmFtZWRFbnRpdHlTdGF0ZTxFbnRpdHksIENvbGxlY3Rpb24+PjtcbmV4cG9ydCBmdW5jdGlvbiBhZGRFbnRpdHk8RW50aXR5PihcbiAgZW50aXR5OiBFbnRpdHksXG4gIGNvbmZpZzogeyBpZEtleTogRW50aXR5SWRLZXk8RW50aXR5PiB9XG4pOiBQYXJ0aWFsU3RhdGVVcGRhdGVyPEVudGl0eVN0YXRlPEVudGl0eT4+O1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEVudGl0eShcbiAgZW50aXR5OiBhbnksXG4gIGNvbmZpZz86IHsgY29sbGVjdGlvbj86IHN0cmluZzsgaWRLZXk/OiBzdHJpbmcgfVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxFbnRpdHlTdGF0ZTxhbnk+IHwgTmFtZWRFbnRpdHlTdGF0ZTxhbnksIHN0cmluZz4+IHtcbiAgY29uc3QgaWRLZXkgPSBnZXRFbnRpdHlJZEtleShjb25maWcpO1xuICBjb25zdCBzdGF0ZUtleXMgPSBnZXRFbnRpdHlTdGF0ZUtleXMoY29uZmlnKTtcblxuICByZXR1cm4gKHN0YXRlKSA9PiB7XG4gICAgY29uc3QgY2xvbmVkU3RhdGUgPSBjbG9uZUVudGl0eVN0YXRlKHN0YXRlLCBzdGF0ZUtleXMpO1xuICAgIGNvbnN0IGRpZE11dGF0ZSA9IGFkZEVudGl0eU11dGFibHkoY2xvbmVkU3RhdGUsIGVudGl0eSwgaWRLZXkpO1xuXG4gICAgcmV0dXJuIGdldEVudGl0eVVwZGF0ZXJSZXN1bHQoY2xvbmVkU3RhdGUsIHN0YXRlS2V5cywgZGlkTXV0YXRlKTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { getEntityStateKeys } from '../helpers';
|
|
2
|
+
export function removeAllEntities(config) {
|
|
3
|
+
const stateKeys = getEntityStateKeys(config);
|
|
4
|
+
return () => ({
|
|
5
|
+
[stateKeys.entityMapKey]: {},
|
|
6
|
+
[stateKeys.idsKey]: [],
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWFsbC1lbnRpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc2lnbmFscy9lbnRpdGllcy9zcmMvdXBkYXRlcnMvcmVtb3ZlLWFsbC1lbnRpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNaEQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BRWpDO0lBQ0MsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFN0MsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ1osQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRTtRQUM1QixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO0tBQ3ZCLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJ0aWFsU3RhdGVVcGRhdGVyIH0gZnJvbSAnQG5ncngvc2lnbmFscyc7XG5pbXBvcnQgeyBFbnRpdHlTdGF0ZSwgTmFtZWRFbnRpdHlTdGF0ZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBnZXRFbnRpdHlTdGF0ZUtleXMgfSBmcm9tICcuLi9oZWxwZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUFsbEVudGl0aWVzKCk6IFBhcnRpYWxTdGF0ZVVwZGF0ZXI8RW50aXR5U3RhdGU8YW55Pj47XG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQWxsRW50aXRpZXM8Q29sbGVjdGlvbiBleHRlbmRzIHN0cmluZz4oY29uZmlnOiB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb247XG59KTogUGFydGlhbFN0YXRlVXBkYXRlcjxOYW1lZEVudGl0eVN0YXRlPGFueSwgQ29sbGVjdGlvbj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUFsbEVudGl0aWVzKGNvbmZpZz86IHtcbiAgY29sbGVjdGlvbj86IHN0cmluZztcbn0pOiBQYXJ0aWFsU3RhdGVVcGRhdGVyPEVudGl0eVN0YXRlPGFueT4gfCBOYW1lZEVudGl0eVN0YXRlPGFueSwgc3RyaW5nPj4ge1xuICBjb25zdCBzdGF0ZUtleXMgPSBnZXRFbnRpdHlTdGF0ZUtleXMoY29uZmlnKTtcblxuICByZXR1cm4gKCkgPT4gKHtcbiAgICBbc3RhdGVLZXlzLmVudGl0eU1hcEtleV06IHt9LFxuICAgIFtzdGF0ZUtleXMuaWRzS2V5XTogW10sXG4gIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { cloneEntityState, getEntityStateKeys, getEntityUpdaterResult, removeEntitiesMutably, } from '../helpers';
|
|
2
|
+
export function removeEntities(idsOrPredicate, config) {
|
|
3
|
+
const stateKeys = getEntityStateKeys(config);
|
|
4
|
+
return (state) => {
|
|
5
|
+
const clonedState = cloneEntityState(state, stateKeys);
|
|
6
|
+
const didMutate = removeEntitiesMutably(clonedState, idsOrPredicate);
|
|
7
|
+
return getEntityUpdaterResult(clonedState, stateKeys, didMutate);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWVudGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zaWduYWxzL2VudGl0aWVzL3NyYy91cGRhdGVycy9yZW1vdmUtZW50aXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLHFCQUFxQixHQUN0QixNQUFNLFlBQVksQ0FBQztBQW9CcEIsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsY0FBaUQsRUFDakQsTUFBZ0M7SUFFaEMsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFN0MsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2YsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUVyRSxPQUFPLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnRpYWxTdGF0ZVVwZGF0ZXIgfSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7XG4gIEVudGl0eUlkLFxuICBFbnRpdHlQcmVkaWNhdGUsXG4gIEVudGl0eVN0YXRlLFxuICBOYW1lZEVudGl0eVN0YXRlLFxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgY2xvbmVFbnRpdHlTdGF0ZSxcbiAgZ2V0RW50aXR5U3RhdGVLZXlzLFxuICBnZXRFbnRpdHlVcGRhdGVyUmVzdWx0LFxuICByZW1vdmVFbnRpdGllc011dGFibHksXG59IGZyb20gJy4uL2hlbHBlcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRW50aXRpZXMoXG4gIGlkczogRW50aXR5SWRbXVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxFbnRpdHlTdGF0ZTxhbnk+PjtcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVFbnRpdGllczxFbnRpdHk+KFxuICBwcmVkaWNhdGU6IEVudGl0eVByZWRpY2F0ZTxFbnRpdHk+XG4pOiBQYXJ0aWFsU3RhdGVVcGRhdGVyPEVudGl0eVN0YXRlPEVudGl0eT4+O1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUVudGl0aWVzPENvbGxlY3Rpb24gZXh0ZW5kcyBzdHJpbmc+KFxuICBpZHM6IEVudGl0eUlkW10sXG4gIGNvbmZpZzogeyBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uIH1cbik6IFBhcnRpYWxTdGF0ZVVwZGF0ZXI8TmFtZWRFbnRpdHlTdGF0ZTxhbnksIENvbGxlY3Rpb24+PjtcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVFbnRpdGllczxcbiAgQ29sbGVjdGlvbiBleHRlbmRzIHN0cmluZyxcbiAgU3RhdGUgZXh0ZW5kcyBOYW1lZEVudGl0eVN0YXRlPGFueSwgQ29sbGVjdGlvbj4sXG4gIEVudGl0eSA9IFN0YXRlIGV4dGVuZHMgTmFtZWRFbnRpdHlTdGF0ZTxpbmZlciBFLCBDb2xsZWN0aW9uPiA/IEUgOiBuZXZlclxuPihcbiAgcHJlZGljYXRlOiBFbnRpdHlQcmVkaWNhdGU8RW50aXR5PixcbiAgY29uZmlnOiB7IGNvbGxlY3Rpb246IENvbGxlY3Rpb24gfVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxTdGF0ZT47XG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRW50aXRpZXMoXG4gIGlkc09yUHJlZGljYXRlOiBFbnRpdHlJZFtdIHwgRW50aXR5UHJlZGljYXRlPGFueT4sXG4gIGNvbmZpZz86IHsgY29sbGVjdGlvbj86IHN0cmluZyB9XG4pOiBQYXJ0aWFsU3RhdGVVcGRhdGVyPEVudGl0eVN0YXRlPGFueT4gfCBOYW1lZEVudGl0eVN0YXRlPGFueSwgc3RyaW5nPj4ge1xuICBjb25zdCBzdGF0ZUtleXMgPSBnZXRFbnRpdHlTdGF0ZUtleXMoY29uZmlnKTtcblxuICByZXR1cm4gKHN0YXRlKSA9PiB7XG4gICAgY29uc3QgY2xvbmVkU3RhdGUgPSBjbG9uZUVudGl0eVN0YXRlKHN0YXRlLCBzdGF0ZUtleXMpO1xuICAgIGNvbnN0IGRpZE11dGF0ZSA9IHJlbW92ZUVudGl0aWVzTXV0YWJseShjbG9uZWRTdGF0ZSwgaWRzT3JQcmVkaWNhdGUpO1xuXG4gICAgcmV0dXJuIGdldEVudGl0eVVwZGF0ZXJSZXN1bHQoY2xvbmVkU3RhdGUsIHN0YXRlS2V5cywgZGlkTXV0YXRlKTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { cloneEntityState, getEntityStateKeys, getEntityUpdaterResult, removeEntitiesMutably, } from '../helpers';
|
|
2
|
+
export function removeEntity(id, config) {
|
|
3
|
+
const stateKeys = getEntityStateKeys(config);
|
|
4
|
+
return (state) => {
|
|
5
|
+
const clonedState = cloneEntityState(state, stateKeys);
|
|
6
|
+
const didMutate = removeEntitiesMutably(clonedState, [id]);
|
|
7
|
+
return getEntityUpdaterResult(clonedState, stateKeys, didMutate);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc2lnbmFscy9lbnRpdGllcy9zcmMvdXBkYXRlcnMvcmVtb3ZlLWVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIscUJBQXFCLEdBQ3RCLE1BQU0sWUFBWSxDQUFDO0FBU3BCLE1BQU0sVUFBVSxZQUFZLENBQzFCLEVBQVksRUFDWixNQUFnQztJQUVoQyxNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU3QyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDZixNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdkQsTUFBTSxTQUFTLEdBQUcscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUzRCxPQUFPLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnRpYWxTdGF0ZVVwZGF0ZXIgfSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7IEVudGl0eUlkLCBFbnRpdHlTdGF0ZSwgTmFtZWRFbnRpdHlTdGF0ZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBjbG9uZUVudGl0eVN0YXRlLFxuICBnZXRFbnRpdHlTdGF0ZUtleXMsXG4gIGdldEVudGl0eVVwZGF0ZXJSZXN1bHQsXG4gIHJlbW92ZUVudGl0aWVzTXV0YWJseSxcbn0gZnJvbSAnLi4vaGVscGVycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVFbnRpdHkoXG4gIGlkOiBFbnRpdHlJZFxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxFbnRpdHlTdGF0ZTxhbnk+PjtcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVFbnRpdHk8Q29sbGVjdGlvbiBleHRlbmRzIHN0cmluZz4oXG4gIGlkOiBFbnRpdHlJZCxcbiAgY29uZmlnOiB7IGNvbGxlY3Rpb246IENvbGxlY3Rpb24gfVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxOYW1lZEVudGl0eVN0YXRlPGFueSwgQ29sbGVjdGlvbj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUVudGl0eShcbiAgaWQ6IEVudGl0eUlkLFxuICBjb25maWc/OiB7IGNvbGxlY3Rpb24/OiBzdHJpbmcgfVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxFbnRpdHlTdGF0ZTxhbnk+IHwgTmFtZWRFbnRpdHlTdGF0ZTxhbnksIHN0cmluZz4+IHtcbiAgY29uc3Qgc3RhdGVLZXlzID0gZ2V0RW50aXR5U3RhdGVLZXlzKGNvbmZpZyk7XG5cbiAgcmV0dXJuIChzdGF0ZSkgPT4ge1xuICAgIGNvbnN0IGNsb25lZFN0YXRlID0gY2xvbmVFbnRpdHlTdGF0ZShzdGF0ZSwgc3RhdGVLZXlzKTtcbiAgICBjb25zdCBkaWRNdXRhdGUgPSByZW1vdmVFbnRpdGllc011dGFibHkoY2xvbmVkU3RhdGUsIFtpZF0pO1xuXG4gICAgcmV0dXJuIGdldEVudGl0eVVwZGF0ZXJSZXN1bHQoY2xvbmVkU3RhdGUsIHN0YXRlS2V5cywgZGlkTXV0YXRlKTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { getEntityIdKey, getEntityStateKeys, setEntitiesMutably, } from '../helpers';
|
|
2
|
+
export function setAllEntities(entities, config) {
|
|
3
|
+
const idKey = getEntityIdKey(config);
|
|
4
|
+
const stateKeys = getEntityStateKeys(config);
|
|
5
|
+
return () => {
|
|
6
|
+
const state = { entityMap: {}, ids: [] };
|
|
7
|
+
setEntitiesMutably(state, entities, idKey);
|
|
8
|
+
return {
|
|
9
|
+
[stateKeys.entityMapKey]: state.entityMap,
|
|
10
|
+
[stateKeys.idsKey]: state.ids,
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWFsbC1lbnRpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc2lnbmFscy9lbnRpdGllcy9zcmMvdXBkYXRlcnMvc2V0LWFsbC1lbnRpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQ0wsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixrQkFBa0IsR0FDbkIsTUFBTSxZQUFZLENBQUM7QUFvQnBCLE1BQU0sVUFBVSxjQUFjLENBQzVCLFFBQWUsRUFDZixNQUFnRDtJQUVoRCxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFN0MsT0FBTyxHQUFHLEVBQUU7UUFDVixNQUFNLEtBQUssR0FBcUIsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUMzRCxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTNDLE9BQU87WUFDTCxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxLQUFLLENBQUMsU0FBUztZQUN6QyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRztTQUM5QixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnRpYWxTdGF0ZVVwZGF0ZXIgfSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7XG4gIEVudGl0eUlkLFxuICBFbnRpdHlJZEtleSxcbiAgRW50aXR5U3RhdGUsXG4gIE5hbWVkRW50aXR5U3RhdGUsXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBnZXRFbnRpdHlJZEtleSxcbiAgZ2V0RW50aXR5U3RhdGVLZXlzLFxuICBzZXRFbnRpdGllc011dGFibHksXG59IGZyb20gJy4uL2hlbHBlcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0QWxsRW50aXRpZXM8RW50aXR5IGV4dGVuZHMgeyBpZDogRW50aXR5SWQgfT4oXG4gIGVudGl0aWVzOiBFbnRpdHlbXVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxFbnRpdHlTdGF0ZTxFbnRpdHk+PjtcbmV4cG9ydCBmdW5jdGlvbiBzZXRBbGxFbnRpdGllczxFbnRpdHksIENvbGxlY3Rpb24gZXh0ZW5kcyBzdHJpbmc+KFxuICBlbnRpdGllczogRW50aXR5W10sXG4gIGNvbmZpZzogeyBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uOyBpZEtleTogRW50aXR5SWRLZXk8RW50aXR5PiB9XG4pOiBQYXJ0aWFsU3RhdGVVcGRhdGVyPE5hbWVkRW50aXR5U3RhdGU8RW50aXR5LCBDb2xsZWN0aW9uPj47XG5leHBvcnQgZnVuY3Rpb24gc2V0QWxsRW50aXRpZXM8XG4gIEVudGl0eSBleHRlbmRzIHsgaWQ6IEVudGl0eUlkIH0sXG4gIENvbGxlY3Rpb24gZXh0ZW5kcyBzdHJpbmdcbj4oXG4gIGVudGl0aWVzOiBFbnRpdHlbXSxcbiAgY29uZmlnOiB7IGNvbGxlY3Rpb246IENvbGxlY3Rpb24gfVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxOYW1lZEVudGl0eVN0YXRlPEVudGl0eSwgQ29sbGVjdGlvbj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNldEFsbEVudGl0aWVzPEVudGl0eT4oXG4gIGVudGl0aWVzOiBFbnRpdHlbXSxcbiAgY29uZmlnOiB7IGlkS2V5OiBFbnRpdHlJZEtleTxFbnRpdHk+IH1cbik6IFBhcnRpYWxTdGF0ZVVwZGF0ZXI8RW50aXR5U3RhdGU8RW50aXR5Pj47XG5leHBvcnQgZnVuY3Rpb24gc2V0QWxsRW50aXRpZXMoXG4gIGVudGl0aWVzOiBhbnlbXSxcbiAgY29uZmlnPzogeyBjb2xsZWN0aW9uPzogc3RyaW5nOyBpZEtleT86IHN0cmluZyB9XG4pOiBQYXJ0aWFsU3RhdGVVcGRhdGVyPEVudGl0eVN0YXRlPGFueT4gfCBOYW1lZEVudGl0eVN0YXRlPGFueSwgc3RyaW5nPj4ge1xuICBjb25zdCBpZEtleSA9IGdldEVudGl0eUlkS2V5KGNvbmZpZyk7XG4gIGNvbnN0IHN0YXRlS2V5cyA9IGdldEVudGl0eVN0YXRlS2V5cyhjb25maWcpO1xuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgY29uc3Qgc3RhdGU6IEVudGl0eVN0YXRlPGFueT4gPSB7IGVudGl0eU1hcDoge30sIGlkczogW10gfTtcbiAgICBzZXRFbnRpdGllc011dGFibHkoc3RhdGUsIGVudGl0aWVzLCBpZEtleSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgW3N0YXRlS2V5cy5lbnRpdHlNYXBLZXldOiBzdGF0ZS5lbnRpdHlNYXAsXG4gICAgICBbc3RhdGVLZXlzLmlkc0tleV06IHN0YXRlLmlkcyxcbiAgICB9O1xuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { cloneEntityState, getEntityIdKey, getEntityStateKeys, getEntityUpdaterResult, setEntitiesMutably, } from '../helpers';
|
|
2
|
+
export function setEntities(entities, config) {
|
|
3
|
+
const idKey = getEntityIdKey(config);
|
|
4
|
+
const stateKeys = getEntityStateKeys(config);
|
|
5
|
+
return (state) => {
|
|
6
|
+
const clonedState = cloneEntityState(state, stateKeys);
|
|
7
|
+
const didMutate = setEntitiesMutably(clonedState, entities, idKey);
|
|
8
|
+
return getEntityUpdaterResult(clonedState, stateKeys, didMutate);
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWVudGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9zaWduYWxzL2VudGl0aWVzL3NyYy91cGRhdGVycy9zZXQtZW50aXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixrQkFBa0IsR0FDbkIsTUFBTSxZQUFZLENBQUM7QUFvQnBCLE1BQU0sVUFBVSxXQUFXLENBQ3pCLFFBQWUsRUFDZixNQUFnRDtJQUVoRCxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFN0MsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2YsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbkUsT0FBTyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25FLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJ0aWFsU3RhdGVVcGRhdGVyIH0gZnJvbSAnQG5ncngvc2lnbmFscyc7XG5pbXBvcnQge1xuICBFbnRpdHlJZCxcbiAgRW50aXR5SWRLZXksXG4gIEVudGl0eVN0YXRlLFxuICBOYW1lZEVudGl0eVN0YXRlLFxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgY2xvbmVFbnRpdHlTdGF0ZSxcbiAgZ2V0RW50aXR5SWRLZXksXG4gIGdldEVudGl0eVN0YXRlS2V5cyxcbiAgZ2V0RW50aXR5VXBkYXRlclJlc3VsdCxcbiAgc2V0RW50aXRpZXNNdXRhYmx5LFxufSBmcm9tICcuLi9oZWxwZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldEVudGl0aWVzPEVudGl0eSBleHRlbmRzIHsgaWQ6IEVudGl0eUlkIH0+KFxuICBlbnRpdGllczogRW50aXR5W11cbik6IFBhcnRpYWxTdGF0ZVVwZGF0ZXI8RW50aXR5U3RhdGU8RW50aXR5Pj47XG5leHBvcnQgZnVuY3Rpb24gc2V0RW50aXRpZXM8RW50aXR5LCBDb2xsZWN0aW9uIGV4dGVuZHMgc3RyaW5nPihcbiAgZW50aXRpZXM6IEVudGl0eVtdLFxuICBjb25maWc6IHsgY29sbGVjdGlvbjogQ29sbGVjdGlvbjsgaWRLZXk6IEVudGl0eUlkS2V5PEVudGl0eT4gfVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxOYW1lZEVudGl0eVN0YXRlPEVudGl0eSwgQ29sbGVjdGlvbj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNldEVudGl0aWVzPFxuICBFbnRpdHkgZXh0ZW5kcyB7IGlkOiBFbnRpdHlJZCB9LFxuICBDb2xsZWN0aW9uIGV4dGVuZHMgc3RyaW5nXG4+KFxuICBlbnRpdGllczogRW50aXR5W10sXG4gIGNvbmZpZzogeyBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uIH1cbik6IFBhcnRpYWxTdGF0ZVVwZGF0ZXI8TmFtZWRFbnRpdHlTdGF0ZTxFbnRpdHksIENvbGxlY3Rpb24+PjtcbmV4cG9ydCBmdW5jdGlvbiBzZXRFbnRpdGllczxFbnRpdHk+KFxuICBlbnRpdGllczogRW50aXR5W10sXG4gIGNvbmZpZzogeyBpZEtleTogRW50aXR5SWRLZXk8RW50aXR5PiB9XG4pOiBQYXJ0aWFsU3RhdGVVcGRhdGVyPEVudGl0eVN0YXRlPEVudGl0eT4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNldEVudGl0aWVzKFxuICBlbnRpdGllczogYW55W10sXG4gIGNvbmZpZz86IHsgY29sbGVjdGlvbj86IHN0cmluZzsgaWRLZXk/OiBzdHJpbmcgfVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxFbnRpdHlTdGF0ZTxhbnk+IHwgTmFtZWRFbnRpdHlTdGF0ZTxhbnksIHN0cmluZz4+IHtcbiAgY29uc3QgaWRLZXkgPSBnZXRFbnRpdHlJZEtleShjb25maWcpO1xuICBjb25zdCBzdGF0ZUtleXMgPSBnZXRFbnRpdHlTdGF0ZUtleXMoY29uZmlnKTtcblxuICByZXR1cm4gKHN0YXRlKSA9PiB7XG4gICAgY29uc3QgY2xvbmVkU3RhdGUgPSBjbG9uZUVudGl0eVN0YXRlKHN0YXRlLCBzdGF0ZUtleXMpO1xuICAgIGNvbnN0IGRpZE11dGF0ZSA9IHNldEVudGl0aWVzTXV0YWJseShjbG9uZWRTdGF0ZSwgZW50aXRpZXMsIGlkS2V5KTtcblxuICAgIHJldHVybiBnZXRFbnRpdHlVcGRhdGVyUmVzdWx0KGNsb25lZFN0YXRlLCBzdGF0ZUtleXMsIGRpZE11dGF0ZSk7XG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { cloneEntityState, getEntityIdKey, getEntityStateKeys, getEntityUpdaterResult, setEntityMutably, } from '../helpers';
|
|
2
|
+
export function setEntity(entity, config) {
|
|
3
|
+
const idKey = getEntityIdKey(config);
|
|
4
|
+
const stateKeys = getEntityStateKeys(config);
|
|
5
|
+
return (state) => {
|
|
6
|
+
const clonedState = cloneEntityState(state, stateKeys);
|
|
7
|
+
const didMutate = setEntityMutably(clonedState, entity, idKey);
|
|
8
|
+
return getEntityUpdaterResult(clonedState, stateKeys, didMutate);
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc2lnbmFscy9lbnRpdGllcy9zcmMvdXBkYXRlcnMvc2V0LWVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLGdCQUFnQixHQUNqQixNQUFNLFlBQVksQ0FBQztBQW9CcEIsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsTUFBVyxFQUNYLE1BQWdEO0lBRWhELE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU3QyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDZixNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdkQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUvRCxPQUFPLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnRpYWxTdGF0ZVVwZGF0ZXIgfSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7XG4gIEVudGl0eUlkLFxuICBFbnRpdHlJZEtleSxcbiAgRW50aXR5U3RhdGUsXG4gIE5hbWVkRW50aXR5U3RhdGUsXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBjbG9uZUVudGl0eVN0YXRlLFxuICBnZXRFbnRpdHlJZEtleSxcbiAgZ2V0RW50aXR5U3RhdGVLZXlzLFxuICBnZXRFbnRpdHlVcGRhdGVyUmVzdWx0LFxuICBzZXRFbnRpdHlNdXRhYmx5LFxufSBmcm9tICcuLi9oZWxwZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldEVudGl0eTxFbnRpdHkgZXh0ZW5kcyB7IGlkOiBFbnRpdHlJZCB9PihcbiAgZW50aXR5OiBFbnRpdHlcbik6IFBhcnRpYWxTdGF0ZVVwZGF0ZXI8RW50aXR5U3RhdGU8RW50aXR5Pj47XG5leHBvcnQgZnVuY3Rpb24gc2V0RW50aXR5PEVudGl0eSwgQ29sbGVjdGlvbiBleHRlbmRzIHN0cmluZz4oXG4gIGVudGl0eTogRW50aXR5LFxuICBjb25maWc6IHsgY29sbGVjdGlvbjogQ29sbGVjdGlvbjsgaWRLZXk6IEVudGl0eUlkS2V5PEVudGl0eT4gfVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxOYW1lZEVudGl0eVN0YXRlPEVudGl0eSwgQ29sbGVjdGlvbj4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNldEVudGl0eTxcbiAgRW50aXR5IGV4dGVuZHMgeyBpZDogRW50aXR5SWQgfSxcbiAgQ29sbGVjdGlvbiBleHRlbmRzIHN0cmluZ1xuPihcbiAgZW50aXR5OiBFbnRpdHksXG4gIGNvbmZpZzogeyBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uIH1cbik6IFBhcnRpYWxTdGF0ZVVwZGF0ZXI8TmFtZWRFbnRpdHlTdGF0ZTxFbnRpdHksIENvbGxlY3Rpb24+PjtcbmV4cG9ydCBmdW5jdGlvbiBzZXRFbnRpdHk8RW50aXR5PihcbiAgZW50aXR5OiBFbnRpdHksXG4gIGNvbmZpZzogeyBpZEtleTogRW50aXR5SWRLZXk8RW50aXR5PiB9XG4pOiBQYXJ0aWFsU3RhdGVVcGRhdGVyPEVudGl0eVN0YXRlPEVudGl0eT4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNldEVudGl0eShcbiAgZW50aXR5OiBhbnksXG4gIGNvbmZpZz86IHsgY29sbGVjdGlvbj86IHN0cmluZzsgaWRLZXk/OiBzdHJpbmcgfVxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxFbnRpdHlTdGF0ZTxhbnk+IHwgTmFtZWRFbnRpdHlTdGF0ZTxhbnksIHN0cmluZz4+IHtcbiAgY29uc3QgaWRLZXkgPSBnZXRFbnRpdHlJZEtleShjb25maWcpO1xuICBjb25zdCBzdGF0ZUtleXMgPSBnZXRFbnRpdHlTdGF0ZUtleXMoY29uZmlnKTtcblxuICByZXR1cm4gKHN0YXRlKSA9PiB7XG4gICAgY29uc3QgY2xvbmVkU3RhdGUgPSBjbG9uZUVudGl0eVN0YXRlKHN0YXRlLCBzdGF0ZUtleXMpO1xuICAgIGNvbnN0IGRpZE11dGF0ZSA9IHNldEVudGl0eU11dGFibHkoY2xvbmVkU3RhdGUsIGVudGl0eSwgaWRLZXkpO1xuXG4gICAgcmV0dXJuIGdldEVudGl0eVVwZGF0ZXJSZXN1bHQoY2xvbmVkU3RhdGUsIHN0YXRlS2V5cywgZGlkTXV0YXRlKTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { cloneEntityState, getEntityStateKeys, getEntityUpdaterResult, updateEntitiesMutably, } from '../helpers';
|
|
2
|
+
export function updateAllEntities(changes, config) {
|
|
3
|
+
const stateKeys = getEntityStateKeys(config);
|
|
4
|
+
return (state) => {
|
|
5
|
+
const clonedState = cloneEntityState(state, stateKeys);
|
|
6
|
+
const didMutate = updateEntitiesMutably(clonedState, state[stateKeys.idsKey], changes);
|
|
7
|
+
return getEntityUpdaterResult(clonedState, stateKeys, didMutate);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWFsbC1lbnRpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvc2lnbmFscy9lbnRpdGllcy9zcmMvdXBkYXRlcnMvdXBkYXRlLWFsbC1lbnRpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIscUJBQXFCLEdBQ3RCLE1BQU0sWUFBWSxDQUFDO0FBYXBCLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsT0FBMkIsRUFDM0IsTUFBZ0M7SUFFaEMsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFN0MsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2YsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUNyQyxXQUFXLEVBQ1YsS0FBNkIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQ2hELE9BQU8sQ0FDUixDQUFDO1FBRUYsT0FBTyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25FLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJ0aWFsU3RhdGVVcGRhdGVyIH0gZnJvbSAnQG5ncngvc2lnbmFscyc7XG5pbXBvcnQgeyBFbnRpdHlDaGFuZ2VzLCBFbnRpdHlTdGF0ZSwgTmFtZWRFbnRpdHlTdGF0ZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBjbG9uZUVudGl0eVN0YXRlLFxuICBnZXRFbnRpdHlTdGF0ZUtleXMsXG4gIGdldEVudGl0eVVwZGF0ZXJSZXN1bHQsXG4gIHVwZGF0ZUVudGl0aWVzTXV0YWJseSxcbn0gZnJvbSAnLi4vaGVscGVycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVBbGxFbnRpdGllczxFbnRpdHk+KFxuICBjaGFuZ2VzOiBFbnRpdHlDaGFuZ2VzPEVudGl0eSAmIHt9PlxuKTogUGFydGlhbFN0YXRlVXBkYXRlcjxFbnRpdHlTdGF0ZTxFbnRpdHk+PjtcbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVBbGxFbnRpdGllczxcbiAgQ29sbGVjdGlvbiBleHRlbmRzIHN0cmluZyxcbiAgU3RhdGUgZXh0ZW5kcyBOYW1lZEVudGl0eVN0YXRlPGFueSwgQ29sbGVjdGlvbj4sXG4gIEVudGl0eSA9IFN0YXRlIGV4dGVuZHMgTmFtZWRFbnRpdHlTdGF0ZTxpbmZlciBFLCBDb2xsZWN0aW9uPiA/IEUgOiBuZXZlclxuPihcbiAgY2hhbmdlczogRW50aXR5Q2hhbmdlczxFbnRpdHkgJiB7fT4sXG4gIGNvbmZpZzogeyBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uIH1cbik6IFBhcnRpYWxTdGF0ZVVwZGF0ZXI8U3RhdGU+O1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUFsbEVudGl0aWVzKFxuICBjaGFuZ2VzOiBFbnRpdHlDaGFuZ2VzPGFueT4sXG4gIGNvbmZpZz86IHsgY29sbGVjdGlvbj86IHN0cmluZyB9XG4pOiBQYXJ0aWFsU3RhdGVVcGRhdGVyPEVudGl0eVN0YXRlPGFueT4gfCBOYW1lZEVudGl0eVN0YXRlPGFueSwgc3RyaW5nPj4ge1xuICBjb25zdCBzdGF0ZUtleXMgPSBnZXRFbnRpdHlTdGF0ZUtleXMoY29uZmlnKTtcblxuICByZXR1cm4gKHN0YXRlKSA9PiB7XG4gICAgY29uc3QgY2xvbmVkU3RhdGUgPSBjbG9uZUVudGl0eVN0YXRlKHN0YXRlLCBzdGF0ZUtleXMpO1xuICAgIGNvbnN0IGRpZE11dGF0ZSA9IHVwZGF0ZUVudGl0aWVzTXV0YWJseShcbiAgICAgIGNsb25lZFN0YXRlLFxuICAgICAgKHN0YXRlIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pW3N0YXRlS2V5cy5pZHNLZXldLFxuICAgICAgY2hhbmdlc1xuICAgICk7XG5cbiAgICByZXR1cm4gZ2V0RW50aXR5VXBkYXRlclJlc3VsdChjbG9uZWRTdGF0ZSwgc3RhdGVLZXlzLCBkaWRNdXRhdGUpO1xuICB9O1xufVxuIl19
|