@stenajs-webui/redux 14.2.0 → 15.0.0-alpha.3

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.
@@ -1,4 +1,4 @@
1
1
  import { Reducer } from "redux";
2
2
  import { RecordObjectAction, RecordObjectKey, RecordObjectWrappedAction } from "./record-object-actions";
3
3
  export declare type RecordObjectState<TInnerState> = Record<RecordObjectKey, TInnerState>;
4
- export declare const createRecordObjectReducer: <TInnerAction extends RecordObjectWrappedAction, TInnerState = unknown>(reducer: Reducer<TInnerState, TInnerAction>) => Reducer<Record<RecordObjectKey, TInnerState>, RecordObjectAction<TInnerAction>>;
4
+ export declare const createRecordObjectReducer: <TInnerAction extends RecordObjectWrappedAction, TInnerState = unknown>(reducer: Reducer<TInnerState, TInnerAction>) => Reducer<RecordObjectState<TInnerState>, RecordObjectAction<TInnerAction>>;
@@ -5,5 +5,5 @@ export interface ReducerIdGateAction<TInnerAction> {
5
5
  action: TInnerAction;
6
6
  }
7
7
  export declare type ReducerIdGateReducer<TState, TInnerAction extends Action = AnyAction> = Reducer<TState, ReducerIdGateAction<TInnerAction>>;
8
- export declare const reducerIdGate: <TState, TInnerAction extends Action<any> = AnyAction>(reducerId: string, reducer: Reducer<TState, TInnerAction>) => Reducer<TState, ReducerIdGateAction<TInnerAction>>;
8
+ export declare const reducerIdGate: <TState, TInnerAction extends Action<any> = AnyAction>(reducerId: string, reducer: Reducer<TState, TInnerAction>) => ReducerIdGateReducer<TState, TInnerAction>;
9
9
  export declare const reducerIdGateAction: <TInnerAction>(reducerId: string, action: TInnerAction) => ReducerIdGateAction<TInnerAction>;
