@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,38 +0,0 @@
1
- import { isFail, isLoading, isSuccess } from './load-entities.utils';
2
- import { createSelector } from '@ngrx/store';
3
- import { selectEntitiesFilter } from '../filter-entities/filter-entities.trait.selectors';
4
- export function createLoadEntitiesTraitSelectors(allConfigs) {
5
- const adapter = allConfigs?.loadEntities?.adapter;
6
- const entitySelectors = adapter.getSelectors();
7
- const filterFunction = allConfigs?.filter?.filterFn;
8
- let selectors = {
9
- selectEntitiesList: entitySelectors.selectAll,
10
- selectEntitiesMap: entitySelectors.selectEntities,
11
- selectEntitiesIdsList: entitySelectors.selectIds,
12
- selectEntitiesTotal: entitySelectors.selectTotal,
13
- isEntitiesLoadingFail: isFail,
14
- isEntitiesLoading: isLoading,
15
- isEntitiesLoadingSuccess: isSuccess,
16
- };
17
- if (filterFunction && entitySelectors) {
18
- const selectEntitiesList = createSelector(entitySelectors.selectAll, selectEntitiesFilter, (entities, filters) => filters ? entities.filter((e) => filterFunction(filters, e)) : entities);
19
- selectors = {
20
- ...selectors,
21
- selectEntitiesList,
22
- selectEntitiesMap: createSelector(selectors.selectEntitiesMap, selectEntitiesFilter, (entities, filters) => {
23
- const result = {};
24
- for (const id in entities) {
25
- const e = entities[id];
26
- if (filterFunction(filters, e)) {
27
- result[id] = e;
28
- }
29
- }
30
- return result;
31
- }),
32
- selectEntitiesTotal: createSelector(selectEntitiesList, (entities) => entities.length),
33
- selectEntitiesIdsList: createSelector(selectEntitiesList, (entities) => entities.map((e) => adapter?.selectId(e))),
34
- };
35
- }
36
- return selectors;
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdGllcy50cmFpdC5zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2xvYWQtZW50aXRpZXMvbG9hZC1lbnRpdGllcy50cmFpdC5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUUxRixNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLFVBQzRDO0lBRTVDLE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDO0lBQ2xELE1BQU0sZUFBZSxHQUFHLE9BQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVoRCxNQUFNLGNBQWMsR0FBRyxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztJQUNwRCxJQUFJLFNBQVMsR0FBa0M7UUFDN0Msa0JBQWtCLEVBQUUsZUFBZSxDQUFDLFNBQVM7UUFDN0MsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLGNBQWM7UUFDakQscUJBQXFCLEVBQUUsZUFBZSxDQUFDLFNBQVM7UUFDaEQsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLFdBQVc7UUFDaEQscUJBQXFCLEVBQUUsTUFBTTtRQUM3QixpQkFBaUIsRUFBRSxTQUFTO1FBQzVCLHdCQUF3QixFQUFFLFNBQVM7S0FDcEMsQ0FBQztJQUNGLElBQUksY0FBYyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUN2QyxlQUFlLENBQUMsU0FBUyxFQUN6QixvQkFBb0IsRUFDcEIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDcEIsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FDMUUsQ0FBQztRQUVGLFNBQVMsR0FBRztZQUNWLEdBQUcsU0FBUztZQUNaLGtCQUFrQjtZQUNsQixpQkFBaUIsRUFBRSxjQUFjLENBQy9CLFNBQVMsQ0FBQyxpQkFBaUIsRUFDM0Isb0JBQW9CLEVBQ3BCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFO2dCQUNwQixNQUFNLE1BQU0sR0FBdUIsRUFBRSxDQUFDO2dCQUN0QyxLQUFLLE1BQU0sRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUMxQixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3ZCLElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFFLENBQUMsRUFBRSxDQUFDO3dCQUNoQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNqQixDQUFDO2dCQUNILENBQUM7Z0JBQ0QsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQyxDQUNGO1lBQ0QsbUJBQW1CLEVBQUUsY0FBYyxDQUNqQyxrQkFBa0IsRUFDbEIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQzlCO1lBQ0QscUJBQXFCLEVBQUUsY0FBYyxDQUNuQyxrQkFBa0IsRUFDbEIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUNYLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQXdCLENBQ25FO1NBQzBDLENBQUM7SUFDaEQsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQG5ncngvZW50aXR5JztcbmltcG9ydCB7XG4gIExvYWRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBMb2FkRW50aXRpZXNTZWxlY3RvcnMsXG59IGZyb20gJy4vbG9hZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJFbnRpdGllc0tleWVkQ29uZmlnIH0gZnJvbSAnLi4vZmlsdGVyLWVudGl0aWVzJztcbmltcG9ydCB7IGlzRmFpbCwgaXNMb2FkaW5nLCBpc1N1Y2Nlc3MgfSBmcm9tICcuL2xvYWQtZW50aXRpZXMudXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RFbnRpdGllc0ZpbHRlciB9IGZyb20gJy4uL2ZpbHRlci1lbnRpdGllcy9maWx0ZXItZW50aXRpZXMudHJhaXQuc2VsZWN0b3JzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxvYWRFbnRpdGllc1RyYWl0U2VsZWN0b3JzPEVudGl0eT4oXG4gIGFsbENvbmZpZ3M/OiBMb2FkRW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+ICZcbiAgICBGaWx0ZXJFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eSwgdW5rbm93bj5cbikge1xuICBjb25zdCBhZGFwdGVyID0gYWxsQ29uZmlncz8ubG9hZEVudGl0aWVzPy5hZGFwdGVyO1xuICBjb25zdCBlbnRpdHlTZWxlY3RvcnMgPSBhZGFwdGVyIS5nZXRTZWxlY3RvcnMoKTtcblxuICBjb25zdCBmaWx0ZXJGdW5jdGlvbiA9IGFsbENvbmZpZ3M/LmZpbHRlcj8uZmlsdGVyRm47XG4gIGxldCBzZWxlY3RvcnM6IExvYWRFbnRpdGllc1NlbGVjdG9yczxFbnRpdHk+ID0ge1xuICAgIHNlbGVjdEVudGl0aWVzTGlzdDogZW50aXR5U2VsZWN0b3JzLnNlbGVjdEFsbCxcbiAgICBzZWxlY3RFbnRpdGllc01hcDogZW50aXR5U2VsZWN0b3JzLnNlbGVjdEVudGl0aWVzLFxuICAgIHNlbGVjdEVudGl0aWVzSWRzTGlzdDogZW50aXR5U2VsZWN0b3JzLnNlbGVjdElkcyxcbiAgICBzZWxlY3RFbnRpdGllc1RvdGFsOiBlbnRpdHlTZWxlY3RvcnMuc2VsZWN0VG90YWwsXG4gICAgaXNFbnRpdGllc0xvYWRpbmdGYWlsOiBpc0ZhaWwsXG4gICAgaXNFbnRpdGllc0xvYWRpbmc6IGlzTG9hZGluZyxcbiAgICBpc0VudGl0aWVzTG9hZGluZ1N1Y2Nlc3M6IGlzU3VjY2VzcyxcbiAgfTtcbiAgaWYgKGZpbHRlckZ1bmN0aW9uICYmIGVudGl0eVNlbGVjdG9ycykge1xuICAgIGNvbnN0IHNlbGVjdEVudGl0aWVzTGlzdCA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgZW50aXR5U2VsZWN0b3JzLnNlbGVjdEFsbCxcbiAgICAgIHNlbGVjdEVudGl0aWVzRmlsdGVyLFxuICAgICAgKGVudGl0aWVzLCBmaWx0ZXJzKSA9PlxuICAgICAgICBmaWx0ZXJzID8gZW50aXRpZXMuZmlsdGVyKChlKSA9PiBmaWx0ZXJGdW5jdGlvbihmaWx0ZXJzLCBlKSkgOiBlbnRpdGllc1xuICAgICk7XG5cbiAgICBzZWxlY3RvcnMgPSB7XG4gICAgICAuLi5zZWxlY3RvcnMsXG4gICAgICBzZWxlY3RFbnRpdGllc0xpc3QsXG4gICAgICBzZWxlY3RFbnRpdGllc01hcDogY3JlYXRlU2VsZWN0b3IoXG4gICAgICAgIHNlbGVjdG9ycy5zZWxlY3RFbnRpdGllc01hcCxcbiAgICAgICAgc2VsZWN0RW50aXRpZXNGaWx0ZXIsXG4gICAgICAgIChlbnRpdGllcywgZmlsdGVycykgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogRGljdGlvbmFyeTxFbnRpdHk+ID0ge307XG4gICAgICAgICAgZm9yIChjb25zdCBpZCBpbiBlbnRpdGllcykge1xuICAgICAgICAgICAgY29uc3QgZSA9IGVudGl0aWVzW2lkXTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXJGdW5jdGlvbihmaWx0ZXJzLCBlISkpIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2lkXSA9IGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICBzZWxlY3RFbnRpdGllc1RvdGFsOiBjcmVhdGVTZWxlY3RvcihcbiAgICAgICAgc2VsZWN0RW50aXRpZXNMaXN0LFxuICAgICAgICAoZW50aXRpZXMpID0+IGVudGl0aWVzLmxlbmd0aFxuICAgICAgKSxcbiAgICAgIHNlbGVjdEVudGl0aWVzSWRzTGlzdDogY3JlYXRlU2VsZWN0b3IoXG4gICAgICAgIHNlbGVjdEVudGl0aWVzTGlzdCxcbiAgICAgICAgKGVudGl0aWVzKSA9PlxuICAgICAgICAgIGVudGl0aWVzLm1hcCgoZSkgPT4gYWRhcHRlcj8uc2VsZWN0SWQoZSkpIGFzIHN0cmluZ1tdIHwgbnVtYmVyW11cbiAgICAgICksXG4gICAgfSBhcyB1bmtub3duIGFzIExvYWRFbnRpdGllc1NlbGVjdG9yczxFbnRpdHk+O1xuICB9XG4gIHJldHVybiBzZWxlY3RvcnM7XG59XG4iXX0=
@@ -1,10 +0,0 @@
1
- export function isLoading(state) {
2
- return state.status === 'loading';
3
- }
4
- export function isSuccess(state) {
5
- return state.status === 'success';
6
- }
7
- export function isFail(state) {
8
- return state.status === 'fail';
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdGllcy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxTQUFTLENBQXdCLEtBQVE7SUFDdkQsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQztBQUNwQyxDQUFDO0FBQ0QsTUFBTSxVQUFVLFNBQVMsQ0FBd0IsS0FBUTtJQUN2RCxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDO0FBQ3BDLENBQUM7QUFDRCxNQUFNLFVBQVUsTUFBTSxDQUF3QixLQUFRO0lBQ3BELE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXR1c1N0YXRlIH0gZnJvbSAnLi9sb2FkLWVudGl0aWVzLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTG9hZGluZzxTIGV4dGVuZHMgU3RhdHVzU3RhdGU+KHN0YXRlOiBTKSB7XG4gIHJldHVybiBzdGF0ZS5zdGF0dXMgPT09ICdsb2FkaW5nJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1N1Y2Nlc3M8UyBleHRlbmRzIFN0YXR1c1N0YXRlPihzdGF0ZTogUykge1xuICByZXR1cm4gc3RhdGUuc3RhdHVzID09PSAnc3VjY2Vzcyc7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNGYWlsPFMgZXh0ZW5kcyBTdGF0dXNTdGF0ZT4oc3RhdGU6IFMpIHtcbiAgcmV0dXJuIHN0YXRlLnN0YXR1cyA9PT0gJ2ZhaWwnO1xufVxuIl19
@@ -1,3 +0,0 @@
1
- export * from './load-entity.traits';
2
- export * from './load-entity.model';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2xvYWQtZW50aXR5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbG9hZC1lbnRpdHkudHJhaXRzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZC1lbnRpdHkubW9kZWwnO1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdHkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2xvYWQtZW50aXR5L2xvYWQtZW50aXR5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3N0Zml4UHJvcHMsIFByZWZpeFByb3BzLCBUcmFpdEFjdGlvbnMgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQge1xuICBBc3luY0FjdGlvbkFjdGlvbnMsXG4gIEFzeW5jQWN0aW9uU3RhdGUsXG59IGZyb20gJy4uL2FzeW5jLWFjdGlvbi9hc3luYy1hY3Rpb24ubW9kZWwnO1xuXG5leHBvcnQgdHlwZSBMb2FkRW50aXR5QWN0aW9uczxcbiAgSiBleHRlbmRzIHN0cmluZyxcbiAgUmVxdWVzdCBleHRlbmRzIG9iamVjdCxcbiAgUmVzcG9uc2UgZXh0ZW5kcyBvYmplY3QsXG4gIEZhaWx1cmUgZXh0ZW5kcyBvYmplY3Rcbj4gPSBQcmVmaXhQcm9wczxBc3luY0FjdGlvbkFjdGlvbnM8UmVxdWVzdCwgUmVzcG9uc2UsIEZhaWx1cmUsIEo+LCAnbG9hZCc+ICZcbiAgVHJhaXRBY3Rpb25zO1xuXG5leHBvcnQgdHlwZSBMb2FkRW50aXR5U3RhdGU8XG4gIFQsXG4gIEogZXh0ZW5kcyBzdHJpbmdcbj4gPSBBc3luY0FjdGlvblN0YXRlPGBsb2FkJHtDYXBpdGFsaXplPEogJiBzdHJpbmc+fWA+ICZcbiAgUHJlZml4UHJvcHM8eyAnJz86IFQgfSwgSj47XG5cbmV4cG9ydCB0eXBlIExvYWRFbnRpdHlTZWxlY3RvcnM8VCwgSiBleHRlbmRzIHN0cmluZz4gPSBQb3N0Zml4UHJvcHM8XG4gIHtcbiAgICBzZWxlY3Q6IChzdGF0ZTogTG9hZEVudGl0eVN0YXRlPFQsIEo+KSA9PiBUO1xuICB9LFxuICBKXG4+O1xuIl19
@@ -1,78 +0,0 @@
1
- import { capitalize, createTraitFactory } from '@ngrx-traits/core';
2
- import { createReducer, on } from '@ngrx/store';
3
- import { addAsyncActionTrait } from '../async-action/async-action.trait';
4
- /**
5
- * Generates ngrx code needed to load and entity and store it in a state. This action can be added
6
- * more than once as long as the entityName para is different
7
- * @param entityName - Entity name, should be in camel case
8
- * @param options.actionProps - Optional param for the main request action,
9
- * use the props() function for its value, if not present action will have no params,
10
- * @param options.actionSuccessProps - Optional param for the request success
11
- * action, use the props() function for its value, if not present action success will have no params
12
- * @param options.actionFailProps - Optional param for the request fail action,
13
- * use the props() function for its value, if not present action fail will have no params
14
- * @returns the trait factory
15
- *
16
- * @example
17
- *
18
- * export interface TestState
19
- * extends LoadEntityState<Client,'client'>{}
20
- *
21
- * const traits = createEntityFeatureFactory(
22
- * ...addLoadEntityTraits({
23
- * entityName: 'client',
24
- * requestProps: props<{ id: string }>(),
25
- * responseProps: props<{ client: Client }>(),
26
- * }),
27
- * )({
28
- * actionsGroupKey: 'Client',
29
- * featureSelector: createFeatureSelector<
30
- * LoadEntityState<Client, 'client'>
31
- * >('client'),
32
- * });
33
- *
34
- * // adds following props to the state:
35
- * // loadClientStatus?: 'loading' | 'success' | 'fail';
36
- * // client?: Client;
37
- *
38
- * // generated actions
39
- * traits.actions.loadClient({id:123});
40
- * traits.actions.loadClientSuccess({client: {id: '123', name: 'gabs'}});
41
- * traits.actions.loadClientFail();
42
- * // generated selectors
43
- * traits.selectors.selectClient()
44
- * traits.selectors.isLoadingLoadClient()
45
- * traits.selectors.isSuccessLoadClient()
46
- * traits.selectors.isFailLoadClient()
47
- */
48
- export function addLoadEntityTraits({ entityName, actionProps, actionSuccessProps, actionFailProps, }) {
49
- const capitalizedName = capitalize(entityName);
50
- return [
51
- addAsyncActionTrait({
52
- name: ('load' + capitalizedName),
53
- actionProps,
54
- actionSuccessProps,
55
- actionFailProps,
56
- }),
57
- createTraitFactory({
58
- key: `load${capitalizedName}`,
59
- config: { entityName, actionProps, actionSuccessProps, actionFailProps },
60
- selectors: () => {
61
- function selectEntity(state) {
62
- return state[`${entityName}`];
63
- }
64
- return {
65
- [`select${capitalizedName}`]: selectEntity,
66
- };
67
- },
68
- initialState: ({ previousInitialState, }) => previousInitialState,
69
- reducer: ({ initialState, allActions }) => {
70
- return createReducer(initialState, on(allActions[`load${capitalizedName}Success`], (state, action) => ({
71
- ...state,
72
- [entityName]: action[entityName],
73
- })));
74
- },
75
- }),
76
- ];
77
- }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdHkudHJhaXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9sb2FkLWVudGl0eS9sb2FkLWVudGl0eS50cmFpdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBTXpFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQU9qQyxFQUNBLFVBQVUsRUFDVixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLGVBQWUsR0FNaEI7SUFDQyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFJL0MsT0FBTztRQUNMLG1CQUFtQixDQUFnQztZQUNqRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFNO1lBQ3JDLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsZUFBZTtTQUNoQixDQUFDO1FBQ0Ysa0JBQWtCLENBQUM7WUFDakIsR0FBRyxFQUFFLE9BQU8sZUFBZSxFQUFFO1lBQzdCLE1BQU0sRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFO1lBQ3hFLFNBQVMsRUFBRSxHQUFHLEVBQUU7Z0JBQ2QsU0FBUyxZQUFZLENBQUMsS0FBWTtvQkFDaEMsT0FBUSxLQUFhLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBVyxDQUFDO2dCQUNuRCxDQUFDO2dCQUVELE9BQU87b0JBQ0wsQ0FBQyxTQUFTLGVBQWUsRUFBRSxDQUFDLEVBQUUsWUFBWTtpQkFDVCxDQUFDO1lBQ3RDLENBQUM7WUFDRCxZQUFZLEVBQUUsQ0FBQyxFQUNiLG9CQUFvQixHQUNXLEVBQUUsRUFBRSxDQUFDLG9CQUE2QjtZQUNuRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO2dCQUN4QyxPQUFPLGFBQWEsQ0FDbEIsWUFBWSxFQUNaLEVBQUUsQ0FDQyxVQUFrQixDQUFDLE9BQU8sZUFBZSxTQUFTLENBQUMsRUFDcEQsQ0FBQyxLQUFVLEVBQUUsTUFBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUM1QixHQUFHLEtBQUs7b0JBQ1IsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDO2lCQUNqQyxDQUFDLENBQ0gsQ0FDRixDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUM7S0FDTSxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbkNyZWF0b3JQcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9tb2RlbHMnO1xuaW1wb3J0IHsgY2FwaXRhbGl6ZSwgY3JlYXRlVHJhaXRGYWN0b3J5IH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IGFkZEFzeW5jQWN0aW9uVHJhaXQgfSBmcm9tICcuLi9hc3luYy1hY3Rpb24vYXN5bmMtYWN0aW9uLnRyYWl0JztcbmltcG9ydCB7IExvYWRFbnRpdHlTZWxlY3RvcnMsIExvYWRFbnRpdHlTdGF0ZSB9IGZyb20gJy4vbG9hZC1lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5Q29uZmlnIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuXG50eXBlIFJlY29yZEVudGl0eTxUPiA9IFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBpbmZlciBKPiA/IEogOiBuZXZlcjtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgbmdyeCBjb2RlIG5lZWRlZCB0byBsb2FkIGFuZCBlbnRpdHkgYW5kIHN0b3JlIGl0IGluIGEgc3RhdGUuIFRoaXMgYWN0aW9uIGNhbiBiZSBhZGRlZFxuICogbW9yZSB0aGFuIG9uY2UgYXMgbG9uZyBhcyB0aGUgZW50aXR5TmFtZSBwYXJhIGlzIGRpZmZlcmVudFxuICogQHBhcmFtIGVudGl0eU5hbWUgLSBFbnRpdHkgbmFtZSwgc2hvdWxkIGJlIGluIGNhbWVsIGNhc2VcbiAqIEBwYXJhbSBvcHRpb25zLmFjdGlvblByb3BzIC0gT3B0aW9uYWwgcGFyYW0gZm9yIHRoZSBtYWluIHJlcXVlc3QgYWN0aW9uLFxuICogdXNlIHRoZSBwcm9wcygpIGZ1bmN0aW9uIGZvciBpdHMgdmFsdWUsIGlmIG5vdCBwcmVzZW50IGFjdGlvbiB3aWxsIGhhdmUgbm8gcGFyYW1zLFxuICogQHBhcmFtIG9wdGlvbnMuYWN0aW9uU3VjY2Vzc1Byb3BzIC0gT3B0aW9uYWwgcGFyYW0gZm9yIHRoZSByZXF1ZXN0IHN1Y2Nlc3NcbiAqIGFjdGlvbiwgdXNlIHRoZSBwcm9wcygpIGZ1bmN0aW9uIGZvciBpdHMgdmFsdWUsIGlmIG5vdCBwcmVzZW50IGFjdGlvbiBzdWNjZXNzIHdpbGwgaGF2ZSBubyBwYXJhbXNcbiAqIEBwYXJhbSBvcHRpb25zLmFjdGlvbkZhaWxQcm9wcyAtIE9wdGlvbmFsIHBhcmFtIGZvciB0aGUgcmVxdWVzdCBmYWlsIGFjdGlvbixcbiAqIHVzZSB0aGUgcHJvcHMoKSBmdW5jdGlvbiBmb3IgaXRzIHZhbHVlLCBpZiBub3QgcHJlc2VudCBhY3Rpb24gZmFpbCB3aWxsIGhhdmUgbm8gcGFyYW1zXG4gKiBAcmV0dXJucyB0aGUgdHJhaXQgZmFjdG9yeVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogZXhwb3J0IGludGVyZmFjZSBUZXN0U3RhdGVcbiAqIGV4dGVuZHMgTG9hZEVudGl0eVN0YXRlPENsaWVudCwnY2xpZW50Jz57fVxuICpcbiAqIGNvbnN0IHRyYWl0cyA9IGNyZWF0ZUVudGl0eUZlYXR1cmVGYWN0b3J5KFxuICogLi4uYWRkTG9hZEVudGl0eVRyYWl0cyh7XG4gKiAgICAgICAgZW50aXR5TmFtZTogJ2NsaWVudCcsXG4gKiAgICAgICAgcmVxdWVzdFByb3BzOiBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSxcbiAqICAgICAgICByZXNwb25zZVByb3BzOiBwcm9wczx7IGNsaWVudDogQ2xpZW50IH0+KCksXG4gKiAgICAgIH0pLFxuICogKSh7XG4gKiAgICAgIGFjdGlvbnNHcm91cEtleTogJ0NsaWVudCcsXG4gKiAgICAgIGZlYXR1cmVTZWxlY3RvcjogY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFxuICogICAgICAgIExvYWRFbnRpdHlTdGF0ZTxDbGllbnQsICdjbGllbnQnPlxuICogICAgICAgID4oJ2NsaWVudCcpLFxuICogICAgfSk7XG4gKlxuICogLy8gICBhZGRzIGZvbGxvd2luZyBwcm9wcyB0byB0aGUgc3RhdGU6XG4gKiAvLyAgICBsb2FkQ2xpZW50U3RhdHVzPzogJ2xvYWRpbmcnIHwgJ3N1Y2Nlc3MnIHwgJ2ZhaWwnO1xuICogLy8gICAgY2xpZW50PzogQ2xpZW50O1xuICpcbiAqIC8vIGdlbmVyYXRlZCBhY3Rpb25zXG4gKiB0cmFpdHMuYWN0aW9ucy5sb2FkQ2xpZW50KHtpZDoxMjN9KTtcbiAqIHRyYWl0cy5hY3Rpb25zLmxvYWRDbGllbnRTdWNjZXNzKHtjbGllbnQ6IHtpZDogJzEyMycsIG5hbWU6ICdnYWJzJ319KTtcbiAqIHRyYWl0cy5hY3Rpb25zLmxvYWRDbGllbnRGYWlsKCk7XG4gKiAvLyBnZW5lcmF0ZWQgc2VsZWN0b3JzXG4gKiB0cmFpdHMuc2VsZWN0b3JzLnNlbGVjdENsaWVudCgpXG4gKiB0cmFpdHMuc2VsZWN0b3JzLmlzTG9hZGluZ0xvYWRDbGllbnQoKVxuICogdHJhaXRzLnNlbGVjdG9ycy5pc1N1Y2Nlc3NMb2FkQ2xpZW50KClcbiAqIHRyYWl0cy5zZWxlY3RvcnMuaXNGYWlsTG9hZENsaWVudCgpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRMb2FkRW50aXR5VHJhaXRzPFxuICBKIGV4dGVuZHMgc3RyaW5nLFxuICBSZXF1ZXN0IGV4dGVuZHMgb2JqZWN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICBSZXNwb25zZSBleHRlbmRzIFJlY29yZDxKLCBhbnk+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICBGYWlsdXJlIGV4dGVuZHMgb2JqZWN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICBFbnRpdHkgPSBSZWNvcmRFbnRpdHk8UmVzcG9uc2U+LFxuICBTdGF0ZSBleHRlbmRzIExvYWRFbnRpdHlTdGF0ZTxhbnksc3RyaW5nPiA9IExvYWRFbnRpdHlTdGF0ZTxFbnRpdHksIEo+XG4+KHtcbiAgZW50aXR5TmFtZSxcbiAgYWN0aW9uUHJvcHMsXG4gIGFjdGlvblN1Y2Nlc3NQcm9wcyxcbiAgYWN0aW9uRmFpbFByb3BzLFxufToge1xuICBlbnRpdHlOYW1lOiBKO1xuICBhY3Rpb25Qcm9wcz86IEFjdGlvbkNyZWF0b3JQcm9wczxSZXF1ZXN0PjtcbiAgYWN0aW9uU3VjY2Vzc1Byb3BzPzogQWN0aW9uQ3JlYXRvclByb3BzPFJlc3BvbnNlPjtcbiAgYWN0aW9uRmFpbFByb3BzPzogQWN0aW9uQ3JlYXRvclByb3BzPEZhaWx1cmU+O1xufSkge1xuICBjb25zdCBjYXBpdGFsaXplZE5hbWUgPSBjYXBpdGFsaXplKGVudGl0eU5hbWUpO1xuXG4gIHR5cGUgSyA9IGBsb2FkJHtDYXBpdGFsaXplPEogJiBzdHJpbmc+fWA7XG5cbiAgcmV0dXJuIFtcbiAgICBhZGRBc3luY0FjdGlvblRyYWl0PEssIFJlcXVlc3QsIFJlc3BvbnNlLCBGYWlsdXJlPih7XG4gICAgICBuYW1lOiAoJ2xvYWQnICsgY2FwaXRhbGl6ZWROYW1lKSBhcyBLLFxuICAgICAgYWN0aW9uUHJvcHMsXG4gICAgICBhY3Rpb25TdWNjZXNzUHJvcHMsXG4gICAgICBhY3Rpb25GYWlsUHJvcHMsXG4gICAgfSksXG4gICAgY3JlYXRlVHJhaXRGYWN0b3J5KHtcbiAgICAgIGtleTogYGxvYWQke2NhcGl0YWxpemVkTmFtZX1gLFxuICAgICAgY29uZmlnOiB7IGVudGl0eU5hbWUsIGFjdGlvblByb3BzLCBhY3Rpb25TdWNjZXNzUHJvcHMsIGFjdGlvbkZhaWxQcm9wcyB9LFxuICAgICAgc2VsZWN0b3JzOiAoKSA9PiB7XG4gICAgICAgIGZ1bmN0aW9uIHNlbGVjdEVudGl0eShzdGF0ZTogU3RhdGUpIHtcbiAgICAgICAgICByZXR1cm4gKHN0YXRlIGFzIGFueSlbYCR7ZW50aXR5TmFtZX1gXSBhcyBFbnRpdHk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFtgc2VsZWN0JHtjYXBpdGFsaXplZE5hbWV9YF06IHNlbGVjdEVudGl0eSxcbiAgICAgICAgfSBhcyBMb2FkRW50aXR5U2VsZWN0b3JzPEVudGl0eSwgSj47XG4gICAgICB9LFxuICAgICAgaW5pdGlhbFN0YXRlOiAoe1xuICAgICAgICBwcmV2aW91c0luaXRpYWxTdGF0ZSxcbiAgICAgIH06IFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZykgPT4gcHJldmlvdXNJbml0aWFsU3RhdGUgYXMgU3RhdGUsXG4gICAgICByZWR1Y2VyOiAoeyBpbml0aWFsU3RhdGUsIGFsbEFjdGlvbnMgfSkgPT4ge1xuICAgICAgICByZXR1cm4gY3JlYXRlUmVkdWNlcihcbiAgICAgICAgICBpbml0aWFsU3RhdGUsXG4gICAgICAgICAgb24oXG4gICAgICAgICAgICAoYWxsQWN0aW9ucyBhcyBhbnkpW2Bsb2FkJHtjYXBpdGFsaXplZE5hbWV9U3VjY2Vzc2BdLFxuICAgICAgICAgICAgKHN0YXRlOiBhbnksIGFjdGlvbjogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgW2VudGl0eU5hbWVdOiBhY3Rpb25bZW50aXR5TmFtZV0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfSksXG4gIF0gYXMgY29uc3Q7XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC10cmFpdHMtY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9uZ3J4LXRyYWl0cy1jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './reset.trait';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3Jlc2V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXNldC50cmFpdCc7XG4iXX0=
@@ -1,37 +0,0 @@
1
- import { createTraitFactory, insertIf } from '@ngrx-traits/core';
2
- import { createAction, createReducer, on } from '@ngrx/store';
3
- /**
4
- * Generates the ngrx code needed to reset the current state to the initial state.
5
- * @param traitConfig - Config object fot the trait factory
6
- * @param traitConfig.resetOn - set an extra action which will also trigger a reset state,
7
- * useful if you want to create an action that reset several features states
8
- *
9
- * @example
10
- * // The following trait config
11
- *
12
- * const traits = createEntityFeatureFactory(
13
- * {entityName: 'Todo'},
14
- * addLoadEntitiesTrait<Todo>(),
15
- * addResetEntitiesStateTrait()
16
- * )({
17
- * actionsGroupKey: '[Todos]',
18
- * featureSelector: createFeatureSelector<TestState>>(
19
- * 'todos',
20
- * ),
21
- * });
22
- * // generated actions
23
- * traits.actions.resetTodosState()
24
- */
25
- export function addResetEntitiesStateTrait(traitConfig = {}) {
26
- return createTraitFactory({
27
- key: 'reset',
28
- config: traitConfig,
29
- actions: ({ actionsGroupKey, entitiesName, }) => ({
30
- resetEntitiesState: createAction(`${actionsGroupKey} Reset ${entitiesName} State`),
31
- }),
32
- reducer: ({ allActions, initialState }) => createReducer(initialState, on(allActions.resetEntitiesState, () => initialState), ...insertIf(traitConfig.resetOn, () =>
33
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
34
- on(...traitConfig.resetOn, () => initialState))),
35
- });
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQudHJhaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3Jlc2V0L3Jlc2V0LnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUlqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFNckU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsY0FFSSxFQUFFO0lBRU4sT0FBTyxrQkFBa0IsQ0FBQztRQUN4QixHQUFHLEVBQUUsT0FBTztRQUNaLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE9BQU8sRUFBRSxDQUFDLEVBQ1IsZUFBZSxFQUNmLFlBQVksR0FDYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLGtCQUFrQixFQUFFLFlBQVksQ0FDOUIsR0FBRyxlQUFlLFVBQVUsWUFBWSxRQUFRLENBQ2pEO1NBQ0YsQ0FBQztRQUNGLE9BQU8sRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FDeEMsYUFBYSxDQUNYLFlBQVksRUFDWixFQUFFLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUNyRCxHQUFHLFFBQVEsQ0FBc0IsV0FBVyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDekQsb0VBQW9FO1FBQ3BFLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxPQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQ2hELENBQ0Y7S0FDSixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlVHJhaXRGYWN0b3J5LCBpbnNlcnRJZiB9IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcbmltcG9ydCB7IFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBUcmFpdEVmZmVjdCB9IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBjcmVhdGVBY3Rpb24sIGNyZWF0ZVJlZHVjZXIsIG9uLCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFjdGlvbiwgQWN0aW9uQ3JlYXRvciB9IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9tb2RlbHMnO1xuaW1wb3J0IHsgbWFwVG8gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEdlbmVyaWNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcyc7XG5cbi8qKlxuICogR2VuZXJhdGVzIHRoZSBuZ3J4IGNvZGUgbmVlZGVkIHRvIHJlc2V0IHRoZSBjdXJyZW50IHN0YXRlIHRvIHRoZSBpbml0aWFsIHN0YXRlLlxuICogQHBhcmFtIHRyYWl0Q29uZmlnIC0gQ29uZmlnIG9iamVjdCBmb3QgdGhlIHRyYWl0IGZhY3RvcnlcbiAqIEBwYXJhbSB0cmFpdENvbmZpZy5yZXNldE9uIC0gc2V0IGFuIGV4dHJhIGFjdGlvbiB3aGljaCB3aWxsIGFsc28gdHJpZ2dlciBhIHJlc2V0IHN0YXRlLFxuICogdXNlZnVsIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhbiBhY3Rpb24gdGhhdCByZXNldCBzZXZlcmFsIGZlYXR1cmVzIHN0YXRlc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgZm9sbG93aW5nIHRyYWl0IGNvbmZpZ1xuICpcbiAqICAgIGNvbnN0IHRyYWl0cyA9IGNyZWF0ZUVudGl0eUZlYXR1cmVGYWN0b3J5KFxuICogICAgICB7ZW50aXR5TmFtZTogJ1RvZG8nfSxcbiAqICAgICAgYWRkTG9hZEVudGl0aWVzVHJhaXQ8VG9kbz4oKSxcbiAqICAgICAgYWRkUmVzZXRFbnRpdGllc1N0YXRlVHJhaXQoKVxuICogICAgKSh7XG4gKiAgICAgIGFjdGlvbnNHcm91cEtleTogJ1tUb2Rvc10nLFxuICogICAgICBmZWF0dXJlU2VsZWN0b3I6IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxUZXN0U3RhdGU+PihcbiAqICAgICAgICAndG9kb3MnLFxuICogICAgICApLFxuICogICAgfSk7XG4gKiAvLyBnZW5lcmF0ZWQgYWN0aW9uc1xuICogdHJhaXRzLmFjdGlvbnMucmVzZXRUb2Rvc1N0YXRlKClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFJlc2V0RW50aXRpZXNTdGF0ZVRyYWl0KFxuICB0cmFpdENvbmZpZzoge1xuICAgIHJlc2V0T24/OiByZWFkb25seSBBY3Rpb25DcmVhdG9yW107XG4gIH0gPSB7fSxcbikge1xuICByZXR1cm4gY3JlYXRlVHJhaXRGYWN0b3J5KHtcbiAgICBrZXk6ICdyZXNldCcsXG4gICAgY29uZmlnOiB0cmFpdENvbmZpZyxcbiAgICBhY3Rpb25zOiAoe1xuICAgICAgYWN0aW9uc0dyb3VwS2V5LFxuICAgICAgZW50aXRpZXNOYW1lLFxuICAgIH06IFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcpID0+ICh7XG4gICAgICByZXNldEVudGl0aWVzU3RhdGU6IGNyZWF0ZUFjdGlvbihcbiAgICAgICAgYCR7YWN0aW9uc0dyb3VwS2V5fSBSZXNldCAke2VudGl0aWVzTmFtZX0gU3RhdGVgLFxuICAgICAgKSxcbiAgICB9KSxcbiAgICByZWR1Y2VyOiAoeyBhbGxBY3Rpb25zLCBpbml0aWFsU3RhdGUgfSkgPT5cbiAgICAgIGNyZWF0ZVJlZHVjZXIoXG4gICAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgICAgb24oYWxsQWN0aW9ucy5yZXNldEVudGl0aWVzU3RhdGUsICgpID0+IGluaXRpYWxTdGF0ZSksXG4gICAgICAgIC4uLmluc2VydElmPHR5cGVvZiBpbml0aWFsU3RhdGU+KHRyYWl0Q29uZmlnLnJlc2V0T24sICgpID0+XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgICBvbiguLi50cmFpdENvbmZpZy5yZXNldE9uISwgKCkgPT4gaW5pdGlhbFN0YXRlKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gIH0pO1xufVxuIl19
@@ -1,4 +0,0 @@
1
- export * from './select-entities.model';
2
- export * from './select-entities.trait';
3
- export * from './select-entities.utils';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NlbGVjdC1lbnRpdGllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLnRyYWl0JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLnV0aWxzJztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXRpZXMvc2VsZWN0LWVudGl0aWVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQG5ncngvZW50aXR5JztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFjdGlvbkNyZWF0b3IgfSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvbW9kZWxzJztcblxuaW1wb3J0IHsgTG9hZEVudGl0aWVzU3RhdGUgfSBmcm9tICcuLi9sb2FkLWVudGl0aWVzL2xvYWQtZW50aXRpZXMubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEVudGl0aWVzU3RhdGUge1xuICBzZWxlY3RlZElkczogRGljdGlvbmFyeTxib29sZWFuPjtcbn1cblxuZXhwb3J0IHR5cGUgU2VsZWN0RW50aXRpZXNBY3Rpb25zID0ge1xuICBzZWxlY3RFbnRpdGllczogQWN0aW9uQ3JlYXRvcjxcbiAgICBzdHJpbmcsXG4gICAgKHByb3BzOiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfSkgPT4geyBpZDogbnVtYmVyIHwgc3RyaW5nIH0gJiBBY3Rpb248c3RyaW5nPlxuICA+O1xuICBkZXNlbGVjdEVudGl0aWVzOiBBY3Rpb25DcmVhdG9yPFxuICAgIHN0cmluZyxcbiAgICAocHJvcHM6IHsgaWQ6IG51bWJlciB8IHN0cmluZyB9KSA9PiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfSAmIEFjdGlvbjxzdHJpbmc+XG4gID47XG4gIHRvZ2dsZVNlbGVjdEVudGl0aWVzOiBBY3Rpb25DcmVhdG9yPFxuICAgIHN0cmluZyxcbiAgICAocHJvcHM6IHsgaWQ6IG51bWJlciB8IHN0cmluZyB9KSA9PiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfSAmIEFjdGlvbjxzdHJpbmc+XG4gID47XG4gIHRvZ2dsZVNlbGVjdEFsbEVudGl0aWVzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKCkgPT4gQWN0aW9uPHN0cmluZz4+O1xuICBjbGVhckVudGl0aWVzU2VsZWN0aW9uOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKCkgPT4gQWN0aW9uPHN0cmluZz4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0RW50aXRpZXNTZWxlY3RvcnM8RW50aXR5PiA9IHtcbiAgaXNBbGxFbnRpdGllc1NlbGVjdGVkOiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlLFxuICApID0+IFNlbGVjdGVkO1xuICBzZWxlY3RFbnRpdGllc0lkc1NlbGVjdGVkTWFwOiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlLFxuICApID0+IERpY3Rpb25hcnk8Ym9vbGVhbj47XG4gIHNlbGVjdEVudGl0aWVzSWRzU2VsZWN0ZWRMaXN0OiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlLFxuICApID0+IG51bWJlcltdIHwgc3RyaW5nW107XG4gIHNlbGVjdEVudGl0aWVzU2VsZWN0ZWRNYXA6IChcbiAgICBzdGF0ZTogTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGUsXG4gICkgPT4gRGljdGlvbmFyeTxFbnRpdHk+O1xuICBzZWxlY3RFbnRpdGllc1NlbGVjdGVkTGlzdDogKFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXRpZXNTdGF0ZSxcbiAgKSA9PiBFbnRpdHlbXTtcbiAgc2VsZWN0VG90YWxTZWxlY3RlZEVudGl0aWVzOiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlLFxuICApID0+IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIFNlbGVjdEVudGl0aWVzTXV0YXRvcnM8RW50aXR5PiA9IHtcbiAgc2VsZWN0RW50aXRpZXM6IDxTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGU+KFxuICAgIGlkOiBudW1iZXIgfCBzdHJpbmcsXG4gICAgc3RhdGU6IFMsXG4gICkgPT4gUztcblxuICBkZXNlbGVjdEVudGl0aWVzPFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXRpZXNTdGF0ZT4oXG4gICAgaWQ6IG51bWJlciB8IHN0cmluZyxcbiAgICBzdGF0ZTogUyxcbiAgKTogUztcblxuICB0b2dnbGVTZWxlY3RFbnRpdGllczxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGUsXG4gID4oXG4gICAgaWQ6IG51bWJlciB8IHN0cmluZyxcbiAgICBzdGF0ZTogUyxcbiAgKTogUztcblxuICB0b2dnbGVTZWxlY3RBbGxFbnRpdGllczxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGUsXG4gID4oXG4gICAgc3RhdGU6IFMsXG4gICk6IFM7XG5cbiAgY2xlYXJFbnRpdGllc1NlbGVjdGlvbjxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGUsXG4gID4oXG4gICAgc3RhdGU6IFMsXG4gICk6IFM7XG59O1xuXG5leHBvcnQgdHlwZSBTZWxlY3RlZCA9ICdhbGwnIHwgJ3NvbWUnIHwgJ25vbmUnO1xuIl19
@@ -1,11 +0,0 @@
1
- import { createAction, props } from '@ngrx/store';
2
- export function createSelectEntitiesTraitActions(actionsGroupKey, entitiesName) {
3
- return {
4
- selectEntities: createAction(`${actionsGroupKey} Select ${entitiesName}`, props()),
5
- deselectEntities: createAction(`${actionsGroupKey} Deselect ${entitiesName}`, props()),
6
- toggleSelectEntities: createAction(`${actionsGroupKey} Toggle Select ${entitiesName}`, props()),
7
- toggleSelectAllEntities: createAction(`${actionsGroupKey} Toggle Select All ${entitiesName}`),
8
- clearEntitiesSelection: createAction(`${actionsGroupKey} Clear ${entitiesName} Selection`),
9
- };
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0LmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NlbGVjdC1lbnRpdGllcy9zZWxlY3QtZW50aXRpZXMudHJhaXQuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdsRCxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLGVBQXVCLEVBQ3ZCLFlBQW9CO0lBRXBCLE9BQU87UUFDTCxjQUFjLEVBQUUsWUFBWSxDQUMxQixHQUFHLGVBQWUsV0FBVyxZQUFZLEVBQUUsRUFDM0MsS0FBSyxFQUEyQixDQUNqQztRQUNELGdCQUFnQixFQUFFLFlBQVksQ0FDNUIsR0FBRyxlQUFlLGFBQWEsWUFBWSxFQUFFLEVBQzdDLEtBQUssRUFBMkIsQ0FDakM7UUFDRCxvQkFBb0IsRUFBRSxZQUFZLENBQ2hDLEdBQUcsZUFBZSxrQkFBa0IsWUFBWSxFQUFFLEVBQ2xELEtBQUssRUFBMkIsQ0FDakM7UUFDRCx1QkFBdUIsRUFBRSxZQUFZLENBQ25DLEdBQUcsZUFBZSxzQkFBc0IsWUFBWSxFQUFFLENBQ3ZEO1FBQ0Qsc0JBQXNCLEVBQUUsWUFBWSxDQUNsQyxHQUFHLGVBQWUsVUFBVSxZQUFZLFlBQVksQ0FDckQ7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBTZWxlY3RFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuL3NlbGVjdC1lbnRpdGllcy5tb2RlbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdGllc1RyYWl0QWN0aW9ucyhcbiAgYWN0aW9uc0dyb3VwS2V5OiBzdHJpbmcsXG4gIGVudGl0aWVzTmFtZTogc3RyaW5nXG4pOiBTZWxlY3RFbnRpdGllc0FjdGlvbnMge1xuICByZXR1cm4ge1xuICAgIHNlbGVjdEVudGl0aWVzOiBjcmVhdGVBY3Rpb24oXG4gICAgICBgJHthY3Rpb25zR3JvdXBLZXl9IFNlbGVjdCAke2VudGl0aWVzTmFtZX1gLFxuICAgICAgcHJvcHM8eyBpZDogbnVtYmVyIHwgc3RyaW5nIH0+KClcbiAgICApLFxuICAgIGRlc2VsZWN0RW50aXRpZXM6IGNyZWF0ZUFjdGlvbihcbiAgICAgIGAke2FjdGlvbnNHcm91cEtleX0gRGVzZWxlY3QgJHtlbnRpdGllc05hbWV9YCxcbiAgICAgIHByb3BzPHsgaWQ6IG51bWJlciB8IHN0cmluZyB9PigpXG4gICAgKSxcbiAgICB0b2dnbGVTZWxlY3RFbnRpdGllczogY3JlYXRlQWN0aW9uKFxuICAgICAgYCR7YWN0aW9uc0dyb3VwS2V5fSBUb2dnbGUgU2VsZWN0ICR7ZW50aXRpZXNOYW1lfWAsXG4gICAgICBwcm9wczx7IGlkOiBudW1iZXIgfCBzdHJpbmcgfT4oKVxuICAgICksXG4gICAgdG9nZ2xlU2VsZWN0QWxsRW50aXRpZXM6IGNyZWF0ZUFjdGlvbihcbiAgICAgIGAke2FjdGlvbnNHcm91cEtleX0gVG9nZ2xlIFNlbGVjdCBBbGwgJHtlbnRpdGllc05hbWV9YFxuICAgICksXG4gICAgY2xlYXJFbnRpdGllc1NlbGVjdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICAgYCR7YWN0aW9uc0dyb3VwS2V5fSBDbGVhciAke2VudGl0aWVzTmFtZX0gU2VsZWN0aW9uYFxuICAgICksXG4gIH07XG59XG4iXX0=
@@ -1,55 +0,0 @@
1
- import { createSelectEntitiesTraitActions } from './select-entities.trait.actions';
2
- import { createSelectEntitiesTraitSelectors } from './select-entities.trait.selectors';
3
- import { loadEntitiesTraitKey, } from '../load-entities/load-entities.model';
4
- import { createTraitFactory } from '@ngrx-traits/core';
5
- import { createSelectEntitiesInitialState, createSelectEntitiesTraitReducer, } from './select-entities.trait.reducer';
6
- import { createSelectEntitiesTraitMutators } from './select-entities.trait.mutators';
7
- /**
8
- * Generates ngrx code to add multi selection to a list
9
- *
10
- * @example
11
- * // The following trait config
12
- *
13
- * export interface TestState
14
- * extends EntityAndStatusState<Todo>,MultipleSelectionState{}
15
- *
16
- * const traits = createEntityFeatureFactory(
17
- * {entityName: 'Todo'},
18
- * addLoadEntitiesTrait<Todo>(),
19
- * addSelectEntitiesTrait<Todo>()
20
- * )({
21
- * actionsGroupKey: '[Todos]',
22
- * featureSelector: createFeatureSelector<TestState>>(
23
- * 'todos',
24
- * ),
25
- * });
26
- *
27
- * // adds following props to the state:
28
- * // selectedIds: Dictionary<boolean>;
29
- *
30
- * // generated actions
31
- * traits.actions.selectTodos({id})
32
- * traits.actions.deselectTodos({id})
33
- * traits.actions.toggleSectTodos({id})
34
- * traits.actions.toggleSelectAllTodos()
35
- * traits.actions.clearTodosSelection()
36
- * //generated selectors
37
- * traits.selectors.isAllTodosSelected()
38
- * traits.selectors.selectTodosIdsSelectedMap()
39
- * traits.selectors.selectTodosIdsSelectedList()
40
- * traits.selectors.selectTodosSelectedMap()
41
- * traits.selectors.selectTodosSelectedList()
42
- * traits.selectors.selectTotalSelectedTodos()
43
- */
44
- export function addSelectEntitiesTrait() {
45
- return createTraitFactory({
46
- key: 'SelectEntities',
47
- depends: [loadEntitiesTraitKey],
48
- actions: ({ actionsGroupKey, entitiesName }) => createSelectEntitiesTraitActions(actionsGroupKey, entitiesName),
49
- selectors: ({ previousSelectors }) => createSelectEntitiesTraitSelectors(previousSelectors),
50
- initialState: ({ previousInitialState }) => createSelectEntitiesInitialState(previousInitialState),
51
- mutators: ({ allSelectors }) => createSelectEntitiesTraitMutators(allSelectors),
52
- reducer: ({ initialState, allActions, allMutators, allConfigs }) => createSelectEntitiesTraitReducer(initialState, allActions, allMutators, allConfigs),
53
- });
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXRpZXMvc2VsZWN0LWVudGl0aWVzLnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBU3ZGLE9BQU8sRUFJTCxvQkFBb0IsR0FDckIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBU3JGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ0c7QUFDSCxNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU8sa0JBQWtCLENBQUM7UUFDeEIsR0FBRyxFQUFFLGdCQUFnQjtRQUNyQixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztRQUMvQixPQUFPLEVBQUUsQ0FBQyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQTZCLEVBQUUsRUFBRSxDQUN4RSxnQ0FBZ0MsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDO1FBQ2pFLFNBQVMsRUFBRSxDQUFDLEVBQUUsaUJBQWlCLEVBQStCLEVBQUUsRUFBRSxDQUNoRSxrQ0FBa0MsQ0FDaEMsaUJBQWtELENBQ25EO1FBQ0gsWUFBWSxFQUFFLENBQUMsRUFBRSxvQkFBb0IsRUFBa0MsRUFBRSxFQUFFLENBQ3pFLGdDQUFnQyxDQUFTLG9CQUFvQixDQUFDO1FBQ2hFLFFBQVEsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFtQyxFQUFFLEVBQUUsQ0FDOUQsaUNBQWlDLENBQy9CLFlBQStDLENBQ2hEO1FBQ0gsT0FBTyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQ2pFLGdDQUFnQyxDQUM5QixZQUFZLEVBQ1osVUFLMkIsRUFDM0IsV0FBVyxFQUNYLFVBRWlDLENBQ2xDO0tBQ0osQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVNlbGVjdEVudGl0aWVzVHJhaXRBY3Rpb25zIH0gZnJvbSAnLi9zZWxlY3QtZW50aXRpZXMudHJhaXQuYWN0aW9ucyc7XG5pbXBvcnQgeyBTb3J0RW50aXRpZXNBY3Rpb25zLCBTb3J0RW50aXRpZXNLZXllZENvbmZpZyB9IGZyb20gJy4uL3NvcnQtZW50aXRpZXMnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdFNlbGVjdG9ycyB9IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLnRyYWl0LnNlbGVjdG9ycyc7XG5pbXBvcnQge1xuICBTZWxlY3RFbnRpdGllc1NlbGVjdG9ycyxcbiAgU2VsZWN0RW50aXRpZXNBY3Rpb25zLFxufSBmcm9tICcuL3NlbGVjdC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQge1xuICBFbnRpdGllc1BhZ2luYXRpb25BY3Rpb25zLFxuICBFbnRpdGllc1BhZ2luYXRpb25LZXllZENvbmZpZyxcbn0gZnJvbSAnLi4vZW50aXRpZXMtcGFnaW5hdGlvbi9lbnRpdGllcy1wYWdpbmF0aW9uLm1vZGVsJztcbmltcG9ydCB7XG4gIExvYWRFbnRpdGllc0FjdGlvbnMsXG4gIExvYWRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBMb2FkRW50aXRpZXNTZWxlY3RvcnMsXG4gIGxvYWRFbnRpdGllc1RyYWl0S2V5LFxufSBmcm9tICcuLi9sb2FkLWVudGl0aWVzL2xvYWQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHsgY3JlYXRlVHJhaXRGYWN0b3J5IH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgQ3J1ZEVudGl0aWVzQWN0aW9ucyB9IGZyb20gJy4uL2NydWQtZW50aXRpZXMvY3J1ZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQge1xuICBjcmVhdGVTZWxlY3RFbnRpdGllc0luaXRpYWxTdGF0ZSxcbiAgY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdFJlZHVjZXIsXG59IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLnRyYWl0LnJlZHVjZXInO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdE11dGF0b3JzIH0gZnJvbSAnLi9zZWxlY3QtZW50aXRpZXMudHJhaXQubXV0YXRvcnMnO1xuaW1wb3J0IHsgRmlsdGVyRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi4vZmlsdGVyLWVudGl0aWVzJztcbmltcG9ydCB7XG4gIFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcsXG4gIFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZyxcbiAgVHJhaXRTZWxlY3RvcnNGYWN0b3J5Q29uZmlnLFxuICBUcmFpdFN0YXRlTXV0YXRvcnNGYWN0b3J5Q29uZmlnLFxufSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5cbi8qKlxuICogR2VuZXJhdGVzIG5ncnggY29kZSB0byBhZGQgbXVsdGkgc2VsZWN0aW9uIHRvIGEgbGlzdFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgZm9sbG93aW5nIHRyYWl0IGNvbmZpZ1xuICpcbiAqIGV4cG9ydCBpbnRlcmZhY2UgVGVzdFN0YXRlXG4gKiBleHRlbmRzIEVudGl0eUFuZFN0YXR1c1N0YXRlPFRvZG8+LE11bHRpcGxlU2VsZWN0aW9uU3RhdGV7fVxuICpcbiAqICAgIGNvbnN0IHRyYWl0cyA9IGNyZWF0ZUVudGl0eUZlYXR1cmVGYWN0b3J5KFxuICogICAgICB7ZW50aXR5TmFtZTogJ1RvZG8nfSxcbiAqICAgICAgYWRkTG9hZEVudGl0aWVzVHJhaXQ8VG9kbz4oKSxcbiAqICAgICAgYWRkU2VsZWN0RW50aXRpZXNUcmFpdDxUb2RvPigpXG4gKiAgICApKHtcbiAqICAgICAgYWN0aW9uc0dyb3VwS2V5OiAnW1RvZG9zXScsXG4gKiAgICAgIGZlYXR1cmVTZWxlY3RvcjogY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFRlc3RTdGF0ZT4+KFxuICogICAgICAgICd0b2RvcycsXG4gKiAgICAgICksXG4gKiAgICB9KTtcbiAqXG4gKiAvLyAgIGFkZHMgZm9sbG93aW5nIHByb3BzIHRvIHRoZSBzdGF0ZTpcbiAqIC8vICAgIHNlbGVjdGVkSWRzOiBEaWN0aW9uYXJ5PGJvb2xlYW4+O1xuICpcbiAqIC8vIGdlbmVyYXRlZCBhY3Rpb25zXG4gKiB0cmFpdHMuYWN0aW9ucy5zZWxlY3RUb2Rvcyh7aWR9KVxuICogdHJhaXRzLmFjdGlvbnMuZGVzZWxlY3RUb2Rvcyh7aWR9KVxuICogdHJhaXRzLmFjdGlvbnMudG9nZ2xlU2VjdFRvZG9zKHtpZH0pXG4gKiB0cmFpdHMuYWN0aW9ucy50b2dnbGVTZWxlY3RBbGxUb2RvcygpXG4gKiB0cmFpdHMuYWN0aW9ucy5jbGVhclRvZG9zU2VsZWN0aW9uKClcbiAqIC8vZ2VuZXJhdGVkIHNlbGVjdG9yc1xuICogdHJhaXRzLnNlbGVjdG9ycy5pc0FsbFRvZG9zU2VsZWN0ZWQoKVxuICogdHJhaXRzLnNlbGVjdG9ycy5zZWxlY3RUb2Rvc0lkc1NlbGVjdGVkTWFwKClcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG9kb3NJZHNTZWxlY3RlZExpc3QoKVxuICogdHJhaXRzLnNlbGVjdG9ycy5zZWxlY3RUb2Rvc1NlbGVjdGVkTWFwKClcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG9kb3NTZWxlY3RlZExpc3QoKVxuICogdHJhaXRzLnNlbGVjdG9ycy5zZWxlY3RUb3RhbFNlbGVjdGVkVG9kb3MoKVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkU2VsZWN0RW50aXRpZXNUcmFpdDxFbnRpdHk+KCkge1xuICByZXR1cm4gY3JlYXRlVHJhaXRGYWN0b3J5KHtcbiAgICBrZXk6ICdTZWxlY3RFbnRpdGllcycsXG4gICAgZGVwZW5kczogW2xvYWRFbnRpdGllc1RyYWl0S2V5XSxcbiAgICBhY3Rpb25zOiAoeyBhY3Rpb25zR3JvdXBLZXksIGVudGl0aWVzTmFtZSB9OiBUcmFpdEFjdGlvbnNGYWN0b3J5Q29uZmlnKSA9PlxuICAgICAgY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdEFjdGlvbnMoYWN0aW9uc0dyb3VwS2V5LCBlbnRpdGllc05hbWUpLFxuICAgIHNlbGVjdG9yczogKHsgcHJldmlvdXNTZWxlY3RvcnMgfTogVHJhaXRTZWxlY3RvcnNGYWN0b3J5Q29uZmlnKSA9PlxuICAgICAgY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdFNlbGVjdG9yczxFbnRpdHk+KFxuICAgICAgICBwcmV2aW91c1NlbGVjdG9ycyBhcyBMb2FkRW50aXRpZXNTZWxlY3RvcnM8RW50aXR5PlxuICAgICAgKSxcbiAgICBpbml0aWFsU3RhdGU6ICh7IHByZXZpb3VzSW5pdGlhbFN0YXRlIH06IFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZykgPT5cbiAgICAgIGNyZWF0ZVNlbGVjdEVudGl0aWVzSW5pdGlhbFN0YXRlPEVudGl0eT4ocHJldmlvdXNJbml0aWFsU3RhdGUpLFxuICAgIG11dGF0b3JzOiAoeyBhbGxTZWxlY3RvcnMgfTogVHJhaXRTdGF0ZU11dGF0b3JzRmFjdG9yeUNvbmZpZykgPT5cbiAgICAgIGNyZWF0ZVNlbGVjdEVudGl0aWVzVHJhaXRNdXRhdG9yczxFbnRpdHk+KFxuICAgICAgICBhbGxTZWxlY3RvcnMgYXMgU2VsZWN0RW50aXRpZXNTZWxlY3RvcnM8RW50aXR5PlxuICAgICAgKSxcbiAgICByZWR1Y2VyOiAoeyBpbml0aWFsU3RhdGUsIGFsbEFjdGlvbnMsIGFsbE11dGF0b3JzLCBhbGxDb25maWdzIH0pID0+XG4gICAgICBjcmVhdGVTZWxlY3RFbnRpdGllc1RyYWl0UmVkdWNlcihcbiAgICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgICBhbGxBY3Rpb25zIGFzIFNlbGVjdEVudGl0aWVzQWN0aW9ucyAmXG4gICAgICAgICAgQ3J1ZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICAgICAgICBTb3J0RW50aXRpZXNBY3Rpb25zPEVudGl0eT4gJlxuICAgICAgICAgIExvYWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgICAgICAgRmlsdGVyRW50aXRpZXNBY3Rpb25zPGFueT4gJlxuICAgICAgICAgIEVudGl0aWVzUGFnaW5hdGlvbkFjdGlvbnMsXG4gICAgICAgIGFsbE11dGF0b3JzLFxuICAgICAgICBhbGxDb25maWdzIGFzIExvYWRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT4gJlxuICAgICAgICAgIEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnICZcbiAgICAgICAgICBTb3J0RW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+XG4gICAgICApLFxuICB9KTtcbn1cbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { toMap } from '@ngrx-traits/core';
2
- import { clearEntitiesSelection, deselectEntities, selectEntities, toggleSelectEntities, } from './select-entities.utils';
3
- export function createSelectEntitiesTraitMutators({ isAllEntitiesSelected, }) {
4
- function toggleSelectAllEntities(state) {
5
- const allSelected = isAllEntitiesSelected(state);
6
- if (allSelected === 'all') {
7
- return {
8
- ...state,
9
- selectedIds: {},
10
- };
11
- }
12
- else {
13
- return {
14
- ...state,
15
- selectedIds: toMap(state.ids),
16
- };
17
- }
18
- }
19
- return {
20
- selectEntities,
21
- deselectEntities,
22
- toggleSelectEntities,
23
- toggleSelectAllEntities,
24
- clearEntitiesSelection,
25
- };
26
- }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0Lm11dGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXRpZXMvc2VsZWN0LWVudGl0aWVzLnRyYWl0Lm11dGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixjQUFjLEVBQ2Qsb0JBQW9CLEdBQ3JCLE1BQU0seUJBQXlCLENBQUM7QUFHakMsTUFBTSxVQUFVLGlDQUFpQyxDQUFTLEVBQ3hELHFCQUFxQixHQUNXO0lBQ2hDLFNBQVMsdUJBQXVCLENBRTlCLEtBQVE7UUFDUixNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLFdBQVcsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMxQixPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixXQUFXLEVBQUUsRUFBRTthQUNoQixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixXQUFXLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDOUIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLHVCQUF1QjtRQUN2QixzQkFBc0I7S0FDdkIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZWxlY3RFbnRpdGllc011dGF0b3JzLFxuICBTZWxlY3RFbnRpdGllc1NlbGVjdG9ycyxcbiAgU2VsZWN0RW50aXRpZXNTdGF0ZSxcbn0gZnJvbSAnLi9zZWxlY3QtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHsgdG9NYXAgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQge1xuICBjbGVhckVudGl0aWVzU2VsZWN0aW9uLFxuICBkZXNlbGVjdEVudGl0aWVzLFxuICBzZWxlY3RFbnRpdGllcyxcbiAgdG9nZ2xlU2VsZWN0RW50aXRpZXMsXG59IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLnV0aWxzJztcbmltcG9ydCB7IExvYWRFbnRpdGllc1N0YXRlIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdGllc1RyYWl0TXV0YXRvcnM8RW50aXR5Pih7XG4gIGlzQWxsRW50aXRpZXNTZWxlY3RlZCxcbn06IFNlbGVjdEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT4pOiBTZWxlY3RFbnRpdGllc011dGF0b3JzPEVudGl0eT4ge1xuICBmdW5jdGlvbiB0b2dnbGVTZWxlY3RBbGxFbnRpdGllczxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGVcbiAgPihzdGF0ZTogUyk6IFMge1xuICAgIGNvbnN0IGFsbFNlbGVjdGVkID0gaXNBbGxFbnRpdGllc1NlbGVjdGVkKHN0YXRlKTtcbiAgICBpZiAoYWxsU2VsZWN0ZWQgPT09ICdhbGwnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRJZHM6IHt9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHNlbGVjdGVkSWRzOiB0b01hcChzdGF0ZS5pZHMpLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHNlbGVjdEVudGl0aWVzLFxuICAgIGRlc2VsZWN0RW50aXRpZXMsXG4gICAgdG9nZ2xlU2VsZWN0RW50aXRpZXMsXG4gICAgdG9nZ2xlU2VsZWN0QWxsRW50aXRpZXMsXG4gICAgY2xlYXJFbnRpdGllc1NlbGVjdGlvbixcbiAgfTtcbn1cbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { insertIf } from '@ngrx-traits/core';
2
- import { createReducer, on } from '@ngrx/store';
3
- export function createSelectEntitiesInitialState(previousInitialState) {
4
- return {
5
- ...previousInitialState,
6
- selectedIds: {},
7
- };
8
- }
9
- export function createSelectEntitiesTraitReducer(initialState, allActions, allMutators, allConfigs) {
10
- const { adapter } = allConfigs.loadEntities;
11
- const sortRemote = allConfigs.sort?.remote;
12
- const paginationCacheType = allConfigs.pagination?.cacheType;
13
- function updateSelectedIdsChanged(state, updates) {
14
- const changedIds = updates.reduce((acc, updated) => {
15
- const id = adapter.selectId(updated.changes);
16
- if (id && id !== updated.id && state.selectedIds[updated.id] != null) {
17
- acc.push(updated);
18
- return acc;
19
- }
20
- return acc;
21
- }, []);
22
- if (changedIds.length) {
23
- const selectedIds = { ...state.selectedIds };
24
- changedIds.forEach((updated) => {
25
- const id = adapter.selectId(updated.changes);
26
- const value = selectedIds[updated.id];
27
- delete selectedIds[updated.id];
28
- selectedIds[id] = value;
29
- });
30
- return { ...state, selectedIds };
31
- }
32
- return state;
33
- }
34
- return createReducer(initialState, on(allActions.selectEntities, (state, { id }) => allMutators.selectEntities(id, state)), on(allActions.deselectEntities, (state, { id }) => allMutators.deselectEntities(id, state)), on(allActions.toggleSelectEntities, (state, { id }) => allMutators.toggleSelectEntities(id, state)), on(allActions.toggleSelectAllEntities, (state) => allMutators.toggleSelectAllEntities(state)), ...insertIf(allActions.removeEntities, () => on(allActions.removeEntities, (state, { keys }) => {
35
- const selectedIds = { ...state.selectedIds };
36
- keys.forEach((v) => {
37
- delete selectedIds[v];
38
- });
39
- return { ...state, selectedIds };
40
- })), ...insertIf(allActions.updateEntities, () => on(allActions.updateEntities, (state, { updates }) => updateSelectedIdsChanged(state, updates))), on(allActions.clearEntitiesSelection, (state) => allMutators.clearEntitiesSelection(state)), ...insertIf(allActions.removeAllEntities, () => on(allActions.removeAllEntities, (state) => allMutators.clearEntitiesSelection(state))), ...insertIf(sortRemote, () => on(allActions.sortEntities, (state) => allMutators.clearEntitiesSelection(state))), ...insertIf(allActions.filterEntities, () => on(allActions.filterEntities, (state) => allMutators.clearEntitiesSelection(state))), ...insertIf(!allActions.loadEntitiesPageSuccess, () => on(allActions.loadEntitiesSuccess, (state) => allMutators.clearEntitiesSelection(state))), ...insertIf(!!allActions.loadEntitiesPageSuccess && paginationCacheType === 'partial', () => on(allActions.loadEntitiesPageSuccess, (state) => allMutators.clearEntitiesSelection(state))));
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NlbGVjdC1lbnRpdGllcy9zZWxlY3QtZW50aXRpZXMudHJhaXQucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBT2hELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsb0JBQXlCO0lBRXpCLE9BQU87UUFDTCxHQUFHLG9CQUFvQjtRQUN2QixXQUFXLEVBQUUsRUFBRTtLQUNoQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FJOUMsWUFBZSxFQUNmLFVBSzJCLEVBQzNCLFdBQTJDLEVBQzNDLFVBRWlDO0lBRWpDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxVQUFVLENBQUMsWUFBYSxDQUFDO0lBQzdDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQzNDLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUM7SUFFN0QsU0FBUyx3QkFBd0IsQ0FFL0IsS0FBUSxFQUFFLE9BQXlCO1FBQ25DLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDakQsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBaUIsQ0FBQyxDQUFDO1lBQ3ZELElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyRSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsQixPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFzQixDQUFDLENBQUM7UUFDM0IsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzdCLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQWlCLENBQUMsQ0FBQztnQkFDdkQsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdEMsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQixXQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ25DLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxPQUFPLGFBQWEsQ0FDbEIsWUFBWSxFQUNaLEVBQUUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUM5QyxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FDdEMsRUFDRCxFQUFFLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUNoRCxXQUFXLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUN4QyxFQUNELEVBQUUsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQ3BELFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQzVDLEVBQ0QsRUFBRSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQy9DLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FDM0MsRUFDRCxHQUFHLFFBQVEsQ0FBSSxVQUFVLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUM3QyxFQUFFLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7UUFDaEQsTUFBTSxXQUFXLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBa0IsRUFBRSxFQUFFO1lBQ2xDLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUNILEVBQ0QsR0FBRyxRQUFRLENBQUksVUFBVSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FDN0MsRUFBRSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQ25ELHdCQUF3QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FDekMsQ0FDRixFQUNELEVBQUUsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUM5QyxXQUFXLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQzFDLEVBQ0QsR0FBRyxRQUFRLENBQUksVUFBVSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUNoRCxFQUFFLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDekMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUMxQyxDQUNGLEVBQ0QsR0FBRyxRQUFRLENBQUksVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUM5QixFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3BDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FDMUMsQ0FDRixFQUNELEdBQUcsUUFBUSxDQUFJLFVBQVUsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQzdDLEVBQUUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDdEMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUMxQyxDQUNGLEVBQ0QsR0FBRyxRQUFRLENBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLENBQ3ZELEVBQUUsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUMzQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQzFDLENBQ0YsRUFDRCxHQUFHLFFBQVEsQ0FDVCxDQUFDLENBQUMsVUFBVSxDQUFDLHVCQUF1QixJQUFJLG1CQUFtQixLQUFLLFNBQVMsRUFDekUsR0FBRyxFQUFFLENBQ0gsRUFBRSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQy9DLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FDMUMsQ0FDSixDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTG9hZEVudGl0aWVzQWN0aW9ucyxcbiAgTG9hZEVudGl0aWVzS2V5ZWRDb25maWcsXG4gIExvYWRFbnRpdGllc1N0YXRlLFxufSBmcm9tICcuLi9sb2FkLWVudGl0aWVzL2xvYWQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHtcbiAgU29ydEVudGl0aWVzQWN0aW9ucyxcbiAgU29ydEVudGl0aWVzS2V5ZWRDb25maWcsXG59IGZyb20gJy4uL3NvcnQtZW50aXRpZXMvc29ydC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQge1xuICBTZWxlY3RFbnRpdGllc011dGF0b3JzLFxuICBTZWxlY3RFbnRpdGllc0FjdGlvbnMsXG4gIFNlbGVjdEVudGl0aWVzU3RhdGUsXG59IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IENydWRFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuLi9jcnVkLWVudGl0aWVzL2NydWQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHsgVXBkYXRlIH0gZnJvbSAnQG5ncngvZW50aXR5L3NyYy9tb2RlbHMnO1xuaW1wb3J0IHsgaW5zZXJ0SWYgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEVudGl0aWVzUGFnaW5hdGlvbkFjdGlvbnMsXG4gIEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnLFxufSBmcm9tICcuLi9lbnRpdGllcy1wYWdpbmF0aW9uL2VudGl0aWVzLXBhZ2luYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgRmlsdGVyRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi4vZmlsdGVyLWVudGl0aWVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdEVudGl0aWVzSW5pdGlhbFN0YXRlPEVudGl0eT4oXG4gIHByZXZpb3VzSW5pdGlhbFN0YXRlOiBhbnlcbik6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wcmV2aW91c0luaXRpYWxTdGF0ZSxcbiAgICBzZWxlY3RlZElkczoge30sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdGllc1RyYWl0UmVkdWNlcjxcbiAgRW50aXR5LFxuICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGVcbj4oXG4gIGluaXRpYWxTdGF0ZTogUyxcbiAgYWxsQWN0aW9uczogU2VsZWN0RW50aXRpZXNBY3Rpb25zICZcbiAgICBDcnVkRW50aXRpZXNBY3Rpb25zPEVudGl0eT4gJlxuICAgIFNvcnRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgTG9hZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICBGaWx0ZXJFbnRpdGllc0FjdGlvbnM8YW55PiAmXG4gICAgRW50aXRpZXNQYWdpbmF0aW9uQWN0aW9ucyxcbiAgYWxsTXV0YXRvcnM6IFNlbGVjdEVudGl0aWVzTXV0YXRvcnM8RW50aXR5PixcbiAgYWxsQ29uZmlnczogTG9hZEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PiAmXG4gICAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWcgJlxuICAgIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT5cbikge1xuICBjb25zdCB7IGFkYXB0ZXIgfSA9IGFsbENvbmZpZ3MubG9hZEVudGl0aWVzITtcbiAgY29uc3Qgc29ydFJlbW90ZSA9IGFsbENvbmZpZ3Muc29ydD8ucmVtb3RlO1xuICBjb25zdCBwYWdpbmF0aW9uQ2FjaGVUeXBlID0gYWxsQ29uZmlncy5wYWdpbmF0aW9uPy5jYWNoZVR5cGU7XG5cbiAgZnVuY3Rpb24gdXBkYXRlU2VsZWN0ZWRJZHNDaGFuZ2VkPFxuICAgIFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXRpZXNTdGF0ZVxuICA+KHN0YXRlOiBTLCB1cGRhdGVzOiBVcGRhdGU8RW50aXR5PltdKSB7XG4gICAgY29uc3QgY2hhbmdlZElkcyA9IHVwZGF0ZXMucmVkdWNlKChhY2MsIHVwZGF0ZWQpID0+IHtcbiAgICAgIGNvbnN0IGlkID0gYWRhcHRlci5zZWxlY3RJZCh1cGRhdGVkLmNoYW5nZXMgYXMgRW50aXR5KTtcbiAgICAgIGlmIChpZCAmJiBpZCAhPT0gdXBkYXRlZC5pZCAmJiBzdGF0ZS5zZWxlY3RlZElkc1t1cGRhdGVkLmlkXSAhPSBudWxsKSB7XG4gICAgICAgIGFjYy5wdXNoKHVwZGF0ZWQpO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSBhcyBVcGRhdGU8RW50aXR5PltdKTtcbiAgICBpZiAoY2hhbmdlZElkcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkSWRzID0geyAuLi5zdGF0ZS5zZWxlY3RlZElkcyB9O1xuICAgICAgY2hhbmdlZElkcy5mb3JFYWNoKCh1cGRhdGVkKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYWRhcHRlci5zZWxlY3RJZCh1cGRhdGVkLmNoYW5nZXMgYXMgRW50aXR5KTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBzZWxlY3RlZElkc1t1cGRhdGVkLmlkXTtcbiAgICAgICAgZGVsZXRlIHNlbGVjdGVkSWRzW3VwZGF0ZWQuaWRdO1xuICAgICAgICBzZWxlY3RlZElkc1tpZF0gPSB2YWx1ZTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIHNlbGVjdGVkSWRzIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVJlZHVjZXIoXG4gICAgaW5pdGlhbFN0YXRlLFxuICAgIG9uKGFsbEFjdGlvbnMuc2VsZWN0RW50aXRpZXMsIChzdGF0ZSwgeyBpZCB9KSA9PlxuICAgICAgYWxsTXV0YXRvcnMuc2VsZWN0RW50aXRpZXMoaWQsIHN0YXRlKVxuICAgICksXG4gICAgb24oYWxsQWN0aW9ucy5kZXNlbGVjdEVudGl0aWVzLCAoc3RhdGUsIHsgaWQgfSkgPT5cbiAgICAgIGFsbE11dGF0b3JzLmRlc2VsZWN0RW50aXRpZXMoaWQsIHN0YXRlKVxuICAgICksXG4gICAgb24oYWxsQWN0aW9ucy50b2dnbGVTZWxlY3RFbnRpdGllcywgKHN0YXRlLCB7IGlkIH0pID0+XG4gICAgICBhbGxNdXRhdG9ycy50b2dnbGVTZWxlY3RFbnRpdGllcyhpZCwgc3RhdGUpXG4gICAgKSxcbiAgICBvbihhbGxBY3Rpb25zLnRvZ2dsZVNlbGVjdEFsbEVudGl0aWVzLCAoc3RhdGUpID0+XG4gICAgICBhbGxNdXRhdG9ycy50b2dnbGVTZWxlY3RBbGxFbnRpdGllcyhzdGF0ZSlcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KGFsbEFjdGlvbnMucmVtb3ZlRW50aXRpZXMsICgpID0+XG4gICAgICBvbihhbGxBY3Rpb25zLnJlbW92ZUVudGl0aWVzLCAoc3RhdGUsIHsga2V5cyB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzID0geyAuLi5zdGF0ZS5zZWxlY3RlZElkcyB9O1xuICAgICAgICBrZXlzLmZvckVhY2goKHY6IHN0cmluZyB8IG51bWJlcikgPT4ge1xuICAgICAgICAgIGRlbGV0ZSBzZWxlY3RlZElkc1t2XTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBzZWxlY3RlZElkcyB9O1xuICAgICAgfSlcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KGFsbEFjdGlvbnMudXBkYXRlRW50aXRpZXMsICgpID0+XG4gICAgICBvbihhbGxBY3Rpb25zLnVwZGF0ZUVudGl0aWVzLCAoc3RhdGUsIHsgdXBkYXRlcyB9KSA9PlxuICAgICAgICB1cGRhdGVTZWxlY3RlZElkc0NoYW5nZWQoc3RhdGUsIHVwZGF0ZXMpXG4gICAgICApXG4gICAgKSxcbiAgICBvbihhbGxBY3Rpb25zLmNsZWFyRW50aXRpZXNTZWxlY3Rpb24sIChzdGF0ZSkgPT5cbiAgICAgIGFsbE11dGF0b3JzLmNsZWFyRW50aXRpZXNTZWxlY3Rpb24oc3RhdGUpXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLnJlbW92ZUFsbEVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5yZW1vdmVBbGxFbnRpdGllcywgKHN0YXRlKSA9PlxuICAgICAgICBhbGxNdXRhdG9ycy5jbGVhckVudGl0aWVzU2VsZWN0aW9uKHN0YXRlKVxuICAgICAgKVxuICAgICksXG4gICAgLi4uaW5zZXJ0SWY8Uz4oc29ydFJlbW90ZSwgKCkgPT5cbiAgICAgIG9uKGFsbEFjdGlvbnMuc29ydEVudGl0aWVzLCAoc3RhdGUpID0+XG4gICAgICAgIGFsbE11dGF0b3JzLmNsZWFyRW50aXRpZXNTZWxlY3Rpb24oc3RhdGUpXG4gICAgICApXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLmZpbHRlckVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5maWx0ZXJFbnRpdGllcywgKHN0YXRlKSA9PlxuICAgICAgICBhbGxNdXRhdG9ycy5jbGVhckVudGl0aWVzU2VsZWN0aW9uKHN0YXRlKVxuICAgICAgKVxuICAgICksXG4gICAgLi4uaW5zZXJ0SWY8Uz4oIWFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZVN1Y2Nlc3MsICgpID0+XG4gICAgICBvbihhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1N1Y2Nlc3MsIChzdGF0ZSkgPT5cbiAgICAgICAgYWxsTXV0YXRvcnMuY2xlYXJFbnRpdGllc1NlbGVjdGlvbihzdGF0ZSlcbiAgICAgIClcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KFxuICAgICAgISFhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1BhZ2VTdWNjZXNzICYmIHBhZ2luYXRpb25DYWNoZVR5cGUgPT09ICdwYXJ0aWFsJyxcbiAgICAgICgpID0+XG4gICAgICAgIG9uKGFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZVN1Y2Nlc3MsIChzdGF0ZSkgPT5cbiAgICAgICAgICBhbGxNdXRhdG9ycy5jbGVhckVudGl0aWVzU2VsZWN0aW9uKHN0YXRlKVxuICAgICAgICApXG4gICAgKVxuICApO1xufVxuIl19
@@ -1,28 +0,0 @@
1
- import { createSelector } from '@ngrx/store';
2
- import { selectTotalSelectedEntities } from './select-entities.utils';
3
- export function createSelectEntitiesTraitSelectors(previousSelectors) {
4
- const { selectEntitiesMap, selectEntitiesTotal } = previousSelectors;
5
- function selectEntitiesIdsSelectedMap(state) {
6
- return state.selectedIds;
7
- }
8
- const selectEntitiesIdsSelectedList = createSelector(selectEntitiesIdsSelectedMap, (ids) => Object.keys(ids));
9
- const selectEntitiesSelectedMap = createSelector(selectEntitiesIdsSelectedList, selectEntitiesMap, (selectedIds, entities) => selectedIds.reduce((acum, id) => {
10
- acum[id] = entities[id];
11
- return acum;
12
- }, {}));
13
- const selectEntitiesSelectedList = createSelector(selectEntitiesIdsSelectedList, selectEntitiesMap, (selectedIds, entities) => selectedIds.map((id) => entities[id]));
14
- const isAllEntitiesSelected = createSelector((state) => selectEntitiesTotal(state), selectTotalSelectedEntities, (total, totalSelected) => totalSelected > 0 && totalSelected === total
15
- ? 'all'
16
- : totalSelected === 0
17
- ? 'none'
18
- : 'some');
19
- return {
20
- selectEntitiesIdsSelectedMap,
21
- selectEntitiesIdsSelectedList,
22
- selectEntitiesSelectedMap,
23
- selectEntitiesSelectedList,
24
- selectTotalSelectedEntities,
25
- isAllEntitiesSelected,
26
- };
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0LnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2VsZWN0LWVudGl0aWVzL3NlbGVjdC1lbnRpdGllcy50cmFpdC5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVF0RSxNQUFNLFVBQVUsa0NBQWtDLENBQ2hELGlCQUFnRDtJQUVoRCxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztJQUVyRSxTQUFTLDRCQUE0QixDQUNuQyxLQUFzRDtRQUV0RCxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUNELE1BQU0sNkJBQTZCLEdBQUcsY0FBYyxDQUNsRCw0QkFBNEIsRUFDNUIsQ0FBQyxHQUF3QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUMvQyxDQUFDO0lBQ0YsTUFBTSx5QkFBeUIsR0FBRyxjQUFjLENBQzlDLDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FDeEIsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQTBDLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDcEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDVCxDQUFDO0lBQ0YsTUFBTSwwQkFBMEIsR0FBRyxjQUFjLENBQy9DLDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FDbEUsQ0FBQztJQUVGLE1BQU0scUJBQXFCLEdBQUcsY0FBYyxDQUMxQyxDQUFDLEtBQXNELEVBQUUsRUFBRSxDQUN6RCxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsRUFDNUIsMkJBQTJCLEVBQzNCLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQ3ZCLGFBQWEsR0FBRyxDQUFDLElBQUksYUFBYSxLQUFLLEtBQUs7UUFDMUMsQ0FBQyxDQUFDLEtBQUs7UUFDUCxDQUFDLENBQUMsYUFBYSxLQUFLLENBQUM7WUFDckIsQ0FBQyxDQUFDLE1BQU07WUFDUixDQUFDLENBQUMsTUFBTSxDQUNiLENBQUM7SUFFRixPQUFPO1FBQ0wsNEJBQTRCO1FBQzVCLDZCQUE2QjtRQUM3Qix5QkFBeUI7UUFDekIsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQixxQkFBcUI7S0FDdEIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IHNlbGVjdFRvdGFsU2VsZWN0ZWRFbnRpdGllcyB9IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLnV0aWxzJztcbmltcG9ydCB7XG4gIFNlbGVjdEVudGl0aWVzU2VsZWN0b3JzLFxuICBTZWxlY3RFbnRpdGllc1N0YXRlLFxufSBmcm9tICcuL3NlbGVjdC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBMb2FkRW50aXRpZXNTZWxlY3RvcnMsIExvYWRFbnRpdGllc1N0YXRlIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcyc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQG5ncngvZW50aXR5L3NyYy9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdFNlbGVjdG9yczxFbnRpdHk+KFxuICBwcmV2aW91c1NlbGVjdG9yczogTG9hZEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT5cbik6IFNlbGVjdEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT4ge1xuICBjb25zdCB7IHNlbGVjdEVudGl0aWVzTWFwLCBzZWxlY3RFbnRpdGllc1RvdGFsIH0gPSBwcmV2aW91c1NlbGVjdG9ycztcblxuICBmdW5jdGlvbiBzZWxlY3RFbnRpdGllc0lkc1NlbGVjdGVkTWFwKFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXRpZXNTdGF0ZVxuICApIHtcbiAgICByZXR1cm4gc3RhdGUuc2VsZWN0ZWRJZHM7XG4gIH1cbiAgY29uc3Qgc2VsZWN0RW50aXRpZXNJZHNTZWxlY3RlZExpc3QgPSBjcmVhdGVTZWxlY3RvcihcbiAgICBzZWxlY3RFbnRpdGllc0lkc1NlbGVjdGVkTWFwLFxuICAgIChpZHM6IERpY3Rpb25hcnk8Ym9vbGVhbj4pID0+IE9iamVjdC5rZXlzKGlkcylcbiAgKTtcbiAgY29uc3Qgc2VsZWN0RW50aXRpZXNTZWxlY3RlZE1hcCA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdEVudGl0aWVzSWRzU2VsZWN0ZWRMaXN0LFxuICAgIHNlbGVjdEVudGl0aWVzTWFwLFxuICAgIChzZWxlY3RlZElkcywgZW50aXRpZXMpID0+XG4gICAgICBzZWxlY3RlZElkcy5yZWR1Y2UoKGFjdW06IHsgW2lkOiBzdHJpbmddOiBFbnRpdHkgfCB1bmRlZmluZWQgfSwgaWQpID0+IHtcbiAgICAgICAgYWN1bVtpZF0gPSBlbnRpdGllc1tpZF07XG4gICAgICAgIHJldHVybiBhY3VtO1xuICAgICAgfSwge30pXG4gICk7XG4gIGNvbnN0IHNlbGVjdEVudGl0aWVzU2VsZWN0ZWRMaXN0ID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0RW50aXRpZXNJZHNTZWxlY3RlZExpc3QsXG4gICAgc2VsZWN0RW50aXRpZXNNYXAsXG4gICAgKHNlbGVjdGVkSWRzLCBlbnRpdGllcykgPT4gc2VsZWN0ZWRJZHMubWFwKChpZCkgPT4gZW50aXRpZXNbaWRdISlcbiAgKTtcblxuICBjb25zdCBpc0FsbEVudGl0aWVzU2VsZWN0ZWQgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAoc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlKSA9PlxuICAgICAgc2VsZWN0RW50aXRpZXNUb3RhbChzdGF0ZSksXG4gICAgc2VsZWN0VG90YWxTZWxlY3RlZEVudGl0aWVzLFxuICAgICh0b3RhbCwgdG90YWxTZWxlY3RlZCkgPT5cbiAgICAgIHRvdGFsU2VsZWN0ZWQgPiAwICYmIHRvdGFsU2VsZWN0ZWQgPT09IHRvdGFsXG4gICAgICAgID8gJ2FsbCdcbiAgICAgICAgOiB0b3RhbFNlbGVjdGVkID09PSAwXG4gICAgICAgID8gJ25vbmUnXG4gICAgICAgIDogJ3NvbWUnXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBzZWxlY3RFbnRpdGllc0lkc1NlbGVjdGVkTWFwLFxuICAgIHNlbGVjdEVudGl0aWVzSWRzU2VsZWN0ZWRMaXN0LFxuICAgIHNlbGVjdEVudGl0aWVzU2VsZWN0ZWRNYXAsXG4gICAgc2VsZWN0RW50aXRpZXNTZWxlY3RlZExpc3QsXG4gICAgc2VsZWN0VG90YWxTZWxlY3RlZEVudGl0aWVzLFxuICAgIGlzQWxsRW50aXRpZXNTZWxlY3RlZCxcbiAgfTtcbn1cbiJdfQ==
@@ -1,30 +0,0 @@
1
- export function deselectEntities(id, state) {
2
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
3
- const { [id]: _value, ...selectedIds } = state.selectedIds;
4
- return {
5
- ...state,
6
- selectedIds: selectedIds,
7
- };
8
- }
9
- export function selectEntities(id, state) {
10
- return {
11
- ...state,
12
- selectedIds: { ...state.selectedIds, [id]: true },
13
- };
14
- }
15
- export function toggleSelectEntities(id, state) {
16
- const selected = state.selectedIds[id];
17
- if (selected) {
18
- return deselectEntities(id, state);
19
- }
20
- else {
21
- return selectEntities(id, state);
22
- }
23
- }
24
- export function clearEntitiesSelection(state) {
25
- return { ...state, selectedIds: {} };
26
- }
27
- export function selectTotalSelectedEntities(state) {
28
- return Object.keys(state.selectedIds).length;
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXRpZXMvc2VsZWN0LWVudGl0aWVzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsRUFBbUIsRUFDbkIsS0FBUTtJQUVSLDZEQUE2RDtJQUM3RCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQzNELE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixXQUFXLEVBQUUsV0FBVztLQUN6QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQzVCLEVBQW1CLEVBQ25CLEtBQVE7SUFFUixPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsV0FBVyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFO0tBQ2xELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxFQUFtQixFQUNuQixLQUFRO0lBRVIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsT0FBTyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLGNBQWMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztBQUNILENBQUM7QUFDRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLEtBQVE7SUFFUixPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBR3pDLEtBQVE7SUFDUixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0RW50aXRpZXNTdGF0ZSB9IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IExvYWRFbnRpdGllc1N0YXRlIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXNlbGVjdEVudGl0aWVzPFMgZXh0ZW5kcyBTZWxlY3RFbnRpdGllc1N0YXRlPihcbiAgaWQ6IG51bWJlciB8IHN0cmluZyxcbiAgc3RhdGU6IFNcbik6IFMge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGNvbnN0IHsgW2lkXTogX3ZhbHVlLCAuLi5zZWxlY3RlZElkcyB9ID0gc3RhdGUuc2VsZWN0ZWRJZHM7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VsZWN0ZWRJZHM6IHNlbGVjdGVkSWRzLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0RW50aXRpZXM8UyBleHRlbmRzIFNlbGVjdEVudGl0aWVzU3RhdGU+KFxuICBpZDogbnVtYmVyIHwgc3RyaW5nLFxuICBzdGF0ZTogU1xuKTogUyB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VsZWN0ZWRJZHM6IHsgLi4uc3RhdGUuc2VsZWN0ZWRJZHMsIFtpZF06IHRydWUgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZVNlbGVjdEVudGl0aWVzPFMgZXh0ZW5kcyBTZWxlY3RFbnRpdGllc1N0YXRlPihcbiAgaWQ6IG51bWJlciB8IHN0cmluZyxcbiAgc3RhdGU6IFNcbik6IFMge1xuICBjb25zdCBzZWxlY3RlZCA9IHN0YXRlLnNlbGVjdGVkSWRzW2lkXTtcbiAgaWYgKHNlbGVjdGVkKSB7XG4gICAgcmV0dXJuIGRlc2VsZWN0RW50aXRpZXMoaWQsIHN0YXRlKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gc2VsZWN0RW50aXRpZXMoaWQsIHN0YXRlKTtcbiAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyRW50aXRpZXNTZWxlY3Rpb248UyBleHRlbmRzIFNlbGVjdEVudGl0aWVzU3RhdGU+KFxuICBzdGF0ZTogU1xuKTogUyB7XG4gIHJldHVybiB7IC4uLnN0YXRlLCBzZWxlY3RlZElkczoge30gfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdFRvdGFsU2VsZWN0ZWRFbnRpdGllczxcbiAgRW50aXR5LFxuICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGVcbj4oc3RhdGU6IFMpOiBudW1iZXIge1xuICByZXR1cm4gT2JqZWN0LmtleXMoc3RhdGUuc2VsZWN0ZWRJZHMpLmxlbmd0aDtcbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './select-entity.trait';
2
- export * from './select-entity.model';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NlbGVjdC1lbnRpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtZW50aXR5LnRyYWl0JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWVudGl0eS5tb2RlbCc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export const selectEntityTraitKey = 'singleSelection';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2VsZWN0LWVudGl0eS9zZWxlY3QtZW50aXR5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlEQSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleWVkQ29uZmlnIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciB9IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9tb2RlbHMnO1xuXG5pbXBvcnQgeyBMb2FkRW50aXRpZXNTdGF0ZSB9IGZyb20gJy4uL2xvYWQtZW50aXRpZXMvbG9hZC1lbnRpdGllcy5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0RW50aXR5U3RhdGUge1xuICBzZWxlY3RlZElkPzogbnVtYmVyIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBTZWxlY3RFbnRpdHlBY3Rpb25zID0ge1xuICBzZWxlY3RFbnRpdHk6IEFjdGlvbkNyZWF0b3I8XG4gICAgc3RyaW5nLFxuICAgIChwcm9wczogeyBpZDogbnVtYmVyIHwgc3RyaW5nIH0pID0+IHsgaWQ6IG51bWJlciB8IHN0cmluZyB9ICYgQWN0aW9uPHN0cmluZz5cbiAgPjtcbiAgZGVzZWxlY3RFbnRpdHk6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBBY3Rpb248c3RyaW5nPj47XG4gIHRvZ2dsZVNlbGVjdEVudGl0eTogQWN0aW9uQ3JlYXRvcjxcbiAgICBzdHJpbmcsXG4gICAgKHByb3BzOiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfSkgPT4geyBpZDogbnVtYmVyIHwgc3RyaW5nIH0gJiBBY3Rpb248c3RyaW5nPlxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0RW50aXR5U2VsZWN0b3JzPFQ+ID0ge1xuICBzZWxlY3RFbnRpdHlJZFNlbGVjdGVkOiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPFQ+ICYgU2VsZWN0RW50aXR5U3RhdGUsXG4gICkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBzZWxlY3RFbnRpdHlTZWxlY3RlZDogKFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxUPiAmIFNlbGVjdEVudGl0eVN0YXRlLFxuICApID0+IFQgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBTZWxlY3RFbnRpdHlNdXRhdG9yczxUPiA9IHtcbiAgc2VsZWN0RW50aXR5PFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxUPiAmIFNlbGVjdEVudGl0eVN0YXRlPihcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuICAgIHN0YXRlOiBTLFxuICApOiBTO1xuICBkZXNlbGVjdEVudGl0eTxTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8VD4gJiBTZWxlY3RFbnRpdHlTdGF0ZT4oXG4gICAgc3RhdGU6IFMsXG4gICk6IFM7XG4gIHRvZ2dsZVNlbGVjdEVudGl0eTxTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8VD4gJiBTZWxlY3RFbnRpdHlTdGF0ZT4oXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbiAgICBzdGF0ZTogUyxcbiAgKTogUztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0RW50aXR5Q29uZmlnIHtcbiAgc2VsZWN0ZWRJZD86IHN0cmluZyB8IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IHNlbGVjdEVudGl0eVRyYWl0S2V5ID0gJ3NpbmdsZVNlbGVjdGlvbic7XG5leHBvcnQgdHlwZSBTZWxlY3RFbnRpdHlLZXllZENvbmZpZyA9IEtleWVkQ29uZmlnPFxuICB0eXBlb2Ygc2VsZWN0RW50aXR5VHJhaXRLZXksXG4gIFNlbGVjdEVudGl0eUNvbmZpZ1xuPjtcbiJdfQ==
@@ -1,9 +0,0 @@
1
- import { createAction, props } from '@ngrx/store';
2
- export function createSelectEntityTraitActions(actionsGroupKey, entityName) {
3
- return {
4
- selectEntity: createAction(`${actionsGroupKey} Select ${entityName}`, props()),
5
- deselectEntity: createAction(`${actionsGroupKey} Deselect ${entityName}`),
6
- toggleSelectEntity: createAction(`${actionsGroupKey} Toggle Select ${entityName}`, props()),
7
- };
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS50cmFpdC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXR5L3NlbGVjdC1lbnRpdHkudHJhaXQuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdsRCxNQUFNLFVBQVUsOEJBQThCLENBQzVDLGVBQXVCLEVBQ3ZCLFVBQWtCO0lBRWxCLE9BQU87UUFDTCxZQUFZLEVBQUUsWUFBWSxDQUN4QixHQUFHLGVBQWUsV0FBVyxVQUFVLEVBQUUsRUFDekMsS0FBSyxFQUEyQixDQUNqQztRQUNELGNBQWMsRUFBRSxZQUFZLENBQUMsR0FBRyxlQUFlLGFBQWEsVUFBVSxFQUFFLENBQUM7UUFDekUsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixHQUFHLGVBQWUsa0JBQWtCLFVBQVUsRUFBRSxFQUNoRCxLQUFLLEVBQTJCLENBQ2pDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgU2VsZWN0RW50aXR5QWN0aW9ucyB9IGZyb20gJy4vc2VsZWN0LWVudGl0eS5tb2RlbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdEFjdGlvbnMoXG4gIGFjdGlvbnNHcm91cEtleTogc3RyaW5nLFxuICBlbnRpdHlOYW1lOiBzdHJpbmdcbik6IFNlbGVjdEVudGl0eUFjdGlvbnMge1xuICByZXR1cm4ge1xuICAgIHNlbGVjdEVudGl0eTogY3JlYXRlQWN0aW9uKFxuICAgICAgYCR7YWN0aW9uc0dyb3VwS2V5fSBTZWxlY3QgJHtlbnRpdHlOYW1lfWAsXG4gICAgICBwcm9wczx7IGlkOiBzdHJpbmcgfCBudW1iZXIgfT4oKVxuICAgICksXG4gICAgZGVzZWxlY3RFbnRpdHk6IGNyZWF0ZUFjdGlvbihgJHthY3Rpb25zR3JvdXBLZXl9IERlc2VsZWN0ICR7ZW50aXR5TmFtZX1gKSxcbiAgICB0b2dnbGVTZWxlY3RFbnRpdHk6IGNyZWF0ZUFjdGlvbihcbiAgICAgIGAke2FjdGlvbnNHcm91cEtleX0gVG9nZ2xlIFNlbGVjdCAke2VudGl0eU5hbWV9YCxcbiAgICAgIHByb3BzPHsgaWQ6IHN0cmluZyB8IG51bWJlciB9PigpXG4gICAgKSxcbiAgfTtcbn1cbiJdfQ==
@@ -1,52 +0,0 @@
1
- import { createTraitFactory, } from '@ngrx-traits/core';
2
- import { createSelectEntityTraitActions } from './select-entity.trait.actions';
3
- import { createSelectEntityTraitSelectors } from './select-entity.trait.selectors';
4
- import { createSelectEntityInitialState, createSelectEntityTraitReducer, } from './select-entity.trait.reducer';
5
- import { createSelectEntityTraitMutators } from './select-entity.trait.mutators';
6
- import { loadEntitiesTraitKey, } from '../load-entities/load-entities.model';
7
- /**
8
- * Generates ngrx code to add single selection to a list
9
- * @param config
10
- * @param config.selectedId - Default selected id
11
- *
12
- * @example
13
- * // The following trait config
14
- *
15
- * export interface TestState
16
- * extends EntityAndStatusState<Todo>,SelectEntityState{}
17
- *
18
- * const traits = createEntityFeatureFactory(
19
- * {entityName: 'Todo'},
20
- * addLoadEntitiesTrait<Todo>(),
21
- * addSelectEntityTrait<Todo>()
22
- * )({
23
- * actionsGroupKey: '[Todos]',
24
- * featureSelector: createFeatureSelector<TestState>>(
25
- * 'todos',
26
- * ),
27
- * });
28
- *
29
- * // adds following props to the state:
30
- * // selectedId?: number | string;
31
- *
32
- * // generated actions
33
- * traits.actions.selectTodo({id})
34
- * traits.actions.deselectTodo()
35
- * traits.actions.toggleSelectTodo({id})
36
- * //generated selectors
37
- * traits.selectors.selectTodoIdSelected()
38
- * traits.selectors.selectTodoSelected()
39
- */
40
- export function addSelectEntityTrait(config) {
41
- return createTraitFactory({
42
- key: 'singleSelection',
43
- depends: [loadEntitiesTraitKey],
44
- config,
45
- actions: ({ actionsGroupKey, entityName }) => createSelectEntityTraitActions(actionsGroupKey, entityName),
46
- selectors: () => createSelectEntityTraitSelectors(),
47
- mutators: () => createSelectEntityTraitMutators(),
48
- initialState: ({ previousInitialState, allConfigs, }) => createSelectEntityInitialState(previousInitialState, allConfigs),
49
- reducer: ({ initialState, allActions, allMutators, allConfigs }) => createSelectEntityTraitReducer(initialState, allActions, allMutators, allConfigs),
50
- });
51
- }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS50cmFpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2VsZWN0LWVudGl0eS9zZWxlY3QtZW50aXR5LnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxrQkFBa0IsR0FHbkIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRixPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLDhCQUE4QixHQUMvQixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pGLE9BQU8sRUFHTCxvQkFBb0IsR0FDckIsTUFBTSxzQ0FBc0MsQ0FBQztBQWlCOUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFTLE1BQTJCO0lBQ3RFLE9BQU8sa0JBQWtCLENBQUM7UUFDeEIsR0FBRyxFQUFFLGlCQUFpQjtRQUN0QixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztRQUMvQixNQUFNO1FBQ04sT0FBTyxFQUFFLENBQUMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUE2QixFQUFFLEVBQUUsQ0FDdEUsOEJBQThCLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQztRQUM3RCxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0NBQWdDLEVBQVU7UUFDM0QsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLCtCQUErQixFQUFFO1FBQ2pELFlBQVksRUFBRSxDQUFDLEVBQ2Isb0JBQW9CLEVBQ3BCLFVBQVUsR0FDcUIsRUFBRSxFQUFFLENBQ25DLDhCQUE4QixDQUM1QixvQkFBb0IsRUFDcEIsVUFBcUMsQ0FDdEM7UUFDSCxPQUFPLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FDakUsOEJBQThCLENBQzVCLFlBQVksRUFDWixVQUs2QixFQUM3QixXQUFXLEVBQ1gsVUFHaUMsQ0FDbEM7S0FDSixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlVHJhaXRGYWN0b3J5LFxuICBUcmFpdEFjdGlvbnNGYWN0b3J5Q29uZmlnLFxuICBUcmFpdEluaXRpYWxTdGF0ZUZhY3RvcnlDb25maWcsXG59IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcblxuaW1wb3J0IHsgY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRBY3Rpb25zIH0gZnJvbSAnLi9zZWxlY3QtZW50aXR5LnRyYWl0LmFjdGlvbnMnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRTZWxlY3RvcnMgfSBmcm9tICcuL3NlbGVjdC1lbnRpdHkudHJhaXQuc2VsZWN0b3JzJztcbmltcG9ydCB7XG4gIGNyZWF0ZVNlbGVjdEVudGl0eUluaXRpYWxTdGF0ZSxcbiAgY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRSZWR1Y2VyLFxufSBmcm9tICcuL3NlbGVjdC1lbnRpdHkudHJhaXQucmVkdWNlcic7XG5pbXBvcnQgeyBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdE11dGF0b3JzIH0gZnJvbSAnLi9zZWxlY3QtZW50aXR5LnRyYWl0Lm11dGF0b3JzJztcbmltcG9ydCB7XG4gIExvYWRFbnRpdGllc0FjdGlvbnMsXG4gIExvYWRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBsb2FkRW50aXRpZXNUcmFpdEtleSxcbn0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIFNvcnRFbnRpdGllc0FjdGlvbnMsXG4gIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnLFxufSBmcm9tICcuLi9zb3J0LWVudGl0aWVzL3NvcnQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHtcbiAgU2VsZWN0RW50aXR5QWN0aW9ucyxcbiAgU2VsZWN0RW50aXR5Q29uZmlnLFxuICBTZWxlY3RFbnRpdHlLZXllZENvbmZpZyxcbn0gZnJvbSAnLi9zZWxlY3QtZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IENydWRFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuLi9jcnVkLWVudGl0aWVzL2NydWQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHtcbiAgRW50aXRpZXNQYWdpbmF0aW9uQWN0aW9ucyxcbiAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWcsXG59IGZyb20gJy4uL2VudGl0aWVzLXBhZ2luYXRpb24vZW50aXRpZXMtcGFnaW5hdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuLi9maWx0ZXItZW50aXRpZXMnO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBuZ3J4IGNvZGUgdG8gYWRkIHNpbmdsZSBzZWxlY3Rpb24gdG8gYSBsaXN0XG4gKiBAcGFyYW0gY29uZmlnXG4gKiBAcGFyYW0gY29uZmlnLnNlbGVjdGVkSWQgLSBEZWZhdWx0IHNlbGVjdGVkIGlkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBmb2xsb3dpbmcgdHJhaXQgY29uZmlnXG4gKlxuICogZXhwb3J0IGludGVyZmFjZSBUZXN0U3RhdGVcbiAqIGV4dGVuZHMgRW50aXR5QW5kU3RhdHVzU3RhdGU8VG9kbz4sU2VsZWN0RW50aXR5U3RhdGV7fVxuICpcbiAqICAgIGNvbnN0IHRyYWl0cyA9IGNyZWF0ZUVudGl0eUZlYXR1cmVGYWN0b3J5KFxuICogICAgICB7ZW50aXR5TmFtZTogJ1RvZG8nfSxcbiAqICAgICAgYWRkTG9hZEVudGl0aWVzVHJhaXQ8VG9kbz4oKSxcbiAqICAgICAgYWRkU2VsZWN0RW50aXR5VHJhaXQ8VG9kbz4oKVxuICogICAgKSh7XG4gKiAgICAgIGFjdGlvbnNHcm91cEtleTogJ1tUb2Rvc10nLFxuICogICAgICBmZWF0dXJlU2VsZWN0b3I6IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxUZXN0U3RhdGU+PihcbiAqICAgICAgICAndG9kb3MnLFxuICogICAgICApLFxuICogICAgfSk7XG4gKlxuICogLy8gICBhZGRzIGZvbGxvd2luZyBwcm9wcyB0byB0aGUgc3RhdGU6XG4gKiAvLyAgICAgc2VsZWN0ZWRJZD86IG51bWJlciB8IHN0cmluZztcbiAqXG4gKiAvLyBnZW5lcmF0ZWQgYWN0aW9uc1xuICogdHJhaXRzLmFjdGlvbnMuc2VsZWN0VG9kbyh7aWR9KVxuICogdHJhaXRzLmFjdGlvbnMuZGVzZWxlY3RUb2RvKClcbiAqIHRyYWl0cy5hY3Rpb25zLnRvZ2dsZVNlbGVjdFRvZG8oe2lkfSlcbiAqIC8vZ2VuZXJhdGVkIHNlbGVjdG9yc1xuICogdHJhaXRzLnNlbGVjdG9ycy5zZWxlY3RUb2RvSWRTZWxlY3RlZCgpXG4gKiB0cmFpdHMuc2VsZWN0b3JzLnNlbGVjdFRvZG9TZWxlY3RlZCgpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRTZWxlY3RFbnRpdHlUcmFpdDxFbnRpdHk+KGNvbmZpZz86IFNlbGVjdEVudGl0eUNvbmZpZykge1xuICByZXR1cm4gY3JlYXRlVHJhaXRGYWN0b3J5KHtcbiAgICBrZXk6ICdzaW5nbGVTZWxlY3Rpb24nLFxuICAgIGRlcGVuZHM6IFtsb2FkRW50aXRpZXNUcmFpdEtleV0sXG4gICAgY29uZmlnLFxuICAgIGFjdGlvbnM6ICh7IGFjdGlvbnNHcm91cEtleSwgZW50aXR5TmFtZSB9OiBUcmFpdEFjdGlvbnNGYWN0b3J5Q29uZmlnKSA9PlxuICAgICAgY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRBY3Rpb25zKGFjdGlvbnNHcm91cEtleSwgZW50aXR5TmFtZSksXG4gICAgc2VsZWN0b3JzOiAoKSA9PiBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdFNlbGVjdG9yczxFbnRpdHk+KCksXG4gICAgbXV0YXRvcnM6ICgpID0+IGNyZWF0ZVNlbGVjdEVudGl0eVRyYWl0TXV0YXRvcnMoKSxcbiAgICBpbml0aWFsU3RhdGU6ICh7XG4gICAgICBwcmV2aW91c0luaXRpYWxTdGF0ZSxcbiAgICAgIGFsbENvbmZpZ3MsXG4gICAgfTogVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5Q29uZmlnKSA9PlxuICAgICAgY3JlYXRlU2VsZWN0RW50aXR5SW5pdGlhbFN0YXRlPEVudGl0eT4oXG4gICAgICAgIHByZXZpb3VzSW5pdGlhbFN0YXRlLFxuICAgICAgICBhbGxDb25maWdzIGFzIFNlbGVjdEVudGl0eUtleWVkQ29uZmlnXG4gICAgICApLFxuICAgIHJlZHVjZXI6ICh7IGluaXRpYWxTdGF0ZSwgYWxsQWN0aW9ucywgYWxsTXV0YXRvcnMsIGFsbENvbmZpZ3MgfSkgPT5cbiAgICAgIGNyZWF0ZVNlbGVjdEVudGl0eVRyYWl0UmVkdWNlcihcbiAgICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgICBhbGxBY3Rpb25zIGFzIFNlbGVjdEVudGl0eUFjdGlvbnMgJlxuICAgICAgICAgIENydWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgICAgICAgU29ydEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICAgICAgICBFbnRpdGllc1BhZ2luYXRpb25BY3Rpb25zICZcbiAgICAgICAgICBGaWx0ZXJFbnRpdGllc0FjdGlvbnM8YW55PiAmXG4gICAgICAgICAgTG9hZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+LFxuICAgICAgICBhbGxNdXRhdG9ycyxcbiAgICAgICAgYWxsQ29uZmlncyBhcyBTZWxlY3RFbnRpdHlLZXllZENvbmZpZyAmXG4gICAgICAgICAgTG9hZEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PiAmXG4gICAgICAgICAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWcgJlxuICAgICAgICAgIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT5cbiAgICAgICksXG4gIH0pO1xufVxuIl19