@stenajs-webui/redux 20.10.0 → 20.11.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/dist/index.es.js +9 -8
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.es.js
CHANGED
|
@@ -30,7 +30,7 @@ const C = (e) => (t = {}, r) => {
|
|
|
30
30
|
type: "RECORD_OBJECT:CLEAR_ALL_RECORDS"
|
|
31
31
|
})
|
|
32
32
|
}), B = (e, t) => (r, E) => {
|
|
33
|
-
|
|
33
|
+
const T = r ?? t(void 0, {});
|
|
34
34
|
return !d(E) || e !== E.reducerId || E.type !== "REDUCER_ID_GATE:ACTION" ? T : t(T, E.action);
|
|
35
35
|
}, f = (e, t) => ({
|
|
36
36
|
type: "REDUCER_ID_GATE:ACTION",
|
|
@@ -39,6 +39,7 @@ const C = (e) => (t = {}, r) => {
|
|
|
39
39
|
}), d = (e) => !!e.action && e.type === "REDUCER_ID_GATE:ACTION" && typeof e.reducerId == "string", i = (e, t) => (...r) => ({
|
|
40
40
|
type: "REDUCER_ID_GATE:ACTION",
|
|
41
41
|
reducerId: e,
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
43
|
action: t(...r)
|
|
43
44
|
}), V = (e, t) => {
|
|
44
45
|
const r = {};
|
|
@@ -230,7 +231,7 @@ const C = (e) => (t = {}, r) => {
|
|
|
230
231
|
}
|
|
231
232
|
}, v = (e) => ({
|
|
232
233
|
getList: (t) => e(t)
|
|
233
|
-
}), S = { entities: {} },
|
|
234
|
+
}), S = { entities: {} }, s = () => (e = S, t) => {
|
|
234
235
|
switch (t.type) {
|
|
235
236
|
case "ENTITY_BY_ID:SET_ENTITY": {
|
|
236
237
|
const { entity: r } = t;
|
|
@@ -272,7 +273,7 @@ const C = (e) => (t = {}, r) => {
|
|
|
272
273
|
default:
|
|
273
274
|
return e;
|
|
274
275
|
}
|
|
275
|
-
},
|
|
276
|
+
}, I = () => ({
|
|
276
277
|
setEntity: (e) => ({
|
|
277
278
|
type: "ENTITY_BY_ID:SET_ENTITY",
|
|
278
279
|
entity: e
|
|
@@ -321,7 +322,7 @@ const C = (e) => (t = {}, r) => {
|
|
|
321
322
|
})
|
|
322
323
|
}), g = (e) => ({
|
|
323
324
|
getEntity: (t) => e(t)
|
|
324
|
-
}), R = () =>
|
|
325
|
+
}), R = () => s(), u = () => I(), A = (e) => _(e), x = (e) => {
|
|
325
326
|
const t = R(), r = u(), E = A(e);
|
|
326
327
|
return {
|
|
327
328
|
reducer: t,
|
|
@@ -329,9 +330,9 @@ const C = (e) => (t = {}, r) => {
|
|
|
329
330
|
selectors: E
|
|
330
331
|
};
|
|
331
332
|
}, G = (e) => {
|
|
332
|
-
const t =
|
|
333
|
+
const t = s(), r = _(
|
|
333
334
|
e
|
|
334
|
-
), E =
|
|
335
|
+
), E = I();
|
|
335
336
|
return {
|
|
336
337
|
reducer: t,
|
|
337
338
|
selectors: r,
|
|
@@ -564,8 +565,8 @@ export {
|
|
|
564
565
|
J as createEditableEntityActions,
|
|
565
566
|
k as createEditableEntityReducer,
|
|
566
567
|
F as createEntityActions,
|
|
567
|
-
|
|
568
|
-
|
|
568
|
+
I as createEntityByIdActions,
|
|
569
|
+
s as createEntityByIdReducer,
|
|
569
570
|
_ as createEntityByIdSelectors,
|
|
570
571
|
u as createEntityCrudStatusActions,
|
|
571
572
|
R as createEntityCrudStatusReducer,
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/features/higher-order-reducers/record-object-reducer/record-object-reducer.ts","../src/features/higher-order-reducers/record-object-reducer/record-object-action-creators.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-gate.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-action-wrapper.ts","../src/features/reducer-factories/commit-reducer/commit-action-creators.ts","../src/features/reducer-factories/commit-reducer/commit-reducer.ts","../src/features/reducer-factories/commit-reducer/commit-selectors.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-action-creators.ts","../src/common/util/field-matcher.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-reducer.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-selectors.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-reducer.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-action-creators.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-selectors.ts","../src/features/reducer-factories/entity-reducer/entity-reducer.ts","../src/features/reducer-factories/entity-reducer/entity-action-creators.ts","../src/features/reducer-factories/entity-reducer/entity-selectors.ts","../src/features/reducer-factories/entity-crud-status-reducer/entity-crud-status-redux.ts","../src/features/reducer-factories/modified-field-reducer/modified-field-redux.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-reducer.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-reducer.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-selectors.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-reducer.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-action-creators.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-selectors.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-reducer.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-action-creators.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-selectors.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-reducer.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-action-creators.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-selectors.ts"],"sourcesContent":["import { Reducer } from \"redux\";\nimport {\n RecordObjectAction,\n RecordObjectClearRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport type RecordObjectState<TInnerState> = Record<\n RecordObjectKey,\n TInnerState\n>;\n\nexport const createRecordObjectReducer =\n <TInnerAction extends RecordObjectWrappedAction, TInnerState = unknown>(\n reducer: Reducer<TInnerState, TInnerAction>\n ): Reducer<\n RecordObjectState<TInnerState>,\n RecordObjectAction<TInnerAction>\n > =>\n (state = {}, action) => {\n switch (action.type) {\n case \"RECORD_OBJECT:CLEAR_RECORD\": {\n const { recordId } = action as RecordObjectClearRecordAction;\n const newState = { ...state };\n delete newState[recordId];\n return newState;\n }\n\n case \"RECORD_OBJECT:CLEAR_ALL_RECORDS\": {\n return {};\n }\n\n case \"RECORD_OBJECT:ACTION\": {\n const { recordId, action: innerAction } = action;\n return {\n ...state,\n [recordId]: reducer(state[recordId], innerAction),\n };\n }\n\n default:\n return state;\n }\n };\n","import {\n RecordObjectClearAllRecordsAction,\n RecordObjectClearRecordAction,\n RecordObjectRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport interface RecordObjectActions<\n TInnerAction extends RecordObjectWrappedAction\n> {\n recordAction: (\n recordId: RecordObjectKey,\n action: TInnerAction\n ) => RecordObjectRecordAction<TInnerAction>;\n clearRecord: (recordId: RecordObjectKey) => RecordObjectClearRecordAction;\n clearAllRecords: () => RecordObjectClearAllRecordsAction;\n}\n\nexport const createRecordObjectActions = <\n TInnerAction extends RecordObjectWrappedAction\n>(): RecordObjectActions<TInnerAction> => ({\n recordAction: (recordId, action) => ({\n type: \"RECORD_OBJECT:ACTION\",\n action,\n recordId,\n }),\n clearRecord: (recordId) => ({\n type: \"RECORD_OBJECT:CLEAR_RECORD\",\n recordId,\n }),\n clearAllRecords: () => ({\n type: \"RECORD_OBJECT:CLEAR_ALL_RECORDS\",\n }),\n});\n","import { Action, AnyAction, Reducer } from \"redux\";\n\nexport interface ReducerIdGateAction<TInnerAction> {\n type: \"REDUCER_ID_GATE:ACTION\";\n reducerId: string;\n action: TInnerAction;\n}\n\nexport type ReducerIdGateReducer<\n TState,\n TInnerAction extends Action = AnyAction\n> = Reducer<TState, ReducerIdGateAction<TInnerAction>>;\n\nexport const reducerIdGate =\n <TState, TInnerAction extends Action = AnyAction>(\n reducerId: string,\n reducer: Reducer<TState, TInnerAction>\n ): ReducerIdGateReducer<TState, TInnerAction> =>\n (state, action) => {\n let newState = state == null ? reducer(undefined, {} as any) : state;\n\n if (!isValidReducerIdGateAction(action)) {\n return newState;\n }\n\n if (\n reducerId !== action.reducerId ||\n action.type !== \"REDUCER_ID_GATE:ACTION\"\n ) {\n return newState;\n }\n return reducer(newState, action.action);\n };\n\nexport const reducerIdGateAction = <TInnerAction>(\n reducerId: string,\n action: TInnerAction\n): ReducerIdGateAction<TInnerAction> => ({\n type: \"REDUCER_ID_GATE:ACTION\",\n action,\n reducerId,\n});\n\nconst isValidReducerIdGateAction = (action: any): boolean =>\n !!action.action &&\n action.type === \"REDUCER_ID_GATE:ACTION\" &&\n typeof action.reducerId === \"string\";\n","import { ReducerIdGateAction } from \"./reducer-id-gate\";\n\ntype ActionCreator = (...args: any) => any;\n\nexport type ActionCreatorCreator<TActionCreator extends ActionCreator> = (\n ...args: Parameters<TActionCreator>\n) => ReducerIdGateAction<ReturnType<TActionCreator>>;\n\nexport const wrapActionWithReducerIdGate =\n <TActionCreator extends ActionCreator>(\n reducerId: string,\n actionCreator: TActionCreator\n ): ActionCreatorCreator<TActionCreator> =>\n (...args) => {\n return {\n type: \"REDUCER_ID_GATE:ACTION\",\n reducerId,\n action: actionCreator(...(args as any)),\n };\n };\n\nexport interface ActionCreatorsMapObject {\n [key: string]: ActionCreator;\n}\n\nexport type ReducerIdGatedActionCreator<\n TActionCreators extends ActionCreatorsMapObject\n> = {\n [K in keyof TActionCreators]: ActionCreatorCreator<TActionCreators[K]>;\n};\n\nexport const wrapActionsWithReducerIdGate = <\n TActionCreators extends ActionCreatorsMapObject\n>(\n reducerId: string,\n actionCreators: TActionCreators\n): ReducerIdGatedActionCreator<TActionCreators> => {\n const boundActionCreators =\n {} as ReducerIdGatedActionCreator<TActionCreators>;\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n boundActionCreators[key] = wrapActionWithReducerIdGate(\n reducerId,\n actionCreator\n );\n }\n return boundActionCreators;\n};\n","import {\n ClearFilterValuesActionCreator,\n CommitFilterValuesActionCreator,\n SetFilterValuesActionCreator,\n} from \"./commit-actions\";\n\nexport interface CommitReducerActions<TState> {\n setValues: SetFilterValuesActionCreator<TState>;\n commitValues: CommitFilterValuesActionCreator;\n clearValues: ClearFilterValuesActionCreator;\n}\n\nexport const createCommitReducerActions = <TState>(\n id: string\n): CommitReducerActions<TState> => {\n return {\n setValues: (values) => ({\n type: \"COMMIT_REDUCER.SET_VALUES\",\n id,\n values,\n }),\n commitValues: () => ({\n type: \"COMMIT_REDUCER.COMMIT_VALUES\",\n id,\n }),\n clearValues: () => ({\n type: \"COMMIT_REDUCER.CLEAR\",\n id,\n }),\n };\n};\n","import { CommitReducerAction } from \"./commit-actions\";\nimport { CommitReducerState } from \"./commit-state\";\n\nexport const createCommitReducer =\n <TState>(id: string, initialState: CommitReducerState<TState>) =>\n (\n state: CommitReducerState<TState> = initialState,\n action: CommitReducerAction<TState>\n ): CommitReducerState<TState> => {\n if (action.id !== id) {\n return state;\n }\n switch (action.type) {\n case `COMMIT_REDUCER.SET_VALUES`: {\n const { values } = action;\n return {\n ...state,\n workspace: {\n ...state.workspace,\n ...values,\n },\n };\n }\n\n case `COMMIT_REDUCER.CLEAR`: {\n return {\n ...state,\n workspace: {\n ...initialState.workspace,\n },\n };\n }\n\n case `COMMIT_REDUCER.COMMIT_VALUES`: {\n return {\n ...state,\n committed: {\n ...state.workspace,\n },\n };\n }\n\n default:\n return state;\n }\n };\n","import { CommitReducerState } from \"./commit-state\";\n\nexport type CommitReducerStateSelector<TStoreState, TState> = (\n state: TStoreState,\n id: string\n) => CommitReducerState<TState>;\n\nexport interface CommitReducerSelectors<TStoreState, TState> {\n getWorkspaceValues: (state: TStoreState) => TState;\n getCommittedValues: (state: TStoreState) => TState;\n}\n\nexport const createCommitReducerSelectors = <TStoreState, TState>(\n id: string,\n stateSelector: CommitReducerStateSelector<TStoreState, TState>\n): CommitReducerSelectors<TStoreState, TState> => {\n return {\n getWorkspaceValues: (state) => stateSelector(state, id).workspace,\n getCommittedValues: (state) => stateSelector(state, id).committed,\n };\n};\n","import {\n EntityListActionByFieldsMatchAction,\n EntityListActionByIndexAction,\n EntityListActionOnAllAction,\n EntityListAddAtEndAction,\n EntityListAddAtStartAction,\n EntityListClearListAction,\n EntityListRemoveAction,\n EntityListRemoveAtIndexAction,\n EntityListRemoveByFieldMatchAction,\n EntityListRemoveFirstAction,\n EntityListRemoveLastAction,\n EntityListSetListAction,\n EntityListToggleAction,\n} from \"./entity-list-actions\";\n\nexport interface EntityListActions<T, TInnerAction> {\n addAtEnd: (entity: T) => EntityListAddAtEndAction<T>;\n addAtStart: (entity: T) => EntityListAddAtStartAction<T>;\n clearList: () => EntityListClearListAction;\n removeFirst: () => EntityListRemoveFirstAction;\n removeLast: () => EntityListRemoveLastAction;\n removeAtIndex: (index: number) => EntityListRemoveAtIndexAction;\n removeByFieldMatch: (\n fields: Partial<T>\n ) => EntityListRemoveByFieldMatchAction<T>;\n remove: (entity: T) => EntityListRemoveAction<T>;\n setList: (list: Array<T>) => EntityListSetListAction<T>;\n toggle: (entity: T) => EntityListToggleAction<T>;\n actionByFieldsMatch: (\n fields: Partial<T>,\n action: TInnerAction\n ) => EntityListActionByFieldsMatchAction<T, TInnerAction>;\n actionByIndex: (\n index: number,\n action: TInnerAction\n ) => EntityListActionByIndexAction<TInnerAction>;\n actionOnAll: (\n action: TInnerAction\n ) => EntityListActionOnAllAction<TInnerAction>;\n}\n\nexport const createEntityListActions = <\n T,\n TInnerAction = unknown\n>(): EntityListActions<T, TInnerAction> => {\n return {\n addAtEnd: (entity) => ({ type: \"ENTITY_LIST:ADD_AT_END\", entity }),\n addAtStart: (entity) => ({\n entity,\n type: \"ENTITY_LIST:ADD_AT_START\",\n }),\n clearList: () => ({ type: \"ENTITY_LIST:CLEAR_LIST\" }),\n removeFirst: () => ({ type: \"ENTITY_LIST:REMOVE_FIRST\" }),\n removeLast: () => ({ type: \"ENTITY_LIST:REMOVE_LAST\" }),\n removeAtIndex: (index) => ({\n type: \"ENTITY_LIST:REMOVE_AT_INDEX\",\n index,\n }),\n removeByFieldMatch: (fields) => ({\n type: \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\",\n fields,\n }),\n remove: (entity) => ({ type: \"ENTITY_LIST:REMOVE\", entity }),\n setList: (list) => ({ type: \"ENTITY_LIST:SET_LIST\", list }),\n toggle: (entity) => ({ type: \"ENTITY_LIST:TOGGLE\", entity }),\n actionByFieldsMatch: (fields, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\",\n fields,\n action,\n }),\n actionByIndex: (index, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_INDEX\",\n index,\n action,\n }),\n actionOnAll: (action) => ({\n type: \"ENTITY_LIST:ACTION_ON_ALL\",\n action,\n }),\n };\n};\n","export const fieldsMatch = <T>(entity: T, fields: Partial<T>): boolean => {\n const keys = Object.keys(fields) as Array<keyof T>;\n if (keys.length === 0) {\n return false;\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (entity[key] !== fields[key]) {\n return false;\n }\n }\n return true;\n};\n","import { EntityListAction } from \"./entity-list-actions\";\nimport { fieldsMatch } from \"../../../common/util/field-matcher\";\nimport { Action, AnyAction, Reducer } from \"redux\";\n\nexport type EntityListState<TListItem> = Array<TListItem>;\n\nexport const createEntityListReducer =\n <TListItem, TListItemAction extends Action = AnyAction>(\n reducer?: Reducer<TListItem, TListItemAction>\n ) =>\n (\n state: EntityListState<TListItem> = [],\n action: EntityListAction<TListItem, TListItemAction>\n ): EntityListState<TListItem> => {\n switch (action.type) {\n case \"ENTITY_LIST:SET_LIST\": {\n const { list } = action;\n return list;\n }\n case \"ENTITY_LIST:CLEAR_LIST\": {\n return [];\n }\n case \"ENTITY_LIST:ADD_AT_END\": {\n const { entity } = action;\n return [...state, entity];\n }\n case \"ENTITY_LIST:ADD_AT_START\": {\n const { entity } = action;\n return [entity, ...state];\n }\n case \"ENTITY_LIST:REMOVE_FIRST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const [, ...list] = state;\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_LAST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const list = [...state];\n list.pop();\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_AT_INDEX\": {\n const { index } = action;\n if (index < 0) {\n throw new Error(\"Index is lower than 0.\");\n }\n if (index >= state.length) {\n throw new Error(\"Index is outside of list bounds.\");\n }\n const list = [...state];\n list.splice(index, 1);\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\": {\n const { fields } = action;\n return state.filter((item) => !fieldsMatch(item, fields));\n }\n\n case \"ENTITY_LIST:REMOVE\": {\n const { entity } = action;\n return state.filter((item) => item !== entity);\n }\n\n case \"ENTITY_LIST:TOGGLE\": {\n const { entity } = action;\n const index = state.findIndex(\n (item) => item === entity || fieldsMatch(item, entity)\n );\n\n if (index >= 0) {\n const list = [...state];\n list.splice(index, index);\n\n return list;\n } else {\n return [...state, entity];\n }\n }\n\n case \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\": {\n const { fields, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByFieldsMatch'.\"\n );\n }\n return state.map((item) =>\n fieldsMatch(item, fields) ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_BY_INDEX\": {\n const { index, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item, i) =>\n index === i ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_ON_ALL\": {\n const { action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item) => reducer(item, innerAction));\n }\n\n default:\n return state;\n }\n };\n","import { EntityListState } from \"./entity-list-reducer\";\n\nexport interface EntityListSelectors<TStoreState, TEntity> {\n getList: (store: TStoreState) => Array<TEntity>;\n}\n\nexport type EntityListSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityListState<TEntity>;\n\nexport const createEntityListSelectors = <TStoreState, TEntity>(\n stateSelector: EntityListSelector<TStoreState, TEntity>\n): EntityListSelectors<TStoreState, TEntity> => ({\n getList: (store) => stateSelector(store),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"./entity-by-id-actions\";\n\nexport interface EntityByIdState<T extends EntityWithId> {\n entities: { [key: string]: T };\n}\n\nexport const entityByIdInitialState = { entities: {} };\n\nexport const createEntityByIdReducer = <T extends EntityWithId>() => {\n return (\n state: EntityByIdState<T> = entityByIdInitialState,\n action: EntityByIdAction<T>\n ): EntityByIdState<T> => {\n switch (action.type) {\n case \"ENTITY_BY_ID:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [entity.id]: entity,\n },\n };\n }\n\n case \"ENTITY_BY_ID:SET_ENTITY_FIELDS\": {\n const { id, fields } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [id]: {\n ...state.entities[id],\n ...fields,\n },\n },\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\": {\n return {\n ...state,\n entities: {},\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ENTITY\": {\n const { id } = action;\n const entities = {\n ...state.entities,\n };\n delete entities[id];\n return {\n ...state,\n entities,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport {\n EntityByIdClearAllEntitiesAction,\n EntityByIdClearEntityAction,\n EntityByIdSetEntityAction,\n EntityByIdSetEntityFieldsAction,\n} from \"./entity-by-id-actions\";\n\nexport interface EntityByIdActions<T extends EntityWithId> {\n setEntity: (entity: T) => EntityByIdSetEntityAction<T>;\n setEntityFields: (\n id: string,\n fields: Partial<T>\n ) => EntityByIdSetEntityFieldsAction<T>;\n clearEntity: (id: string) => EntityByIdClearEntityAction;\n clearAllEntities: () => EntityByIdClearAllEntitiesAction;\n}\n\nexport const createEntityByIdActions = <\n T extends EntityWithId\n>(): EntityByIdActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (id, fields) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY_FIELDS\",\n id,\n fields,\n }),\n clearEntity: (id) => ({\n type: \"ENTITY_BY_ID:CLEAR_ENTITY\",\n id,\n }),\n clearAllEntities: () => ({\n type: \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\",\n }),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdState } from \"./entity-by-id-reducer\";\n\nexport interface EntityByIdSelectors<\n TStoreState,\n TEntity extends EntityWithId\n> {\n getState: EntityByIdStateSelector<TStoreState, TEntity>;\n}\n\nexport type EntityByIdStateSelector<\n TStoreState,\n TEntity extends EntityWithId\n> = (state: TStoreState) => EntityByIdState<TEntity>;\n\nexport const createEntityByIdSelectors = <\n TStoreState,\n TEntity extends EntityWithId\n>(\n stateSelector: EntityByIdStateSelector<TStoreState, TEntity>\n): EntityByIdSelectors<TStoreState, TEntity> => ({\n getState: stateSelector,\n});\n","import { EntityAction } from \"./entity-actions\";\nimport { Reducer } from \"redux\";\n\nexport type EntityState<T> = T;\n\nexport const createEntityReducer = <T>(\n initialEntity: T\n): Reducer<EntityState<T>, EntityAction<T>> => {\n const INITIAL_STATE = initialEntity;\n\n return (\n state: EntityState<T> = INITIAL_STATE,\n action: EntityAction<T>\n ): EntityState<T> => {\n switch (action.type) {\n case \"ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return entity;\n }\n\n case \"ENTITY:SET_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n ...fields,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EntitySetEntityAction,\n EntitySetEntityFieldsAction,\n} from \"./entity-actions\";\n\nexport interface EntityActions<T> {\n setEntity: (entity: T) => EntitySetEntityAction<T>;\n setEntityFields: (fields: Partial<T>) => EntitySetEntityFieldsAction<T>;\n}\n\nexport const createEntityActions = <T>(): EntityActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (fields) => ({\n type: \"ENTITY:SET_ENTITY_FIELDS\",\n fields,\n }),\n});\n","import { EntityState } from \"./entity-reducer\";\n\nexport interface EntitySelectors<TStoreState, TEntity> {\n getEntity: (state: TStoreState) => TEntity;\n}\n\nexport type EntityStateSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityState<TEntity>;\n\nexport const createEntitySelectors = <TStoreState, TEntity>(\n stateSelector: EntityStateSelector<TStoreState, TEntity>\n): EntitySelectors<TStoreState, TEntity> => ({\n getEntity: (state) => stateSelector(state),\n});\n","import { Reducer } from \"redux\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n EntityByIdStateSelector,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\n\nexport interface EntityCrudStatus extends CrudStatus {\n id: string;\n}\n\nexport interface CrudStatus {\n loading?: boolean;\n creating?: boolean;\n updating?: boolean;\n modified?: boolean;\n deleting?: boolean;\n hasError?: boolean;\n errorMessage?: string;\n}\n\nexport type EntityCrudStatusState = EntityByIdState<EntityCrudStatus>;\nexport type EntityCrudStatusAction = EntityByIdAction<EntityCrudStatus>;\nexport type EntityCrudStatusActions = EntityByIdActions<EntityCrudStatus>;\n\nexport interface EntityCrudStatusRedux<TStoreState> {\n reducer: EntityCrudStatusReducer;\n actions: EntityCrudStatusActions;\n selectors: EntityCrudStatusSelectors<TStoreState>;\n}\n\nexport type EntityCrudStatusReducer = Reducer<\n EntityCrudStatusState,\n EntityByIdAction<EntityCrudStatus>\n>;\n\nexport const createEntityCrudStatusReducer = () =>\n createEntityByIdReducer<EntityCrudStatus>();\n\nexport const createEntityCrudStatusActions = (): EntityCrudStatusActions =>\n createEntityByIdActions<EntityCrudStatus>();\n\nexport type EntityCrudStatusSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n EntityCrudStatus\n>;\n\nexport const createEntityCrudStatusSelectors = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n) => createEntityByIdSelectors<TStoreState, EntityCrudStatus>(stateSelector);\n\nexport const createEntityCrudStatusRedux = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n): EntityCrudStatusRedux<TStoreState> => {\n const reducer = createEntityCrudStatusReducer();\n const actions = createEntityCrudStatusActions();\n const selectors = createEntityCrudStatusSelectors(stateSelector);\n return {\n reducer,\n actions,\n selectors,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\n\nexport interface ModifiedFieldItemState extends EntityWithId {\n modified?: boolean;\n originalValue?: string;\n newValue?: string;\n}\n\nexport type ModifiedFieldState = EntityByIdState<ModifiedFieldItemState>;\nexport type ModifiedFieldAction = EntityByIdAction<ModifiedFieldItemState>;\nexport type ModifiedFieldActions = EntityByIdActions<ModifiedFieldItemState>;\n\nexport type ModifiedFieldsSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n>;\n\nexport type ModifiedFieldStateSelector<TStoreState> = (\n state: TStoreState\n) => ModifiedFieldState;\n\nexport type ModifiedStateReducer = Reducer<\n ModifiedFieldState,\n ModifiedFieldAction\n>;\n\nexport interface ModifiedFieldRedux<TStoreState> {\n reducer: ModifiedStateReducer;\n selectors: ModifiedFieldsSelectors<TStoreState>;\n actions: ModifiedFieldActions;\n}\n\nexport const createModifiedFieldRedux = <TStoreState>(\n stateSelector: ModifiedFieldStateSelector<TStoreState>\n): ModifiedFieldRedux<TStoreState> => {\n const reducer = createEntityByIdReducer<ModifiedFieldItemState>();\n\n const selectors: ModifiedFieldsSelectors<TStoreState> =\n createEntityByIdSelectors<TStoreState, ModifiedFieldItemState>(\n stateSelector\n );\n\n const actions = createEntityByIdActions<ModifiedFieldItemState>();\n\n return {\n reducer,\n selectors,\n actions,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EditableEntityAction } from \"./editable-entity-actions\";\n\nexport interface EditableEntityState<T> {\n id?: string;\n persisted: T;\n editable: T;\n}\n\nexport const createEditableEntityReducer = <T>(\n initialEntity: T,\n initialId?: string\n): Reducer<EditableEntityState<T>, EditableEntityAction<T>> => {\n const initialState: EditableEntityState<T> = {\n id: initialId,\n editable: initialEntity,\n persisted: initialEntity,\n };\n\n return (state = initialState, action) => {\n switch (action.type) {\n case \"EDITABLE_ENTITY:SET_ENTITY_ID\": {\n const { id } = action;\n return {\n ...state,\n id,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n editable: {\n ...state.editable,\n ...fields,\n },\n };\n }\n\n case \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\": {\n return {\n ...state,\n editable: state.persisted,\n };\n }\n\n case \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\": {\n return {\n ...state,\n persisted: state.editable,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EditableEntityCommitEditableEntityToPersistedAction,\n EditableEntityRevertEditableEntityAction,\n EditableEntitySetEditableEntityAction,\n EditableEntitySetEditableEntityFieldsAction,\n EditableEntitySetEntityAction,\n EditableEntitySetEntityIdAction,\n EditableEntitySetPersistedEntityAction,\n} from \"./editable-entity-actions\";\n\nexport interface EditableEntityActions<T> {\n setEntityId: (\n entityId: string | undefined\n ) => EditableEntitySetEntityIdAction;\n setEntity: (entity: T) => EditableEntitySetEntityAction<T>;\n setPersistedEntity: (entity: T) => EditableEntitySetPersistedEntityAction<T>;\n setEditableEntity: (entity: T) => EditableEntitySetEditableEntityAction<T>;\n setEditableEntityFields: (\n fields: Partial<T>\n ) => EditableEntitySetEditableEntityFieldsAction<T>;\n revertEditableEntity: () => EditableEntityRevertEditableEntityAction;\n commitEditableEntityToPersisted: () => EditableEntityCommitEditableEntityToPersistedAction;\n}\n\nexport const createEditableEntityActions = <T>(): EditableEntityActions<T> => ({\n setEntityId: (id: string | undefined) => ({\n type: \"EDITABLE_ENTITY:SET_ENTITY_ID\",\n id,\n }),\n setEntity: (entity) => ({ type: \"EDITABLE_ENTITY:SET_ENTITY\", entity }),\n setPersistedEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\",\n entity,\n }),\n setEditableEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\",\n entity,\n }),\n setEditableEntityFields: (fields) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\",\n fields,\n }),\n revertEditableEntity: () => ({\n type: \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\",\n }),\n commitEditableEntityToPersisted: () => ({\n type: \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\",\n }),\n});\n","import { Reducer } from \"redux\";\nimport { SelectedIdsAction } from \"./selected-ids-actions\";\n\nexport interface SelectedIdsState {\n selectedIds: Array<string>;\n}\n\nexport const createSelectedIdsReducerInitialState = (\n initialSelection: string[] = []\n): SelectedIdsState => ({\n selectedIds: initialSelection,\n});\n\nconst INITIAL_STATE = createSelectedIdsReducerInitialState();\n\nexport type SelectedIdsReducer = Reducer<SelectedIdsState, SelectedIdsAction>;\n\nexport const createSelectedIdsReducer =\n (initialState: SelectedIdsState = INITIAL_STATE): SelectedIdsReducer =>\n (state = initialState, action) => {\n switch (action.type) {\n case \"SELECTED_IDS:SET_SELECTED_IDS\": {\n const { selectedIds } = action;\n return {\n ...state,\n selectedIds,\n };\n }\n case \"SELECTED_IDS:CLEAR_SELECTED_IDS\": {\n return {\n ...state,\n selectedIds: [],\n };\n }\n default:\n return state;\n }\n };\n\nexport const selectedIdsReducer = createSelectedIdsReducer();\n","import {\n SelectedIdsClearSelectedIdsAction,\n SelectedIdsSetSelectedIdsAction,\n} from \"./selected-ids-actions\";\n\nexport interface SelectedIdsActions {\n setSelectedIds: (ids: Array<string>) => SelectedIdsSetSelectedIdsAction;\n clearSelectedIds: () => SelectedIdsClearSelectedIdsAction;\n}\n\nexport const createSelectedIdsActions = (): SelectedIdsActions => ({\n setSelectedIds: (selectedIds) => ({\n selectedIds,\n type: \"SELECTED_IDS:SET_SELECTED_IDS\",\n }),\n clearSelectedIds: () => ({\n type: \"SELECTED_IDS:CLEAR_SELECTED_IDS\",\n }),\n});\n\nexport const selectedIdsActions = createSelectedIdsActions();\n","import { SelectedIdsState } from \"./selected-ids-reducer\";\n\nexport interface SelectedIdsSelectors<TStoreState> {\n getState: SelectedIdsStateSelector<TStoreState>;\n}\n\nexport type SelectedIdsStateSelector<TStoreState> = (\n state: TStoreState\n) => SelectedIdsState;\n\nexport const createSelectedIdsSelectors = <TStoreState>(\n stateSelector: SelectedIdsStateSelector<TStoreState>\n): SelectedIdsSelectors<TStoreState> => ({\n getState: stateSelector,\n});\n","import { SortOrderByIdAction } from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdState {\n ids: Array<string> | undefined;\n}\n\nconst INITIAL_STATE: SortOrderByIdState = {\n ids: undefined,\n};\n\nexport const createSortOrderByIdReducer =\n () =>\n (\n state: SortOrderByIdState = INITIAL_STATE,\n action: SortOrderByIdAction\n ): SortOrderByIdState => {\n switch (action.type) {\n case \"SORT_ORDER_BY_ID:SET_SORT_ORDER\":\n return {\n ...state,\n ids: action.ids,\n };\n\n case \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\":\n return {\n ...state,\n ids: undefined,\n };\n\n default:\n return state;\n }\n };\n\nexport const sortOrderByIdReducer = createSortOrderByIdReducer();\n","import {\n SortOrderByIdClearSortOrderAction,\n SortOrderByIdSetSortOrderAction,\n} from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdActions {\n setSortOrder: (ids: Array<string>) => SortOrderByIdSetSortOrderAction;\n clearSortOrder: () => SortOrderByIdClearSortOrderAction;\n}\n\nexport const createSortOrderByIdActions = (): SortOrderByIdActions => {\n return {\n setSortOrder: (ids) => ({\n ids,\n type: \"SORT_ORDER_BY_ID:SET_SORT_ORDER\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\",\n }),\n };\n};\n\nexport const sortOrderByIdActions = createSortOrderByIdActions();\n","import { SortOrderByIdState } from \"./sort-order-by-id-reducer\";\n\ninterface SortOrderByIdSelectors<TStoreState> {\n getSortOrderByIdState: (state: TStoreState) => SortOrderByIdState;\n getSortOrder: (state: TStoreState) => Array<string> | undefined;\n}\n\ntype SortOrderByIdStateProvider<TStoreState> = (\n state: TStoreState\n) => SortOrderByIdState;\n\nexport const createSortOrderByIdSelectors = <TStoreState>(\n rootStateProvider: SortOrderByIdStateProvider<TStoreState>\n): SortOrderByIdSelectors<TStoreState> => {\n return {\n getSortOrderByIdState: (state) => {\n return rootStateProvider(state);\n },\n getSortOrder: (state) => {\n return rootStateProvider(state).ids;\n },\n };\n};\n","import { Reducer } from \"redux\";\nimport { SortOrderAction } from \"./sort-order-actions\";\n\nexport interface SortOrderState<TSortBy> {\n sortBy: TSortBy | undefined;\n desc: boolean;\n}\n\nexport const createSortOrderReducerInitialState = <TSortBy>(\n sortBy: TSortBy | undefined = undefined,\n desc: boolean = false\n): SortOrderState<TSortBy> => ({\n sortBy,\n desc,\n});\n\nexport type SortOrderReducer<TSortBy> = Reducer<\n SortOrderState<TSortBy>,\n SortOrderAction<TSortBy>\n>;\n\nexport const createSortOrderReducer =\n <TSortBy>(\n initialState: SortOrderState<TSortBy> = { sortBy: undefined, desc: false }\n ): SortOrderReducer<TSortBy> =>\n (state = initialState, action) => {\n switch (action.type) {\n case \"SORT_ORDER:SET_SORT_BY\": {\n const { sortBy, desc } = action;\n return {\n ...state,\n sortBy,\n desc,\n };\n }\n\n case \"SORT_ORDER:CLEAR_SORT_ORDER\": {\n return {\n ...state,\n sortBy: undefined,\n desc: false,\n };\n }\n\n default:\n return state;\n }\n };\n","import {\n SortOrderClearSortOrderAction,\n SortOrderSetSortByAction,\n} from \"./sort-order-actions\";\n\nexport interface SortOrderActions<TSortBy> {\n sortBy: (sortBy: TSortBy, desc: boolean) => SortOrderSetSortByAction<TSortBy>;\n clearSortOrder: () => SortOrderClearSortOrderAction;\n}\n\nexport const createSortOrderActions = <\n TSortBy\n>(): SortOrderActions<TSortBy> => ({\n sortBy: (sortBy, desc) => ({\n desc,\n sortBy,\n type: \"SORT_ORDER:SET_SORT_BY\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER:CLEAR_SORT_ORDER\",\n }),\n});\n","import { SortOrderState } from \"./sort-order-reducer\";\n\nexport interface SortOrderSelectors<TStoreState, TSortBy> {\n getState: SortOrderStateSelector<TStoreState, TSortBy>;\n}\n\nexport type SortOrderStateSelector<TStoreState, TSortBy> = (\n state: TStoreState\n) => SortOrderState<TSortBy>;\n\nexport const createSortOrderSelectors = <TStoreState, TSortBy>(\n stateProvider: SortOrderStateSelector<TStoreState, TSortBy>\n): SortOrderSelectors<TStoreState, TSortBy> => ({\n getState: stateProvider,\n});\n","import { ValueByIdAction } from \"./value-by-id-actions\";\n\nexport interface ValueByIdState<TValue> {\n values: { [key: string]: TValue };\n}\n\nexport const valueByIdInitialState = { values: {} };\n\nexport const createValueByIdReducer = <TValue>(\n initialValue: ValueByIdState<TValue> = valueByIdInitialState\n) => {\n return (\n state: ValueByIdState<TValue> = initialValue,\n action: ValueByIdAction<TValue>\n ): ValueByIdState<TValue> => {\n switch (action.type) {\n case \"VALUE_BY_ID:SET_VALUE\": {\n const { id, value } = action;\n return {\n ...state,\n values: {\n ...state.values,\n [id]: value,\n },\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_ALL_VALUES\": {\n return {\n ...state,\n values: {},\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_VALUE\": {\n const { id } = action;\n const values = {\n ...state.values,\n };\n delete values[id];\n return {\n ...state,\n values,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n ValueByIdClearAllValuesAction,\n ValueByIdClearValueAction,\n ValueByIdSetValueAction,\n} from \"./value-by-id-actions\";\n\nexport interface ValueByIdActions<TValue> {\n setValue: (id: string, value: TValue) => ValueByIdSetValueAction<TValue>;\n clearValue: (id: string) => ValueByIdClearValueAction;\n clearAllValues: () => ValueByIdClearAllValuesAction;\n}\n\nexport const createValueByIdActions = <TValue>(): ValueByIdActions<TValue> => ({\n setValue: (id, value) => ({\n type: \"VALUE_BY_ID:SET_VALUE\",\n id,\n value,\n }),\n clearValue: (id) => ({\n type: \"VALUE_BY_ID:CLEAR_VALUE\",\n id,\n }),\n clearAllValues: () => ({\n type: \"VALUE_BY_ID:CLEAR_ALL_VALUES\",\n }),\n});\n","import { ValueByIdState } from \"./value-by-id-reducer\";\n\nexport interface ValueByIdSelectors<TStoreState, TValue> {\n getState: ValueByIdStateSelector<TStoreState, TValue>;\n}\n\nexport type ValueByIdStateSelector<TStoreState, TValue> = (\n state: TStoreState\n) => ValueByIdState<TValue>;\n\nexport const createValueByIdSelectors = <TStoreState, TValue>(\n stateSelector: ValueByIdStateSelector<TStoreState, TValue>\n): ValueByIdSelectors<TStoreState, TValue> => ({\n getState: stateSelector,\n});\n"],"names":["createRecordObjectReducer","reducer","state","action","recordId","newState","innerAction","createRecordObjectActions","reducerIdGate","reducerId","isValidReducerIdGateAction","reducerIdGateAction","wrapActionWithReducerIdGate","actionCreator","args","wrapActionsWithReducerIdGate","actionCreators","boundActionCreators","key","createCommitReducerActions","id","values","createCommitReducer","initialState","createCommitReducerSelectors","stateSelector","createEntityListActions","entity","index","fields","list","fieldsMatch","keys","i","createEntityListReducer","item","createEntityListSelectors","store","entityByIdInitialState","createEntityByIdReducer","entities","createEntityByIdActions","createEntityByIdSelectors","createEntityReducer","initialEntity","INITIAL_STATE","createEntityActions","createEntitySelectors","createEntityCrudStatusReducer","createEntityCrudStatusActions","createEntityCrudStatusSelectors","createEntityCrudStatusRedux","actions","selectors","createModifiedFieldRedux","createEditableEntityReducer","initialId","createEditableEntityActions","createSelectedIdsReducerInitialState","initialSelection","createSelectedIdsReducer","selectedIds","selectedIdsReducer","createSelectedIdsActions","selectedIdsActions","createSelectedIdsSelectors","createSortOrderByIdReducer","sortOrderByIdReducer","createSortOrderByIdActions","ids","sortOrderByIdActions","createSortOrderByIdSelectors","rootStateProvider","createSortOrderReducerInitialState","sortBy","desc","createSortOrderReducer","createSortOrderActions","createSortOrderSelectors","stateProvider","valueByIdInitialState","createValueByIdReducer","initialValue","value","createValueByIdActions","createValueByIdSelectors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/features/higher-order-reducers/record-object-reducer/record-object-reducer.ts","../src/features/higher-order-reducers/record-object-reducer/record-object-action-creators.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-gate.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-action-wrapper.ts","../src/features/reducer-factories/commit-reducer/commit-action-creators.ts","../src/features/reducer-factories/commit-reducer/commit-reducer.ts","../src/features/reducer-factories/commit-reducer/commit-selectors.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-action-creators.ts","../src/common/util/field-matcher.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-reducer.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-selectors.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-reducer.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-action-creators.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-selectors.ts","../src/features/reducer-factories/entity-reducer/entity-reducer.ts","../src/features/reducer-factories/entity-reducer/entity-action-creators.ts","../src/features/reducer-factories/entity-reducer/entity-selectors.ts","../src/features/reducer-factories/entity-crud-status-reducer/entity-crud-status-redux.ts","../src/features/reducer-factories/modified-field-reducer/modified-field-redux.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-reducer.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-reducer.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-selectors.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-reducer.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-action-creators.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-selectors.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-reducer.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-action-creators.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-selectors.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-reducer.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-action-creators.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-selectors.ts"],"sourcesContent":["import { Reducer } from \"redux\";\nimport {\n RecordObjectAction,\n RecordObjectClearRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport type RecordObjectState<TInnerState> = Record<\n RecordObjectKey,\n TInnerState\n>;\n\nexport const createRecordObjectReducer =\n <TInnerAction extends RecordObjectWrappedAction, TInnerState = unknown>(\n reducer: Reducer<TInnerState, TInnerAction>\n ): Reducer<\n RecordObjectState<TInnerState>,\n RecordObjectAction<TInnerAction>\n > =>\n (state = {}, action) => {\n switch (action.type) {\n case \"RECORD_OBJECT:CLEAR_RECORD\": {\n const { recordId } = action as RecordObjectClearRecordAction;\n const newState = { ...state };\n delete newState[recordId];\n return newState;\n }\n\n case \"RECORD_OBJECT:CLEAR_ALL_RECORDS\": {\n return {};\n }\n\n case \"RECORD_OBJECT:ACTION\": {\n const { recordId, action: innerAction } = action;\n return {\n ...state,\n [recordId]: reducer(state[recordId], innerAction),\n };\n }\n\n default:\n return state;\n }\n };\n","import {\n RecordObjectClearAllRecordsAction,\n RecordObjectClearRecordAction,\n RecordObjectRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport interface RecordObjectActions<\n TInnerAction extends RecordObjectWrappedAction\n> {\n recordAction: (\n recordId: RecordObjectKey,\n action: TInnerAction\n ) => RecordObjectRecordAction<TInnerAction>;\n clearRecord: (recordId: RecordObjectKey) => RecordObjectClearRecordAction;\n clearAllRecords: () => RecordObjectClearAllRecordsAction;\n}\n\nexport const createRecordObjectActions = <\n TInnerAction extends RecordObjectWrappedAction\n>(): RecordObjectActions<TInnerAction> => ({\n recordAction: (recordId, action) => ({\n type: \"RECORD_OBJECT:ACTION\",\n action,\n recordId,\n }),\n clearRecord: (recordId) => ({\n type: \"RECORD_OBJECT:CLEAR_RECORD\",\n recordId,\n }),\n clearAllRecords: () => ({\n type: \"RECORD_OBJECT:CLEAR_ALL_RECORDS\",\n }),\n});\n","import { Action, AnyAction, Reducer } from \"redux\";\n\nexport interface ReducerIdGateAction<TInnerAction> {\n type: \"REDUCER_ID_GATE:ACTION\";\n reducerId: string;\n action: TInnerAction;\n}\n\nexport type ReducerIdGateReducer<\n TState,\n TInnerAction extends Action = AnyAction\n> = Reducer<TState, ReducerIdGateAction<TInnerAction>>;\n\nexport const reducerIdGate =\n <TState, TInnerAction extends Action = AnyAction>(\n reducerId: string,\n reducer: Reducer<TState, TInnerAction>\n ): ReducerIdGateReducer<TState, TInnerAction> =>\n (state, action) => {\n const newState =\n state == null ? reducer(undefined, {} as TInnerAction) : state;\n\n if (!isValidReducerIdGateAction(action)) {\n return newState;\n }\n\n if (\n reducerId !== action.reducerId ||\n action.type !== \"REDUCER_ID_GATE:ACTION\"\n ) {\n return newState;\n }\n return reducer(newState, action.action);\n };\n\nexport const reducerIdGateAction = <TInnerAction>(\n reducerId: string,\n action: TInnerAction\n): ReducerIdGateAction<TInnerAction> => ({\n type: \"REDUCER_ID_GATE:ACTION\",\n action,\n reducerId,\n});\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst isValidReducerIdGateAction = (action: any): boolean =>\n !!action.action &&\n action.type === \"REDUCER_ID_GATE:ACTION\" &&\n typeof action.reducerId === \"string\";\n","import { ReducerIdGateAction } from \"./reducer-id-gate\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ActionCreator = (...args: any) => any;\n\nexport type ActionCreatorCreator<TActionCreator extends ActionCreator> = (\n ...args: Parameters<TActionCreator>\n) => ReducerIdGateAction<ReturnType<TActionCreator>>;\n\nexport const wrapActionWithReducerIdGate =\n <TActionCreator extends ActionCreator>(\n reducerId: string,\n actionCreator: TActionCreator\n ): ActionCreatorCreator<TActionCreator> =>\n (...args) => {\n return {\n type: \"REDUCER_ID_GATE:ACTION\",\n reducerId,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n action: actionCreator(...(args as any)),\n };\n };\n\nexport interface ActionCreatorsMapObject {\n [key: string]: ActionCreator;\n}\n\nexport type ReducerIdGatedActionCreator<\n TActionCreators extends ActionCreatorsMapObject\n> = {\n [K in keyof TActionCreators]: ActionCreatorCreator<TActionCreators[K]>;\n};\n\nexport const wrapActionsWithReducerIdGate = <\n TActionCreators extends ActionCreatorsMapObject\n>(\n reducerId: string,\n actionCreators: TActionCreators\n): ReducerIdGatedActionCreator<TActionCreators> => {\n const boundActionCreators =\n {} as ReducerIdGatedActionCreator<TActionCreators>;\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n boundActionCreators[key] = wrapActionWithReducerIdGate(\n reducerId,\n actionCreator\n );\n }\n return boundActionCreators;\n};\n","import {\n ClearFilterValuesActionCreator,\n CommitFilterValuesActionCreator,\n SetFilterValuesActionCreator,\n} from \"./commit-actions\";\n\nexport interface CommitReducerActions<TState> {\n setValues: SetFilterValuesActionCreator<TState>;\n commitValues: CommitFilterValuesActionCreator;\n clearValues: ClearFilterValuesActionCreator;\n}\n\nexport const createCommitReducerActions = <TState>(\n id: string\n): CommitReducerActions<TState> => {\n return {\n setValues: (values) => ({\n type: \"COMMIT_REDUCER.SET_VALUES\",\n id,\n values,\n }),\n commitValues: () => ({\n type: \"COMMIT_REDUCER.COMMIT_VALUES\",\n id,\n }),\n clearValues: () => ({\n type: \"COMMIT_REDUCER.CLEAR\",\n id,\n }),\n };\n};\n","import { CommitReducerAction } from \"./commit-actions\";\nimport { CommitReducerState } from \"./commit-state\";\n\nexport const createCommitReducer =\n <TState>(id: string, initialState: CommitReducerState<TState>) =>\n (\n state: CommitReducerState<TState> = initialState,\n action: CommitReducerAction<TState>\n ): CommitReducerState<TState> => {\n if (action.id !== id) {\n return state;\n }\n switch (action.type) {\n case `COMMIT_REDUCER.SET_VALUES`: {\n const { values } = action;\n return {\n ...state,\n workspace: {\n ...state.workspace,\n ...values,\n },\n };\n }\n\n case `COMMIT_REDUCER.CLEAR`: {\n return {\n ...state,\n workspace: {\n ...initialState.workspace,\n },\n };\n }\n\n case `COMMIT_REDUCER.COMMIT_VALUES`: {\n return {\n ...state,\n committed: {\n ...state.workspace,\n },\n };\n }\n\n default:\n return state;\n }\n };\n","import { CommitReducerState } from \"./commit-state\";\n\nexport type CommitReducerStateSelector<TStoreState, TState> = (\n state: TStoreState,\n id: string\n) => CommitReducerState<TState>;\n\nexport interface CommitReducerSelectors<TStoreState, TState> {\n getWorkspaceValues: (state: TStoreState) => TState;\n getCommittedValues: (state: TStoreState) => TState;\n}\n\nexport const createCommitReducerSelectors = <TStoreState, TState>(\n id: string,\n stateSelector: CommitReducerStateSelector<TStoreState, TState>\n): CommitReducerSelectors<TStoreState, TState> => {\n return {\n getWorkspaceValues: (state) => stateSelector(state, id).workspace,\n getCommittedValues: (state) => stateSelector(state, id).committed,\n };\n};\n","import {\n EntityListActionByFieldsMatchAction,\n EntityListActionByIndexAction,\n EntityListActionOnAllAction,\n EntityListAddAtEndAction,\n EntityListAddAtStartAction,\n EntityListClearListAction,\n EntityListRemoveAction,\n EntityListRemoveAtIndexAction,\n EntityListRemoveByFieldMatchAction,\n EntityListRemoveFirstAction,\n EntityListRemoveLastAction,\n EntityListSetListAction,\n EntityListToggleAction,\n} from \"./entity-list-actions\";\n\nexport interface EntityListActions<T, TInnerAction> {\n addAtEnd: (entity: T) => EntityListAddAtEndAction<T>;\n addAtStart: (entity: T) => EntityListAddAtStartAction<T>;\n clearList: () => EntityListClearListAction;\n removeFirst: () => EntityListRemoveFirstAction;\n removeLast: () => EntityListRemoveLastAction;\n removeAtIndex: (index: number) => EntityListRemoveAtIndexAction;\n removeByFieldMatch: (\n fields: Partial<T>\n ) => EntityListRemoveByFieldMatchAction<T>;\n remove: (entity: T) => EntityListRemoveAction<T>;\n setList: (list: Array<T>) => EntityListSetListAction<T>;\n toggle: (entity: T) => EntityListToggleAction<T>;\n actionByFieldsMatch: (\n fields: Partial<T>,\n action: TInnerAction\n ) => EntityListActionByFieldsMatchAction<T, TInnerAction>;\n actionByIndex: (\n index: number,\n action: TInnerAction\n ) => EntityListActionByIndexAction<TInnerAction>;\n actionOnAll: (\n action: TInnerAction\n ) => EntityListActionOnAllAction<TInnerAction>;\n}\n\nexport const createEntityListActions = <\n T,\n TInnerAction = unknown\n>(): EntityListActions<T, TInnerAction> => {\n return {\n addAtEnd: (entity) => ({ type: \"ENTITY_LIST:ADD_AT_END\", entity }),\n addAtStart: (entity) => ({\n entity,\n type: \"ENTITY_LIST:ADD_AT_START\",\n }),\n clearList: () => ({ type: \"ENTITY_LIST:CLEAR_LIST\" }),\n removeFirst: () => ({ type: \"ENTITY_LIST:REMOVE_FIRST\" }),\n removeLast: () => ({ type: \"ENTITY_LIST:REMOVE_LAST\" }),\n removeAtIndex: (index) => ({\n type: \"ENTITY_LIST:REMOVE_AT_INDEX\",\n index,\n }),\n removeByFieldMatch: (fields) => ({\n type: \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\",\n fields,\n }),\n remove: (entity) => ({ type: \"ENTITY_LIST:REMOVE\", entity }),\n setList: (list) => ({ type: \"ENTITY_LIST:SET_LIST\", list }),\n toggle: (entity) => ({ type: \"ENTITY_LIST:TOGGLE\", entity }),\n actionByFieldsMatch: (fields, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\",\n fields,\n action,\n }),\n actionByIndex: (index, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_INDEX\",\n index,\n action,\n }),\n actionOnAll: (action) => ({\n type: \"ENTITY_LIST:ACTION_ON_ALL\",\n action,\n }),\n };\n};\n","export const fieldsMatch = <T>(entity: T, fields: Partial<T>): boolean => {\n const keys = Object.keys(fields) as Array<keyof T>;\n if (keys.length === 0) {\n return false;\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (entity[key] !== fields[key]) {\n return false;\n }\n }\n return true;\n};\n","import { EntityListAction } from \"./entity-list-actions\";\nimport { fieldsMatch } from \"../../../common/util/field-matcher\";\nimport { Action, AnyAction, Reducer } from \"redux\";\n\nexport type EntityListState<TListItem> = Array<TListItem>;\n\nexport const createEntityListReducer =\n <TListItem, TListItemAction extends Action = AnyAction>(\n reducer?: Reducer<TListItem, TListItemAction>\n ) =>\n (\n state: EntityListState<TListItem> = [],\n action: EntityListAction<TListItem, TListItemAction>\n ): EntityListState<TListItem> => {\n switch (action.type) {\n case \"ENTITY_LIST:SET_LIST\": {\n const { list } = action;\n return list;\n }\n case \"ENTITY_LIST:CLEAR_LIST\": {\n return [];\n }\n case \"ENTITY_LIST:ADD_AT_END\": {\n const { entity } = action;\n return [...state, entity];\n }\n case \"ENTITY_LIST:ADD_AT_START\": {\n const { entity } = action;\n return [entity, ...state];\n }\n case \"ENTITY_LIST:REMOVE_FIRST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const [, ...list] = state;\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_LAST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const list = [...state];\n list.pop();\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_AT_INDEX\": {\n const { index } = action;\n if (index < 0) {\n throw new Error(\"Index is lower than 0.\");\n }\n if (index >= state.length) {\n throw new Error(\"Index is outside of list bounds.\");\n }\n const list = [...state];\n list.splice(index, 1);\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\": {\n const { fields } = action;\n return state.filter((item) => !fieldsMatch(item, fields));\n }\n\n case \"ENTITY_LIST:REMOVE\": {\n const { entity } = action;\n return state.filter((item) => item !== entity);\n }\n\n case \"ENTITY_LIST:TOGGLE\": {\n const { entity } = action;\n const index = state.findIndex(\n (item) => item === entity || fieldsMatch(item, entity)\n );\n\n if (index >= 0) {\n const list = [...state];\n list.splice(index, index);\n\n return list;\n } else {\n return [...state, entity];\n }\n }\n\n case \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\": {\n const { fields, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByFieldsMatch'.\"\n );\n }\n return state.map((item) =>\n fieldsMatch(item, fields) ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_BY_INDEX\": {\n const { index, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item, i) =>\n index === i ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_ON_ALL\": {\n const { action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item) => reducer(item, innerAction));\n }\n\n default:\n return state;\n }\n };\n","import { EntityListState } from \"./entity-list-reducer\";\n\nexport interface EntityListSelectors<TStoreState, TEntity> {\n getList: (store: TStoreState) => Array<TEntity>;\n}\n\nexport type EntityListSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityListState<TEntity>;\n\nexport const createEntityListSelectors = <TStoreState, TEntity>(\n stateSelector: EntityListSelector<TStoreState, TEntity>\n): EntityListSelectors<TStoreState, TEntity> => ({\n getList: (store) => stateSelector(store),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"./entity-by-id-actions\";\n\nexport interface EntityByIdState<T extends EntityWithId> {\n entities: { [key: string]: T };\n}\n\nexport const entityByIdInitialState = { entities: {} };\n\nexport const createEntityByIdReducer = <T extends EntityWithId>() => {\n return (\n state: EntityByIdState<T> = entityByIdInitialState,\n action: EntityByIdAction<T>\n ): EntityByIdState<T> => {\n switch (action.type) {\n case \"ENTITY_BY_ID:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [entity.id]: entity,\n },\n };\n }\n\n case \"ENTITY_BY_ID:SET_ENTITY_FIELDS\": {\n const { id, fields } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [id]: {\n ...state.entities[id],\n ...fields,\n },\n },\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\": {\n return {\n ...state,\n entities: {},\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ENTITY\": {\n const { id } = action;\n const entities = {\n ...state.entities,\n };\n delete entities[id];\n return {\n ...state,\n entities,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport {\n EntityByIdClearAllEntitiesAction,\n EntityByIdClearEntityAction,\n EntityByIdSetEntityAction,\n EntityByIdSetEntityFieldsAction,\n} from \"./entity-by-id-actions\";\n\nexport interface EntityByIdActions<T extends EntityWithId> {\n setEntity: (entity: T) => EntityByIdSetEntityAction<T>;\n setEntityFields: (\n id: string,\n fields: Partial<T>\n ) => EntityByIdSetEntityFieldsAction<T>;\n clearEntity: (id: string) => EntityByIdClearEntityAction;\n clearAllEntities: () => EntityByIdClearAllEntitiesAction;\n}\n\nexport const createEntityByIdActions = <\n T extends EntityWithId\n>(): EntityByIdActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (id, fields) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY_FIELDS\",\n id,\n fields,\n }),\n clearEntity: (id) => ({\n type: \"ENTITY_BY_ID:CLEAR_ENTITY\",\n id,\n }),\n clearAllEntities: () => ({\n type: \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\",\n }),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdState } from \"./entity-by-id-reducer\";\n\nexport interface EntityByIdSelectors<\n TStoreState,\n TEntity extends EntityWithId\n> {\n getState: EntityByIdStateSelector<TStoreState, TEntity>;\n}\n\nexport type EntityByIdStateSelector<\n TStoreState,\n TEntity extends EntityWithId\n> = (state: TStoreState) => EntityByIdState<TEntity>;\n\nexport const createEntityByIdSelectors = <\n TStoreState,\n TEntity extends EntityWithId\n>(\n stateSelector: EntityByIdStateSelector<TStoreState, TEntity>\n): EntityByIdSelectors<TStoreState, TEntity> => ({\n getState: stateSelector,\n});\n","import { EntityAction } from \"./entity-actions\";\nimport { Reducer } from \"redux\";\n\nexport type EntityState<T> = T;\n\nexport const createEntityReducer = <T>(\n initialEntity: T\n): Reducer<EntityState<T>, EntityAction<T>> => {\n const INITIAL_STATE = initialEntity;\n\n return (\n state: EntityState<T> = INITIAL_STATE,\n action: EntityAction<T>\n ): EntityState<T> => {\n switch (action.type) {\n case \"ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return entity;\n }\n\n case \"ENTITY:SET_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n ...fields,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EntitySetEntityAction,\n EntitySetEntityFieldsAction,\n} from \"./entity-actions\";\n\nexport interface EntityActions<T> {\n setEntity: (entity: T) => EntitySetEntityAction<T>;\n setEntityFields: (fields: Partial<T>) => EntitySetEntityFieldsAction<T>;\n}\n\nexport const createEntityActions = <T>(): EntityActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (fields) => ({\n type: \"ENTITY:SET_ENTITY_FIELDS\",\n fields,\n }),\n});\n","import { EntityState } from \"./entity-reducer\";\n\nexport interface EntitySelectors<TStoreState, TEntity> {\n getEntity: (state: TStoreState) => TEntity;\n}\n\nexport type EntityStateSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityState<TEntity>;\n\nexport const createEntitySelectors = <TStoreState, TEntity>(\n stateSelector: EntityStateSelector<TStoreState, TEntity>\n): EntitySelectors<TStoreState, TEntity> => ({\n getEntity: (state) => stateSelector(state),\n});\n","import { Reducer } from \"redux\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n EntityByIdStateSelector,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\n\nexport interface EntityCrudStatus extends CrudStatus {\n id: string;\n}\n\nexport interface CrudStatus {\n loading?: boolean;\n creating?: boolean;\n updating?: boolean;\n modified?: boolean;\n deleting?: boolean;\n hasError?: boolean;\n errorMessage?: string;\n}\n\nexport type EntityCrudStatusState = EntityByIdState<EntityCrudStatus>;\nexport type EntityCrudStatusAction = EntityByIdAction<EntityCrudStatus>;\nexport type EntityCrudStatusActions = EntityByIdActions<EntityCrudStatus>;\n\nexport interface EntityCrudStatusRedux<TStoreState> {\n reducer: EntityCrudStatusReducer;\n actions: EntityCrudStatusActions;\n selectors: EntityCrudStatusSelectors<TStoreState>;\n}\n\nexport type EntityCrudStatusReducer = Reducer<\n EntityCrudStatusState,\n EntityByIdAction<EntityCrudStatus>\n>;\n\nexport const createEntityCrudStatusReducer = () =>\n createEntityByIdReducer<EntityCrudStatus>();\n\nexport const createEntityCrudStatusActions = (): EntityCrudStatusActions =>\n createEntityByIdActions<EntityCrudStatus>();\n\nexport type EntityCrudStatusSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n EntityCrudStatus\n>;\n\nexport const createEntityCrudStatusSelectors = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n) => createEntityByIdSelectors<TStoreState, EntityCrudStatus>(stateSelector);\n\nexport const createEntityCrudStatusRedux = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n): EntityCrudStatusRedux<TStoreState> => {\n const reducer = createEntityCrudStatusReducer();\n const actions = createEntityCrudStatusActions();\n const selectors = createEntityCrudStatusSelectors(stateSelector);\n return {\n reducer,\n actions,\n selectors,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\n\nexport interface ModifiedFieldItemState extends EntityWithId {\n modified?: boolean;\n originalValue?: string;\n newValue?: string;\n}\n\nexport type ModifiedFieldState = EntityByIdState<ModifiedFieldItemState>;\nexport type ModifiedFieldAction = EntityByIdAction<ModifiedFieldItemState>;\nexport type ModifiedFieldActions = EntityByIdActions<ModifiedFieldItemState>;\n\nexport type ModifiedFieldsSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n>;\n\nexport type ModifiedFieldStateSelector<TStoreState> = (\n state: TStoreState\n) => ModifiedFieldState;\n\nexport type ModifiedStateReducer = Reducer<\n ModifiedFieldState,\n ModifiedFieldAction\n>;\n\nexport interface ModifiedFieldRedux<TStoreState> {\n reducer: ModifiedStateReducer;\n selectors: ModifiedFieldsSelectors<TStoreState>;\n actions: ModifiedFieldActions;\n}\n\nexport const createModifiedFieldRedux = <TStoreState>(\n stateSelector: ModifiedFieldStateSelector<TStoreState>\n): ModifiedFieldRedux<TStoreState> => {\n const reducer = createEntityByIdReducer<ModifiedFieldItemState>();\n\n const selectors: ModifiedFieldsSelectors<TStoreState> =\n createEntityByIdSelectors<TStoreState, ModifiedFieldItemState>(\n stateSelector\n );\n\n const actions = createEntityByIdActions<ModifiedFieldItemState>();\n\n return {\n reducer,\n selectors,\n actions,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EditableEntityAction } from \"./editable-entity-actions\";\n\nexport interface EditableEntityState<T> {\n id?: string;\n persisted: T;\n editable: T;\n}\n\nexport const createEditableEntityReducer = <T>(\n initialEntity: T,\n initialId?: string\n): Reducer<EditableEntityState<T>, EditableEntityAction<T>> => {\n const initialState: EditableEntityState<T> = {\n id: initialId,\n editable: initialEntity,\n persisted: initialEntity,\n };\n\n return (state = initialState, action) => {\n switch (action.type) {\n case \"EDITABLE_ENTITY:SET_ENTITY_ID\": {\n const { id } = action;\n return {\n ...state,\n id,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n editable: {\n ...state.editable,\n ...fields,\n },\n };\n }\n\n case \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\": {\n return {\n ...state,\n editable: state.persisted,\n };\n }\n\n case \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\": {\n return {\n ...state,\n persisted: state.editable,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EditableEntityCommitEditableEntityToPersistedAction,\n EditableEntityRevertEditableEntityAction,\n EditableEntitySetEditableEntityAction,\n EditableEntitySetEditableEntityFieldsAction,\n EditableEntitySetEntityAction,\n EditableEntitySetEntityIdAction,\n EditableEntitySetPersistedEntityAction,\n} from \"./editable-entity-actions\";\n\nexport interface EditableEntityActions<T> {\n setEntityId: (\n entityId: string | undefined\n ) => EditableEntitySetEntityIdAction;\n setEntity: (entity: T) => EditableEntitySetEntityAction<T>;\n setPersistedEntity: (entity: T) => EditableEntitySetPersistedEntityAction<T>;\n setEditableEntity: (entity: T) => EditableEntitySetEditableEntityAction<T>;\n setEditableEntityFields: (\n fields: Partial<T>\n ) => EditableEntitySetEditableEntityFieldsAction<T>;\n revertEditableEntity: () => EditableEntityRevertEditableEntityAction;\n commitEditableEntityToPersisted: () => EditableEntityCommitEditableEntityToPersistedAction;\n}\n\nexport const createEditableEntityActions = <T>(): EditableEntityActions<T> => ({\n setEntityId: (id: string | undefined) => ({\n type: \"EDITABLE_ENTITY:SET_ENTITY_ID\",\n id,\n }),\n setEntity: (entity) => ({ type: \"EDITABLE_ENTITY:SET_ENTITY\", entity }),\n setPersistedEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\",\n entity,\n }),\n setEditableEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\",\n entity,\n }),\n setEditableEntityFields: (fields) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\",\n fields,\n }),\n revertEditableEntity: () => ({\n type: \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\",\n }),\n commitEditableEntityToPersisted: () => ({\n type: \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\",\n }),\n});\n","import { Reducer } from \"redux\";\nimport { SelectedIdsAction } from \"./selected-ids-actions\";\n\nexport interface SelectedIdsState {\n selectedIds: Array<string>;\n}\n\nexport const createSelectedIdsReducerInitialState = (\n initialSelection: string[] = []\n): SelectedIdsState => ({\n selectedIds: initialSelection,\n});\n\nconst INITIAL_STATE = createSelectedIdsReducerInitialState();\n\nexport type SelectedIdsReducer = Reducer<SelectedIdsState, SelectedIdsAction>;\n\nexport const createSelectedIdsReducer =\n (initialState: SelectedIdsState = INITIAL_STATE): SelectedIdsReducer =>\n (state = initialState, action) => {\n switch (action.type) {\n case \"SELECTED_IDS:SET_SELECTED_IDS\": {\n const { selectedIds } = action;\n return {\n ...state,\n selectedIds,\n };\n }\n case \"SELECTED_IDS:CLEAR_SELECTED_IDS\": {\n return {\n ...state,\n selectedIds: [],\n };\n }\n default:\n return state;\n }\n };\n\nexport const selectedIdsReducer = createSelectedIdsReducer();\n","import {\n SelectedIdsClearSelectedIdsAction,\n SelectedIdsSetSelectedIdsAction,\n} from \"./selected-ids-actions\";\n\nexport interface SelectedIdsActions {\n setSelectedIds: (ids: Array<string>) => SelectedIdsSetSelectedIdsAction;\n clearSelectedIds: () => SelectedIdsClearSelectedIdsAction;\n}\n\nexport const createSelectedIdsActions = (): SelectedIdsActions => ({\n setSelectedIds: (selectedIds) => ({\n selectedIds,\n type: \"SELECTED_IDS:SET_SELECTED_IDS\",\n }),\n clearSelectedIds: () => ({\n type: \"SELECTED_IDS:CLEAR_SELECTED_IDS\",\n }),\n});\n\nexport const selectedIdsActions = createSelectedIdsActions();\n","import { SelectedIdsState } from \"./selected-ids-reducer\";\n\nexport interface SelectedIdsSelectors<TStoreState> {\n getState: SelectedIdsStateSelector<TStoreState>;\n}\n\nexport type SelectedIdsStateSelector<TStoreState> = (\n state: TStoreState\n) => SelectedIdsState;\n\nexport const createSelectedIdsSelectors = <TStoreState>(\n stateSelector: SelectedIdsStateSelector<TStoreState>\n): SelectedIdsSelectors<TStoreState> => ({\n getState: stateSelector,\n});\n","import { SortOrderByIdAction } from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdState {\n ids: Array<string> | undefined;\n}\n\nconst INITIAL_STATE: SortOrderByIdState = {\n ids: undefined,\n};\n\nexport const createSortOrderByIdReducer =\n () =>\n (\n state: SortOrderByIdState = INITIAL_STATE,\n action: SortOrderByIdAction\n ): SortOrderByIdState => {\n switch (action.type) {\n case \"SORT_ORDER_BY_ID:SET_SORT_ORDER\":\n return {\n ...state,\n ids: action.ids,\n };\n\n case \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\":\n return {\n ...state,\n ids: undefined,\n };\n\n default:\n return state;\n }\n };\n\nexport const sortOrderByIdReducer = createSortOrderByIdReducer();\n","import {\n SortOrderByIdClearSortOrderAction,\n SortOrderByIdSetSortOrderAction,\n} from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdActions {\n setSortOrder: (ids: Array<string>) => SortOrderByIdSetSortOrderAction;\n clearSortOrder: () => SortOrderByIdClearSortOrderAction;\n}\n\nexport const createSortOrderByIdActions = (): SortOrderByIdActions => {\n return {\n setSortOrder: (ids) => ({\n ids,\n type: \"SORT_ORDER_BY_ID:SET_SORT_ORDER\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\",\n }),\n };\n};\n\nexport const sortOrderByIdActions = createSortOrderByIdActions();\n","import { SortOrderByIdState } from \"./sort-order-by-id-reducer\";\n\ninterface SortOrderByIdSelectors<TStoreState> {\n getSortOrderByIdState: (state: TStoreState) => SortOrderByIdState;\n getSortOrder: (state: TStoreState) => Array<string> | undefined;\n}\n\ntype SortOrderByIdStateProvider<TStoreState> = (\n state: TStoreState\n) => SortOrderByIdState;\n\nexport const createSortOrderByIdSelectors = <TStoreState>(\n rootStateProvider: SortOrderByIdStateProvider<TStoreState>\n): SortOrderByIdSelectors<TStoreState> => {\n return {\n getSortOrderByIdState: (state) => {\n return rootStateProvider(state);\n },\n getSortOrder: (state) => {\n return rootStateProvider(state).ids;\n },\n };\n};\n","import { Reducer } from \"redux\";\nimport { SortOrderAction } from \"./sort-order-actions\";\n\nexport interface SortOrderState<TSortBy> {\n sortBy: TSortBy | undefined;\n desc: boolean;\n}\n\nexport const createSortOrderReducerInitialState = <TSortBy>(\n sortBy: TSortBy | undefined = undefined,\n desc: boolean = false\n): SortOrderState<TSortBy> => ({\n sortBy,\n desc,\n});\n\nexport type SortOrderReducer<TSortBy> = Reducer<\n SortOrderState<TSortBy>,\n SortOrderAction<TSortBy>\n>;\n\nexport const createSortOrderReducer =\n <TSortBy>(\n initialState: SortOrderState<TSortBy> = { sortBy: undefined, desc: false }\n ): SortOrderReducer<TSortBy> =>\n (state = initialState, action) => {\n switch (action.type) {\n case \"SORT_ORDER:SET_SORT_BY\": {\n const { sortBy, desc } = action;\n return {\n ...state,\n sortBy,\n desc,\n };\n }\n\n case \"SORT_ORDER:CLEAR_SORT_ORDER\": {\n return {\n ...state,\n sortBy: undefined,\n desc: false,\n };\n }\n\n default:\n return state;\n }\n };\n","import {\n SortOrderClearSortOrderAction,\n SortOrderSetSortByAction,\n} from \"./sort-order-actions\";\n\nexport interface SortOrderActions<TSortBy> {\n sortBy: (sortBy: TSortBy, desc: boolean) => SortOrderSetSortByAction<TSortBy>;\n clearSortOrder: () => SortOrderClearSortOrderAction;\n}\n\nexport const createSortOrderActions = <\n TSortBy\n>(): SortOrderActions<TSortBy> => ({\n sortBy: (sortBy, desc) => ({\n desc,\n sortBy,\n type: \"SORT_ORDER:SET_SORT_BY\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER:CLEAR_SORT_ORDER\",\n }),\n});\n","import { SortOrderState } from \"./sort-order-reducer\";\n\nexport interface SortOrderSelectors<TStoreState, TSortBy> {\n getState: SortOrderStateSelector<TStoreState, TSortBy>;\n}\n\nexport type SortOrderStateSelector<TStoreState, TSortBy> = (\n state: TStoreState\n) => SortOrderState<TSortBy>;\n\nexport const createSortOrderSelectors = <TStoreState, TSortBy>(\n stateProvider: SortOrderStateSelector<TStoreState, TSortBy>\n): SortOrderSelectors<TStoreState, TSortBy> => ({\n getState: stateProvider,\n});\n","import { ValueByIdAction } from \"./value-by-id-actions\";\n\nexport interface ValueByIdState<TValue> {\n values: { [key: string]: TValue };\n}\n\nexport const valueByIdInitialState = { values: {} };\n\nexport const createValueByIdReducer = <TValue>(\n initialValue: ValueByIdState<TValue> = valueByIdInitialState\n) => {\n return (\n state: ValueByIdState<TValue> = initialValue,\n action: ValueByIdAction<TValue>\n ): ValueByIdState<TValue> => {\n switch (action.type) {\n case \"VALUE_BY_ID:SET_VALUE\": {\n const { id, value } = action;\n return {\n ...state,\n values: {\n ...state.values,\n [id]: value,\n },\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_ALL_VALUES\": {\n return {\n ...state,\n values: {},\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_VALUE\": {\n const { id } = action;\n const values = {\n ...state.values,\n };\n delete values[id];\n return {\n ...state,\n values,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n ValueByIdClearAllValuesAction,\n ValueByIdClearValueAction,\n ValueByIdSetValueAction,\n} from \"./value-by-id-actions\";\n\nexport interface ValueByIdActions<TValue> {\n setValue: (id: string, value: TValue) => ValueByIdSetValueAction<TValue>;\n clearValue: (id: string) => ValueByIdClearValueAction;\n clearAllValues: () => ValueByIdClearAllValuesAction;\n}\n\nexport const createValueByIdActions = <TValue>(): ValueByIdActions<TValue> => ({\n setValue: (id, value) => ({\n type: \"VALUE_BY_ID:SET_VALUE\",\n id,\n value,\n }),\n clearValue: (id) => ({\n type: \"VALUE_BY_ID:CLEAR_VALUE\",\n id,\n }),\n clearAllValues: () => ({\n type: \"VALUE_BY_ID:CLEAR_ALL_VALUES\",\n }),\n});\n","import { ValueByIdState } from \"./value-by-id-reducer\";\n\nexport interface ValueByIdSelectors<TStoreState, TValue> {\n getState: ValueByIdStateSelector<TStoreState, TValue>;\n}\n\nexport type ValueByIdStateSelector<TStoreState, TValue> = (\n state: TStoreState\n) => ValueByIdState<TValue>;\n\nexport const createValueByIdSelectors = <TStoreState, TValue>(\n stateSelector: ValueByIdStateSelector<TStoreState, TValue>\n): ValueByIdSelectors<TStoreState, TValue> => ({\n getState: stateSelector,\n});\n"],"names":["createRecordObjectReducer","reducer","state","action","recordId","newState","innerAction","createRecordObjectActions","reducerIdGate","reducerId","isValidReducerIdGateAction","reducerIdGateAction","wrapActionWithReducerIdGate","actionCreator","args","wrapActionsWithReducerIdGate","actionCreators","boundActionCreators","key","createCommitReducerActions","id","values","createCommitReducer","initialState","createCommitReducerSelectors","stateSelector","createEntityListActions","entity","index","fields","list","fieldsMatch","keys","i","createEntityListReducer","item","createEntityListSelectors","store","entityByIdInitialState","createEntityByIdReducer","entities","createEntityByIdActions","createEntityByIdSelectors","createEntityReducer","initialEntity","INITIAL_STATE","createEntityActions","createEntitySelectors","createEntityCrudStatusReducer","createEntityCrudStatusActions","createEntityCrudStatusSelectors","createEntityCrudStatusRedux","actions","selectors","createModifiedFieldRedux","createEditableEntityReducer","initialId","createEditableEntityActions","createSelectedIdsReducerInitialState","initialSelection","createSelectedIdsReducer","selectedIds","selectedIdsReducer","createSelectedIdsActions","selectedIdsActions","createSelectedIdsSelectors","createSortOrderByIdReducer","sortOrderByIdReducer","createSortOrderByIdActions","ids","sortOrderByIdActions","createSortOrderByIdSelectors","rootStateProvider","createSortOrderReducerInitialState","sortBy","desc","createSortOrderReducer","createSortOrderActions","createSortOrderSelectors","stateProvider","valueByIdInitialState","createValueByIdReducer","initialValue","value","createValueByIdActions","createValueByIdSelectors"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=e=>(t={},E)=>{switch(E.type){case"RECORD_OBJECT:CLEAR_RECORD":{const{recordId:r}=E,c={...t};return delete c[r],c}case"RECORD_OBJECT:CLEAR_ALL_RECORDS":return{};case"RECORD_OBJECT:ACTION":{const{recordId:r,action:c}=E;return{...t,[r]:e(t[r],c)}}default:return t}},N=()=>({recordAction:(e,t)=>({type:"RECORD_OBJECT:ACTION",action:t,recordId:e}),clearRecord:e=>({type:"RECORD_OBJECT:CLEAR_RECORD",recordId:e}),clearAllRecords:()=>({type:"RECORD_OBJECT:CLEAR_ALL_RECORDS"})}),Y=(e,t)=>(E,r)=>{
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=e=>(t={},E)=>{switch(E.type){case"RECORD_OBJECT:CLEAR_RECORD":{const{recordId:r}=E,c={...t};return delete c[r],c}case"RECORD_OBJECT:CLEAR_ALL_RECORDS":return{};case"RECORD_OBJECT:ACTION":{const{recordId:r,action:c}=E;return{...t,[r]:e(t[r],c)}}default:return t}},N=()=>({recordAction:(e,t)=>({type:"RECORD_OBJECT:ACTION",action:t,recordId:e}),clearRecord:e=>({type:"RECORD_OBJECT:CLEAR_RECORD",recordId:e}),clearAllRecords:()=>({type:"RECORD_OBJECT:CLEAR_ALL_RECORDS"})}),Y=(e,t)=>(E,r)=>{const c=E??t(void 0,{});return!B(r)||e!==r.reducerId||r.type!=="REDUCER_ID_GATE:ACTION"?c:t(c,r.action)},C=(e,t)=>({type:"REDUCER_ID_GATE:ACTION",action:t,reducerId:e}),B=e=>!!e.action&&e.type==="REDUCER_ID_GATE:ACTION"&&typeof e.reducerId=="string",i=(e,t)=>(...E)=>({type:"REDUCER_ID_GATE:ACTION",reducerId:e,action:t(...E)}),p=(e,t)=>{const E={};for(const r in t){const c=t[r];E[r]=i(e,c)}return E},f=e=>({setValues:t=>({type:"COMMIT_REDUCER.SET_VALUES",id:e,values:t}),commitValues:()=>({type:"COMMIT_REDUCER.COMMIT_VALUES",id:e}),clearValues:()=>({type:"COMMIT_REDUCER.CLEAR",id:e})}),V=(e,t)=>(E=t,r)=>{if(r.id!==e)return E;switch(r.type){case"COMMIT_REDUCER.SET_VALUES":{const{values:c}=r;return{...E,workspace:{...E.workspace,...c}}}case"COMMIT_REDUCER.CLEAR":return{...E,workspace:{...t.workspace}};case"COMMIT_REDUCER.COMMIT_VALUES":return{...E,committed:{...E.workspace}};default:return E}},M=(e,t)=>({getWorkspaceValues:E=>t(E,e).workspace,getCommittedValues:E=>t(E,e).committed}),w=()=>({addAtEnd:e=>({type:"ENTITY_LIST:ADD_AT_END",entity:e}),addAtStart:e=>({entity:e,type:"ENTITY_LIST:ADD_AT_START"}),clearList:()=>({type:"ENTITY_LIST:CLEAR_LIST"}),removeFirst:()=>({type:"ENTITY_LIST:REMOVE_FIRST"}),removeLast:()=>({type:"ENTITY_LIST:REMOVE_LAST"}),removeAtIndex:e=>({type:"ENTITY_LIST:REMOVE_AT_INDEX",index:e}),removeByFieldMatch:e=>({type:"ENTITY_LIST:REMOVE_BY_FIELD_MATCH",fields:e}),remove:e=>({type:"ENTITY_LIST:REMOVE",entity:e}),setList:e=>({type:"ENTITY_LIST:SET_LIST",list:e}),toggle:e=>({type:"ENTITY_LIST:TOGGLE",entity:e}),actionByFieldsMatch:(e,t)=>({type:"ENTITY_LIST:ACTION_BY_FIELDS_MATCH",fields:e,action:t}),actionByIndex:(e,t)=>({type:"ENTITY_LIST:ACTION_BY_INDEX",index:e,action:t}),actionOnAll:e=>({type:"ENTITY_LIST:ACTION_ON_ALL",action:e})}),n=(e,t)=>{const E=Object.keys(t);if(E.length===0)return!1;for(let r=0;r<E.length;r++){const c=E[r];if(e[c]!==t[c])return!1}return!0},h=e=>(t=[],E)=>{switch(E.type){case"ENTITY_LIST:SET_LIST":{const{list:r}=E;return r}case"ENTITY_LIST:CLEAR_LIST":return[];case"ENTITY_LIST:ADD_AT_END":{const{entity:r}=E;return[...t,r]}case"ENTITY_LIST:ADD_AT_START":{const{entity:r}=E;return[r,...t]}case"ENTITY_LIST:REMOVE_FIRST":{if(t.length===0)throw new Error("Cannot remove, list is empty.");const[,...r]=t;return r}case"ENTITY_LIST:REMOVE_LAST":{if(t.length===0)throw new Error("Cannot remove, list is empty.");const r=[...t];return r.pop(),r}case"ENTITY_LIST:REMOVE_AT_INDEX":{const{index:r}=E;if(r<0)throw new Error("Index is lower than 0.");if(r>=t.length)throw new Error("Index is outside of list bounds.");const c=[...t];return c.splice(r,1),c}case"ENTITY_LIST:REMOVE_BY_FIELD_MATCH":{const{fields:r}=E;return t.filter(c=>!n(c,r))}case"ENTITY_LIST:REMOVE":{const{entity:r}=E;return t.filter(c=>c!==r)}case"ENTITY_LIST:TOGGLE":{const{entity:r}=E,c=t.findIndex(T=>T===r||n(T,r));if(c>=0){const T=[...t];return T.splice(c,c),T}else return[...t,r]}case"ENTITY_LIST:ACTION_BY_FIELDS_MATCH":{const{fields:r,action:c}=E;if(!e)throw new Error("No reducer specified, unable to handle 'actionByFieldsMatch'.");return t.map(T=>n(T,r)?e(T,c):T)}case"ENTITY_LIST:ACTION_BY_INDEX":{const{index:r,action:c}=E;if(!e)throw new Error("No reducer specified, unable to handle 'actionByIndex'.");return t.map((T,D)=>r===D?e(T,c):T)}case"ENTITY_LIST:ACTION_ON_ALL":{const{action:r}=E;if(!e)throw new Error("No reducer specified, unable to handle 'actionByIndex'.");return t.map(c=>e(c,r))}default:return t}},m=e=>({getList:t=>e(t)}),_={entities:{}},s=()=>(e=_,t)=>{switch(t.type){case"ENTITY_BY_ID:SET_ENTITY":{const{entity:E}=t;return{...e,entities:{...e.entities,[E.id]:E}}}case"ENTITY_BY_ID:SET_ENTITY_FIELDS":{const{id:E,fields:r}=t;return{...e,entities:{...e.entities,[E]:{...e.entities[E],...r}}}}case"ENTITY_BY_ID:CLEAR_ALL_ENTITIES":return{...e,entities:{}};case"ENTITY_BY_ID:CLEAR_ENTITY":{const{id:E}=t,r={...e.entities};return delete r[E],{...e,entities:r}}default:return e}},I=()=>({setEntity:e=>({type:"ENTITY_BY_ID:SET_ENTITY",entity:e}),setEntityFields:(e,t)=>({type:"ENTITY_BY_ID:SET_ENTITY_FIELDS",id:e,fields:t}),clearEntity:e=>({type:"ENTITY_BY_ID:CLEAR_ENTITY",id:e}),clearAllEntities:()=>({type:"ENTITY_BY_ID:CLEAR_ALL_ENTITIES"})}),d=e=>({getState:e}),b=e=>{const t=e;return(E=t,r)=>{switch(r.type){case"ENTITY:SET_ENTITY":{const{entity:c}=r;return c}case"ENTITY:SET_ENTITY_FIELDS":{const{fields:c}=r;return{...E,...c}}default:return E}}},U=()=>({setEntity:e=>({type:"ENTITY:SET_ENTITY",entity:e}),setEntityFields:e=>({type:"ENTITY:SET_ENTITY_FIELDS",fields:e})}),v=e=>({getEntity:t=>e(t)}),o=()=>s(),S=()=>I(),u=e=>d(e),F=e=>{const t=o(),E=S(),r=u(e);return{reducer:t,actions:E,selectors:r}},g=e=>{const t=s(),E=d(e),r=I();return{reducer:t,selectors:E,actions:r}},G=(e,t)=>{const E={id:t,editable:e,persisted:e};return(r=E,c)=>{switch(c.type){case"EDITABLE_ENTITY:SET_ENTITY_ID":{const{id:T}=c;return{...r,id:T}}case"EDITABLE_ENTITY:SET_ENTITY":{const{entity:T}=c;return{...r,persisted:T,editable:T}}case"EDITABLE_ENTITY:SET_PERSISTED_ENTITY":{const{entity:T}=c;return{...r,persisted:T}}case"EDITABLE_ENTITY:SET_EDITABLE_ENTITY":{const{entity:T}=c;return{...r,editable:T}}case"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS":{const{fields:T}=c;return{...r,editable:{...r.editable,...T}}}case"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY":return{...r,editable:r.persisted};case"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED":return{...r,persisted:r.editable};default:return r}}},x=()=>({setEntityId:e=>({type:"EDITABLE_ENTITY:SET_ENTITY_ID",id:e}),setEntity:e=>({type:"EDITABLE_ENTITY:SET_ENTITY",entity:e}),setPersistedEntity:e=>({type:"EDITABLE_ENTITY:SET_PERSISTED_ENTITY",entity:e}),setEditableEntity:e=>({type:"EDITABLE_ENTITY:SET_EDITABLE_ENTITY",entity:e}),setEditableEntityFields:e=>({type:"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS",fields:e}),revertEditableEntity:()=>({type:"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY"}),commitEditableEntityToPersisted:()=>({type:"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED"})}),R=(e=[])=>({selectedIds:e}),k=R(),a=(e=k)=>(t=e,E)=>{switch(E.type){case"SELECTED_IDS:SET_SELECTED_IDS":{const{selectedIds:r}=E;return{...t,selectedIds:r}}case"SELECTED_IDS:CLEAR_SELECTED_IDS":return{...t,selectedIds:[]};default:return t}},j=a(),l=()=>({setSelectedIds:e=>({selectedIds:e,type:"SELECTED_IDS:SET_SELECTED_IDS"}),clearSelectedIds:()=>({type:"SELECTED_IDS:CLEAR_SELECTED_IDS"})}),J=l(),P=e=>({getState:e}),W={ids:void 0},y=()=>(e=W,t)=>{switch(t.type){case"SORT_ORDER_BY_ID:SET_SORT_ORDER":return{...e,ids:t.ids};case"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER":return{...e,ids:void 0};default:return e}},H=y(),A=()=>({setSortOrder:e=>({ids:e,type:"SORT_ORDER_BY_ID:SET_SORT_ORDER"}),clearSortOrder:()=>({type:"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER"})}),X=A(),$=e=>({getSortOrderByIdState:t=>e(t),getSortOrder:t=>e(t).ids}),q=(e=void 0,t=!1)=>({sortBy:e,desc:t}),z=(e={sortBy:void 0,desc:!1})=>(t=e,E)=>{switch(E.type){case"SORT_ORDER:SET_SORT_BY":{const{sortBy:r,desc:c}=E;return{...t,sortBy:r,desc:c}}case"SORT_ORDER:CLEAR_SORT_ORDER":return{...t,sortBy:void 0,desc:!1};default:return t}},K=()=>({sortBy:(e,t)=>({desc:t,sortBy:e,type:"SORT_ORDER:SET_SORT_BY"}),clearSortOrder:()=>({type:"SORT_ORDER:CLEAR_SORT_ORDER"})}),Q=e=>({getState:e}),L={values:{}},Z=(e=L)=>(t=e,E)=>{switch(E.type){case"VALUE_BY_ID:SET_VALUE":{const{id:r,value:c}=E;return{...t,values:{...t.values,[r]:c}}}case"VALUE_BY_ID:CLEAR_ALL_VALUES":return{...t,values:{}};case"VALUE_BY_ID:CLEAR_VALUE":{const{id:r}=E,c={...t.values};return delete c[r],{...t,values:c}}default:return t}},ee=()=>({setValue:(e,t)=>({type:"VALUE_BY_ID:SET_VALUE",id:e,value:t}),clearValue:e=>({type:"VALUE_BY_ID:CLEAR_VALUE",id:e}),clearAllValues:()=>({type:"VALUE_BY_ID:CLEAR_ALL_VALUES"})}),te=e=>({getState:e});exports.createCommitReducer=V;exports.createCommitReducerActions=f;exports.createCommitReducerSelectors=M;exports.createEditableEntityActions=x;exports.createEditableEntityReducer=G;exports.createEntityActions=U;exports.createEntityByIdActions=I;exports.createEntityByIdReducer=s;exports.createEntityByIdSelectors=d;exports.createEntityCrudStatusActions=S;exports.createEntityCrudStatusReducer=o;exports.createEntityCrudStatusRedux=F;exports.createEntityCrudStatusSelectors=u;exports.createEntityListActions=w;exports.createEntityListReducer=h;exports.createEntityListSelectors=m;exports.createEntityReducer=b;exports.createEntitySelectors=v;exports.createModifiedFieldRedux=g;exports.createRecordObjectActions=N;exports.createRecordObjectReducer=O;exports.createSelectedIdsActions=l;exports.createSelectedIdsReducer=a;exports.createSelectedIdsReducerInitialState=R;exports.createSelectedIdsSelectors=P;exports.createSortOrderActions=K;exports.createSortOrderByIdActions=A;exports.createSortOrderByIdReducer=y;exports.createSortOrderByIdSelectors=$;exports.createSortOrderReducer=z;exports.createSortOrderReducerInitialState=q;exports.createSortOrderSelectors=Q;exports.createValueByIdActions=ee;exports.createValueByIdReducer=Z;exports.createValueByIdSelectors=te;exports.entityByIdInitialState=_;exports.reducerIdGate=Y;exports.reducerIdGateAction=C;exports.selectedIdsActions=J;exports.selectedIdsReducer=j;exports.sortOrderByIdActions=X;exports.sortOrderByIdReducer=H;exports.valueByIdInitialState=L;exports.wrapActionWithReducerIdGate=i;exports.wrapActionsWithReducerIdGate=p;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/features/higher-order-reducers/record-object-reducer/record-object-reducer.ts","../src/features/higher-order-reducers/record-object-reducer/record-object-action-creators.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-gate.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-action-wrapper.ts","../src/features/reducer-factories/commit-reducer/commit-action-creators.ts","../src/features/reducer-factories/commit-reducer/commit-reducer.ts","../src/features/reducer-factories/commit-reducer/commit-selectors.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-action-creators.ts","../src/common/util/field-matcher.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-reducer.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-selectors.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-reducer.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-action-creators.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-selectors.ts","../src/features/reducer-factories/entity-reducer/entity-reducer.ts","../src/features/reducer-factories/entity-reducer/entity-action-creators.ts","../src/features/reducer-factories/entity-reducer/entity-selectors.ts","../src/features/reducer-factories/entity-crud-status-reducer/entity-crud-status-redux.ts","../src/features/reducer-factories/modified-field-reducer/modified-field-redux.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-reducer.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-reducer.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-selectors.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-reducer.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-action-creators.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-selectors.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-reducer.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-action-creators.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-selectors.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-reducer.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-action-creators.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-selectors.ts"],"sourcesContent":["import { Reducer } from \"redux\";\nimport {\n RecordObjectAction,\n RecordObjectClearRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport type RecordObjectState<TInnerState> = Record<\n RecordObjectKey,\n TInnerState\n>;\n\nexport const createRecordObjectReducer =\n <TInnerAction extends RecordObjectWrappedAction, TInnerState = unknown>(\n reducer: Reducer<TInnerState, TInnerAction>\n ): Reducer<\n RecordObjectState<TInnerState>,\n RecordObjectAction<TInnerAction>\n > =>\n (state = {}, action) => {\n switch (action.type) {\n case \"RECORD_OBJECT:CLEAR_RECORD\": {\n const { recordId } = action as RecordObjectClearRecordAction;\n const newState = { ...state };\n delete newState[recordId];\n return newState;\n }\n\n case \"RECORD_OBJECT:CLEAR_ALL_RECORDS\": {\n return {};\n }\n\n case \"RECORD_OBJECT:ACTION\": {\n const { recordId, action: innerAction } = action;\n return {\n ...state,\n [recordId]: reducer(state[recordId], innerAction),\n };\n }\n\n default:\n return state;\n }\n };\n","import {\n RecordObjectClearAllRecordsAction,\n RecordObjectClearRecordAction,\n RecordObjectRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport interface RecordObjectActions<\n TInnerAction extends RecordObjectWrappedAction\n> {\n recordAction: (\n recordId: RecordObjectKey,\n action: TInnerAction\n ) => RecordObjectRecordAction<TInnerAction>;\n clearRecord: (recordId: RecordObjectKey) => RecordObjectClearRecordAction;\n clearAllRecords: () => RecordObjectClearAllRecordsAction;\n}\n\nexport const createRecordObjectActions = <\n TInnerAction extends RecordObjectWrappedAction\n>(): RecordObjectActions<TInnerAction> => ({\n recordAction: (recordId, action) => ({\n type: \"RECORD_OBJECT:ACTION\",\n action,\n recordId,\n }),\n clearRecord: (recordId) => ({\n type: \"RECORD_OBJECT:CLEAR_RECORD\",\n recordId,\n }),\n clearAllRecords: () => ({\n type: \"RECORD_OBJECT:CLEAR_ALL_RECORDS\",\n }),\n});\n","import { Action, AnyAction, Reducer } from \"redux\";\n\nexport interface ReducerIdGateAction<TInnerAction> {\n type: \"REDUCER_ID_GATE:ACTION\";\n reducerId: string;\n action: TInnerAction;\n}\n\nexport type ReducerIdGateReducer<\n TState,\n TInnerAction extends Action = AnyAction\n> = Reducer<TState, ReducerIdGateAction<TInnerAction>>;\n\nexport const reducerIdGate =\n <TState, TInnerAction extends Action = AnyAction>(\n reducerId: string,\n reducer: Reducer<TState, TInnerAction>\n ): ReducerIdGateReducer<TState, TInnerAction> =>\n (state, action) => {\n let newState = state == null ? reducer(undefined, {} as any) : state;\n\n if (!isValidReducerIdGateAction(action)) {\n return newState;\n }\n\n if (\n reducerId !== action.reducerId ||\n action.type !== \"REDUCER_ID_GATE:ACTION\"\n ) {\n return newState;\n }\n return reducer(newState, action.action);\n };\n\nexport const reducerIdGateAction = <TInnerAction>(\n reducerId: string,\n action: TInnerAction\n): ReducerIdGateAction<TInnerAction> => ({\n type: \"REDUCER_ID_GATE:ACTION\",\n action,\n reducerId,\n});\n\nconst isValidReducerIdGateAction = (action: any): boolean =>\n !!action.action &&\n action.type === \"REDUCER_ID_GATE:ACTION\" &&\n typeof action.reducerId === \"string\";\n","import { ReducerIdGateAction } from \"./reducer-id-gate\";\n\ntype ActionCreator = (...args: any) => any;\n\nexport type ActionCreatorCreator<TActionCreator extends ActionCreator> = (\n ...args: Parameters<TActionCreator>\n) => ReducerIdGateAction<ReturnType<TActionCreator>>;\n\nexport const wrapActionWithReducerIdGate =\n <TActionCreator extends ActionCreator>(\n reducerId: string,\n actionCreator: TActionCreator\n ): ActionCreatorCreator<TActionCreator> =>\n (...args) => {\n return {\n type: \"REDUCER_ID_GATE:ACTION\",\n reducerId,\n action: actionCreator(...(args as any)),\n };\n };\n\nexport interface ActionCreatorsMapObject {\n [key: string]: ActionCreator;\n}\n\nexport type ReducerIdGatedActionCreator<\n TActionCreators extends ActionCreatorsMapObject\n> = {\n [K in keyof TActionCreators]: ActionCreatorCreator<TActionCreators[K]>;\n};\n\nexport const wrapActionsWithReducerIdGate = <\n TActionCreators extends ActionCreatorsMapObject\n>(\n reducerId: string,\n actionCreators: TActionCreators\n): ReducerIdGatedActionCreator<TActionCreators> => {\n const boundActionCreators =\n {} as ReducerIdGatedActionCreator<TActionCreators>;\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n boundActionCreators[key] = wrapActionWithReducerIdGate(\n reducerId,\n actionCreator\n );\n }\n return boundActionCreators;\n};\n","import {\n ClearFilterValuesActionCreator,\n CommitFilterValuesActionCreator,\n SetFilterValuesActionCreator,\n} from \"./commit-actions\";\n\nexport interface CommitReducerActions<TState> {\n setValues: SetFilterValuesActionCreator<TState>;\n commitValues: CommitFilterValuesActionCreator;\n clearValues: ClearFilterValuesActionCreator;\n}\n\nexport const createCommitReducerActions = <TState>(\n id: string\n): CommitReducerActions<TState> => {\n return {\n setValues: (values) => ({\n type: \"COMMIT_REDUCER.SET_VALUES\",\n id,\n values,\n }),\n commitValues: () => ({\n type: \"COMMIT_REDUCER.COMMIT_VALUES\",\n id,\n }),\n clearValues: () => ({\n type: \"COMMIT_REDUCER.CLEAR\",\n id,\n }),\n };\n};\n","import { CommitReducerAction } from \"./commit-actions\";\nimport { CommitReducerState } from \"./commit-state\";\n\nexport const createCommitReducer =\n <TState>(id: string, initialState: CommitReducerState<TState>) =>\n (\n state: CommitReducerState<TState> = initialState,\n action: CommitReducerAction<TState>\n ): CommitReducerState<TState> => {\n if (action.id !== id) {\n return state;\n }\n switch (action.type) {\n case `COMMIT_REDUCER.SET_VALUES`: {\n const { values } = action;\n return {\n ...state,\n workspace: {\n ...state.workspace,\n ...values,\n },\n };\n }\n\n case `COMMIT_REDUCER.CLEAR`: {\n return {\n ...state,\n workspace: {\n ...initialState.workspace,\n },\n };\n }\n\n case `COMMIT_REDUCER.COMMIT_VALUES`: {\n return {\n ...state,\n committed: {\n ...state.workspace,\n },\n };\n }\n\n default:\n return state;\n }\n };\n","import { CommitReducerState } from \"./commit-state\";\n\nexport type CommitReducerStateSelector<TStoreState, TState> = (\n state: TStoreState,\n id: string\n) => CommitReducerState<TState>;\n\nexport interface CommitReducerSelectors<TStoreState, TState> {\n getWorkspaceValues: (state: TStoreState) => TState;\n getCommittedValues: (state: TStoreState) => TState;\n}\n\nexport const createCommitReducerSelectors = <TStoreState, TState>(\n id: string,\n stateSelector: CommitReducerStateSelector<TStoreState, TState>\n): CommitReducerSelectors<TStoreState, TState> => {\n return {\n getWorkspaceValues: (state) => stateSelector(state, id).workspace,\n getCommittedValues: (state) => stateSelector(state, id).committed,\n };\n};\n","import {\n EntityListActionByFieldsMatchAction,\n EntityListActionByIndexAction,\n EntityListActionOnAllAction,\n EntityListAddAtEndAction,\n EntityListAddAtStartAction,\n EntityListClearListAction,\n EntityListRemoveAction,\n EntityListRemoveAtIndexAction,\n EntityListRemoveByFieldMatchAction,\n EntityListRemoveFirstAction,\n EntityListRemoveLastAction,\n EntityListSetListAction,\n EntityListToggleAction,\n} from \"./entity-list-actions\";\n\nexport interface EntityListActions<T, TInnerAction> {\n addAtEnd: (entity: T) => EntityListAddAtEndAction<T>;\n addAtStart: (entity: T) => EntityListAddAtStartAction<T>;\n clearList: () => EntityListClearListAction;\n removeFirst: () => EntityListRemoveFirstAction;\n removeLast: () => EntityListRemoveLastAction;\n removeAtIndex: (index: number) => EntityListRemoveAtIndexAction;\n removeByFieldMatch: (\n fields: Partial<T>\n ) => EntityListRemoveByFieldMatchAction<T>;\n remove: (entity: T) => EntityListRemoveAction<T>;\n setList: (list: Array<T>) => EntityListSetListAction<T>;\n toggle: (entity: T) => EntityListToggleAction<T>;\n actionByFieldsMatch: (\n fields: Partial<T>,\n action: TInnerAction\n ) => EntityListActionByFieldsMatchAction<T, TInnerAction>;\n actionByIndex: (\n index: number,\n action: TInnerAction\n ) => EntityListActionByIndexAction<TInnerAction>;\n actionOnAll: (\n action: TInnerAction\n ) => EntityListActionOnAllAction<TInnerAction>;\n}\n\nexport const createEntityListActions = <\n T,\n TInnerAction = unknown\n>(): EntityListActions<T, TInnerAction> => {\n return {\n addAtEnd: (entity) => ({ type: \"ENTITY_LIST:ADD_AT_END\", entity }),\n addAtStart: (entity) => ({\n entity,\n type: \"ENTITY_LIST:ADD_AT_START\",\n }),\n clearList: () => ({ type: \"ENTITY_LIST:CLEAR_LIST\" }),\n removeFirst: () => ({ type: \"ENTITY_LIST:REMOVE_FIRST\" }),\n removeLast: () => ({ type: \"ENTITY_LIST:REMOVE_LAST\" }),\n removeAtIndex: (index) => ({\n type: \"ENTITY_LIST:REMOVE_AT_INDEX\",\n index,\n }),\n removeByFieldMatch: (fields) => ({\n type: \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\",\n fields,\n }),\n remove: (entity) => ({ type: \"ENTITY_LIST:REMOVE\", entity }),\n setList: (list) => ({ type: \"ENTITY_LIST:SET_LIST\", list }),\n toggle: (entity) => ({ type: \"ENTITY_LIST:TOGGLE\", entity }),\n actionByFieldsMatch: (fields, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\",\n fields,\n action,\n }),\n actionByIndex: (index, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_INDEX\",\n index,\n action,\n }),\n actionOnAll: (action) => ({\n type: \"ENTITY_LIST:ACTION_ON_ALL\",\n action,\n }),\n };\n};\n","export const fieldsMatch = <T>(entity: T, fields: Partial<T>): boolean => {\n const keys = Object.keys(fields) as Array<keyof T>;\n if (keys.length === 0) {\n return false;\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (entity[key] !== fields[key]) {\n return false;\n }\n }\n return true;\n};\n","import { EntityListAction } from \"./entity-list-actions\";\nimport { fieldsMatch } from \"../../../common/util/field-matcher\";\nimport { Action, AnyAction, Reducer } from \"redux\";\n\nexport type EntityListState<TListItem> = Array<TListItem>;\n\nexport const createEntityListReducer =\n <TListItem, TListItemAction extends Action = AnyAction>(\n reducer?: Reducer<TListItem, TListItemAction>\n ) =>\n (\n state: EntityListState<TListItem> = [],\n action: EntityListAction<TListItem, TListItemAction>\n ): EntityListState<TListItem> => {\n switch (action.type) {\n case \"ENTITY_LIST:SET_LIST\": {\n const { list } = action;\n return list;\n }\n case \"ENTITY_LIST:CLEAR_LIST\": {\n return [];\n }\n case \"ENTITY_LIST:ADD_AT_END\": {\n const { entity } = action;\n return [...state, entity];\n }\n case \"ENTITY_LIST:ADD_AT_START\": {\n const { entity } = action;\n return [entity, ...state];\n }\n case \"ENTITY_LIST:REMOVE_FIRST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const [, ...list] = state;\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_LAST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const list = [...state];\n list.pop();\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_AT_INDEX\": {\n const { index } = action;\n if (index < 0) {\n throw new Error(\"Index is lower than 0.\");\n }\n if (index >= state.length) {\n throw new Error(\"Index is outside of list bounds.\");\n }\n const list = [...state];\n list.splice(index, 1);\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\": {\n const { fields } = action;\n return state.filter((item) => !fieldsMatch(item, fields));\n }\n\n case \"ENTITY_LIST:REMOVE\": {\n const { entity } = action;\n return state.filter((item) => item !== entity);\n }\n\n case \"ENTITY_LIST:TOGGLE\": {\n const { entity } = action;\n const index = state.findIndex(\n (item) => item === entity || fieldsMatch(item, entity)\n );\n\n if (index >= 0) {\n const list = [...state];\n list.splice(index, index);\n\n return list;\n } else {\n return [...state, entity];\n }\n }\n\n case \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\": {\n const { fields, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByFieldsMatch'.\"\n );\n }\n return state.map((item) =>\n fieldsMatch(item, fields) ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_BY_INDEX\": {\n const { index, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item, i) =>\n index === i ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_ON_ALL\": {\n const { action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item) => reducer(item, innerAction));\n }\n\n default:\n return state;\n }\n };\n","import { EntityListState } from \"./entity-list-reducer\";\n\nexport interface EntityListSelectors<TStoreState, TEntity> {\n getList: (store: TStoreState) => Array<TEntity>;\n}\n\nexport type EntityListSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityListState<TEntity>;\n\nexport const createEntityListSelectors = <TStoreState, TEntity>(\n stateSelector: EntityListSelector<TStoreState, TEntity>\n): EntityListSelectors<TStoreState, TEntity> => ({\n getList: (store) => stateSelector(store),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"./entity-by-id-actions\";\n\nexport interface EntityByIdState<T extends EntityWithId> {\n entities: { [key: string]: T };\n}\n\nexport const entityByIdInitialState = { entities: {} };\n\nexport const createEntityByIdReducer = <T extends EntityWithId>() => {\n return (\n state: EntityByIdState<T> = entityByIdInitialState,\n action: EntityByIdAction<T>\n ): EntityByIdState<T> => {\n switch (action.type) {\n case \"ENTITY_BY_ID:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [entity.id]: entity,\n },\n };\n }\n\n case \"ENTITY_BY_ID:SET_ENTITY_FIELDS\": {\n const { id, fields } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [id]: {\n ...state.entities[id],\n ...fields,\n },\n },\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\": {\n return {\n ...state,\n entities: {},\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ENTITY\": {\n const { id } = action;\n const entities = {\n ...state.entities,\n };\n delete entities[id];\n return {\n ...state,\n entities,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport {\n EntityByIdClearAllEntitiesAction,\n EntityByIdClearEntityAction,\n EntityByIdSetEntityAction,\n EntityByIdSetEntityFieldsAction,\n} from \"./entity-by-id-actions\";\n\nexport interface EntityByIdActions<T extends EntityWithId> {\n setEntity: (entity: T) => EntityByIdSetEntityAction<T>;\n setEntityFields: (\n id: string,\n fields: Partial<T>\n ) => EntityByIdSetEntityFieldsAction<T>;\n clearEntity: (id: string) => EntityByIdClearEntityAction;\n clearAllEntities: () => EntityByIdClearAllEntitiesAction;\n}\n\nexport const createEntityByIdActions = <\n T extends EntityWithId\n>(): EntityByIdActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (id, fields) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY_FIELDS\",\n id,\n fields,\n }),\n clearEntity: (id) => ({\n type: \"ENTITY_BY_ID:CLEAR_ENTITY\",\n id,\n }),\n clearAllEntities: () => ({\n type: \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\",\n }),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdState } from \"./entity-by-id-reducer\";\n\nexport interface EntityByIdSelectors<\n TStoreState,\n TEntity extends EntityWithId\n> {\n getState: EntityByIdStateSelector<TStoreState, TEntity>;\n}\n\nexport type EntityByIdStateSelector<\n TStoreState,\n TEntity extends EntityWithId\n> = (state: TStoreState) => EntityByIdState<TEntity>;\n\nexport const createEntityByIdSelectors = <\n TStoreState,\n TEntity extends EntityWithId\n>(\n stateSelector: EntityByIdStateSelector<TStoreState, TEntity>\n): EntityByIdSelectors<TStoreState, TEntity> => ({\n getState: stateSelector,\n});\n","import { EntityAction } from \"./entity-actions\";\nimport { Reducer } from \"redux\";\n\nexport type EntityState<T> = T;\n\nexport const createEntityReducer = <T>(\n initialEntity: T\n): Reducer<EntityState<T>, EntityAction<T>> => {\n const INITIAL_STATE = initialEntity;\n\n return (\n state: EntityState<T> = INITIAL_STATE,\n action: EntityAction<T>\n ): EntityState<T> => {\n switch (action.type) {\n case \"ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return entity;\n }\n\n case \"ENTITY:SET_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n ...fields,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EntitySetEntityAction,\n EntitySetEntityFieldsAction,\n} from \"./entity-actions\";\n\nexport interface EntityActions<T> {\n setEntity: (entity: T) => EntitySetEntityAction<T>;\n setEntityFields: (fields: Partial<T>) => EntitySetEntityFieldsAction<T>;\n}\n\nexport const createEntityActions = <T>(): EntityActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (fields) => ({\n type: \"ENTITY:SET_ENTITY_FIELDS\",\n fields,\n }),\n});\n","import { EntityState } from \"./entity-reducer\";\n\nexport interface EntitySelectors<TStoreState, TEntity> {\n getEntity: (state: TStoreState) => TEntity;\n}\n\nexport type EntityStateSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityState<TEntity>;\n\nexport const createEntitySelectors = <TStoreState, TEntity>(\n stateSelector: EntityStateSelector<TStoreState, TEntity>\n): EntitySelectors<TStoreState, TEntity> => ({\n getEntity: (state) => stateSelector(state),\n});\n","import { Reducer } from \"redux\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n EntityByIdStateSelector,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\n\nexport interface EntityCrudStatus extends CrudStatus {\n id: string;\n}\n\nexport interface CrudStatus {\n loading?: boolean;\n creating?: boolean;\n updating?: boolean;\n modified?: boolean;\n deleting?: boolean;\n hasError?: boolean;\n errorMessage?: string;\n}\n\nexport type EntityCrudStatusState = EntityByIdState<EntityCrudStatus>;\nexport type EntityCrudStatusAction = EntityByIdAction<EntityCrudStatus>;\nexport type EntityCrudStatusActions = EntityByIdActions<EntityCrudStatus>;\n\nexport interface EntityCrudStatusRedux<TStoreState> {\n reducer: EntityCrudStatusReducer;\n actions: EntityCrudStatusActions;\n selectors: EntityCrudStatusSelectors<TStoreState>;\n}\n\nexport type EntityCrudStatusReducer = Reducer<\n EntityCrudStatusState,\n EntityByIdAction<EntityCrudStatus>\n>;\n\nexport const createEntityCrudStatusReducer = () =>\n createEntityByIdReducer<EntityCrudStatus>();\n\nexport const createEntityCrudStatusActions = (): EntityCrudStatusActions =>\n createEntityByIdActions<EntityCrudStatus>();\n\nexport type EntityCrudStatusSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n EntityCrudStatus\n>;\n\nexport const createEntityCrudStatusSelectors = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n) => createEntityByIdSelectors<TStoreState, EntityCrudStatus>(stateSelector);\n\nexport const createEntityCrudStatusRedux = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n): EntityCrudStatusRedux<TStoreState> => {\n const reducer = createEntityCrudStatusReducer();\n const actions = createEntityCrudStatusActions();\n const selectors = createEntityCrudStatusSelectors(stateSelector);\n return {\n reducer,\n actions,\n selectors,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\n\nexport interface ModifiedFieldItemState extends EntityWithId {\n modified?: boolean;\n originalValue?: string;\n newValue?: string;\n}\n\nexport type ModifiedFieldState = EntityByIdState<ModifiedFieldItemState>;\nexport type ModifiedFieldAction = EntityByIdAction<ModifiedFieldItemState>;\nexport type ModifiedFieldActions = EntityByIdActions<ModifiedFieldItemState>;\n\nexport type ModifiedFieldsSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n>;\n\nexport type ModifiedFieldStateSelector<TStoreState> = (\n state: TStoreState\n) => ModifiedFieldState;\n\nexport type ModifiedStateReducer = Reducer<\n ModifiedFieldState,\n ModifiedFieldAction\n>;\n\nexport interface ModifiedFieldRedux<TStoreState> {\n reducer: ModifiedStateReducer;\n selectors: ModifiedFieldsSelectors<TStoreState>;\n actions: ModifiedFieldActions;\n}\n\nexport const createModifiedFieldRedux = <TStoreState>(\n stateSelector: ModifiedFieldStateSelector<TStoreState>\n): ModifiedFieldRedux<TStoreState> => {\n const reducer = createEntityByIdReducer<ModifiedFieldItemState>();\n\n const selectors: ModifiedFieldsSelectors<TStoreState> =\n createEntityByIdSelectors<TStoreState, ModifiedFieldItemState>(\n stateSelector\n );\n\n const actions = createEntityByIdActions<ModifiedFieldItemState>();\n\n return {\n reducer,\n selectors,\n actions,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EditableEntityAction } from \"./editable-entity-actions\";\n\nexport interface EditableEntityState<T> {\n id?: string;\n persisted: T;\n editable: T;\n}\n\nexport const createEditableEntityReducer = <T>(\n initialEntity: T,\n initialId?: string\n): Reducer<EditableEntityState<T>, EditableEntityAction<T>> => {\n const initialState: EditableEntityState<T> = {\n id: initialId,\n editable: initialEntity,\n persisted: initialEntity,\n };\n\n return (state = initialState, action) => {\n switch (action.type) {\n case \"EDITABLE_ENTITY:SET_ENTITY_ID\": {\n const { id } = action;\n return {\n ...state,\n id,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n editable: {\n ...state.editable,\n ...fields,\n },\n };\n }\n\n case \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\": {\n return {\n ...state,\n editable: state.persisted,\n };\n }\n\n case \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\": {\n return {\n ...state,\n persisted: state.editable,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EditableEntityCommitEditableEntityToPersistedAction,\n EditableEntityRevertEditableEntityAction,\n EditableEntitySetEditableEntityAction,\n EditableEntitySetEditableEntityFieldsAction,\n EditableEntitySetEntityAction,\n EditableEntitySetEntityIdAction,\n EditableEntitySetPersistedEntityAction,\n} from \"./editable-entity-actions\";\n\nexport interface EditableEntityActions<T> {\n setEntityId: (\n entityId: string | undefined\n ) => EditableEntitySetEntityIdAction;\n setEntity: (entity: T) => EditableEntitySetEntityAction<T>;\n setPersistedEntity: (entity: T) => EditableEntitySetPersistedEntityAction<T>;\n setEditableEntity: (entity: T) => EditableEntitySetEditableEntityAction<T>;\n setEditableEntityFields: (\n fields: Partial<T>\n ) => EditableEntitySetEditableEntityFieldsAction<T>;\n revertEditableEntity: () => EditableEntityRevertEditableEntityAction;\n commitEditableEntityToPersisted: () => EditableEntityCommitEditableEntityToPersistedAction;\n}\n\nexport const createEditableEntityActions = <T>(): EditableEntityActions<T> => ({\n setEntityId: (id: string | undefined) => ({\n type: \"EDITABLE_ENTITY:SET_ENTITY_ID\",\n id,\n }),\n setEntity: (entity) => ({ type: \"EDITABLE_ENTITY:SET_ENTITY\", entity }),\n setPersistedEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\",\n entity,\n }),\n setEditableEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\",\n entity,\n }),\n setEditableEntityFields: (fields) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\",\n fields,\n }),\n revertEditableEntity: () => ({\n type: \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\",\n }),\n commitEditableEntityToPersisted: () => ({\n type: \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\",\n }),\n});\n","import { Reducer } from \"redux\";\nimport { SelectedIdsAction } from \"./selected-ids-actions\";\n\nexport interface SelectedIdsState {\n selectedIds: Array<string>;\n}\n\nexport const createSelectedIdsReducerInitialState = (\n initialSelection: string[] = []\n): SelectedIdsState => ({\n selectedIds: initialSelection,\n});\n\nconst INITIAL_STATE = createSelectedIdsReducerInitialState();\n\nexport type SelectedIdsReducer = Reducer<SelectedIdsState, SelectedIdsAction>;\n\nexport const createSelectedIdsReducer =\n (initialState: SelectedIdsState = INITIAL_STATE): SelectedIdsReducer =>\n (state = initialState, action) => {\n switch (action.type) {\n case \"SELECTED_IDS:SET_SELECTED_IDS\": {\n const { selectedIds } = action;\n return {\n ...state,\n selectedIds,\n };\n }\n case \"SELECTED_IDS:CLEAR_SELECTED_IDS\": {\n return {\n ...state,\n selectedIds: [],\n };\n }\n default:\n return state;\n }\n };\n\nexport const selectedIdsReducer = createSelectedIdsReducer();\n","import {\n SelectedIdsClearSelectedIdsAction,\n SelectedIdsSetSelectedIdsAction,\n} from \"./selected-ids-actions\";\n\nexport interface SelectedIdsActions {\n setSelectedIds: (ids: Array<string>) => SelectedIdsSetSelectedIdsAction;\n clearSelectedIds: () => SelectedIdsClearSelectedIdsAction;\n}\n\nexport const createSelectedIdsActions = (): SelectedIdsActions => ({\n setSelectedIds: (selectedIds) => ({\n selectedIds,\n type: \"SELECTED_IDS:SET_SELECTED_IDS\",\n }),\n clearSelectedIds: () => ({\n type: \"SELECTED_IDS:CLEAR_SELECTED_IDS\",\n }),\n});\n\nexport const selectedIdsActions = createSelectedIdsActions();\n","import { SelectedIdsState } from \"./selected-ids-reducer\";\n\nexport interface SelectedIdsSelectors<TStoreState> {\n getState: SelectedIdsStateSelector<TStoreState>;\n}\n\nexport type SelectedIdsStateSelector<TStoreState> = (\n state: TStoreState\n) => SelectedIdsState;\n\nexport const createSelectedIdsSelectors = <TStoreState>(\n stateSelector: SelectedIdsStateSelector<TStoreState>\n): SelectedIdsSelectors<TStoreState> => ({\n getState: stateSelector,\n});\n","import { SortOrderByIdAction } from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdState {\n ids: Array<string> | undefined;\n}\n\nconst INITIAL_STATE: SortOrderByIdState = {\n ids: undefined,\n};\n\nexport const createSortOrderByIdReducer =\n () =>\n (\n state: SortOrderByIdState = INITIAL_STATE,\n action: SortOrderByIdAction\n ): SortOrderByIdState => {\n switch (action.type) {\n case \"SORT_ORDER_BY_ID:SET_SORT_ORDER\":\n return {\n ...state,\n ids: action.ids,\n };\n\n case \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\":\n return {\n ...state,\n ids: undefined,\n };\n\n default:\n return state;\n }\n };\n\nexport const sortOrderByIdReducer = createSortOrderByIdReducer();\n","import {\n SortOrderByIdClearSortOrderAction,\n SortOrderByIdSetSortOrderAction,\n} from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdActions {\n setSortOrder: (ids: Array<string>) => SortOrderByIdSetSortOrderAction;\n clearSortOrder: () => SortOrderByIdClearSortOrderAction;\n}\n\nexport const createSortOrderByIdActions = (): SortOrderByIdActions => {\n return {\n setSortOrder: (ids) => ({\n ids,\n type: \"SORT_ORDER_BY_ID:SET_SORT_ORDER\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\",\n }),\n };\n};\n\nexport const sortOrderByIdActions = createSortOrderByIdActions();\n","import { SortOrderByIdState } from \"./sort-order-by-id-reducer\";\n\ninterface SortOrderByIdSelectors<TStoreState> {\n getSortOrderByIdState: (state: TStoreState) => SortOrderByIdState;\n getSortOrder: (state: TStoreState) => Array<string> | undefined;\n}\n\ntype SortOrderByIdStateProvider<TStoreState> = (\n state: TStoreState\n) => SortOrderByIdState;\n\nexport const createSortOrderByIdSelectors = <TStoreState>(\n rootStateProvider: SortOrderByIdStateProvider<TStoreState>\n): SortOrderByIdSelectors<TStoreState> => {\n return {\n getSortOrderByIdState: (state) => {\n return rootStateProvider(state);\n },\n getSortOrder: (state) => {\n return rootStateProvider(state).ids;\n },\n };\n};\n","import { Reducer } from \"redux\";\nimport { SortOrderAction } from \"./sort-order-actions\";\n\nexport interface SortOrderState<TSortBy> {\n sortBy: TSortBy | undefined;\n desc: boolean;\n}\n\nexport const createSortOrderReducerInitialState = <TSortBy>(\n sortBy: TSortBy | undefined = undefined,\n desc: boolean = false\n): SortOrderState<TSortBy> => ({\n sortBy,\n desc,\n});\n\nexport type SortOrderReducer<TSortBy> = Reducer<\n SortOrderState<TSortBy>,\n SortOrderAction<TSortBy>\n>;\n\nexport const createSortOrderReducer =\n <TSortBy>(\n initialState: SortOrderState<TSortBy> = { sortBy: undefined, desc: false }\n ): SortOrderReducer<TSortBy> =>\n (state = initialState, action) => {\n switch (action.type) {\n case \"SORT_ORDER:SET_SORT_BY\": {\n const { sortBy, desc } = action;\n return {\n ...state,\n sortBy,\n desc,\n };\n }\n\n case \"SORT_ORDER:CLEAR_SORT_ORDER\": {\n return {\n ...state,\n sortBy: undefined,\n desc: false,\n };\n }\n\n default:\n return state;\n }\n };\n","import {\n SortOrderClearSortOrderAction,\n SortOrderSetSortByAction,\n} from \"./sort-order-actions\";\n\nexport interface SortOrderActions<TSortBy> {\n sortBy: (sortBy: TSortBy, desc: boolean) => SortOrderSetSortByAction<TSortBy>;\n clearSortOrder: () => SortOrderClearSortOrderAction;\n}\n\nexport const createSortOrderActions = <\n TSortBy\n>(): SortOrderActions<TSortBy> => ({\n sortBy: (sortBy, desc) => ({\n desc,\n sortBy,\n type: \"SORT_ORDER:SET_SORT_BY\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER:CLEAR_SORT_ORDER\",\n }),\n});\n","import { SortOrderState } from \"./sort-order-reducer\";\n\nexport interface SortOrderSelectors<TStoreState, TSortBy> {\n getState: SortOrderStateSelector<TStoreState, TSortBy>;\n}\n\nexport type SortOrderStateSelector<TStoreState, TSortBy> = (\n state: TStoreState\n) => SortOrderState<TSortBy>;\n\nexport const createSortOrderSelectors = <TStoreState, TSortBy>(\n stateProvider: SortOrderStateSelector<TStoreState, TSortBy>\n): SortOrderSelectors<TStoreState, TSortBy> => ({\n getState: stateProvider,\n});\n","import { ValueByIdAction } from \"./value-by-id-actions\";\n\nexport interface ValueByIdState<TValue> {\n values: { [key: string]: TValue };\n}\n\nexport const valueByIdInitialState = { values: {} };\n\nexport const createValueByIdReducer = <TValue>(\n initialValue: ValueByIdState<TValue> = valueByIdInitialState\n) => {\n return (\n state: ValueByIdState<TValue> = initialValue,\n action: ValueByIdAction<TValue>\n ): ValueByIdState<TValue> => {\n switch (action.type) {\n case \"VALUE_BY_ID:SET_VALUE\": {\n const { id, value } = action;\n return {\n ...state,\n values: {\n ...state.values,\n [id]: value,\n },\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_ALL_VALUES\": {\n return {\n ...state,\n values: {},\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_VALUE\": {\n const { id } = action;\n const values = {\n ...state.values,\n };\n delete values[id];\n return {\n ...state,\n values,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n ValueByIdClearAllValuesAction,\n ValueByIdClearValueAction,\n ValueByIdSetValueAction,\n} from \"./value-by-id-actions\";\n\nexport interface ValueByIdActions<TValue> {\n setValue: (id: string, value: TValue) => ValueByIdSetValueAction<TValue>;\n clearValue: (id: string) => ValueByIdClearValueAction;\n clearAllValues: () => ValueByIdClearAllValuesAction;\n}\n\nexport const createValueByIdActions = <TValue>(): ValueByIdActions<TValue> => ({\n setValue: (id, value) => ({\n type: \"VALUE_BY_ID:SET_VALUE\",\n id,\n value,\n }),\n clearValue: (id) => ({\n type: \"VALUE_BY_ID:CLEAR_VALUE\",\n id,\n }),\n clearAllValues: () => ({\n type: \"VALUE_BY_ID:CLEAR_ALL_VALUES\",\n }),\n});\n","import { ValueByIdState } from \"./value-by-id-reducer\";\n\nexport interface ValueByIdSelectors<TStoreState, TValue> {\n getState: ValueByIdStateSelector<TStoreState, TValue>;\n}\n\nexport type ValueByIdStateSelector<TStoreState, TValue> = (\n state: TStoreState\n) => ValueByIdState<TValue>;\n\nexport const createValueByIdSelectors = <TStoreState, TValue>(\n stateSelector: ValueByIdStateSelector<TStoreState, TValue>\n): ValueByIdSelectors<TStoreState, TValue> => ({\n getState: stateSelector,\n});\n"],"names":["createRecordObjectReducer","reducer","state","action","recordId","newState","innerAction","createRecordObjectActions","reducerIdGate","reducerId","isValidReducerIdGateAction","reducerIdGateAction","wrapActionWithReducerIdGate","actionCreator","args","wrapActionsWithReducerIdGate","actionCreators","boundActionCreators","key","createCommitReducerActions","id","values","createCommitReducer","initialState","createCommitReducerSelectors","stateSelector","createEntityListActions","entity","index","fields","list","fieldsMatch","keys","i","createEntityListReducer","item","createEntityListSelectors","store","entityByIdInitialState","createEntityByIdReducer","entities","createEntityByIdActions","createEntityByIdSelectors","createEntityReducer","initialEntity","INITIAL_STATE","createEntityActions","createEntitySelectors","createEntityCrudStatusReducer","createEntityCrudStatusActions","createEntityCrudStatusSelectors","createEntityCrudStatusRedux","actions","selectors","createModifiedFieldRedux","createEditableEntityReducer","initialId","createEditableEntityActions","createSelectedIdsReducerInitialState","initialSelection","createSelectedIdsReducer","selectedIds","selectedIdsReducer","createSelectedIdsActions","selectedIdsActions","createSelectedIdsSelectors","createSortOrderByIdReducer","sortOrderByIdReducer","createSortOrderByIdActions","ids","sortOrderByIdActions","createSortOrderByIdSelectors","rootStateProvider","createSortOrderReducerInitialState","sortBy","desc","createSortOrderReducer","createSortOrderActions","createSortOrderSelectors","stateProvider","valueByIdInitialState","createValueByIdReducer","initialValue","value","createValueByIdActions","createValueByIdSelectors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/features/higher-order-reducers/record-object-reducer/record-object-reducer.ts","../src/features/higher-order-reducers/record-object-reducer/record-object-action-creators.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-gate.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-action-wrapper.ts","../src/features/reducer-factories/commit-reducer/commit-action-creators.ts","../src/features/reducer-factories/commit-reducer/commit-reducer.ts","../src/features/reducer-factories/commit-reducer/commit-selectors.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-action-creators.ts","../src/common/util/field-matcher.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-reducer.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-selectors.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-reducer.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-action-creators.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-selectors.ts","../src/features/reducer-factories/entity-reducer/entity-reducer.ts","../src/features/reducer-factories/entity-reducer/entity-action-creators.ts","../src/features/reducer-factories/entity-reducer/entity-selectors.ts","../src/features/reducer-factories/entity-crud-status-reducer/entity-crud-status-redux.ts","../src/features/reducer-factories/modified-field-reducer/modified-field-redux.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-reducer.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-reducer.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-selectors.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-reducer.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-action-creators.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-selectors.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-reducer.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-action-creators.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-selectors.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-reducer.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-action-creators.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-selectors.ts"],"sourcesContent":["import { Reducer } from \"redux\";\nimport {\n RecordObjectAction,\n RecordObjectClearRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport type RecordObjectState<TInnerState> = Record<\n RecordObjectKey,\n TInnerState\n>;\n\nexport const createRecordObjectReducer =\n <TInnerAction extends RecordObjectWrappedAction, TInnerState = unknown>(\n reducer: Reducer<TInnerState, TInnerAction>\n ): Reducer<\n RecordObjectState<TInnerState>,\n RecordObjectAction<TInnerAction>\n > =>\n (state = {}, action) => {\n switch (action.type) {\n case \"RECORD_OBJECT:CLEAR_RECORD\": {\n const { recordId } = action as RecordObjectClearRecordAction;\n const newState = { ...state };\n delete newState[recordId];\n return newState;\n }\n\n case \"RECORD_OBJECT:CLEAR_ALL_RECORDS\": {\n return {};\n }\n\n case \"RECORD_OBJECT:ACTION\": {\n const { recordId, action: innerAction } = action;\n return {\n ...state,\n [recordId]: reducer(state[recordId], innerAction),\n };\n }\n\n default:\n return state;\n }\n };\n","import {\n RecordObjectClearAllRecordsAction,\n RecordObjectClearRecordAction,\n RecordObjectRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport interface RecordObjectActions<\n TInnerAction extends RecordObjectWrappedAction\n> {\n recordAction: (\n recordId: RecordObjectKey,\n action: TInnerAction\n ) => RecordObjectRecordAction<TInnerAction>;\n clearRecord: (recordId: RecordObjectKey) => RecordObjectClearRecordAction;\n clearAllRecords: () => RecordObjectClearAllRecordsAction;\n}\n\nexport const createRecordObjectActions = <\n TInnerAction extends RecordObjectWrappedAction\n>(): RecordObjectActions<TInnerAction> => ({\n recordAction: (recordId, action) => ({\n type: \"RECORD_OBJECT:ACTION\",\n action,\n recordId,\n }),\n clearRecord: (recordId) => ({\n type: \"RECORD_OBJECT:CLEAR_RECORD\",\n recordId,\n }),\n clearAllRecords: () => ({\n type: \"RECORD_OBJECT:CLEAR_ALL_RECORDS\",\n }),\n});\n","import { Action, AnyAction, Reducer } from \"redux\";\n\nexport interface ReducerIdGateAction<TInnerAction> {\n type: \"REDUCER_ID_GATE:ACTION\";\n reducerId: string;\n action: TInnerAction;\n}\n\nexport type ReducerIdGateReducer<\n TState,\n TInnerAction extends Action = AnyAction\n> = Reducer<TState, ReducerIdGateAction<TInnerAction>>;\n\nexport const reducerIdGate =\n <TState, TInnerAction extends Action = AnyAction>(\n reducerId: string,\n reducer: Reducer<TState, TInnerAction>\n ): ReducerIdGateReducer<TState, TInnerAction> =>\n (state, action) => {\n const newState =\n state == null ? reducer(undefined, {} as TInnerAction) : state;\n\n if (!isValidReducerIdGateAction(action)) {\n return newState;\n }\n\n if (\n reducerId !== action.reducerId ||\n action.type !== \"REDUCER_ID_GATE:ACTION\"\n ) {\n return newState;\n }\n return reducer(newState, action.action);\n };\n\nexport const reducerIdGateAction = <TInnerAction>(\n reducerId: string,\n action: TInnerAction\n): ReducerIdGateAction<TInnerAction> => ({\n type: \"REDUCER_ID_GATE:ACTION\",\n action,\n reducerId,\n});\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst isValidReducerIdGateAction = (action: any): boolean =>\n !!action.action &&\n action.type === \"REDUCER_ID_GATE:ACTION\" &&\n typeof action.reducerId === \"string\";\n","import { ReducerIdGateAction } from \"./reducer-id-gate\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ActionCreator = (...args: any) => any;\n\nexport type ActionCreatorCreator<TActionCreator extends ActionCreator> = (\n ...args: Parameters<TActionCreator>\n) => ReducerIdGateAction<ReturnType<TActionCreator>>;\n\nexport const wrapActionWithReducerIdGate =\n <TActionCreator extends ActionCreator>(\n reducerId: string,\n actionCreator: TActionCreator\n ): ActionCreatorCreator<TActionCreator> =>\n (...args) => {\n return {\n type: \"REDUCER_ID_GATE:ACTION\",\n reducerId,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n action: actionCreator(...(args as any)),\n };\n };\n\nexport interface ActionCreatorsMapObject {\n [key: string]: ActionCreator;\n}\n\nexport type ReducerIdGatedActionCreator<\n TActionCreators extends ActionCreatorsMapObject\n> = {\n [K in keyof TActionCreators]: ActionCreatorCreator<TActionCreators[K]>;\n};\n\nexport const wrapActionsWithReducerIdGate = <\n TActionCreators extends ActionCreatorsMapObject\n>(\n reducerId: string,\n actionCreators: TActionCreators\n): ReducerIdGatedActionCreator<TActionCreators> => {\n const boundActionCreators =\n {} as ReducerIdGatedActionCreator<TActionCreators>;\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n boundActionCreators[key] = wrapActionWithReducerIdGate(\n reducerId,\n actionCreator\n );\n }\n return boundActionCreators;\n};\n","import {\n ClearFilterValuesActionCreator,\n CommitFilterValuesActionCreator,\n SetFilterValuesActionCreator,\n} from \"./commit-actions\";\n\nexport interface CommitReducerActions<TState> {\n setValues: SetFilterValuesActionCreator<TState>;\n commitValues: CommitFilterValuesActionCreator;\n clearValues: ClearFilterValuesActionCreator;\n}\n\nexport const createCommitReducerActions = <TState>(\n id: string\n): CommitReducerActions<TState> => {\n return {\n setValues: (values) => ({\n type: \"COMMIT_REDUCER.SET_VALUES\",\n id,\n values,\n }),\n commitValues: () => ({\n type: \"COMMIT_REDUCER.COMMIT_VALUES\",\n id,\n }),\n clearValues: () => ({\n type: \"COMMIT_REDUCER.CLEAR\",\n id,\n }),\n };\n};\n","import { CommitReducerAction } from \"./commit-actions\";\nimport { CommitReducerState } from \"./commit-state\";\n\nexport const createCommitReducer =\n <TState>(id: string, initialState: CommitReducerState<TState>) =>\n (\n state: CommitReducerState<TState> = initialState,\n action: CommitReducerAction<TState>\n ): CommitReducerState<TState> => {\n if (action.id !== id) {\n return state;\n }\n switch (action.type) {\n case `COMMIT_REDUCER.SET_VALUES`: {\n const { values } = action;\n return {\n ...state,\n workspace: {\n ...state.workspace,\n ...values,\n },\n };\n }\n\n case `COMMIT_REDUCER.CLEAR`: {\n return {\n ...state,\n workspace: {\n ...initialState.workspace,\n },\n };\n }\n\n case `COMMIT_REDUCER.COMMIT_VALUES`: {\n return {\n ...state,\n committed: {\n ...state.workspace,\n },\n };\n }\n\n default:\n return state;\n }\n };\n","import { CommitReducerState } from \"./commit-state\";\n\nexport type CommitReducerStateSelector<TStoreState, TState> = (\n state: TStoreState,\n id: string\n) => CommitReducerState<TState>;\n\nexport interface CommitReducerSelectors<TStoreState, TState> {\n getWorkspaceValues: (state: TStoreState) => TState;\n getCommittedValues: (state: TStoreState) => TState;\n}\n\nexport const createCommitReducerSelectors = <TStoreState, TState>(\n id: string,\n stateSelector: CommitReducerStateSelector<TStoreState, TState>\n): CommitReducerSelectors<TStoreState, TState> => {\n return {\n getWorkspaceValues: (state) => stateSelector(state, id).workspace,\n getCommittedValues: (state) => stateSelector(state, id).committed,\n };\n};\n","import {\n EntityListActionByFieldsMatchAction,\n EntityListActionByIndexAction,\n EntityListActionOnAllAction,\n EntityListAddAtEndAction,\n EntityListAddAtStartAction,\n EntityListClearListAction,\n EntityListRemoveAction,\n EntityListRemoveAtIndexAction,\n EntityListRemoveByFieldMatchAction,\n EntityListRemoveFirstAction,\n EntityListRemoveLastAction,\n EntityListSetListAction,\n EntityListToggleAction,\n} from \"./entity-list-actions\";\n\nexport interface EntityListActions<T, TInnerAction> {\n addAtEnd: (entity: T) => EntityListAddAtEndAction<T>;\n addAtStart: (entity: T) => EntityListAddAtStartAction<T>;\n clearList: () => EntityListClearListAction;\n removeFirst: () => EntityListRemoveFirstAction;\n removeLast: () => EntityListRemoveLastAction;\n removeAtIndex: (index: number) => EntityListRemoveAtIndexAction;\n removeByFieldMatch: (\n fields: Partial<T>\n ) => EntityListRemoveByFieldMatchAction<T>;\n remove: (entity: T) => EntityListRemoveAction<T>;\n setList: (list: Array<T>) => EntityListSetListAction<T>;\n toggle: (entity: T) => EntityListToggleAction<T>;\n actionByFieldsMatch: (\n fields: Partial<T>,\n action: TInnerAction\n ) => EntityListActionByFieldsMatchAction<T, TInnerAction>;\n actionByIndex: (\n index: number,\n action: TInnerAction\n ) => EntityListActionByIndexAction<TInnerAction>;\n actionOnAll: (\n action: TInnerAction\n ) => EntityListActionOnAllAction<TInnerAction>;\n}\n\nexport const createEntityListActions = <\n T,\n TInnerAction = unknown\n>(): EntityListActions<T, TInnerAction> => {\n return {\n addAtEnd: (entity) => ({ type: \"ENTITY_LIST:ADD_AT_END\", entity }),\n addAtStart: (entity) => ({\n entity,\n type: \"ENTITY_LIST:ADD_AT_START\",\n }),\n clearList: () => ({ type: \"ENTITY_LIST:CLEAR_LIST\" }),\n removeFirst: () => ({ type: \"ENTITY_LIST:REMOVE_FIRST\" }),\n removeLast: () => ({ type: \"ENTITY_LIST:REMOVE_LAST\" }),\n removeAtIndex: (index) => ({\n type: \"ENTITY_LIST:REMOVE_AT_INDEX\",\n index,\n }),\n removeByFieldMatch: (fields) => ({\n type: \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\",\n fields,\n }),\n remove: (entity) => ({ type: \"ENTITY_LIST:REMOVE\", entity }),\n setList: (list) => ({ type: \"ENTITY_LIST:SET_LIST\", list }),\n toggle: (entity) => ({ type: \"ENTITY_LIST:TOGGLE\", entity }),\n actionByFieldsMatch: (fields, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\",\n fields,\n action,\n }),\n actionByIndex: (index, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_INDEX\",\n index,\n action,\n }),\n actionOnAll: (action) => ({\n type: \"ENTITY_LIST:ACTION_ON_ALL\",\n action,\n }),\n };\n};\n","export const fieldsMatch = <T>(entity: T, fields: Partial<T>): boolean => {\n const keys = Object.keys(fields) as Array<keyof T>;\n if (keys.length === 0) {\n return false;\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (entity[key] !== fields[key]) {\n return false;\n }\n }\n return true;\n};\n","import { EntityListAction } from \"./entity-list-actions\";\nimport { fieldsMatch } from \"../../../common/util/field-matcher\";\nimport { Action, AnyAction, Reducer } from \"redux\";\n\nexport type EntityListState<TListItem> = Array<TListItem>;\n\nexport const createEntityListReducer =\n <TListItem, TListItemAction extends Action = AnyAction>(\n reducer?: Reducer<TListItem, TListItemAction>\n ) =>\n (\n state: EntityListState<TListItem> = [],\n action: EntityListAction<TListItem, TListItemAction>\n ): EntityListState<TListItem> => {\n switch (action.type) {\n case \"ENTITY_LIST:SET_LIST\": {\n const { list } = action;\n return list;\n }\n case \"ENTITY_LIST:CLEAR_LIST\": {\n return [];\n }\n case \"ENTITY_LIST:ADD_AT_END\": {\n const { entity } = action;\n return [...state, entity];\n }\n case \"ENTITY_LIST:ADD_AT_START\": {\n const { entity } = action;\n return [entity, ...state];\n }\n case \"ENTITY_LIST:REMOVE_FIRST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const [, ...list] = state;\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_LAST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const list = [...state];\n list.pop();\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_AT_INDEX\": {\n const { index } = action;\n if (index < 0) {\n throw new Error(\"Index is lower than 0.\");\n }\n if (index >= state.length) {\n throw new Error(\"Index is outside of list bounds.\");\n }\n const list = [...state];\n list.splice(index, 1);\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\": {\n const { fields } = action;\n return state.filter((item) => !fieldsMatch(item, fields));\n }\n\n case \"ENTITY_LIST:REMOVE\": {\n const { entity } = action;\n return state.filter((item) => item !== entity);\n }\n\n case \"ENTITY_LIST:TOGGLE\": {\n const { entity } = action;\n const index = state.findIndex(\n (item) => item === entity || fieldsMatch(item, entity)\n );\n\n if (index >= 0) {\n const list = [...state];\n list.splice(index, index);\n\n return list;\n } else {\n return [...state, entity];\n }\n }\n\n case \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\": {\n const { fields, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByFieldsMatch'.\"\n );\n }\n return state.map((item) =>\n fieldsMatch(item, fields) ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_BY_INDEX\": {\n const { index, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item, i) =>\n index === i ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_ON_ALL\": {\n const { action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item) => reducer(item, innerAction));\n }\n\n default:\n return state;\n }\n };\n","import { EntityListState } from \"./entity-list-reducer\";\n\nexport interface EntityListSelectors<TStoreState, TEntity> {\n getList: (store: TStoreState) => Array<TEntity>;\n}\n\nexport type EntityListSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityListState<TEntity>;\n\nexport const createEntityListSelectors = <TStoreState, TEntity>(\n stateSelector: EntityListSelector<TStoreState, TEntity>\n): EntityListSelectors<TStoreState, TEntity> => ({\n getList: (store) => stateSelector(store),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"./entity-by-id-actions\";\n\nexport interface EntityByIdState<T extends EntityWithId> {\n entities: { [key: string]: T };\n}\n\nexport const entityByIdInitialState = { entities: {} };\n\nexport const createEntityByIdReducer = <T extends EntityWithId>() => {\n return (\n state: EntityByIdState<T> = entityByIdInitialState,\n action: EntityByIdAction<T>\n ): EntityByIdState<T> => {\n switch (action.type) {\n case \"ENTITY_BY_ID:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [entity.id]: entity,\n },\n };\n }\n\n case \"ENTITY_BY_ID:SET_ENTITY_FIELDS\": {\n const { id, fields } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [id]: {\n ...state.entities[id],\n ...fields,\n },\n },\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\": {\n return {\n ...state,\n entities: {},\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ENTITY\": {\n const { id } = action;\n const entities = {\n ...state.entities,\n };\n delete entities[id];\n return {\n ...state,\n entities,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport {\n EntityByIdClearAllEntitiesAction,\n EntityByIdClearEntityAction,\n EntityByIdSetEntityAction,\n EntityByIdSetEntityFieldsAction,\n} from \"./entity-by-id-actions\";\n\nexport interface EntityByIdActions<T extends EntityWithId> {\n setEntity: (entity: T) => EntityByIdSetEntityAction<T>;\n setEntityFields: (\n id: string,\n fields: Partial<T>\n ) => EntityByIdSetEntityFieldsAction<T>;\n clearEntity: (id: string) => EntityByIdClearEntityAction;\n clearAllEntities: () => EntityByIdClearAllEntitiesAction;\n}\n\nexport const createEntityByIdActions = <\n T extends EntityWithId\n>(): EntityByIdActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (id, fields) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY_FIELDS\",\n id,\n fields,\n }),\n clearEntity: (id) => ({\n type: \"ENTITY_BY_ID:CLEAR_ENTITY\",\n id,\n }),\n clearAllEntities: () => ({\n type: \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\",\n }),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdState } from \"./entity-by-id-reducer\";\n\nexport interface EntityByIdSelectors<\n TStoreState,\n TEntity extends EntityWithId\n> {\n getState: EntityByIdStateSelector<TStoreState, TEntity>;\n}\n\nexport type EntityByIdStateSelector<\n TStoreState,\n TEntity extends EntityWithId\n> = (state: TStoreState) => EntityByIdState<TEntity>;\n\nexport const createEntityByIdSelectors = <\n TStoreState,\n TEntity extends EntityWithId\n>(\n stateSelector: EntityByIdStateSelector<TStoreState, TEntity>\n): EntityByIdSelectors<TStoreState, TEntity> => ({\n getState: stateSelector,\n});\n","import { EntityAction } from \"./entity-actions\";\nimport { Reducer } from \"redux\";\n\nexport type EntityState<T> = T;\n\nexport const createEntityReducer = <T>(\n initialEntity: T\n): Reducer<EntityState<T>, EntityAction<T>> => {\n const INITIAL_STATE = initialEntity;\n\n return (\n state: EntityState<T> = INITIAL_STATE,\n action: EntityAction<T>\n ): EntityState<T> => {\n switch (action.type) {\n case \"ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return entity;\n }\n\n case \"ENTITY:SET_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n ...fields,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EntitySetEntityAction,\n EntitySetEntityFieldsAction,\n} from \"./entity-actions\";\n\nexport interface EntityActions<T> {\n setEntity: (entity: T) => EntitySetEntityAction<T>;\n setEntityFields: (fields: Partial<T>) => EntitySetEntityFieldsAction<T>;\n}\n\nexport const createEntityActions = <T>(): EntityActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (fields) => ({\n type: \"ENTITY:SET_ENTITY_FIELDS\",\n fields,\n }),\n});\n","import { EntityState } from \"./entity-reducer\";\n\nexport interface EntitySelectors<TStoreState, TEntity> {\n getEntity: (state: TStoreState) => TEntity;\n}\n\nexport type EntityStateSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityState<TEntity>;\n\nexport const createEntitySelectors = <TStoreState, TEntity>(\n stateSelector: EntityStateSelector<TStoreState, TEntity>\n): EntitySelectors<TStoreState, TEntity> => ({\n getEntity: (state) => stateSelector(state),\n});\n","import { Reducer } from \"redux\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n EntityByIdStateSelector,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\n\nexport interface EntityCrudStatus extends CrudStatus {\n id: string;\n}\n\nexport interface CrudStatus {\n loading?: boolean;\n creating?: boolean;\n updating?: boolean;\n modified?: boolean;\n deleting?: boolean;\n hasError?: boolean;\n errorMessage?: string;\n}\n\nexport type EntityCrudStatusState = EntityByIdState<EntityCrudStatus>;\nexport type EntityCrudStatusAction = EntityByIdAction<EntityCrudStatus>;\nexport type EntityCrudStatusActions = EntityByIdActions<EntityCrudStatus>;\n\nexport interface EntityCrudStatusRedux<TStoreState> {\n reducer: EntityCrudStatusReducer;\n actions: EntityCrudStatusActions;\n selectors: EntityCrudStatusSelectors<TStoreState>;\n}\n\nexport type EntityCrudStatusReducer = Reducer<\n EntityCrudStatusState,\n EntityByIdAction<EntityCrudStatus>\n>;\n\nexport const createEntityCrudStatusReducer = () =>\n createEntityByIdReducer<EntityCrudStatus>();\n\nexport const createEntityCrudStatusActions = (): EntityCrudStatusActions =>\n createEntityByIdActions<EntityCrudStatus>();\n\nexport type EntityCrudStatusSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n EntityCrudStatus\n>;\n\nexport const createEntityCrudStatusSelectors = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n) => createEntityByIdSelectors<TStoreState, EntityCrudStatus>(stateSelector);\n\nexport const createEntityCrudStatusRedux = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n): EntityCrudStatusRedux<TStoreState> => {\n const reducer = createEntityCrudStatusReducer();\n const actions = createEntityCrudStatusActions();\n const selectors = createEntityCrudStatusSelectors(stateSelector);\n return {\n reducer,\n actions,\n selectors,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\n\nexport interface ModifiedFieldItemState extends EntityWithId {\n modified?: boolean;\n originalValue?: string;\n newValue?: string;\n}\n\nexport type ModifiedFieldState = EntityByIdState<ModifiedFieldItemState>;\nexport type ModifiedFieldAction = EntityByIdAction<ModifiedFieldItemState>;\nexport type ModifiedFieldActions = EntityByIdActions<ModifiedFieldItemState>;\n\nexport type ModifiedFieldsSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n>;\n\nexport type ModifiedFieldStateSelector<TStoreState> = (\n state: TStoreState\n) => ModifiedFieldState;\n\nexport type ModifiedStateReducer = Reducer<\n ModifiedFieldState,\n ModifiedFieldAction\n>;\n\nexport interface ModifiedFieldRedux<TStoreState> {\n reducer: ModifiedStateReducer;\n selectors: ModifiedFieldsSelectors<TStoreState>;\n actions: ModifiedFieldActions;\n}\n\nexport const createModifiedFieldRedux = <TStoreState>(\n stateSelector: ModifiedFieldStateSelector<TStoreState>\n): ModifiedFieldRedux<TStoreState> => {\n const reducer = createEntityByIdReducer<ModifiedFieldItemState>();\n\n const selectors: ModifiedFieldsSelectors<TStoreState> =\n createEntityByIdSelectors<TStoreState, ModifiedFieldItemState>(\n stateSelector\n );\n\n const actions = createEntityByIdActions<ModifiedFieldItemState>();\n\n return {\n reducer,\n selectors,\n actions,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EditableEntityAction } from \"./editable-entity-actions\";\n\nexport interface EditableEntityState<T> {\n id?: string;\n persisted: T;\n editable: T;\n}\n\nexport const createEditableEntityReducer = <T>(\n initialEntity: T,\n initialId?: string\n): Reducer<EditableEntityState<T>, EditableEntityAction<T>> => {\n const initialState: EditableEntityState<T> = {\n id: initialId,\n editable: initialEntity,\n persisted: initialEntity,\n };\n\n return (state = initialState, action) => {\n switch (action.type) {\n case \"EDITABLE_ENTITY:SET_ENTITY_ID\": {\n const { id } = action;\n return {\n ...state,\n id,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n editable: {\n ...state.editable,\n ...fields,\n },\n };\n }\n\n case \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\": {\n return {\n ...state,\n editable: state.persisted,\n };\n }\n\n case \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\": {\n return {\n ...state,\n persisted: state.editable,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EditableEntityCommitEditableEntityToPersistedAction,\n EditableEntityRevertEditableEntityAction,\n EditableEntitySetEditableEntityAction,\n EditableEntitySetEditableEntityFieldsAction,\n EditableEntitySetEntityAction,\n EditableEntitySetEntityIdAction,\n EditableEntitySetPersistedEntityAction,\n} from \"./editable-entity-actions\";\n\nexport interface EditableEntityActions<T> {\n setEntityId: (\n entityId: string | undefined\n ) => EditableEntitySetEntityIdAction;\n setEntity: (entity: T) => EditableEntitySetEntityAction<T>;\n setPersistedEntity: (entity: T) => EditableEntitySetPersistedEntityAction<T>;\n setEditableEntity: (entity: T) => EditableEntitySetEditableEntityAction<T>;\n setEditableEntityFields: (\n fields: Partial<T>\n ) => EditableEntitySetEditableEntityFieldsAction<T>;\n revertEditableEntity: () => EditableEntityRevertEditableEntityAction;\n commitEditableEntityToPersisted: () => EditableEntityCommitEditableEntityToPersistedAction;\n}\n\nexport const createEditableEntityActions = <T>(): EditableEntityActions<T> => ({\n setEntityId: (id: string | undefined) => ({\n type: \"EDITABLE_ENTITY:SET_ENTITY_ID\",\n id,\n }),\n setEntity: (entity) => ({ type: \"EDITABLE_ENTITY:SET_ENTITY\", entity }),\n setPersistedEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\",\n entity,\n }),\n setEditableEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\",\n entity,\n }),\n setEditableEntityFields: (fields) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\",\n fields,\n }),\n revertEditableEntity: () => ({\n type: \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\",\n }),\n commitEditableEntityToPersisted: () => ({\n type: \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\",\n }),\n});\n","import { Reducer } from \"redux\";\nimport { SelectedIdsAction } from \"./selected-ids-actions\";\n\nexport interface SelectedIdsState {\n selectedIds: Array<string>;\n}\n\nexport const createSelectedIdsReducerInitialState = (\n initialSelection: string[] = []\n): SelectedIdsState => ({\n selectedIds: initialSelection,\n});\n\nconst INITIAL_STATE = createSelectedIdsReducerInitialState();\n\nexport type SelectedIdsReducer = Reducer<SelectedIdsState, SelectedIdsAction>;\n\nexport const createSelectedIdsReducer =\n (initialState: SelectedIdsState = INITIAL_STATE): SelectedIdsReducer =>\n (state = initialState, action) => {\n switch (action.type) {\n case \"SELECTED_IDS:SET_SELECTED_IDS\": {\n const { selectedIds } = action;\n return {\n ...state,\n selectedIds,\n };\n }\n case \"SELECTED_IDS:CLEAR_SELECTED_IDS\": {\n return {\n ...state,\n selectedIds: [],\n };\n }\n default:\n return state;\n }\n };\n\nexport const selectedIdsReducer = createSelectedIdsReducer();\n","import {\n SelectedIdsClearSelectedIdsAction,\n SelectedIdsSetSelectedIdsAction,\n} from \"./selected-ids-actions\";\n\nexport interface SelectedIdsActions {\n setSelectedIds: (ids: Array<string>) => SelectedIdsSetSelectedIdsAction;\n clearSelectedIds: () => SelectedIdsClearSelectedIdsAction;\n}\n\nexport const createSelectedIdsActions = (): SelectedIdsActions => ({\n setSelectedIds: (selectedIds) => ({\n selectedIds,\n type: \"SELECTED_IDS:SET_SELECTED_IDS\",\n }),\n clearSelectedIds: () => ({\n type: \"SELECTED_IDS:CLEAR_SELECTED_IDS\",\n }),\n});\n\nexport const selectedIdsActions = createSelectedIdsActions();\n","import { SelectedIdsState } from \"./selected-ids-reducer\";\n\nexport interface SelectedIdsSelectors<TStoreState> {\n getState: SelectedIdsStateSelector<TStoreState>;\n}\n\nexport type SelectedIdsStateSelector<TStoreState> = (\n state: TStoreState\n) => SelectedIdsState;\n\nexport const createSelectedIdsSelectors = <TStoreState>(\n stateSelector: SelectedIdsStateSelector<TStoreState>\n): SelectedIdsSelectors<TStoreState> => ({\n getState: stateSelector,\n});\n","import { SortOrderByIdAction } from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdState {\n ids: Array<string> | undefined;\n}\n\nconst INITIAL_STATE: SortOrderByIdState = {\n ids: undefined,\n};\n\nexport const createSortOrderByIdReducer =\n () =>\n (\n state: SortOrderByIdState = INITIAL_STATE,\n action: SortOrderByIdAction\n ): SortOrderByIdState => {\n switch (action.type) {\n case \"SORT_ORDER_BY_ID:SET_SORT_ORDER\":\n return {\n ...state,\n ids: action.ids,\n };\n\n case \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\":\n return {\n ...state,\n ids: undefined,\n };\n\n default:\n return state;\n }\n };\n\nexport const sortOrderByIdReducer = createSortOrderByIdReducer();\n","import {\n SortOrderByIdClearSortOrderAction,\n SortOrderByIdSetSortOrderAction,\n} from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdActions {\n setSortOrder: (ids: Array<string>) => SortOrderByIdSetSortOrderAction;\n clearSortOrder: () => SortOrderByIdClearSortOrderAction;\n}\n\nexport const createSortOrderByIdActions = (): SortOrderByIdActions => {\n return {\n setSortOrder: (ids) => ({\n ids,\n type: \"SORT_ORDER_BY_ID:SET_SORT_ORDER\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\",\n }),\n };\n};\n\nexport const sortOrderByIdActions = createSortOrderByIdActions();\n","import { SortOrderByIdState } from \"./sort-order-by-id-reducer\";\n\ninterface SortOrderByIdSelectors<TStoreState> {\n getSortOrderByIdState: (state: TStoreState) => SortOrderByIdState;\n getSortOrder: (state: TStoreState) => Array<string> | undefined;\n}\n\ntype SortOrderByIdStateProvider<TStoreState> = (\n state: TStoreState\n) => SortOrderByIdState;\n\nexport const createSortOrderByIdSelectors = <TStoreState>(\n rootStateProvider: SortOrderByIdStateProvider<TStoreState>\n): SortOrderByIdSelectors<TStoreState> => {\n return {\n getSortOrderByIdState: (state) => {\n return rootStateProvider(state);\n },\n getSortOrder: (state) => {\n return rootStateProvider(state).ids;\n },\n };\n};\n","import { Reducer } from \"redux\";\nimport { SortOrderAction } from \"./sort-order-actions\";\n\nexport interface SortOrderState<TSortBy> {\n sortBy: TSortBy | undefined;\n desc: boolean;\n}\n\nexport const createSortOrderReducerInitialState = <TSortBy>(\n sortBy: TSortBy | undefined = undefined,\n desc: boolean = false\n): SortOrderState<TSortBy> => ({\n sortBy,\n desc,\n});\n\nexport type SortOrderReducer<TSortBy> = Reducer<\n SortOrderState<TSortBy>,\n SortOrderAction<TSortBy>\n>;\n\nexport const createSortOrderReducer =\n <TSortBy>(\n initialState: SortOrderState<TSortBy> = { sortBy: undefined, desc: false }\n ): SortOrderReducer<TSortBy> =>\n (state = initialState, action) => {\n switch (action.type) {\n case \"SORT_ORDER:SET_SORT_BY\": {\n const { sortBy, desc } = action;\n return {\n ...state,\n sortBy,\n desc,\n };\n }\n\n case \"SORT_ORDER:CLEAR_SORT_ORDER\": {\n return {\n ...state,\n sortBy: undefined,\n desc: false,\n };\n }\n\n default:\n return state;\n }\n };\n","import {\n SortOrderClearSortOrderAction,\n SortOrderSetSortByAction,\n} from \"./sort-order-actions\";\n\nexport interface SortOrderActions<TSortBy> {\n sortBy: (sortBy: TSortBy, desc: boolean) => SortOrderSetSortByAction<TSortBy>;\n clearSortOrder: () => SortOrderClearSortOrderAction;\n}\n\nexport const createSortOrderActions = <\n TSortBy\n>(): SortOrderActions<TSortBy> => ({\n sortBy: (sortBy, desc) => ({\n desc,\n sortBy,\n type: \"SORT_ORDER:SET_SORT_BY\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER:CLEAR_SORT_ORDER\",\n }),\n});\n","import { SortOrderState } from \"./sort-order-reducer\";\n\nexport interface SortOrderSelectors<TStoreState, TSortBy> {\n getState: SortOrderStateSelector<TStoreState, TSortBy>;\n}\n\nexport type SortOrderStateSelector<TStoreState, TSortBy> = (\n state: TStoreState\n) => SortOrderState<TSortBy>;\n\nexport const createSortOrderSelectors = <TStoreState, TSortBy>(\n stateProvider: SortOrderStateSelector<TStoreState, TSortBy>\n): SortOrderSelectors<TStoreState, TSortBy> => ({\n getState: stateProvider,\n});\n","import { ValueByIdAction } from \"./value-by-id-actions\";\n\nexport interface ValueByIdState<TValue> {\n values: { [key: string]: TValue };\n}\n\nexport const valueByIdInitialState = { values: {} };\n\nexport const createValueByIdReducer = <TValue>(\n initialValue: ValueByIdState<TValue> = valueByIdInitialState\n) => {\n return (\n state: ValueByIdState<TValue> = initialValue,\n action: ValueByIdAction<TValue>\n ): ValueByIdState<TValue> => {\n switch (action.type) {\n case \"VALUE_BY_ID:SET_VALUE\": {\n const { id, value } = action;\n return {\n ...state,\n values: {\n ...state.values,\n [id]: value,\n },\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_ALL_VALUES\": {\n return {\n ...state,\n values: {},\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_VALUE\": {\n const { id } = action;\n const values = {\n ...state.values,\n };\n delete values[id];\n return {\n ...state,\n values,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n ValueByIdClearAllValuesAction,\n ValueByIdClearValueAction,\n ValueByIdSetValueAction,\n} from \"./value-by-id-actions\";\n\nexport interface ValueByIdActions<TValue> {\n setValue: (id: string, value: TValue) => ValueByIdSetValueAction<TValue>;\n clearValue: (id: string) => ValueByIdClearValueAction;\n clearAllValues: () => ValueByIdClearAllValuesAction;\n}\n\nexport const createValueByIdActions = <TValue>(): ValueByIdActions<TValue> => ({\n setValue: (id, value) => ({\n type: \"VALUE_BY_ID:SET_VALUE\",\n id,\n value,\n }),\n clearValue: (id) => ({\n type: \"VALUE_BY_ID:CLEAR_VALUE\",\n id,\n }),\n clearAllValues: () => ({\n type: \"VALUE_BY_ID:CLEAR_ALL_VALUES\",\n }),\n});\n","import { ValueByIdState } from \"./value-by-id-reducer\";\n\nexport interface ValueByIdSelectors<TStoreState, TValue> {\n getState: ValueByIdStateSelector<TStoreState, TValue>;\n}\n\nexport type ValueByIdStateSelector<TStoreState, TValue> = (\n state: TStoreState\n) => ValueByIdState<TValue>;\n\nexport const createValueByIdSelectors = <TStoreState, TValue>(\n stateSelector: ValueByIdStateSelector<TStoreState, TValue>\n): ValueByIdSelectors<TStoreState, TValue> => ({\n getState: stateSelector,\n});\n"],"names":["createRecordObjectReducer","reducer","state","action","recordId","newState","innerAction","createRecordObjectActions","reducerIdGate","reducerId","isValidReducerIdGateAction","reducerIdGateAction","wrapActionWithReducerIdGate","actionCreator","args","wrapActionsWithReducerIdGate","actionCreators","boundActionCreators","key","createCommitReducerActions","id","values","createCommitReducer","initialState","createCommitReducerSelectors","stateSelector","createEntityListActions","entity","index","fields","list","fieldsMatch","keys","i","createEntityListReducer","item","createEntityListSelectors","store","entityByIdInitialState","createEntityByIdReducer","entities","createEntityByIdActions","createEntityByIdSelectors","createEntityReducer","initialEntity","INITIAL_STATE","createEntityActions","createEntitySelectors","createEntityCrudStatusReducer","createEntityCrudStatusActions","createEntityCrudStatusSelectors","createEntityCrudStatusRedux","actions","selectors","createModifiedFieldRedux","createEditableEntityReducer","initialId","createEditableEntityActions","createSelectedIdsReducerInitialState","initialSelection","createSelectedIdsReducer","selectedIds","selectedIdsReducer","createSelectedIdsActions","selectedIdsActions","createSelectedIdsSelectors","createSortOrderByIdReducer","sortOrderByIdReducer","createSortOrderByIdActions","ids","sortOrderByIdActions","createSortOrderByIdSelectors","rootStateProvider","createSortOrderReducerInitialState","sortBy","desc","createSortOrderReducer","createSortOrderActions","createSortOrderSelectors","stateProvider","valueByIdInitialState","createValueByIdReducer","initialValue","value","createValueByIdActions","createValueByIdSelectors"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stenajs-webui/redux",
|
|
3
|
-
"version": "20.
|
|
3
|
+
"version": "20.11.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "mattias800",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"files": [
|
|
53
53
|
"dist"
|
|
54
54
|
],
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "17cba18b88d3281f69e913804b62eb620050f174"
|
|
56
56
|
}
|