@@ -6,4 +6,4 @@ export interface SelectedIdsState {
6
6
  export declare const createSelectedIdsReducerInitialState: (initialSelection?: string[]) => SelectedIdsState;
7
7
  export declare type SelectedIdsReducer = Reducer<SelectedIdsState, SelectedIdsAction>;
8
8
  export declare const createSelectedIdsReducer: () => SelectedIdsReducer;
9
- export declare const selectedIdsReducer: Reducer<SelectedIdsState, SelectedIdsAction>;
9
+ export declare const selectedIdsReducer: SelectedIdsReducer;
@@ -6,4 +6,4 @@ export interface SortOrderState<TSortBy> {
6
6
  }
7
7
  export declare const createSortOrderReducerInitialState: <TSortBy>(sortBy?: TSortBy | undefined, desc?: boolean) => SortOrderState<TSortBy>;
8
8
  export declare type SortOrderReducer<TSortBy> = Reducer<SortOrderState<TSortBy>, SortOrderAction<TSortBy>>;
9
- export declare const createSortOrderReducer: <TSortBy>() => Reducer<SortOrderState<TSortBy>, SortOrderAction<TSortBy>>;
9
+ export declare const createSortOrderReducer: <TSortBy>() => SortOrderReducer<TSortBy>;
package/dist/index.es.js CHANGED
@@ -24,12 +24,14 @@ var __assign = function() {
24
24
  return __assign.apply(this, arguments);
25
25
  };
26
26
 
27
- function __spreadArrays() {
28
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
29
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
30
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
31
- r[k] = a[j];
32
- return r;
27
+ function __spreadArray(to, from, pack) {
28
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
29
+ if (ar || !(i in from)) {
30
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
31
+ ar[i] = from[i];
32
+ }
33
+ }
34
+ return to.concat(ar || Array.prototype.slice.call(from));
33
35
  }
34
36
 
35
37
  var createRecordObjectReducer = function (reducer) { return function (state, action) {
@@ -221,11 +223,11 @@ var createEntityListReducer = function (reducer) { return function (state, actio
221
223
  }
222
224
  case "ENTITY_LIST:ADD_AT_END": {
223
225
  var entity = action.entity;
224
- return __spreadArrays(state, [entity]);
226
+ return __spreadArray(__spreadArray([], state, true), [entity], false);
225
227
  }
226
228
  case "ENTITY_LIST:ADD_AT_START": {
227
229
  var entity = action.entity;
228
- return __spreadArrays([entity], state);
230
+ return __spreadArray([entity], state, true);
229
231
  }
230
232
  case "ENTITY_LIST:REMOVE_FIRST": {
231
233
  if (state.length === 0) {
@@ -238,7 +240,7 @@ var createEntityListReducer = function (reducer) { return function (state, actio
238
240
  if (state.length === 0) {
239
241
  throw new Error("Cannot remove, list is empty.");
240
242
  }
241
- var list = __spreadArrays(state);
243
+ var list = __spreadArray([], state, true);
242
244
  list.pop();
243
245
  return list;
244
246
  }
@@ -250,7 +252,7 @@ var createEntityListReducer = function (reducer) { return function (state, actio
250
252
  if (index >= state.length) {
251
253
  throw new Error("Index is outside of list bounds.");
252
254
  }
253
- var list = __spreadArrays(state);
255
+ var list = __spreadArray([], state, true);
254
256
  list.splice(index, 1);
255
257
  return list;
256
258
  }
@@ -266,12 +268,12 @@ var createEntityListReducer = function (reducer) { return function (state, actio
266
268
  var entity_2 = action.entity;
267
269
  var index = state.findIndex(function (item) { return item === entity_2 || fieldsMatch(item, entity_2); });
268
270
  if (index >= 0) {
269
- var list = __spreadArrays(state);
271
+ var list = __spreadArray([], state, true);
270
272
  list.splice(index, index);
271
273
  return list;
272
274
  }
273
275
  else {
274
- return __spreadArrays(state, [entity_2]);
276
+ return __spreadArray(__spreadArray([], state, true), [entity_2], false);
275
277
  }
276
278
  }
277
279
  case "ENTITY_LIST:ACTION_BY_FIELDS_MATCH": {
@@ -496,9 +498,9 @@ var createSelectedIdsReducerInitialState = function (initialSelection) {
496
498
  selectedIds: initialSelection,
497
499
  });
498
500
  };
499
- var INITIAL_STATE = createSelectedIdsReducerInitialState();
501
+ var INITIAL_STATE$2 = createSelectedIdsReducerInitialState();
500
502
  var createSelectedIdsReducer = function () { return function (state, action) {
501
- if (state === void 0) { state = INITIAL_STATE; }
503
+ if (state === void 0) { state = INITIAL_STATE$2; }
502
504
  switch (action.type) {
503
505
  case "SELECTED_IDS:SET_SELECTED_IDS": {
504
506
  var selectedIds = action.selectedIds;
@@ -576,17 +578,16 @@ var createSortOrderReducerInitialState = function (sortBy, desc) {
576
578
  desc: desc,
577
579
  });
578
580
  };
579
- var INITIAL_STATE$2 = {
581
+ var INITIAL_STATE = {
580
582
  sortBy: undefined,
581
583
  desc: false,
582
584
  };
583
585
  var createSortOrderReducer = function () { return function (state, action) {
584
- if (state === void 0) { state = INITIAL_STATE$2; }
586
+ if (state === void 0) { state = INITIAL_STATE; }
585
587
  switch (action.type) {
586
588
  case "SORT_ORDER:SET_SORT_BY": {
587
589
  var sortBy = action.sortBy, desc = action.desc;
588
- return __assign(__assign({}, state), { sortBy: sortBy,
589
- desc: desc });
590
+ return __assign(__assign({}, state), { sortBy: sortBy, desc: desc });
590
591
  }
591
592
  case "SORT_ORDER:CLEAR_SORT_ORDER": {
592
593
  return __assign(__assign({}, state), { sortBy: undefined, desc: false });
@@ -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,\n TInnerState = unknown\n>(\n reducer: Reducer<TInnerState, TInnerAction>\n): Reducer<\n RecordObjectState<TInnerState>,\n RecordObjectAction<TInnerAction>\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 = <TState, TInnerAction extends Action = AnyAction>(\n reducerId: string,\n reducer: Reducer<TState, TInnerAction>\n): ReducerIdGateReducer<TState, TInnerAction> => (state, action) => {\n let newState = state == null ? reducer(undefined, {} as any) : state;\n\n if (!isValidReducerIdGateAction(action)) {\n return newState;\n }\n\n if (\n reducerId !== action.reducerId ||\n action.type !== \"REDUCER_ID_GATE:ACTION\"\n ) {\n return newState;\n }\n return reducer(newState, action.action);\n};\n\nexport const reducerIdGateAction = <TInnerAction>(\n reducerId: string,\n action: TInnerAction\n): ReducerIdGateAction<TInnerAction> => ({\n type: \"REDUCER_ID_GATE:ACTION\",\n action,\n reducerId,\n});\n\nconst isValidReducerIdGateAction = (action: any): boolean =>\n !!action.action &&\n action.type === \"REDUCER_ID_GATE:ACTION\" &&\n typeof action.reducerId === \"string\";\n","import { ReducerIdGateAction } from \"./reducer-id-gate\";\n\ntype ActionCreator = (...args: any) => any;\n\nexport type ActionCreatorCreator<TActionCreator extends ActionCreator> = (\n ...args: Parameters<TActionCreator>\n) => ReducerIdGateAction<ReturnType<TActionCreator>>;\n\nexport const wrapActionWithReducerIdGate = <\n TActionCreator extends ActionCreator\n>(\n reducerId: string,\n actionCreator: TActionCreator\n): ActionCreatorCreator<TActionCreator> => (...args) => {\n return {\n type: \"REDUCER_ID_GATE:ACTION\",\n reducerId,\n action: actionCreator(...args),\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 = {} 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 = <TState>(\n id: string,\n 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,\n TListItemAction extends Action = AnyAction\n>(\n reducer?: Reducer<TListItem, TListItemAction>\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> = createEntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n >(stateSelector);\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 = (): SelectedIdsReducer => (\n state = INITIAL_STATE,\n action\n) => {\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 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\nconst INITIAL_STATE = {\n sortBy: undefined,\n desc: false,\n};\n\nexport type SortOrderReducer<TSortBy> = Reducer<\n SortOrderState<TSortBy>,\n SortOrderAction<TSortBy>\n>;\n\nexport const createSortOrderReducer = <\n TSortBy\n>(): SortOrderReducer<TSortBy> => (state = INITIAL_STATE, 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":["INITIAL_STATE"],"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,\n TInnerState = unknown\n>(\n reducer: Reducer<TInnerState, TInnerAction>\n): Reducer<\n RecordObjectState<TInnerState>,\n RecordObjectAction<TInnerAction>\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 = <TState, TInnerAction extends Action = AnyAction>(\n reducerId: string,\n reducer: Reducer<TState, TInnerAction>\n): ReducerIdGateReducer<TState, TInnerAction> => (state, action) => {\n let newState = state == null ? reducer(undefined, {} as any) : state;\n\n if (!isValidReducerIdGateAction(action)) {\n return newState;\n }\n\n if (\n reducerId !== action.reducerId ||\n action.type !== \"REDUCER_ID_GATE:ACTION\"\n ) {\n return newState;\n }\n return reducer(newState, action.action);\n};\n\nexport const reducerIdGateAction = <TInnerAction>(\n reducerId: string,\n action: TInnerAction\n): ReducerIdGateAction<TInnerAction> => ({\n type: \"REDUCER_ID_GATE:ACTION\",\n action,\n reducerId,\n});\n\nconst isValidReducerIdGateAction = (action: any): boolean =>\n !!action.action &&\n action.type === \"REDUCER_ID_GATE:ACTION\" &&\n typeof action.reducerId === \"string\";\n","import { ReducerIdGateAction } from \"./reducer-id-gate\";\n\ntype ActionCreator = (...args: any) => any;\n\nexport type ActionCreatorCreator<TActionCreator extends ActionCreator> = (\n ...args: Parameters<TActionCreator>\n) => ReducerIdGateAction<ReturnType<TActionCreator>>;\n\nexport const wrapActionWithReducerIdGate = <\n TActionCreator extends ActionCreator\n>(\n reducerId: string,\n actionCreator: TActionCreator\n): ActionCreatorCreator<TActionCreator> => (...args) => {\n return {\n type: \"REDUCER_ID_GATE:ACTION\",\n reducerId,\n action: actionCreator(...args),\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 = {} 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 = <TState>(\n id: string,\n 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,\n TListItemAction extends Action = AnyAction\n>(\n reducer?: Reducer<TListItem, TListItemAction>\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> = createEntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n >(stateSelector);\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 = (): SelectedIdsReducer => (\n state = INITIAL_STATE,\n action\n) => {\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 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\nconst INITIAL_STATE = {\n sortBy: undefined,\n desc: false,\n};\n\nexport type SortOrderReducer<TSortBy> = Reducer<\n SortOrderState<TSortBy>,\n SortOrderAction<TSortBy>\n>;\n\nexport const createSortOrderReducer = <\n TSortBy\n>(): SortOrderReducer<TSortBy> => (state = INITIAL_STATE, 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":["INITIAL_STATE"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -28,12 +28,14 @@ var __assign = function() {
28
28
  return __assign.apply(this, arguments);
29
29
  };
30
30
 
31
- function __spreadArrays() {
32
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
33
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
34
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
35
- r[k] = a[j];
36
- return r;
31
+ function __spreadArray(to, from, pack) {
32
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
33
+ if (ar || !(i in from)) {
34
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
35
+ ar[i] = from[i];
36
+ }
37
+ }
38
+ return to.concat(ar || Array.prototype.slice.call(from));
37
39
  }
38
40
 
39
41
  var createRecordObjectReducer = function (reducer) { return function (state, action) {
@@ -225,11 +227,11 @@ var createEntityListReducer = function (reducer) { return function (state, actio
225
227
  }
226
228
  case "ENTITY_LIST:ADD_AT_END": {
227
229
  var entity = action.entity;
228
- return __spreadArrays(state, [entity]);
230
+ return __spreadArray(__spreadArray([], state, true), [entity], false);
229
231
  }
230
232
  case "ENTITY_LIST:ADD_AT_START": {
231
233
  var entity = action.entity;
232
- return __spreadArrays([entity], state);
234
+ return __spreadArray([entity], state, true);
233
235
  }
234
236
  case "ENTITY_LIST:REMOVE_FIRST": {
235
237
  if (state.length === 0) {
@@ -242,7 +244,7 @@ var createEntityListReducer = function (reducer) { return function (state, actio
242
244
  if (state.length === 0) {
243
245
  throw new Error("Cannot remove, list is empty.");
244
246
  }
245
- var list = __spreadArrays(state);
247
+ var list = __spreadArray([], state, true);
246
248
  list.pop();
247
249
  return list;
248
250
  }
@@ -254,7 +256,7 @@ var createEntityListReducer = function (reducer) { return function (state, actio
254
256
  if (index >= state.length) {
255
257
  throw new Error("Index is outside of list bounds.");
256
258
  }
257
- var list = __spreadArrays(state);
259
+ var list = __spreadArray([], state, true);
258
260
  list.splice(index, 1);
259
261
  return list;
260
262
  }
@@ -270,12 +272,12 @@ var createEntityListReducer = function (reducer) { return function (state, actio
270
272
  var entity_2 = action.entity;
271
273
  var index = state.findIndex(function (item) { return item === entity_2 || fieldsMatch(item, entity_2); });
272
274
  if (index >= 0) {
273
- var list = __spreadArrays(state);
275
+ var list = __spreadArray([], state, true);
274
276
  list.splice(index, index);
275
277
  return list;
276
278
  }
277
279
  else {
278
- return __spreadArrays(state, [entity_2]);
280
+ return __spreadArray(__spreadArray([], state, true), [entity_2], false);
279
281
  }
280
282
  }
281
283
  case "ENTITY_LIST:ACTION_BY_FIELDS_MATCH": {
@@ -500,9 +502,9 @@ var createSelectedIdsReducerInitialState = function (initialSelection) {
500
502
  selectedIds: initialSelection,
501
503
  });
502
504
  };
503
- var INITIAL_STATE = createSelectedIdsReducerInitialState();
505
+ var INITIAL_STATE$2 = createSelectedIdsReducerInitialState();
504
506
  var createSelectedIdsReducer = function () { return function (state, action) {
505
- if (state === void 0) { state = INITIAL_STATE; }
507
+ if (state === void 0) { state = INITIAL_STATE$2; }
506
508
  switch (action.type) {
507
509
  case "SELECTED_IDS:SET_SELECTED_IDS": {
508
510
  var selectedIds = action.selectedIds;
@@ -580,17 +582,16 @@ var createSortOrderReducerInitialState = function (sortBy, desc) {
580
582
  desc: desc,
581
583
  });
582
584
  };
583
- var INITIAL_STATE$2 = {
585
+ var INITIAL_STATE = {
584
586
  sortBy: undefined,
585
587
  desc: false,
586
588
  };
587
589
  var createSortOrderReducer = function () { return function (state, action) {
588
- if (state === void 0) { state = INITIAL_STATE$2; }
590
+ if (state === void 0) { state = INITIAL_STATE; }
589
591
  switch (action.type) {
590
592
  case "SORT_ORDER:SET_SORT_BY": {
591
593
  var sortBy = action.sortBy, desc = action.desc;
592
- return __assign(__assign({}, state), { sortBy: sortBy,
593
- desc: desc });
594
+ return __assign(__assign({}, state), { sortBy: sortBy, desc: desc });
594
595
  }
595
596
  case "SORT_ORDER:CLEAR_SORT_ORDER": {
596
597
  return __assign(__assign({}, state), { sortBy: undefined, desc: false });
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,\n TInnerState = unknown\n>(\n reducer: Reducer<TInnerState, TInnerAction>\n): Reducer<\n RecordObjectState<TInnerState>,\n RecordObjectAction<TInnerAction>\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 = <TState, TInnerAction extends Action = AnyAction>(\n reducerId: string,\n reducer: Reducer<TState, TInnerAction>\n): ReducerIdGateReducer<TState, TInnerAction> => (state, action) => {\n let newState = state == null ? reducer(undefined, {} as any) : state;\n\n if (!isValidReducerIdGateAction(action)) {\n return newState;\n }\n\n if (\n reducerId !== action.reducerId ||\n action.type !== \"REDUCER_ID_GATE:ACTION\"\n ) {\n return newState;\n }\n return reducer(newState, action.action);\n};\n\nexport const reducerIdGateAction = <TInnerAction>(\n reducerId: string,\n action: TInnerAction\n): ReducerIdGateAction<TInnerAction> => ({\n type: \"REDUCER_ID_GATE:ACTION\",\n action,\n reducerId,\n});\n\nconst isValidReducerIdGateAction = (action: any): boolean =>\n !!action.action &&\n action.type === \"REDUCER_ID_GATE:ACTION\" &&\n typeof action.reducerId === \"string\";\n","import { ReducerIdGateAction } from \"./reducer-id-gate\";\n\ntype ActionCreator = (...args: any) => any;\n\nexport type ActionCreatorCreator<TActionCreator extends ActionCreator> = (\n ...args: Parameters<TActionCreator>\n) => ReducerIdGateAction<ReturnType<TActionCreator>>;\n\nexport const wrapActionWithReducerIdGate = <\n TActionCreator extends ActionCreator\n>(\n reducerId: string,\n actionCreator: TActionCreator\n): ActionCreatorCreator<TActionCreator> => (...args) => {\n return {\n type: \"REDUCER_ID_GATE:ACTION\",\n reducerId,\n action: actionCreator(...args),\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 = {} 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 = <TState>(\n id: string,\n 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,\n TListItemAction extends Action = AnyAction\n>(\n reducer?: Reducer<TListItem, TListItemAction>\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> = createEntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n >(stateSelector);\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 = (): SelectedIdsReducer => (\n state = INITIAL_STATE,\n action\n) => {\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 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\nconst INITIAL_STATE = {\n sortBy: undefined,\n desc: false,\n};\n\nexport type SortOrderReducer<TSortBy> = Reducer<\n SortOrderState<TSortBy>,\n SortOrderAction<TSortBy>\n>;\n\nexport const createSortOrderReducer = <\n TSortBy\n>(): SortOrderReducer<TSortBy> => (state = INITIAL_STATE, 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":["INITIAL_STATE"],"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,\n TInnerState = unknown\n>(\n reducer: Reducer<TInnerState, TInnerAction>\n): Reducer<\n RecordObjectState<TInnerState>,\n RecordObjectAction<TInnerAction>\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 = <TState, TInnerAction extends Action = AnyAction>(\n reducerId: string,\n reducer: Reducer<TState, TInnerAction>\n): ReducerIdGateReducer<TState, TInnerAction> => (state, action) => {\n let newState = state == null ? reducer(undefined, {} as any) : state;\n\n if (!isValidReducerIdGateAction(action)) {\n return newState;\n }\n\n if (\n reducerId !== action.reducerId ||\n action.type !== \"REDUCER_ID_GATE:ACTION\"\n ) {\n return newState;\n }\n return reducer(newState, action.action);\n};\n\nexport const reducerIdGateAction = <TInnerAction>(\n reducerId: string,\n action: TInnerAction\n): ReducerIdGateAction<TInnerAction> => ({\n type: \"REDUCER_ID_GATE:ACTION\",\n action,\n reducerId,\n});\n\nconst isValidReducerIdGateAction = (action: any): boolean =>\n !!action.action &&\n action.type === \"REDUCER_ID_GATE:ACTION\" &&\n typeof action.reducerId === \"string\";\n","import { ReducerIdGateAction } from \"./reducer-id-gate\";\n\ntype ActionCreator = (...args: any) => any;\n\nexport type ActionCreatorCreator<TActionCreator extends ActionCreator> = (\n ...args: Parameters<TActionCreator>\n) => ReducerIdGateAction<ReturnType<TActionCreator>>;\n\nexport const wrapActionWithReducerIdGate = <\n TActionCreator extends ActionCreator\n>(\n reducerId: string,\n actionCreator: TActionCreator\n): ActionCreatorCreator<TActionCreator> => (...args) => {\n return {\n type: \"REDUCER_ID_GATE:ACTION\",\n reducerId,\n action: actionCreator(...args),\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 = {} 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 = <TState>(\n id: string,\n 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,\n TListItemAction extends Action = AnyAction\n>(\n reducer?: Reducer<TListItem, TListItemAction>\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> = createEntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n >(stateSelector);\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 = (): SelectedIdsReducer => (\n state = INITIAL_STATE,\n action\n) => {\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 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\nconst INITIAL_STATE = {\n sortBy: undefined,\n desc: false,\n};\n\nexport type SortOrderReducer<TSortBy> = Reducer<\n SortOrderState<TSortBy>,\n SortOrderAction<TSortBy>\n>;\n\nexport const createSortOrderReducer = <\n TSortBy\n>(): SortOrderReducer<TSortBy> => (state = INITIAL_STATE, 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":["INITIAL_STATE"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stenajs-webui/redux",
3
- "version": "14.2.0",
3
+ "version": "15.0.0-alpha.3",
4
4
  "description": "",
5
5
  "author": "mattias800",
6
6
  "license": "MIT",
@@ -19,7 +19,6 @@
19
19
  },
20
20
  "scripts": {
21
21
  "test": "jest",
22
- "test:watch": "react-scripts-ts test --env=jsdom",
23
22
  "build": "rollup -c",
24
23
  "start": "rollup -c -w",
25
24
  "clean": "rm -rf dist",
@@ -47,5 +46,5 @@
47
46
  "files": [
48
47
  "dist"
49
48
  ],
50
- "gitHead": "040deec84399fe2b75a12fe6a6ede5dd9a9018bd"
49
+ "gitHead": "2227ddfa28e11eb8b41680250cc2659a5b5afbdc"
51
50
  }