@ngrx-traits/common 18.4.2 → 19.0.0-beta.2

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.
Files changed (76) hide show
  1. package/fesm2022/ngrx-traits-common.mjs +12 -12
  2. package/fesm2022/ngrx-traits-common.mjs.map +1 -1
  3. package/package.json +7 -9
  4. package/reset/reset.trait.d.ts +1 -1
  5. package/esm2022/async-action/async-action.model.mjs +0 -2
  6. package/esm2022/async-action/async-action.trait.mjs +0 -116
  7. package/esm2022/async-action/index.mjs +0 -3
  8. package/esm2022/crud-entities/crud-entities.model.mjs +0 -8
  9. package/esm2022/crud-entities/crud-entities.trait.actions.mjs +0 -20
  10. package/esm2022/crud-entities/crud-entities.trait.mjs +0 -58
  11. package/esm2022/crud-entities/crud-entities.trait.mutators.mjs +0 -121
  12. package/esm2022/crud-entities/crud-entities.trait.reducer.mjs +0 -17
  13. package/esm2022/crud-entities/crud-entities.trait.selectors.mjs +0 -54
  14. package/esm2022/crud-entities/index.mjs +0 -3
  15. package/esm2022/entities-pagination/entities-pagination.model.internal.mjs +0 -2
  16. package/esm2022/entities-pagination/entities-pagination.model.mjs +0 -2
  17. package/esm2022/entities-pagination/entities-pagination.trait.actions.mjs +0 -20
  18. package/esm2022/entities-pagination/entities-pagination.trait.effects.mjs +0 -63
  19. package/esm2022/entities-pagination/entities-pagination.trait.mjs +0 -94
  20. package/esm2022/entities-pagination/entities-pagination.trait.mutators.mjs +0 -66
  21. package/esm2022/entities-pagination/entities-pagination.trait.reducer.mjs +0 -79
  22. package/esm2022/entities-pagination/entities-pagination.trait.selectors.mjs +0 -84
  23. package/esm2022/entities-pagination/index.mjs +0 -3
  24. package/esm2022/entities-sync-to-route-query-params/entities-sync-to-route-query-params.mjs +0 -127
  25. package/esm2022/entities-sync-to-route-query-params/index.mjs +0 -2
  26. package/esm2022/filter-entities/filter-entities.model.internal.mjs +0 -2
  27. package/esm2022/filter-entities/filter-entities.model.mjs +0 -2
  28. package/esm2022/filter-entities/filter-entities.trait.actions.mjs +0 -16
  29. package/esm2022/filter-entities/filter-entities.trait.effect.mjs +0 -59
  30. package/esm2022/filter-entities/filter-entities.trait.mjs +0 -74
  31. package/esm2022/filter-entities/filter-entities.trait.mutators.mjs +0 -10
  32. package/esm2022/filter-entities/filter-entities.trait.reducer.mjs +0 -11
  33. package/esm2022/filter-entities/filter-entities.trait.selectors.mjs +0 -9
  34. package/esm2022/filter-entities/index.mjs +0 -3
  35. package/esm2022/index.mjs +0 -13
  36. package/esm2022/load-entities/index.mjs +0 -3
  37. package/esm2022/load-entities/load-entities.model.mjs +0 -2
  38. package/esm2022/load-entities/load-entities.mutators.mjs +0 -7
  39. package/esm2022/load-entities/load-entities.trait.actions.mjs +0 -10
  40. package/esm2022/load-entities/load-entities.trait.mjs +0 -62
  41. package/esm2022/load-entities/load-entities.trait.reducer.mjs +0 -27
  42. package/esm2022/load-entities/load-entities.trait.selectors.mjs +0 -38
  43. package/esm2022/load-entities/load-entities.utils.mjs +0 -10
  44. package/esm2022/load-entity/index.mjs +0 -3
  45. package/esm2022/load-entity/load-entity.model.mjs +0 -2
  46. package/esm2022/load-entity/load-entity.traits.mjs +0 -78
  47. package/esm2022/ngrx-traits-common.mjs +0 -5
  48. package/esm2022/reset/index.mjs +0 -2
  49. package/esm2022/reset/reset.trait.mjs +0 -37
  50. package/esm2022/select-entities/index.mjs +0 -4
  51. package/esm2022/select-entities/select-entities.model.mjs +0 -2
  52. package/esm2022/select-entities/select-entities.trait.actions.mjs +0 -11
  53. package/esm2022/select-entities/select-entities.trait.mjs +0 -55
  54. package/esm2022/select-entities/select-entities.trait.mutators.mjs +0 -27
  55. package/esm2022/select-entities/select-entities.trait.reducer.mjs +0 -42
  56. package/esm2022/select-entities/select-entities.trait.selectors.mjs +0 -28
  57. package/esm2022/select-entities/select-entities.utils.mjs +0 -30
  58. package/esm2022/select-entity/index.mjs +0 -3
  59. package/esm2022/select-entity/select-entity.model.mjs +0 -2
  60. package/esm2022/select-entity/select-entity.trait.actions.mjs +0 -9
  61. package/esm2022/select-entity/select-entity.trait.mjs +0 -52
  62. package/esm2022/select-entity/select-entity.trait.mutators.mjs +0 -26
  63. package/esm2022/select-entity/select-entity.trait.reducer.mjs +0 -35
  64. package/esm2022/select-entity/select-entity.trait.selectors.mjs +0 -13
  65. package/esm2022/set-entity/index.mjs +0 -3
  66. package/esm2022/set-entity/set-entity.model.mjs +0 -2
  67. package/esm2022/set-entity/set-entity.trait.mjs +0 -62
  68. package/esm2022/sort-entities/index.mjs +0 -4
  69. package/esm2022/sort-entities/sort-entities.model.mjs +0 -2
  70. package/esm2022/sort-entities/sort-entities.trait.actions.mjs +0 -8
  71. package/esm2022/sort-entities/sort-entities.trait.effect.mjs +0 -28
  72. package/esm2022/sort-entities/sort-entities.trait.mjs +0 -61
  73. package/esm2022/sort-entities/sort-entities.trait.mutators.mjs +0 -24
  74. package/esm2022/sort-entities/sort-entities.trait.reducer.mjs +0 -15
  75. package/esm2022/sort-entities/sort-entities.trait.selectors.mjs +0 -9
  76. package/esm2022/sort-entities/sort-entities.utils.mjs +0 -63
