@stenajs-webui/redux 21.11.0 → 21.12.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.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
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 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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"}
|
|
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.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 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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"}
|
|
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": "21.
|
|
3
|
+
"version": "21.12.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "mattias800",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"prop-types": ">=15.5.4",
|
|
37
37
|
"react": ">=18.3.1",
|
|
38
38
|
"react-dom": ">=18.3.1",
|
|
39
|
-
"react-redux": ">=
|
|
40
|
-
"redux": ">=
|
|
39
|
+
"react-redux": ">=9.1.2",
|
|
40
|
+
"redux": ">=5.0.1"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/react": "^18.3.3",
|
|
@@ -45,11 +45,11 @@
|
|
|
45
45
|
"prop-types": "^15.5.4",
|
|
46
46
|
"react": "^18.3.1",
|
|
47
47
|
"react-dom": "^18.3.1",
|
|
48
|
-
"react-redux": "^
|
|
49
|
-
"redux": "^
|
|
48
|
+
"react-redux": "^9.1.2",
|
|
49
|
+
"redux": "^5.0.1"
|
|
50
50
|
},
|
|
51
51
|
"files": [
|
|
52
52
|
"dist"
|
|
53
53
|
],
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "a6c0efec8e05313f61c5ed3c412ee6bbc87acec2"
|
|
55
55
|
}
|