@@ -1,26 +0,0 @@
1
- export function createSelectEntityTraitMutators() {
2
- function selectEntity(id, state) {
3
- return {
4
- ...state,
5
- selectedId: id,
6
- };
7
- }
8
- function deselectEntity(state) {
9
- return {
10
- ...state,
11
- selectedId: undefined,
12
- };
13
- }
14
- function toggleSelectEntity(id, state) {
15
- return {
16
- ...state,
17
- selectedId: state.selectedId === id ? undefined : id,
18
- };
19
- }
20
- return {
21
- selectEntity,
22
- deselectEntity,
23
- toggleSelectEntity,
24
- };
25
- }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS50cmFpdC5tdXRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2VsZWN0LWVudGl0eS9zZWxlY3QtZW50aXR5LnRyYWl0Lm11dGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSwrQkFBK0I7SUFHN0MsU0FBUyxZQUFZLENBRW5CLEVBQW1CLEVBQUUsS0FBUTtRQUM3QixPQUFPO1lBQ0wsR0FBRyxLQUFLO1lBQ1IsVUFBVSxFQUFFLEVBQUU7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUNELFNBQVMsY0FBYyxDQUVyQixLQUFRO1FBQ1IsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLFVBQVUsRUFBRSxTQUFTO1NBQ3RCLENBQUM7SUFDSixDQUFDO0lBQ0QsU0FBUyxrQkFBa0IsQ0FFekIsRUFBbUIsRUFBRSxLQUFRO1FBQzdCLE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxZQUFZO1FBQ1osY0FBYztRQUNkLGtCQUFrQjtLQUNuQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdEVudGl0eU11dGF0b3JzLCBTZWxlY3RFbnRpdHlTdGF0ZSB9IGZyb20gJy4vc2VsZWN0LWVudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBMb2FkRW50aXRpZXNTdGF0ZSB9IGZyb20gJy4uL2xvYWQtZW50aXRpZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRNdXRhdG9yczxcbiAgRW50aXR5XG4+KCk6IFNlbGVjdEVudGl0eU11dGF0b3JzPEVudGl0eT4ge1xuICBmdW5jdGlvbiBzZWxlY3RFbnRpdHk8XG4gICAgUyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdHlTdGF0ZVxuICA+KGlkOiBzdHJpbmcgfCBudW1iZXIsIHN0YXRlOiBTKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2VsZWN0ZWRJZDogaWQsXG4gICAgfTtcbiAgfVxuICBmdW5jdGlvbiBkZXNlbGVjdEVudGl0eTxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0eVN0YXRlXG4gID4oc3RhdGU6IFMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBzZWxlY3RlZElkOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuICBmdW5jdGlvbiB0b2dnbGVTZWxlY3RFbnRpdHk8XG4gICAgUyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdHlTdGF0ZVxuICA+KGlkOiBzdHJpbmcgfCBudW1iZXIsIHN0YXRlOiBTKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2VsZWN0ZWRJZDogc3RhdGUuc2VsZWN0ZWRJZCA9PT0gaWQgPyB1bmRlZmluZWQgOiBpZCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzZWxlY3RFbnRpdHksXG4gICAgZGVzZWxlY3RFbnRpdHksXG4gICAgdG9nZ2xlU2VsZWN0RW50aXR5LFxuICB9O1xufVxuIl19
@@ -1,35 +0,0 @@
1
- import { createReducer, on } from '@ngrx/store';
2
- import { insertIf } from '@ngrx-traits/core';
3
- export function createSelectEntityInitialState(previousInitialState, allConfigs) {
4
- const selectedId = allConfigs.singleSelection?.selectedId;
5
- return {
6
- ...previousInitialState,
7
- selectedId,
8
- };
9
- }
10
- export function createSelectEntityTraitReducer(initialState, allActions, allMutators, allConfigs) {
11
- const { adapter } = allConfigs.loadEntities;
12
- const sortRemote = allConfigs.sort?.remote;
13
- const paginationCacheType = allConfigs.pagination?.cacheType;
14
- return createReducer(initialState, on(allActions.selectEntity, (state, { id }) => allMutators.selectEntity(id, state)), on(allActions.deselectEntity, (state) => allMutators.deselectEntity(state)), on(allActions.toggleSelectEntity, (state, { id }) => allMutators.toggleSelectEntity(id, state)), ...insertIf(allActions.removeAllEntities, () => on(allActions.removeAllEntities, (state) => allMutators.deselectEntity(state))), ...insertIf(sortRemote, () => on(allActions.sortEntities, (state) => allMutators.deselectEntity(state))), ...insertIf(allActions.filterEntities, () => on(allActions.filterEntities, (state) => allMutators.deselectEntity(state))), ...insertIf(!allActions.loadEntitiesPageSuccess, () => on(allActions.loadEntitiesSuccess, (state) => allMutators.deselectEntity(state))), ...insertIf(!!allActions.loadEntitiesPageSuccess && paginationCacheType === 'partial', () => on(allActions.loadEntitiesPageSuccess, (state) => allMutators.deselectEntity(state))), ...insertIf(allActions.removeEntities, () => on(allActions.removeEntities, (state, { keys }) => {
15
- const shouldDeselect = keys.some((v) => v === state.selectedId);
16
- return shouldDeselect
17
- ? {
18
- ...state,
19
- selectedId: undefined,
20
- }
21
- : state;
22
- })), ...insertIf(allActions.updateEntities, () => on(allActions.updateEntities, (state, { updates }) => {
23
- const change = updates.find((updated) => {
24
- const id = adapter.selectId(updated.changes);
25
- return id && id !== updated.id && state.selectedId === updated.id;
26
- });
27
- return change
28
- ? {
29
- ...state,
30
- selectedId: adapter.selectId(change.changes),
31
- }
32
- : state;
33
- })));
34
- }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS50cmFpdC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXR5L3NlbGVjdC1lbnRpdHkudHJhaXQucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQWlCaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBUTdDLE1BQU0sVUFBVSw4QkFBOEIsQ0FDNUMsb0JBQXlCLEVBQ3pCLFVBQW1DO0lBRW5DLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDO0lBQzFELE9BQU87UUFDTCxHQUFHLG9CQUFvQjtRQUN2QixVQUFVO0tBQ1gsQ0FBQztBQUNKLENBQUM7QUFDRCxNQUFNLFVBQVUsOEJBQThCLENBSTVDLFlBQWUsRUFDZixVQUs2QixFQUM3QixXQUF5QyxFQUN6QyxVQUdpQztJQUVqQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsVUFBVSxDQUFDLFlBQWEsQ0FBQztJQUU3QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUMzQyxNQUFNLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO0lBRTdELE9BQU8sYUFBYSxDQUNsQixZQUFZLEVBQ1osRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQzVDLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUNwQyxFQUNELEVBQUUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQzNFLEVBQUUsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQ2xELFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQzFDLEVBQ0QsR0FBRyxRQUFRLENBQUksVUFBVSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUNoRCxFQUFFLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDekMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FDbEMsQ0FDRixFQUNELEdBQUcsUUFBUSxDQUFJLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FDOUIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDMUUsRUFDRCxHQUFHLFFBQVEsQ0FBSSxVQUFVLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUM3QyxFQUFFLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3RDLFdBQVcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQ2xDLENBQ0YsRUFDRCxHQUFHLFFBQVEsQ0FBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsQ0FDdkQsRUFBRSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQzNDLFdBQVcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQ2xDLENBQ0YsRUFDRCxHQUFHLFFBQVEsQ0FDVCxDQUFDLENBQUMsVUFBVSxDQUFDLHVCQUF1QixJQUFJLG1CQUFtQixLQUFLLFNBQVMsRUFDekUsR0FBRyxFQUFFLENBQ0gsRUFBRSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQy9DLFdBQVcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQ2xDLENBQ0osRUFDRCxHQUFHLFFBQVEsQ0FBSSxVQUFVLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUM3QyxFQUFFLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7UUFDaEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FDOUIsQ0FBQyxDQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLFVBQVUsQ0FDL0MsQ0FBQztRQUNGLE9BQU8sY0FBYztZQUNuQixDQUFDLENBQUM7Z0JBQ0UsR0FBRyxLQUFLO2dCQUNSLFVBQVUsRUFBRSxTQUFTO2FBQ3RCO1lBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUNILEVBQ0QsR0FBRyxRQUFRLENBQUksVUFBVSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FDN0MsRUFBRSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1FBQ25ELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN0QyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFpQixDQUFDLENBQUM7WUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNO1lBQ1gsQ0FBQyxDQUFDO2dCQUNFLEdBQUcsS0FBSztnQkFDUixVQUFVLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBaUIsQ0FBQzthQUN2RDtZQUNILENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDWixDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBMb2FkRW50aXRpZXNBY3Rpb25zLFxuICBMb2FkRW50aXRpZXNLZXllZENvbmZpZyxcbiAgTG9hZEVudGl0aWVzU3RhdGUsXG59IGZyb20gJy4uL2xvYWQtZW50aXRpZXMvbG9hZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQge1xuICBTb3J0RW50aXRpZXNBY3Rpb25zLFxuICBTb3J0RW50aXRpZXNLZXllZENvbmZpZyxcbn0gZnJvbSAnLi4vc29ydC1lbnRpdGllcy9zb3J0LWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIFNlbGVjdEVudGl0eUFjdGlvbnMsXG4gIFNlbGVjdEVudGl0eUtleWVkQ29uZmlnLFxuICBTZWxlY3RFbnRpdHlNdXRhdG9ycyxcbiAgU2VsZWN0RW50aXR5U3RhdGUsXG59IGZyb20gJy4vc2VsZWN0LWVudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBDcnVkRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi4vY3J1ZC1lbnRpdGllcy9jcnVkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IGluc2VydElmIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHtcbiAgRW50aXRpZXNQYWdpbmF0aW9uQWN0aW9ucyxcbiAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWcsXG59IGZyb20gJy4uL2VudGl0aWVzLXBhZ2luYXRpb24vZW50aXRpZXMtcGFnaW5hdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuLi9maWx0ZXItZW50aXRpZXMnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRBY3Rpb25zIH0gZnJvbSAnLi9zZWxlY3QtZW50aXR5LnRyYWl0LmFjdGlvbnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0RW50aXR5SW5pdGlhbFN0YXRlPEVudGl0eT4oXG4gIHByZXZpb3VzSW5pdGlhbFN0YXRlOiBhbnksXG4gIGFsbENvbmZpZ3M6IFNlbGVjdEVudGl0eUtleWVkQ29uZmlnXG4pOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXR5U3RhdGUge1xuICBjb25zdCBzZWxlY3RlZElkID0gYWxsQ29uZmlncy5zaW5nbGVTZWxlY3Rpb24/LnNlbGVjdGVkSWQ7XG4gIHJldHVybiB7XG4gICAgLi4ucHJldmlvdXNJbml0aWFsU3RhdGUsXG4gICAgc2VsZWN0ZWRJZCxcbiAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdFJlZHVjZXI8XG4gIEVudGl0eSxcbiAgUyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdHlTdGF0ZVxuPihcbiAgaW5pdGlhbFN0YXRlOiBTLFxuICBhbGxBY3Rpb25zOiBTZWxlY3RFbnRpdHlBY3Rpb25zICZcbiAgICBDcnVkRW50aXRpZXNBY3Rpb25zPEVudGl0eT4gJlxuICAgIFNvcnRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgRW50aXRpZXNQYWdpbmF0aW9uQWN0aW9ucyAmXG4gICAgRmlsdGVyRW50aXRpZXNBY3Rpb25zPGFueT4gJlxuICAgIExvYWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PixcbiAgYWxsTXV0YXRvcnM6IFNlbGVjdEVudGl0eU11dGF0b3JzPEVudGl0eT4sXG4gIGFsbENvbmZpZ3M6IFNlbGVjdEVudGl0eUtleWVkQ29uZmlnICZcbiAgICBMb2FkRW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+ICZcbiAgICBFbnRpdGllc1BhZ2luYXRpb25LZXllZENvbmZpZyAmXG4gICAgU29ydEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PlxuKSB7XG4gIGNvbnN0IHsgYWRhcHRlciB9ID0gYWxsQ29uZmlncy5sb2FkRW50aXRpZXMhO1xuXG4gIGNvbnN0IHNvcnRSZW1vdGUgPSBhbGxDb25maWdzLnNvcnQ/LnJlbW90ZTtcbiAgY29uc3QgcGFnaW5hdGlvbkNhY2hlVHlwZSA9IGFsbENvbmZpZ3MucGFnaW5hdGlvbj8uY2FjaGVUeXBlO1xuXG4gIHJldHVybiBjcmVhdGVSZWR1Y2VyKFxuICAgIGluaXRpYWxTdGF0ZSxcbiAgICBvbihhbGxBY3Rpb25zLnNlbGVjdEVudGl0eSwgKHN0YXRlLCB7IGlkIH0pID0+XG4gICAgICBhbGxNdXRhdG9ycy5zZWxlY3RFbnRpdHkoaWQsIHN0YXRlKVxuICAgICksXG4gICAgb24oYWxsQWN0aW9ucy5kZXNlbGVjdEVudGl0eSwgKHN0YXRlKSA9PiBhbGxNdXRhdG9ycy5kZXNlbGVjdEVudGl0eShzdGF0ZSkpLFxuICAgIG9uKGFsbEFjdGlvbnMudG9nZ2xlU2VsZWN0RW50aXR5LCAoc3RhdGUsIHsgaWQgfSkgPT5cbiAgICAgIGFsbE11dGF0b3JzLnRvZ2dsZVNlbGVjdEVudGl0eShpZCwgc3RhdGUpXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLnJlbW92ZUFsbEVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5yZW1vdmVBbGxFbnRpdGllcywgKHN0YXRlKSA9PlxuICAgICAgICBhbGxNdXRhdG9ycy5kZXNlbGVjdEVudGl0eShzdGF0ZSlcbiAgICAgIClcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KHNvcnRSZW1vdGUsICgpID0+XG4gICAgICBvbihhbGxBY3Rpb25zLnNvcnRFbnRpdGllcywgKHN0YXRlKSA9PiBhbGxNdXRhdG9ycy5kZXNlbGVjdEVudGl0eShzdGF0ZSkpXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLmZpbHRlckVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5maWx0ZXJFbnRpdGllcywgKHN0YXRlKSA9PlxuICAgICAgICBhbGxNdXRhdG9ycy5kZXNlbGVjdEVudGl0eShzdGF0ZSlcbiAgICAgIClcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KCFhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1BhZ2VTdWNjZXNzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5sb2FkRW50aXRpZXNTdWNjZXNzLCAoc3RhdGUpID0+XG4gICAgICAgIGFsbE11dGF0b3JzLmRlc2VsZWN0RW50aXR5KHN0YXRlKVxuICAgICAgKVxuICAgICksXG4gICAgLi4uaW5zZXJ0SWY8Uz4oXG4gICAgICAhIWFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZVN1Y2Nlc3MgJiYgcGFnaW5hdGlvbkNhY2hlVHlwZSA9PT0gJ3BhcnRpYWwnLFxuICAgICAgKCkgPT5cbiAgICAgICAgb24oYWxsQWN0aW9ucy5sb2FkRW50aXRpZXNQYWdlU3VjY2VzcywgKHN0YXRlKSA9PlxuICAgICAgICAgIGFsbE11dGF0b3JzLmRlc2VsZWN0RW50aXR5KHN0YXRlKVxuICAgICAgICApXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLnJlbW92ZUVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5yZW1vdmVFbnRpdGllcywgKHN0YXRlLCB7IGtleXMgfSkgPT4ge1xuICAgICAgICBjb25zdCBzaG91bGREZXNlbGVjdCA9IGtleXMuc29tZShcbiAgICAgICAgICAodjogc3RyaW5nIHwgbnVtYmVyKSA9PiB2ID09PSBzdGF0ZS5zZWxlY3RlZElkXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBzaG91bGREZXNlbGVjdFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWRJZDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogc3RhdGU7XG4gICAgICB9KVxuICAgICksXG4gICAgLi4uaW5zZXJ0SWY8Uz4oYWxsQWN0aW9ucy51cGRhdGVFbnRpdGllcywgKCkgPT5cbiAgICAgIG9uKGFsbEFjdGlvbnMudXBkYXRlRW50aXRpZXMsIChzdGF0ZSwgeyB1cGRhdGVzIH0pID0+IHtcbiAgICAgICAgY29uc3QgY2hhbmdlID0gdXBkYXRlcy5maW5kKCh1cGRhdGVkKSA9PiB7XG4gICAgICAgICAgY29uc3QgaWQgPSBhZGFwdGVyLnNlbGVjdElkKHVwZGF0ZWQuY2hhbmdlcyBhcyBFbnRpdHkpO1xuICAgICAgICAgIHJldHVybiBpZCAmJiBpZCAhPT0gdXBkYXRlZC5pZCAmJiBzdGF0ZS5zZWxlY3RlZElkID09PSB1cGRhdGVkLmlkO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNoYW5nZVxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWRJZDogYWRhcHRlci5zZWxlY3RJZChjaGFuZ2UuY2hhbmdlcyBhcyBFbnRpdHkpLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogc3RhdGU7XG4gICAgICB9KVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
@@ -1,13 +0,0 @@
1
- export function createSelectEntityTraitSelectors() {
2
- function selectEntityIdSelected(state) {
3
- return state.selectedId;
4
- }
5
- function selectEntitySelected(state) {
6
- return (state.selectedId && state.entities[state.selectedId]) || undefined;
7
- }
8
- return {
9
- selectEntityIdSelected,
10
- selectEntitySelected,
11
- };
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS50cmFpdC5zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NlbGVjdC1lbnRpdHkvc2VsZWN0LWVudGl0eS50cmFpdC5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxVQUFVLGdDQUFnQztJQUc5QyxTQUFTLHNCQUFzQixDQUFDLEtBQXdCO1FBQ3RELE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsU0FBUyxvQkFBb0IsQ0FDM0IsS0FBb0Q7UUFFcEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7SUFDN0UsQ0FBQztJQUVELE9BQU87UUFDTCxzQkFBc0I7UUFDdEIsb0JBQW9CO0tBQ3JCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2VsZWN0RW50aXR5U2VsZWN0b3JzLFxuICBTZWxlY3RFbnRpdHlTdGF0ZSxcbn0gZnJvbSAnLi9zZWxlY3QtZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IExvYWRFbnRpdGllc1N0YXRlIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdFNlbGVjdG9yczxcbiAgRW50aXR5XG4+KCk6IFNlbGVjdEVudGl0eVNlbGVjdG9yczxFbnRpdHk+IHtcbiAgZnVuY3Rpb24gc2VsZWN0RW50aXR5SWRTZWxlY3RlZChzdGF0ZTogU2VsZWN0RW50aXR5U3RhdGUpIHtcbiAgICByZXR1cm4gc3RhdGUuc2VsZWN0ZWRJZDtcbiAgfVxuICBmdW5jdGlvbiBzZWxlY3RFbnRpdHlTZWxlY3RlZDxFbnRpdHk+KFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXR5U3RhdGVcbiAgKSB7XG4gICAgcmV0dXJuIChzdGF0ZS5zZWxlY3RlZElkICYmIHN0YXRlLmVudGl0aWVzW3N0YXRlLnNlbGVjdGVkSWRdKSB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHNlbGVjdEVudGl0eUlkU2VsZWN0ZWQsXG4gICAgc2VsZWN0RW50aXR5U2VsZWN0ZWQsXG4gIH07XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from './set-entity.model';
2
- export * from './set-entity.trait';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NldC1lbnRpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZXQtZW50aXR5Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2V0LWVudGl0eS50cmFpdCc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWVudGl0eS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2V0LWVudGl0eS9zZXQtZW50aXR5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3N0Zml4UHJvcHMgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBY3Rpb25DcmVhdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL21vZGVscyc7XG5cbnR5cGUgU2V0QWN0aW9uczxUPiA9IHtcbiAgLyoqXG4gICAqIHNldCBlbnRpdHkgaW4gdGhlIHN0b3JlXG4gICAqL1xuICBzZXQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IFQpID0+IEFjdGlvbjxzdHJpbmc+Pjtcbn07XG5leHBvcnQgdHlwZSBTZXRFbnRpdHlBY3Rpb25zPEVudGl0eSwgSiBleHRlbmRzIHN0cmluZz4gPSBQb3N0Zml4UHJvcHM8XG4gIFNldEFjdGlvbnM8RW50aXR5PixcbiAgSlxuPjtcblxuZXhwb3J0IHR5cGUgU2V0RW50aXR5U3RhdGU8RW50aXR5LCBKIGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgW2tleSBpbiBgJHtKfWBdPzogRW50aXR5O1xufTtcblxuZXhwb3J0IHR5cGUgU2V0RW50aXR5U2VsZWN0b3JzPEVudGl0eSwgSiBleHRlbmRzIHN0cmluZz4gPSBQb3N0Zml4UHJvcHM8XG4gIHtcbiAgICBzZWxlY3Q6IChzdGF0ZTogU2V0RW50aXR5U3RhdGU8RW50aXR5LCBKPikgPT4gRW50aXR5O1xuICB9LFxuICBKXG4+O1xuIl19
@@ -1,62 +0,0 @@
1
- import { capitalize, createTraitFactory, } from '@ngrx-traits/core';
2
- import { createAction, createReducer, on } from '@ngrx/store';
3
- /**
4
- * Generates ngrx code needed to set and entity in the store state
5
- * @param entityName - Entity name, should be in camel case
6
- * @param options.actionProps - param for the main request action,
7
- * use the props() function for its value
8
- * @returns the trait factory
9
- *
10
- * @example
11
- *
12
- * export interface TestState
13
- * extends SetEntityState<Client,'client'>{}
14
- *
15
- * const traits = createEntityFeatureFactory(
16
- * addSetEntityTraits({
17
- * entityName: 'client',
18
- * actionProps: props<{ client: Client }
19
- * }),
20
- * )({
21
- * actionsGroupKey: 'Client',
22
- * featureSelector: createFeatureSelector<
23
- * SetEntityState<Client, 'client'>
24
- * >('client'),
25
- * });
26
- * // adds following props to the state:
27
- * // client?: Client;
28
- *
29
- * // generated actions
30
- * traits.actions.setClient({client: {id:123, name: 'gabs'}});
31
- * //generated selectors
32
- * traits.selectors.selectClient()
33
- */
34
- export function addSetEntityTrait({ entityName, actionProps, }) {
35
- const capitalizedName = capitalize(entityName);
36
- return createTraitFactory({
37
- key: `load${capitalizedName}`,
38
- config: { entityName, actionProps },
39
- actions: ({ actionsGroupKey }) => {
40
- const setEntity = createAction(`${actionsGroupKey} Set ${capitalizedName}`, actionProps);
41
- return {
42
- [`set${capitalizedName}`]: setEntity,
43
- };
44
- },
45
- selectors: () => {
46
- function selectEntity(state) {
47
- return state[`${entityName}`];
48
- }
49
- return {
50
- [`select${capitalizedName}`]: selectEntity,
51
- };
52
- },
53
- initialState: ({ previousInitialState }) => previousInitialState,
54
- reducer: ({ initialState, allActions }) => {
55
- return createReducer(initialState, on(allActions[`set${capitalizedName}`], (state, action) => ({
56
- ...state,
57
- [entityName]: action[entityName],
58
- })));
59
- },
60
- });
61
- }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWVudGl0eS50cmFpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2V0LWVudGl0eS9zZXQtZW50aXR5LnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1Ysa0JBQWtCLEdBRW5CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBWTlEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Qkc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBSy9CLEVBQ0EsVUFBVSxFQUNWLFdBQVcsR0FJWjtJQUNDLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUvQyxPQUFPLGtCQUFrQixDQUFDO1FBQ3hCLEdBQUcsRUFBRSxPQUFPLGVBQWUsRUFBRTtRQUM3QixNQUFNLEVBQUUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFO1FBQ25DLE9BQU8sRUFBRSxDQUFDLEVBQUUsZUFBZSxFQUE2QixFQUFFLEVBQUU7WUFDMUQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUM1QixHQUFHLGVBQWUsUUFBUSxlQUFlLEVBQUUsRUFDM0MsV0FBa0IsQ0FDbkIsQ0FBQztZQUVGLE9BQU87Z0JBQ0wsQ0FBQyxNQUFNLGVBQWUsRUFBRSxDQUFDLEVBQUUsU0FBUzthQUNMLENBQUM7UUFDcEMsQ0FBQztRQUNELFNBQVMsRUFBRSxHQUFHLEVBQUU7WUFDZCxTQUFTLFlBQVksQ0FBQyxLQUFZO2dCQUNoQyxPQUFRLEtBQWEsQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFXLENBQUM7WUFDbkQsQ0FBQztZQUVELE9BQU87Z0JBQ0wsQ0FBQyxTQUFTLGVBQWUsRUFBRSxDQUFDLEVBQUUsWUFBWTthQUNWLENBQUM7UUFDckMsQ0FBQztRQUNELFlBQVksRUFBRSxDQUFDLEVBQUUsb0JBQW9CLEVBQWtDLEVBQUUsRUFBRSxDQUN6RSxvQkFBNkI7UUFDL0IsT0FBTyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtZQUN4QyxPQUFPLGFBQWEsQ0FDbEIsWUFBWSxFQUNaLEVBQUUsQ0FDQyxVQUFrQixDQUFDLE1BQU0sZUFBZSxFQUFFLENBQUMsRUFDNUMsQ0FBQyxLQUFVLEVBQUUsTUFBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM1QixHQUFHLEtBQUs7Z0JBQ1IsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDO2FBQ2pDLENBQUMsQ0FDSCxDQUNGLENBQUM7UUFDSixDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNhcGl0YWxpemUsXG4gIGNyZWF0ZVRyYWl0RmFjdG9yeSxcbiAgVHJhaXRBY3Rpb25zRmFjdG9yeUNvbmZpZyxcbn0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0IHtcbiAgU2V0RW50aXR5QWN0aW9ucyxcbiAgU2V0RW50aXR5U2VsZWN0b3JzLFxuICBTZXRFbnRpdHlTdGF0ZSxcbn0gZnJvbSAnLi9zZXQtZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZyB9IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcbmltcG9ydCB7IEFjdGlvbkNyZWF0b3JQcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9tb2RlbHMnO1xuXG50eXBlIFJlY29yZEVudGl0eTxUPiA9IFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBpbmZlciBKPiA/IEogOiBuZXZlcjtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgbmdyeCBjb2RlIG5lZWRlZCB0byBzZXQgYW5kIGVudGl0eSBpbiB0aGUgc3RvcmUgc3RhdGVcbiAqIEBwYXJhbSBlbnRpdHlOYW1lIC0gRW50aXR5IG5hbWUsIHNob3VsZCBiZSBpbiBjYW1lbCBjYXNlXG4gKiBAcGFyYW0gb3B0aW9ucy5hY3Rpb25Qcm9wcyAtIHBhcmFtIGZvciB0aGUgbWFpbiByZXF1ZXN0IGFjdGlvbixcbiAqIHVzZSB0aGUgcHJvcHMoKSBmdW5jdGlvbiBmb3IgaXRzIHZhbHVlXG4gKiBAcmV0dXJucyB0aGUgdHJhaXQgZmFjdG9yeVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogZXhwb3J0IGludGVyZmFjZSBUZXN0U3RhdGVcbiAqIGV4dGVuZHMgU2V0RW50aXR5U3RhdGU8Q2xpZW50LCdjbGllbnQnPnt9XG4gKlxuICogY29uc3QgdHJhaXRzID0gY3JlYXRlRW50aXR5RmVhdHVyZUZhY3RvcnkoXG4gKiBhZGRTZXRFbnRpdHlUcmFpdHMoe1xuICogICAgICAgIGVudGl0eU5hbWU6ICdjbGllbnQnLFxuICogICAgICAgIGFjdGlvblByb3BzOiBwcm9wczx7IGNsaWVudDogQ2xpZW50IH1cbiAqICAgICAgfSksXG4gKiApKHtcbiAqICAgICAgYWN0aW9uc0dyb3VwS2V5OiAnQ2xpZW50JyxcbiAqICAgICAgZmVhdHVyZVNlbGVjdG9yOiBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8XG4gKiAgICAgICAgU2V0RW50aXR5U3RhdGU8Q2xpZW50LCAnY2xpZW50Jz5cbiAqICAgICAgICA+KCdjbGllbnQnKSxcbiAqICAgIH0pO1xuICogLy8gICBhZGRzIGZvbGxvd2luZyBwcm9wcyB0byB0aGUgc3RhdGU6XG4gKiAvLyAgICBjbGllbnQ/OiBDbGllbnQ7XG4gKlxuICogLy8gZ2VuZXJhdGVkIGFjdGlvbnNcbiAqIHRyYWl0cy5hY3Rpb25zLnNldENsaWVudCh7Y2xpZW50OiB7aWQ6MTIzLCBuYW1lOiAnZ2Ficyd9fSk7XG4gKiAvL2dlbmVyYXRlZCBzZWxlY3RvcnNcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0Q2xpZW50KClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFNldEVudGl0eVRyYWl0PFxuICBKIGV4dGVuZHMgc3RyaW5nLFxuICBQYXlsb2FkIGV4dGVuZHMgUmVjb3JkPEosIGFueT4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gIEVudGl0eSA9IFJlY29yZEVudGl0eTxQYXlsb2FkPixcbiAgU3RhdGUgZXh0ZW5kcyBTZXRFbnRpdHlTdGF0ZTxFbnRpdHksIEo+PSBTZXRFbnRpdHlTdGF0ZTxFbnRpdHksIEo+XG4+KHtcbiAgZW50aXR5TmFtZSxcbiAgYWN0aW9uUHJvcHMsXG59OiB7XG4gIGVudGl0eU5hbWU6IEo7XG4gIGFjdGlvblByb3BzPzogQWN0aW9uQ3JlYXRvclByb3BzPFBheWxvYWQ+O1xufSkge1xuICBjb25zdCBjYXBpdGFsaXplZE5hbWUgPSBjYXBpdGFsaXplKGVudGl0eU5hbWUpO1xuXG4gIHJldHVybiBjcmVhdGVUcmFpdEZhY3Rvcnkoe1xuICAgIGtleTogYGxvYWQke2NhcGl0YWxpemVkTmFtZX1gLFxuICAgIGNvbmZpZzogeyBlbnRpdHlOYW1lLCBhY3Rpb25Qcm9wcyB9LFxuICAgIGFjdGlvbnM6ICh7IGFjdGlvbnNHcm91cEtleSB9OiBUcmFpdEFjdGlvbnNGYWN0b3J5Q29uZmlnKSA9PiB7XG4gICAgICBjb25zdCBzZXRFbnRpdHkgPSBjcmVhdGVBY3Rpb24oXG4gICAgICAgIGAke2FjdGlvbnNHcm91cEtleX0gU2V0ICR7Y2FwaXRhbGl6ZWROYW1lfWAsXG4gICAgICAgIGFjdGlvblByb3BzIGFzIGFueVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgW2BzZXQke2NhcGl0YWxpemVkTmFtZX1gXTogc2V0RW50aXR5LFxuICAgICAgfSBhcyBTZXRFbnRpdHlBY3Rpb25zPFBheWxvYWQsIEo+O1xuICAgIH0sXG4gICAgc2VsZWN0b3JzOiAoKSA9PiB7XG4gICAgICBmdW5jdGlvbiBzZWxlY3RFbnRpdHkoc3RhdGU6IFN0YXRlKSB7XG4gICAgICAgIHJldHVybiAoc3RhdGUgYXMgYW55KVtgJHtlbnRpdHlOYW1lfWBdIGFzIEVudGl0eTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgW2BzZWxlY3Qke2NhcGl0YWxpemVkTmFtZX1gXTogc2VsZWN0RW50aXR5LFxuICAgICAgfSBhcyBTZXRFbnRpdHlTZWxlY3RvcnM8RW50aXR5LCBKPjtcbiAgICB9LFxuICAgIGluaXRpYWxTdGF0ZTogKHsgcHJldmlvdXNJbml0aWFsU3RhdGUgfTogVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5Q29uZmlnKSA9PlxuICAgICAgcHJldmlvdXNJbml0aWFsU3RhdGUgYXMgU3RhdGUsXG4gICAgcmVkdWNlcjogKHsgaW5pdGlhbFN0YXRlLCBhbGxBY3Rpb25zIH0pID0+IHtcbiAgICAgIHJldHVybiBjcmVhdGVSZWR1Y2VyKFxuICAgICAgICBpbml0aWFsU3RhdGUsXG4gICAgICAgIG9uKFxuICAgICAgICAgIChhbGxBY3Rpb25zIGFzIGFueSlbYHNldCR7Y2FwaXRhbGl6ZWROYW1lfWBdLFxuICAgICAgICAgIChzdGF0ZTogYW55LCBhY3Rpb246IGFueSkgPT4gKHtcbiAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgW2VudGl0eU5hbWVdOiBhY3Rpb25bZW50aXR5TmFtZV0sXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9LFxuICB9KTtcbn1cbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './sort-entities.model';
2
- export * from './sort-entities.trait';
3
- export * from './sort-entities.utils';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NvcnQtZW50aXRpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NvcnQtZW50aXRpZXMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zb3J0LWVudGl0aWVzLnRyYWl0JztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1lbnRpdGllcy51dGlscyc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export const sortTraitKey = 'sort';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1lbnRpdGllcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc29ydC1lbnRpdGllcy9zb3J0LWVudGl0aWVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThDQSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS2V5ZWRDb25maWcgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBY3Rpb25DcmVhdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL21vZGVscyc7XG5cbmltcG9ydCB7IExvYWRFbnRpdGllc1N0YXRlIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsJztcblxuZXhwb3J0IGRlY2xhcmUgdHlwZSBTb3J0RGlyZWN0aW9uID0gJ2FzYycgfCAnZGVzYycgfCAnJztcblxuZXhwb3J0IGludGVyZmFjZSBTb3J0PFQ+IHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY29sdW1uIGJlaW5nIHNvcnRlZC4gKi9cbiAgYWN0aXZlOiBrZXlvZiBUO1xuICAvKiogVGhlIHNvcnQgZGlyZWN0aW9uLiAqL1xuICBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydEVudGl0aWVzU3RhdGU8VD4ge1xuICBzb3J0OiB7XG4gICAgY3VycmVudDogU29ydDxUPjtcbiAgICBkZWZhdWx0OiBTb3J0PFQ+O1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBTb3J0RW50aXRpZXNBY3Rpb25zPFQ+ID0ge1xuICBzb3J0RW50aXRpZXM6IEFjdGlvbkNyZWF0b3I8XG4gICAgc3RyaW5nLFxuICAgIChwcm9wczogU29ydDxUPikgPT4gU29ydDxUPiAmIEFjdGlvbjxzdHJpbmc+XG4gID47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkZWZhdWx0IHNvcnQgYmFja1xuICAgKi9cbiAgcmVzZXRFbnRpdGllc1NvcnQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBBY3Rpb248c3RyaW5nPj47XG59O1xuXG5leHBvcnQgdHlwZSBTb3J0RW50aXRpZXNTZWxlY3RvcnM8VD4gPSB7XG4gIHNlbGVjdEVudGl0aWVzU29ydDogKFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxUPiAmIFNvcnRFbnRpdGllc1N0YXRlPFQ+LFxuICApID0+IFNvcnQ8VD47XG59O1xuXG5leHBvcnQgdHlwZSBTb3J0RW50aXRpZXNNdXRhdG9yczxUPiA9IHtcbiAgc29ydEVudGl0aWVzPFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxUPiAmIFNvcnRFbnRpdGllc1N0YXRlPFQ+PihcbiAgICB7IGFjdGl2ZSwgZGlyZWN0aW9uIH06IFNvcnQ8VD4sXG4gICAgc3RhdGU6IFMsXG4gICk6IFM7XG59O1xuXG5leHBvcnQgY29uc3Qgc29ydFRyYWl0S2V5ID0gJ3NvcnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRFbnRpdGllc0NvbmZpZzxUPiB7XG4gIGRlZmF1bHRTb3J0OiBTb3J0PFQ+O1xuICByZW1vdGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnPFQ+ID0gS2V5ZWRDb25maWc8XG4gIHR5cGVvZiBzb3J0VHJhaXRLZXksXG4gIFNvcnRFbnRpdGllc0NvbmZpZzxUPlxuPjtcbiJdfQ==
@@ -1,8 +0,0 @@
1
- import { createAction, props } from '@ngrx/store';
2
- export function createSortTraitActions(actionsGroupKey, entitiesName) {
3
- return {
4
- sortEntities: createAction(`${actionsGroupKey} Sort ${entitiesName}`, props()),
5
- resetEntitiesSort: createAction(`${actionsGroupKey} Reset ${entitiesName} Sort`),
6
- };
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1lbnRpdGllcy50cmFpdC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zb3J0LWVudGl0aWVzL3NvcnQtZW50aXRpZXMudHJhaXQuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdsRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLGVBQXVCLEVBQ3ZCLFlBQW9CO0lBRXBCLE9BQU87UUFDTCxZQUFZLEVBQUUsWUFBWSxDQUN4QixHQUFHLGVBQWUsU0FBUyxZQUFZLEVBQUUsRUFDekMsS0FBSyxFQUFnQixDQUN0QjtRQUNELGlCQUFpQixFQUFFLFlBQVksQ0FDN0IsR0FBRyxlQUFlLFVBQVUsWUFBWSxPQUFPLENBQ2hEO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgU29ydCwgU29ydEVudGl0aWVzQWN0aW9ucyB9IGZyb20gJy4vc29ydC1lbnRpdGllcy5tb2RlbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTb3J0VHJhaXRBY3Rpb25zPEVudGl0eT4oXG4gIGFjdGlvbnNHcm91cEtleTogc3RyaW5nLFxuICBlbnRpdGllc05hbWU6IHN0cmluZ1xuKTogU29ydEVudGl0aWVzQWN0aW9uczxFbnRpdHk+IHtcbiAgcmV0dXJuIHtcbiAgICBzb3J0RW50aXRpZXM6IGNyZWF0ZUFjdGlvbihcbiAgICAgIGAke2FjdGlvbnNHcm91cEtleX0gU29ydCAke2VudGl0aWVzTmFtZX1gLFxuICAgICAgcHJvcHM8U29ydDxFbnRpdHk+PigpXG4gICAgKSxcbiAgICByZXNldEVudGl0aWVzU29ydDogY3JlYXRlQWN0aW9uKFxuICAgICAgYCR7YWN0aW9uc0dyb3VwS2V5fSBSZXNldCAke2VudGl0aWVzTmFtZX0gU29ydGBcbiAgICApLFxuICB9O1xufVxuIl19
@@ -1,28 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { TraitEffect } from '@ngrx-traits/core';
3
- import { createEffect, ofType } from '@ngrx/effects';
4
- import { concatMap } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- export function createSortTraitEffect(allActions, allConfigs) {
7
- const { remote } = allConfigs.sort;
8
- class SortEffect extends TraitEffect {
9
- constructor() {
10
- super(...arguments);
11
- this.remoteSort$ = createEffect(() => {
12
- return this.actions$.pipe(ofType(allActions.sortEntities, allActions.resetEntitiesSort), concatMap(() => allActions.loadEntitiesFirstPage
13
- ? [
14
- allActions.clearEntitiesPagesCache(),
15
- allActions.loadEntitiesFirstPage(),
16
- ]
17
- : [allActions.loadEntities()]));
18
- });
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SortEffect, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
21
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SortEffect }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SortEffect, decorators: [{
24
- type: Injectable
25
- }] });
26
- return remote ? [SortEffect] : [];
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1lbnRpdGllcy50cmFpdC5lZmZlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NvcnQtZW50aXRpZXMvc29ydC1lbnRpdGllcy50cmFpdC5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVkzQyxNQUFNLFVBQVUscUJBQXFCLENBQ25DLFVBRTJCLEVBQzNCLFVBQTZFO0lBRTdFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsSUFBSyxDQUFDO0lBRXBDLE1BQ00sVUFBVyxTQUFRLFdBQVc7UUFEcEM7O1lBRUUsZ0JBQVcsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFO2dCQUM5QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN2QixNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFDN0QsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNiLFVBQVUsQ0FBQyxxQkFBcUI7b0JBQzlCLENBQUMsQ0FBQzt3QkFDRSxVQUFVLENBQUMsdUJBQXVCLEVBQUU7d0JBQ3BDLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRTtxQkFDbkM7b0JBQ0gsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQ2hDLENBQ0YsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7a0hBZEssVUFBVTtzSEFBVixVQUFVOzsrRkFBVixVQUFVO3NCQURmLFVBQVU7O0lBZ0JYLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Q0FDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFpdEVmZmVjdCB9IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBjb25jYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHtcbiAgTG9hZEVudGl0aWVzQWN0aW9ucyxcbiAgTG9hZEVudGl0aWVzS2V5ZWRDb25maWcsXG59IGZyb20gJy4uL2xvYWQtZW50aXRpZXMvbG9hZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQge1xuICBTb3J0RW50aXRpZXNBY3Rpb25zLFxuICBTb3J0RW50aXRpZXNLZXllZENvbmZpZyxcbn0gZnJvbSAnLi9zb3J0LWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IEVudGl0aWVzUGFnaW5hdGlvbkFjdGlvbnMgfSBmcm9tICcuLi9lbnRpdGllcy1wYWdpbmF0aW9uL2VudGl0aWVzLXBhZ2luYXRpb24ubW9kZWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU29ydFRyYWl0RWZmZWN0PEVudGl0eT4oXG4gIGFsbEFjdGlvbnM6IExvYWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgU29ydEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICBFbnRpdGllc1BhZ2luYXRpb25BY3Rpb25zLFxuICBhbGxDb25maWdzOiBMb2FkRW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+ICYgU29ydEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PlxuKTogVHlwZTxUcmFpdEVmZmVjdD5bXSB7XG4gIGNvbnN0IHsgcmVtb3RlIH0gPSBhbGxDb25maWdzLnNvcnQhO1xuXG4gIEBJbmplY3RhYmxlKClcbiAgY2xhc3MgU29ydEVmZmVjdCBleHRlbmRzIFRyYWl0RWZmZWN0IHtcbiAgICByZW1vdGVTb3J0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoYWxsQWN0aW9ucy5zb3J0RW50aXRpZXMsIGFsbEFjdGlvbnMucmVzZXRFbnRpdGllc1NvcnQpLFxuICAgICAgICBjb25jYXRNYXAoKCkgPT5cbiAgICAgICAgICBhbGxBY3Rpb25zLmxvYWRFbnRpdGllc0ZpcnN0UGFnZVxuICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgYWxsQWN0aW9ucy5jbGVhckVudGl0aWVzUGFnZXNDYWNoZSgpLFxuICAgICAgICAgICAgICAgIGFsbEFjdGlvbnMubG9hZEVudGl0aWVzRmlyc3RQYWdlKCksXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIDogW2FsbEFjdGlvbnMubG9hZEVudGl0aWVzKCldXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHJlbW90ZSA/IFtTb3J0RWZmZWN0XSA6IFtdO1xufVxuIl19
@@ -1,61 +0,0 @@
1
- import { createSortTraitMutators } from './sort-entities.trait.mutators';
2
- import { createSortInitialState, createSortTraitReducer, } from './sort-entities.trait.reducer';
3
- import { createSortTraitSelectors } from './sort-entities.trait.selectors';
4
- import { createSortTraitEffect } from './sort-entities.trait.effect';
5
- import { sortTraitKey, } from './sort-entities.model';
6
- import { loadEntitiesTraitKey, } from '../load-entities/load-entities.model';
7
- import { createTraitFactory } from '@ngrx-traits/core';
8
- import { createSortTraitActions } from './sort-entities.trait.actions';
9
- /**
10
- * Generates ngrx code to sort locally or remotely a list of entities
11
- * @param config
12
- * @param config.defaultSort - Required field, Default entity prop for the sort
13
- * @param config.remote - Required field, default to false, when true disables local
14
- * sorting and every sort action call will now trigger a loadEntities action and the backend
15
- * should sort the data, use selectSort in the effect that call backend to get the requested sort,
16
- * when false all sorting is done in memory when the sort action is fired
17
- *
18
- * @example
19
- * // The following trait config
20
- * export interface TestState
21
- * extends EntityAndStatusState<Todo>, SortState<Todo>{}
22
- *
23
- * const traits = createEntityFeatureFactory(
24
- * {entityName: 'Todo'},
25
- * addLoadEntitiesTrait<Todo>(),
26
- * addSortEntitiesTrait<Todo>({
27
- * remote: true,
28
- * defaultSort: {active:'id', direction:'asc'}
29
- * })
30
- * )({
31
- * actionsGroupKey: '[Todos]',
32
- * featureSelector: createFeatureSelector<TestState>>(
33
- * 'todos',
34
- * ),
35
- * });
36
- * // adds following props to the state:
37
- * // sort: {
38
- * // current: Sort<Todo>;
39
- * // default: Sort<Todo>;
40
- * // }
41
- *
42
- * // generated actions
43
- * traits.actions.sortTodos({active:'id', direction:'desc'})
44
- * traits.actions.resetTodosSort()
45
- * //generated selectors
46
- * traits.selectors.selectTodosSort()
47
- */
48
- export function addSortEntitiesTrait({ remote, defaultSort, }) {
49
- return createTraitFactory({
50
- key: sortTraitKey,
51
- depends: [loadEntitiesTraitKey],
52
- config: { remote, defaultSort },
53
- actions: ({ actionsGroupKey, entitiesName }) => createSortTraitActions(actionsGroupKey, entitiesName),
54
- selectors: () => createSortTraitSelectors(),
55
- mutators: ({ allSelectors, allConfigs }) => createSortTraitMutators(allSelectors, allConfigs),
56
- initialState: ({ previousInitialState, allConfigs, }) => createSortInitialState(previousInitialState, allConfigs),
57
- reducer: ({ initialState, allActions, allMutators, allConfigs }) => createSortTraitReducer(initialState, allActions, allMutators, allConfigs),
58
- effects: ({ allActions, allConfigs }) => createSortTraitEffect(allActions, allConfigs),
59
- });
60
- }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1lbnRpdGllcy50cmFpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc29ydC1lbnRpdGllcy9zb3J0LWVudGl0aWVzLnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsc0JBQXNCLEdBQ3ZCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUtMLFlBQVksR0FDYixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFJTCxvQkFBb0IsR0FDckIsTUFBTSxzQ0FBc0MsQ0FBQztBQUs5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQU92RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQVMsRUFDM0MsTUFBTSxFQUNOLFdBQVcsR0FDZ0I7SUFDM0IsT0FBTyxrQkFBa0IsQ0FBQztRQUN4QixHQUFHLEVBQUUsWUFBWTtRQUNqQixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztRQUMvQixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFnQztRQUM3RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQTZCLEVBQUUsRUFBRSxDQUN4RSxzQkFBc0IsQ0FBUyxlQUFlLEVBQUUsWUFBWSxDQUFDO1FBQy9ELFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsRUFBVTtRQUNuRCxRQUFRLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQW1DLEVBQUUsRUFBRSxDQUMxRSx1QkFBdUIsQ0FDckIsWUFDK0IsRUFDL0IsVUFBVSxDQUNYO1FBQ0gsWUFBWSxFQUFFLENBQUMsRUFDYixvQkFBb0IsRUFDcEIsVUFBVSxHQUNxQixFQUFFLEVBQUUsQ0FDbkMsc0JBQXNCLENBQVMsb0JBQW9CLEVBQUUsVUFBVSxDQUFDO1FBQ2xFLE9BQU8sRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUNqRSxzQkFBc0IsQ0FDcEIsWUFBWSxFQUNaLFVBQXVFLEVBQ3ZFLFdBQVcsRUFDWCxVQUVpQyxDQUNsQztRQUNILE9BQU8sRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FDdEMscUJBQXFCLENBQ25CLFVBRTJCLEVBQzNCLFVBQ2lDLENBQ2xDO0tBQ0osQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVNvcnRUcmFpdE11dGF0b3JzIH0gZnJvbSAnLi9zb3J0LWVudGl0aWVzLnRyYWl0Lm11dGF0b3JzJztcbmltcG9ydCB7XG4gIGNyZWF0ZVNvcnRJbml0aWFsU3RhdGUsXG4gIGNyZWF0ZVNvcnRUcmFpdFJlZHVjZXIsXG59IGZyb20gJy4vc29ydC1lbnRpdGllcy50cmFpdC5yZWR1Y2VyJztcbmltcG9ydCB7IGNyZWF0ZVNvcnRUcmFpdFNlbGVjdG9ycyB9IGZyb20gJy4vc29ydC1lbnRpdGllcy50cmFpdC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgY3JlYXRlU29ydFRyYWl0RWZmZWN0IH0gZnJvbSAnLi9zb3J0LWVudGl0aWVzLnRyYWl0LmVmZmVjdCc7XG5pbXBvcnQge1xuICBTb3J0RW50aXRpZXNBY3Rpb25zLFxuICBTb3J0RW50aXRpZXNDb25maWcsXG4gIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBTb3J0RW50aXRpZXNTZWxlY3RvcnMsXG4gIHNvcnRUcmFpdEtleSxcbn0gZnJvbSAnLi9zb3J0LWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIExvYWRFbnRpdGllc0FjdGlvbnMsXG4gIExvYWRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBMb2FkRW50aXRpZXNTZWxlY3RvcnMsXG4gIGxvYWRFbnRpdGllc1RyYWl0S2V5LFxufSBmcm9tICcuLi9sb2FkLWVudGl0aWVzL2xvYWQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHtcbiAgRW50aXRpZXNQYWdpbmF0aW9uQWN0aW9ucyxcbiAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWcsXG59IGZyb20gJy4uL2VudGl0aWVzLXBhZ2luYXRpb24vZW50aXRpZXMtcGFnaW5hdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBjcmVhdGVUcmFpdEZhY3RvcnkgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVTb3J0VHJhaXRBY3Rpb25zIH0gZnJvbSAnLi9zb3J0LWVudGl0aWVzLnRyYWl0LmFjdGlvbnMnO1xuaW1wb3J0IHtcbiAgVHJhaXRBY3Rpb25zRmFjdG9yeUNvbmZpZyxcbiAgVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5Q29uZmlnLFxuICBUcmFpdFN0YXRlTXV0YXRvcnNGYWN0b3J5Q29uZmlnLFxufSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5cbi8qKlxuICogR2VuZXJhdGVzIG5ncnggY29kZSB0byBzb3J0IGxvY2FsbHkgb3IgcmVtb3RlbHkgYSBsaXN0IG9mIGVudGl0aWVzXG4gKiBAcGFyYW0gY29uZmlnXG4gKiBAcGFyYW0gY29uZmlnLmRlZmF1bHRTb3J0IC0gUmVxdWlyZWQgZmllbGQsIERlZmF1bHQgZW50aXR5IHByb3AgZm9yIHRoZSBzb3J0XG4gKiBAcGFyYW0gY29uZmlnLnJlbW90ZSAtIFJlcXVpcmVkIGZpZWxkLCBkZWZhdWx0IHRvIGZhbHNlLCB3aGVuIHRydWUgZGlzYWJsZXMgbG9jYWxcbiAqIHNvcnRpbmcgYW5kIGV2ZXJ5IHNvcnQgYWN0aW9uIGNhbGwgd2lsbCBub3cgdHJpZ2dlciBhIGxvYWRFbnRpdGllcyBhY3Rpb24gYW5kIHRoZSBiYWNrZW5kXG4gKiBzaG91bGQgc29ydCB0aGUgZGF0YSwgdXNlIHNlbGVjdFNvcnQgaW4gdGhlIGVmZmVjdCB0aGF0IGNhbGwgYmFja2VuZCB0byBnZXQgdGhlIHJlcXVlc3RlZCBzb3J0LFxuICogd2hlbiBmYWxzZSBhbGwgc29ydGluZyBpcyBkb25lIGluIG1lbW9yeSB3aGVuIHRoZSBzb3J0IGFjdGlvbiBpcyBmaXJlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgZm9sbG93aW5nIHRyYWl0IGNvbmZpZ1xuICogZXhwb3J0IGludGVyZmFjZSBUZXN0U3RhdGVcbiAqIGV4dGVuZHMgRW50aXR5QW5kU3RhdHVzU3RhdGU8VG9kbz4sIFNvcnRTdGF0ZTxUb2RvPnt9XG4gKlxuICogICAgY29uc3QgdHJhaXRzID0gY3JlYXRlRW50aXR5RmVhdHVyZUZhY3RvcnkoXG4gKiAgICAgIHtlbnRpdHlOYW1lOiAnVG9kbyd9LFxuICogICAgICBhZGRMb2FkRW50aXRpZXNUcmFpdDxUb2RvPigpLFxuICogICAgICBhZGRTb3J0RW50aXRpZXNUcmFpdDxUb2RvPih7XG4gKiAgICAgICAgcmVtb3RlOiB0cnVlLFxuICogICAgICAgIGRlZmF1bHRTb3J0OiB7YWN0aXZlOidpZCcsIGRpcmVjdGlvbjonYXNjJ31cbiAqICAgICAgfSlcbiAqICAgICkoe1xuICogICAgICBhY3Rpb25zR3JvdXBLZXk6ICdbVG9kb3NdJyxcbiAqICAgICAgZmVhdHVyZVNlbGVjdG9yOiBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8VGVzdFN0YXRlPj4oXG4gKiAgICAgICAgJ3RvZG9zJyxcbiAqICAgICAgKSxcbiAqICAgIH0pO1xuICogLy8gICBhZGRzIGZvbGxvd2luZyBwcm9wcyB0byB0aGUgc3RhdGU6XG4gKiAvLyAgICAgIHNvcnQ6IHtcbiAqIC8vICAgICAgICBjdXJyZW50OiBTb3J0PFRvZG8+O1xuICogLy8gICAgICAgIGRlZmF1bHQ6IFNvcnQ8VG9kbz47XG4gKiAvLyAgICAgIH1cbiAqXG4gKiAvLyBnZW5lcmF0ZWQgYWN0aW9uc1xuICogdHJhaXRzLmFjdGlvbnMuc29ydFRvZG9zKHthY3RpdmU6J2lkJywgZGlyZWN0aW9uOidkZXNjJ30pXG4gKiB0cmFpdHMuYWN0aW9ucy5yZXNldFRvZG9zU29ydCgpXG4gKiAvL2dlbmVyYXRlZCBzZWxlY3RvcnNcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG9kb3NTb3J0KClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFNvcnRFbnRpdGllc1RyYWl0PEVudGl0eT4oe1xuICByZW1vdGUsXG4gIGRlZmF1bHRTb3J0LFxufTogU29ydEVudGl0aWVzQ29uZmlnPEVudGl0eT4pIHtcbiAgcmV0dXJuIGNyZWF0ZVRyYWl0RmFjdG9yeSh7XG4gICAga2V5OiBzb3J0VHJhaXRLZXksXG4gICAgZGVwZW5kczogW2xvYWRFbnRpdGllc1RyYWl0S2V5XSxcbiAgICBjb25maWc6IHsgcmVtb3RlLCBkZWZhdWx0U29ydCB9IGFzIFNvcnRFbnRpdGllc0NvbmZpZzxFbnRpdHk+LFxuICAgIGFjdGlvbnM6ICh7IGFjdGlvbnNHcm91cEtleSwgZW50aXRpZXNOYW1lIH06IFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcpID0+XG4gICAgICBjcmVhdGVTb3J0VHJhaXRBY3Rpb25zPEVudGl0eT4oYWN0aW9uc0dyb3VwS2V5LCBlbnRpdGllc05hbWUpLFxuICAgIHNlbGVjdG9yczogKCkgPT4gY3JlYXRlU29ydFRyYWl0U2VsZWN0b3JzPEVudGl0eT4oKSxcbiAgICBtdXRhdG9yczogKHsgYWxsU2VsZWN0b3JzLCBhbGxDb25maWdzIH06IFRyYWl0U3RhdGVNdXRhdG9yc0ZhY3RvcnlDb25maWcpID0+XG4gICAgICBjcmVhdGVTb3J0VHJhaXRNdXRhdG9yczxFbnRpdHk+KFxuICAgICAgICBhbGxTZWxlY3RvcnMgYXMgU29ydEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT4gJlxuICAgICAgICAgIExvYWRFbnRpdGllc1NlbGVjdG9yczxFbnRpdHk+LFxuICAgICAgICBhbGxDb25maWdzXG4gICAgICApLFxuICAgIGluaXRpYWxTdGF0ZTogKHtcbiAgICAgIHByZXZpb3VzSW5pdGlhbFN0YXRlLFxuICAgICAgYWxsQ29uZmlncyxcbiAgICB9OiBUcmFpdEluaXRpYWxTdGF0ZUZhY3RvcnlDb25maWcpID0+XG4gICAgICBjcmVhdGVTb3J0SW5pdGlhbFN0YXRlPEVudGl0eT4ocHJldmlvdXNJbml0aWFsU3RhdGUsIGFsbENvbmZpZ3MpLFxuICAgIHJlZHVjZXI6ICh7IGluaXRpYWxTdGF0ZSwgYWxsQWN0aW9ucywgYWxsTXV0YXRvcnMsIGFsbENvbmZpZ3MgfSkgPT5cbiAgICAgIGNyZWF0ZVNvcnRUcmFpdFJlZHVjZXI8RW50aXR5PihcbiAgICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgICBhbGxBY3Rpb25zIGFzIFNvcnRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmIExvYWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PixcbiAgICAgICAgYWxsTXV0YXRvcnMsXG4gICAgICAgIGFsbENvbmZpZ3MgYXMgTG9hZEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PiAmXG4gICAgICAgICAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWcgJlxuICAgICAgICAgIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT5cbiAgICAgICksXG4gICAgZWZmZWN0czogKHsgYWxsQWN0aW9ucywgYWxsQ29uZmlncyB9KSA9PlxuICAgICAgY3JlYXRlU29ydFRyYWl0RWZmZWN0KFxuICAgICAgICBhbGxBY3Rpb25zIGFzIExvYWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgICAgICAgU29ydEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICAgICAgICBFbnRpdGllc1BhZ2luYXRpb25BY3Rpb25zLFxuICAgICAgICBhbGxDb25maWdzIGFzIExvYWRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT4gJlxuICAgICAgICAgIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT5cbiAgICAgICksXG4gIH0pO1xufVxuIl19
@@ -1,24 +0,0 @@
1
- import { sortData } from './sort-entities.utils';
2
- export function createSortTraitMutators({ selectEntitiesList }, allConfigs) {
3
- const { remote } = allConfigs.sort;
4
- function sortEntities({ active, direction }, state) {
5
- if (remote) {
6
- return {
7
- ...state,
8
- sort: { ...state.sort, current: { active, direction } },
9
- };
10
- }
11
- const { adapter } = allConfigs.loadEntities;
12
- const entities = selectEntitiesList(state);
13
- const sortedIds = sortData(entities, { active, direction }).map((v) => adapter.selectId(v));
14
- return {
15
- ...state,
16
- ids: sortedIds,
17
- sort: { ...state.sort, current: { active, direction } },
18
- };
19
- }
20
- return {
21
- sortEntities,
22
- };
23
- }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1lbnRpdGllcy50cmFpdC5tdXRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc29ydC1lbnRpdGllcy9zb3J0LWVudGl0aWVzLnRyYWl0Lm11dGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLEVBQUUsa0JBQWtCLEVBQWlDLEVBQ3JELFVBQTJDO0lBRTNDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsSUFBSyxDQUFDO0lBRXBDLFNBQVMsWUFBWSxDQUVuQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQWdCLEVBQUUsS0FBUTtRQUM3QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsSUFBSSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRTthQUN4RCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxVQUFVLENBQUMsWUFBYSxDQUFDO1FBQzdDLE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNwRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUNwQixDQUFDO1FBQ0YsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLEdBQUcsRUFBRSxTQUFTO1lBQ2QsSUFBSSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRTtTQUN4RCxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU87UUFDTCxZQUFZO0tBQ2IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBMb2FkRW50aXRpZXNLZXllZENvbmZpZyxcbiAgTG9hZEVudGl0aWVzU2VsZWN0b3JzLFxuICBMb2FkRW50aXRpZXNTdGF0ZSxcbn0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIFNvcnQsXG4gIFNvcnRFbnRpdGllc011dGF0b3JzLFxuICBTb3J0RW50aXRpZXNTdGF0ZSxcbn0gZnJvbSAnLi9zb3J0LWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IHNvcnREYXRhIH0gZnJvbSAnLi9zb3J0LWVudGl0aWVzLnV0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNvcnRUcmFpdE11dGF0b3JzPEVudGl0eT4oXG4gIHsgc2VsZWN0RW50aXRpZXNMaXN0IH06IExvYWRFbnRpdGllc1NlbGVjdG9yczxFbnRpdHk+LFxuICBhbGxDb25maWdzOiBMb2FkRW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+XG4pOiBTb3J0RW50aXRpZXNNdXRhdG9yczxFbnRpdHk+IHtcbiAgY29uc3QgeyByZW1vdGUgfSA9IGFsbENvbmZpZ3Muc29ydCE7XG5cbiAgZnVuY3Rpb24gc29ydEVudGl0aWVzPFxuICAgIFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU29ydEVudGl0aWVzU3RhdGU8RW50aXR5PlxuICA+KHsgYWN0aXZlLCBkaXJlY3Rpb24gfTogU29ydDxFbnRpdHk+LCBzdGF0ZTogUykge1xuICAgIGlmIChyZW1vdGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzb3J0OiB7IC4uLnN0YXRlLnNvcnQsIGN1cnJlbnQ6IHsgYWN0aXZlLCBkaXJlY3Rpb24gfSB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGFkYXB0ZXIgfSA9IGFsbENvbmZpZ3MubG9hZEVudGl0aWVzITtcbiAgICBjb25zdCBlbnRpdGllcyA9IHNlbGVjdEVudGl0aWVzTGlzdChzdGF0ZSk7XG4gICAgY29uc3Qgc29ydGVkSWRzID0gc29ydERhdGEoZW50aXRpZXMsIHsgYWN0aXZlLCBkaXJlY3Rpb24gfSkubWFwKCh2KSA9PlxuICAgICAgYWRhcHRlci5zZWxlY3RJZCh2KVxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgaWRzOiBzb3J0ZWRJZHMsXG4gICAgICBzb3J0OiB7IC4uLnN0YXRlLnNvcnQsIGN1cnJlbnQ6IHsgYWN0aXZlLCBkaXJlY3Rpb24gfSB9LFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBzb3J0RW50aXRpZXMsXG4gIH07XG59XG4iXX0=
@@ -1,15 +0,0 @@
1
- import { createReducer, on } from '@ngrx/store';
2
- export function createSortInitialState(previousInitialState, allConfigs) {
3
- const { defaultSort } = allConfigs.sort;
4
- return {
5
- ...previousInitialState,
6
- sort: {
7
- current: defaultSort,
8
- default: defaultSort,
9
- },
10
- };
11
- }
12
- export function createSortTraitReducer(initialState, allActions, allMutators, allConfigs) {
13
- return createReducer(initialState, on(allActions.sortEntities, (state, { active, direction }) => allMutators.sortEntities({ active, direction }, state)), on(allActions.resetEntitiesSort, (state) => allMutators.sortEntities(state.sort?.default, state)));
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1lbnRpdGllcy50cmFpdC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zb3J0LWVudGl0aWVzL3NvcnQtZW50aXRpZXMudHJhaXQucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQWFoRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLG9CQUF5QixFQUN6QixVQUEyQztJQUUzQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsVUFBVSxDQUFDLElBQUssQ0FBQztJQUV6QyxPQUFPO1FBQ0wsR0FBRyxvQkFBb0I7UUFDdkIsSUFBSSxFQUFFO1lBQ0osT0FBTyxFQUFFLFdBQVc7WUFDcEIsT0FBTyxFQUFFLFdBQVc7U0FDckI7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FNcEMsWUFBZSxFQUNmLFVBQXFFLEVBQ3JFLFdBQXlDLEVBQ3pDLFVBQTZFO0lBRTdFLE9BQU8sYUFBYSxDQUNsQixZQUFZLEVBQ1osRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUMzRCxXQUFXLENBQUMsWUFBWSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUN2RCxFQUNELEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUN6QyxXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUNyRCxDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBMb2FkRW50aXRpZXNBY3Rpb25zLFxuICBMb2FkRW50aXRpZXNLZXllZENvbmZpZyxcbiAgTG9hZEVudGl0aWVzU3RhdGUsXG59IGZyb20gJy4uL2xvYWQtZW50aXRpZXMnO1xuaW1wb3J0IHtcbiAgU29ydEVudGl0aWVzQWN0aW9ucyxcbiAgU29ydEVudGl0aWVzS2V5ZWRDb25maWcsXG4gIFNvcnRFbnRpdGllc011dGF0b3JzLFxuICBTb3J0RW50aXRpZXNTdGF0ZSxcbn0gZnJvbSAnLi9zb3J0LWVudGl0aWVzLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNvcnRJbml0aWFsU3RhdGU8RW50aXR5PihcbiAgcHJldmlvdXNJbml0aWFsU3RhdGU6IGFueSxcbiAgYWxsQ29uZmlnczogU29ydEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PlxuKTogTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNvcnRFbnRpdGllc1N0YXRlPEVudGl0eT4ge1xuICBjb25zdCB7IGRlZmF1bHRTb3J0IH0gPSBhbGxDb25maWdzLnNvcnQhO1xuXG4gIHJldHVybiB7XG4gICAgLi4ucHJldmlvdXNJbml0aWFsU3RhdGUsXG4gICAgc29ydDoge1xuICAgICAgY3VycmVudDogZGVmYXVsdFNvcnQsXG4gICAgICBkZWZhdWx0OiBkZWZhdWx0U29ydCxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU29ydFRyYWl0UmVkdWNlcjxcbiAgRW50aXR5LFxuICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmXG4gICAgU29ydEVudGl0aWVzU3RhdGU8RW50aXR5PiA9IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJlxuICAgIFNvcnRFbnRpdGllc1N0YXRlPEVudGl0eT5cbj4oXG4gIGluaXRpYWxTdGF0ZTogUyxcbiAgYWxsQWN0aW9uczogU29ydEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICYgTG9hZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+LFxuICBhbGxNdXRhdG9yczogU29ydEVudGl0aWVzTXV0YXRvcnM8RW50aXR5PixcbiAgYWxsQ29uZmlnczogTG9hZEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PiAmIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT5cbikge1xuICByZXR1cm4gY3JlYXRlUmVkdWNlcihcbiAgICBpbml0aWFsU3RhdGUsXG4gICAgb24oYWxsQWN0aW9ucy5zb3J0RW50aXRpZXMsIChzdGF0ZSwgeyBhY3RpdmUsIGRpcmVjdGlvbiB9KSA9PlxuICAgICAgYWxsTXV0YXRvcnMuc29ydEVudGl0aWVzKHsgYWN0aXZlLCBkaXJlY3Rpb24gfSwgc3RhdGUpXG4gICAgKSxcbiAgICBvbihhbGxBY3Rpb25zLnJlc2V0RW50aXRpZXNTb3J0LCAoc3RhdGUpID0+XG4gICAgICBhbGxNdXRhdG9ycy5zb3J0RW50aXRpZXMoc3RhdGUuc29ydD8uZGVmYXVsdCwgc3RhdGUpXG4gICAgKVxuICApO1xufVxuIl19
@@ -1,9 +0,0 @@
1
- export function createSortTraitSelectors() {
2
- function selectEntitiesSort(state) {
3
- return state.sort?.current;
4
- }
5
- return {
6
- selectEntitiesSort,
7
- };
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1lbnRpdGllcy50cmFpdC5zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NvcnQtZW50aXRpZXMvc29ydC1lbnRpdGllcy50cmFpdC5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxVQUFVLHdCQUF3QjtJQUd0QyxTQUFTLGtCQUFrQixDQUFDLEtBQWdDO1FBQzFELE9BQU8sS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7SUFDN0IsQ0FBQztJQUNELE9BQU87UUFDTCxrQkFBa0I7S0FDbkIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTb3J0RW50aXRpZXNTZWxlY3RvcnMsXG4gIFNvcnRFbnRpdGllc1N0YXRlLFxufSBmcm9tICcuL3NvcnQtZW50aXRpZXMubW9kZWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU29ydFRyYWl0U2VsZWN0b3JzPFxuICBFbnRpdHlcbj4oKTogU29ydEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT4ge1xuICBmdW5jdGlvbiBzZWxlY3RFbnRpdGllc1NvcnQoc3RhdGU6IFNvcnRFbnRpdGllc1N0YXRlPEVudGl0eT4pIHtcbiAgICByZXR1cm4gc3RhdGUuc29ydD8uY3VycmVudDtcbiAgfVxuICByZXR1cm4ge1xuICAgIHNlbGVjdEVudGl0aWVzU29ydCxcbiAgfTtcbn1cbiJdfQ==
@@ -1,63 +0,0 @@
1
- const MAX_SAFE_INTEGER = 9007199254740991;
2
- export function _isNumberValue(value) {
3
- // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,
4
- // and other non-number values as NaN, where Number just uses 0) but it considers the string
5
- // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.
6
- return !isNaN(parseFloat(value)) && !isNaN(Number(value));
7
- }
8
- function sortingDataAccessor(data, sortHeaderId) {
9
- const value = data[sortHeaderId];
10
- if (_isNumberValue(value)) {
11
- const numberValue = Number(value);
12
- // Numbers beyond `MAX_SAFE_INTEGER` can't be compared reliably so we
13
- // leave them as strings. For more info: https://goo.gl/y5vbSg
14
- return numberValue < MAX_SAFE_INTEGER ? numberValue : value;
15
- }
16
- return value;
17
- }
18
- /**
19
- * @internal
20
- * @ignore
21
- * Gets a sorted copy of the data array based on the state of the Sort.
22
- * @param data The array of data that should be sorted.
23
- * @param sort The connected MatSort that holds the current sort state.
24
- */
25
- export function sortData(data, sort) {
26
- const active = sort.active;
27
- const direction = sort.direction;
28
- if (!active || direction === '') {
29
- return data;
30
- }
31
- return data.sort((a, b) => {
32
- const valueA = sortingDataAccessor(a, active);
33
- const valueB = sortingDataAccessor(b, active);
34
- // If both valueA and valueB exist (truthy), then compare the two. Otherwise, check if
35
- // one value exists while the other doesn't. In this case, existing value should come last.
36
- // This avoids inconsistent results when comparing values to undefined/null.
37
- // If neither value exists, return 0 (equal).
38
- let comparatorResult = 0;
39
- if (valueA != null && valueB != null) {
40
- // Check if one value is greater than the other; if equal, comparatorResult should remain 0.
41
- if (typeof valueA === 'string' || typeof valueB === 'string') {
42
- // if either values are a string, then force both to be strings before localCompare
43
- comparatorResult = valueA.toString().localeCompare(valueB.toString());
44
- }
45
- else {
46
- if (valueA > valueB) {
47
- comparatorResult = 1;
48
- }
49
- else if (valueA < valueB) {
50
- comparatorResult = -1;
51
- }
52
- }
53
- }
54
- else if (valueA != null) {
55
- comparatorResult = 1;
56
- }
57
- else if (valueB != null) {
58
- comparatorResult = -1;
59
- }
60
- return comparatorResult * (direction === 'asc' ? 1 : -1);
61
- });
62
- }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1lbnRpdGllcy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc29ydC1lbnRpdGllcy9zb3J0LWVudGl0aWVzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7QUFFMUMsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFVO0lBQ3ZDLGlHQUFpRztJQUNqRyw0RkFBNEY7SUFDNUYsb0ZBQW9GO0lBQ3BGLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQzFCLElBQU8sRUFDUCxZQUFvQjtJQUVwQixNQUFNLEtBQUssR0FBSSxJQUErQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRTdELElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLHFFQUFxRTtRQUNyRSw4REFBOEQ7UUFDOUQsT0FBTyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzlELENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFJLElBQVMsRUFBRSxJQUFhO0lBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDM0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNqQyxJQUFJLENBQUMsTUFBTSxJQUFJLFNBQVMsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDeEIsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLE1BQWdCLENBQUMsQ0FBQztRQUN4RCxNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsTUFBZ0IsQ0FBQyxDQUFDO1FBRXhELHNGQUFzRjtRQUN0RiwyRkFBMkY7UUFDM0YsNEVBQTRFO1FBQzVFLDZDQUE2QztRQUM3QyxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3JDLDRGQUE0RjtZQUU1RixJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDN0QsbUZBQW1GO2dCQUNuRixnQkFBZ0IsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQztvQkFDcEIsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO2dCQUN2QixDQUFDO3FCQUFNLElBQUksTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO29CQUMzQixnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO2FBQU0sSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUIsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMxQixnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBRUQsT0FBTyxnQkFBZ0IsR0FBRyxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3J0IH0gZnJvbSAnLi9zb3J0LWVudGl0aWVzLm1vZGVsJztcblxuY29uc3QgTUFYX1NBRkVfSU5URUdFUiA9IDkwMDcxOTkyNTQ3NDA5OTE7XG5cbmV4cG9ydCBmdW5jdGlvbiBfaXNOdW1iZXJWYWx1ZSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIC8vIHBhcnNlRmxvYXQodmFsdWUpIGhhbmRsZXMgbW9zdCBvZiB0aGUgY2FzZXMgd2UncmUgaW50ZXJlc3RlZCBpbiAoaXQgdHJlYXRzIG51bGwsIGVtcHR5IHN0cmluZyxcbiAgLy8gYW5kIG90aGVyIG5vbi1udW1iZXIgdmFsdWVzIGFzIE5hTiwgd2hlcmUgTnVtYmVyIGp1c3QgdXNlcyAwKSBidXQgaXQgY29uc2lkZXJzIHRoZSBzdHJpbmdcbiAgLy8gJzEyM2hlbGxvJyB0byBiZSBhIHZhbGlkIG51bWJlci4gVGhlcmVmb3JlIHdlIGFsc28gY2hlY2sgaWYgTnVtYmVyKHZhbHVlKSBpcyBOYU4uXG4gIHJldHVybiAhaXNOYU4ocGFyc2VGbG9hdCh2YWx1ZSBhcyBhbnkpKSAmJiAhaXNOYU4oTnVtYmVyKHZhbHVlKSk7XG59XG5cbmZ1bmN0aW9uIHNvcnRpbmdEYXRhQWNjZXNzb3I8VD4oXG4gIGRhdGE6IFQsXG4gIHNvcnRIZWFkZXJJZDogc3RyaW5nXG4pOiBzdHJpbmcgfCBudW1iZXIge1xuICBjb25zdCB2YWx1ZSA9IChkYXRhIGFzIHsgW2tleTogc3RyaW5nXTogYW55IH0pW3NvcnRIZWFkZXJJZF07XG5cbiAgaWYgKF9pc051bWJlclZhbHVlKHZhbHVlKSkge1xuICAgIGNvbnN0IG51bWJlclZhbHVlID0gTnVtYmVyKHZhbHVlKTtcblxuICAgIC8vIE51bWJlcnMgYmV5b25kIGBNQVhfU0FGRV9JTlRFR0VSYCBjYW4ndCBiZSBjb21wYXJlZCByZWxpYWJseSBzbyB3ZVxuICAgIC8vIGxlYXZlIHRoZW0gYXMgc3RyaW5ncy4gRm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9nb28uZ2wveTV2YlNnXG4gICAgcmV0dXJuIG51bWJlclZhbHVlIDwgTUFYX1NBRkVfSU5URUdFUiA/IG51bWJlclZhbHVlIDogdmFsdWU7XG4gIH1cblxuICByZXR1cm4gdmFsdWU7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAaWdub3JlXG4gKiBHZXRzIGEgc29ydGVkIGNvcHkgb2YgdGhlIGRhdGEgYXJyYXkgYmFzZWQgb24gdGhlIHN0YXRlIG9mIHRoZSBTb3J0LlxuICogQHBhcmFtIGRhdGEgVGhlIGFycmF5IG9mIGRhdGEgdGhhdCBzaG91bGQgYmUgc29ydGVkLlxuICogQHBhcmFtIHNvcnQgVGhlIGNvbm5lY3RlZCBNYXRTb3J0IHRoYXQgaG9sZHMgdGhlIGN1cnJlbnQgc29ydCBzdGF0ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNvcnREYXRhPFQ+KGRhdGE6IFRbXSwgc29ydDogU29ydDxUPik6IFRbXSB7XG4gIGNvbnN0IGFjdGl2ZSA9IHNvcnQuYWN0aXZlO1xuICBjb25zdCBkaXJlY3Rpb24gPSBzb3J0LmRpcmVjdGlvbjtcbiAgaWYgKCFhY3RpdmUgfHwgZGlyZWN0aW9uID09PSAnJykge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcmV0dXJuIGRhdGEuc29ydCgoYSwgYikgPT4ge1xuICAgIGNvbnN0IHZhbHVlQSA9IHNvcnRpbmdEYXRhQWNjZXNzb3IoYSwgYWN0aXZlIGFzIHN0cmluZyk7XG4gICAgY29uc3QgdmFsdWVCID0gc29ydGluZ0RhdGFBY2Nlc3NvcihiLCBhY3RpdmUgYXMgc3RyaW5nKTtcblxuICAgIC8vIElmIGJvdGggdmFsdWVBIGFuZCB2YWx1ZUIgZXhpc3QgKHRydXRoeSksIHRoZW4gY29tcGFyZSB0aGUgdHdvLiBPdGhlcndpc2UsIGNoZWNrIGlmXG4gICAgLy8gb25lIHZhbHVlIGV4aXN0cyB3aGlsZSB0aGUgb3RoZXIgZG9lc24ndC4gSW4gdGhpcyBjYXNlLCBleGlzdGluZyB2YWx1ZSBzaG91bGQgY29tZSBsYXN0LlxuICAgIC8vIFRoaXMgYXZvaWRzIGluY29uc2lzdGVudCByZXN1bHRzIHdoZW4gY29tcGFyaW5nIHZhbHVlcyB0byB1bmRlZmluZWQvbnVsbC5cbiAgICAvLyBJZiBuZWl0aGVyIHZhbHVlIGV4aXN0cywgcmV0dXJuIDAgKGVxdWFsKS5cbiAgICBsZXQgY29tcGFyYXRvclJlc3VsdCA9IDA7XG4gICAgaWYgKHZhbHVlQSAhPSBudWxsICYmIHZhbHVlQiAhPSBudWxsKSB7XG4gICAgICAvLyBDaGVjayBpZiBvbmUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBvdGhlcjsgaWYgZXF1YWwsIGNvbXBhcmF0b3JSZXN1bHQgc2hvdWxkIHJlbWFpbiAwLlxuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlQSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlQiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgLy8gaWYgZWl0aGVyIHZhbHVlcyBhcmUgYSBzdHJpbmcsIHRoZW4gZm9yY2UgYm90aCB0byBiZSBzdHJpbmdzIGJlZm9yZSBsb2NhbENvbXBhcmVcbiAgICAgICAgY29tcGFyYXRvclJlc3VsdCA9IHZhbHVlQS50b1N0cmluZygpLmxvY2FsZUNvbXBhcmUodmFsdWVCLnRvU3RyaW5nKCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHZhbHVlQSA+IHZhbHVlQikge1xuICAgICAgICAgIGNvbXBhcmF0b3JSZXN1bHQgPSAxO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlQSA8IHZhbHVlQikge1xuICAgICAgICAgIGNvbXBhcmF0b3JSZXN1bHQgPSAtMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodmFsdWVBICE9IG51bGwpIHtcbiAgICAgIGNvbXBhcmF0b3JSZXN1bHQgPSAxO1xuICAgIH0gZWxzZSBpZiAodmFsdWVCICE9IG51bGwpIHtcbiAgICAgIGNvbXBhcmF0b3JSZXN1bHQgPSAtMTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcGFyYXRvclJlc3VsdCAqIChkaXJlY3Rpb24gPT09ICdhc2MnID8gMSA6IC0xKTtcbiAgfSk7XG59XG4iXX0=