@ngrx-traits/common 12.1.2 → 13.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 (227) hide show
  1. package/crud-entities/crud-entities.model.d.ts +1 -3
  2. package/entities-pagination/entities-pagination.model.d.ts +8 -11
  3. package/entities-pagination/entities-pagination.model.internal.d.ts +9 -1
  4. package/esm2020/async-action/async-action.model.mjs +2 -0
  5. package/esm2020/async-action/async-action.trait.mjs +110 -0
  6. package/esm2020/async-action/index.mjs +3 -0
  7. package/esm2020/crud-entities/crud-entities.model.mjs +8 -0
  8. package/esm2020/crud-entities/crud-entities.trait.actions.mjs +20 -0
  9. package/esm2020/crud-entities/crud-entities.trait.mjs +57 -0
  10. package/esm2020/crud-entities/crud-entities.trait.mutators.mjs +121 -0
  11. package/esm2020/crud-entities/crud-entities.trait.reducer.mjs +17 -0
  12. package/esm2020/crud-entities/crud-entities.trait.selectors.mjs +54 -0
  13. package/esm2020/crud-entities/index.mjs +3 -0
  14. package/esm2020/entities-pagination/entities-pagination.model.internal.mjs +2 -0
  15. package/esm2020/entities-pagination/entities-pagination.model.mjs +2 -0
  16. package/esm2020/entities-pagination/entities-pagination.trait.actions.mjs +20 -0
  17. package/esm2020/entities-pagination/entities-pagination.trait.effects.mjs +62 -0
  18. package/esm2020/entities-pagination/entities-pagination.trait.mjs +94 -0
  19. package/esm2020/entities-pagination/entities-pagination.trait.mutators.mjs +55 -0
  20. package/esm2020/entities-pagination/entities-pagination.trait.reducer.mjs +87 -0
  21. package/esm2020/entities-pagination/entities-pagination.trait.selectors.mjs +84 -0
  22. package/esm2020/entities-pagination/index.mjs +3 -0
  23. package/esm2020/filter-entities/filter-entities.model.internal.mjs +2 -0
  24. package/esm2020/filter-entities/filter-entities.model.mjs +2 -0
  25. package/esm2020/filter-entities/filter-entities.trait.actions.mjs +16 -0
  26. package/esm2020/filter-entities/filter-entities.trait.effect.mjs +59 -0
  27. package/esm2020/filter-entities/filter-entities.trait.mjs +73 -0
  28. package/esm2020/filter-entities/filter-entities.trait.mutators.mjs +10 -0
  29. package/esm2020/filter-entities/filter-entities.trait.reducer.mjs +11 -0
  30. package/esm2020/filter-entities/filter-entities.trait.selectors.mjs +9 -0
  31. package/esm2020/filter-entities/index.mjs +3 -0
  32. package/esm2020/index.mjs +12 -0
  33. package/esm2020/load-entities/index.mjs +3 -0
  34. package/esm2020/load-entities/load-entities.model.mjs +2 -0
  35. package/esm2020/load-entities/load-entities.mutators.mjs +7 -0
  36. package/esm2020/load-entities/load-entities.trait.actions.mjs +10 -0
  37. package/esm2020/load-entities/load-entities.trait.mjs +62 -0
  38. package/esm2020/load-entities/load-entities.trait.reducer.mjs +27 -0
  39. package/esm2020/load-entities/load-entities.trait.selectors.mjs +38 -0
  40. package/esm2020/load-entities/load-entities.utils.mjs +10 -0
  41. package/esm2020/load-entity/index.mjs +3 -0
  42. package/esm2020/load-entity/load-entity.model.mjs +2 -0
  43. package/esm2020/load-entity/load-entity.traits.mjs +74 -0
  44. package/esm2020/ngrx-traits-common.mjs +5 -0
  45. package/esm2020/public_api.mjs +2 -0
  46. package/esm2020/reset/index.mjs +2 -0
  47. package/esm2020/reset/reset.trait.mjs +39 -0
  48. package/esm2020/select-entities/index.mjs +4 -0
  49. package/esm2020/select-entities/select-entities.model.mjs +2 -0
  50. package/esm2020/select-entities/select-entities.trait.actions.mjs +11 -0
  51. package/esm2020/select-entities/select-entities.trait.mjs +54 -0
  52. package/esm2020/select-entities/select-entities.trait.mutators.mjs +27 -0
  53. package/esm2020/select-entities/select-entities.trait.reducer.mjs +42 -0
  54. package/esm2020/select-entities/select-entities.trait.selectors.mjs +28 -0
  55. package/esm2020/select-entities/select-entities.utils.mjs +30 -0
  56. package/esm2020/select-entity/index.mjs +3 -0
  57. package/esm2020/select-entity/select-entity.model.mjs +2 -0
  58. package/esm2020/select-entity/select-entity.trait.actions.mjs +9 -0
  59. package/esm2020/select-entity/select-entity.trait.mjs +51 -0
  60. package/esm2020/select-entity/select-entity.trait.mutators.mjs +26 -0
  61. package/esm2020/select-entity/select-entity.trait.reducer.mjs +35 -0
  62. package/esm2020/select-entity/select-entity.trait.selectors.mjs +13 -0
  63. package/esm2020/set-entity/index.mjs +3 -0
  64. package/esm2020/set-entity/set-entity.model.mjs +2 -0
  65. package/esm2020/set-entity/set-entity.trait.mjs +58 -0
  66. package/esm2020/sort-entities/index.mjs +4 -0
  67. package/esm2020/sort-entities/sort-entities.model.mjs +2 -0
  68. package/esm2020/sort-entities/sort-entities.trait.actions.mjs +8 -0
  69. package/esm2020/sort-entities/sort-entities.trait.effect.mjs +28 -0
  70. package/esm2020/sort-entities/sort-entities.trait.mjs +59 -0
  71. package/esm2020/sort-entities/sort-entities.trait.mutators.mjs +17 -0
  72. package/esm2020/sort-entities/sort-entities.trait.reducer.mjs +28 -0
  73. package/esm2020/sort-entities/sort-entities.trait.selectors.mjs +9 -0
  74. package/esm2020/sort-entities/sort-entities.utils.mjs +63 -0
  75. package/fesm2015/{ngrx-traits-common.js → ngrx-traits-common.mjs} +57 -77
  76. package/fesm2015/ngrx-traits-common.mjs.map +1 -0
  77. package/fesm2020/ngrx-traits-common.mjs +1748 -0
  78. package/fesm2020/ngrx-traits-common.mjs.map +1 -0
  79. package/load-entity/load-entity.traits.d.ts +1 -1
  80. package/package.json +27 -15
  81. package/reset/reset.trait.d.ts +3 -4
  82. package/set-entity/set-entity.trait.d.ts +1 -1
  83. package/bundles/ngrx-traits-common.umd.js +0 -2194
  84. package/bundles/ngrx-traits-common.umd.js.map +0 -1
  85. package/esm2015/async-action/async-action.model.js +0 -2
  86. package/esm2015/async-action/async-action.model.js.map +0 -1
  87. package/esm2015/async-action/async-action.trait.js +0 -101
  88. package/esm2015/async-action/async-action.trait.js.map +0 -1
  89. package/esm2015/async-action/index.js +0 -3
  90. package/esm2015/async-action/index.js.map +0 -1
  91. package/esm2015/crud-entities/crud-entities.model.js +0 -8
  92. package/esm2015/crud-entities/crud-entities.model.js.map +0 -1
  93. package/esm2015/crud-entities/crud-entities.trait.actions.js +0 -20
  94. package/esm2015/crud-entities/crud-entities.trait.actions.js.map +0 -1
  95. package/esm2015/crud-entities/crud-entities.trait.js +0 -57
  96. package/esm2015/crud-entities/crud-entities.trait.js.map +0 -1
  97. package/esm2015/crud-entities/crud-entities.trait.mutators.js +0 -101
  98. package/esm2015/crud-entities/crud-entities.trait.mutators.js.map +0 -1
  99. package/esm2015/crud-entities/crud-entities.trait.reducer.js +0 -15
  100. package/esm2015/crud-entities/crud-entities.trait.reducer.js.map +0 -1
  101. package/esm2015/crud-entities/crud-entities.trait.selectors.js +0 -70
  102. package/esm2015/crud-entities/crud-entities.trait.selectors.js.map +0 -1
  103. package/esm2015/crud-entities/index.js +0 -3
  104. package/esm2015/crud-entities/index.js.map +0 -1
  105. package/esm2015/entities-pagination/entities-pagination.model.internal.js +0 -2
  106. package/esm2015/entities-pagination/entities-pagination.model.internal.js.map +0 -1
  107. package/esm2015/entities-pagination/entities-pagination.model.js +0 -2
  108. package/esm2015/entities-pagination/entities-pagination.model.js.map +0 -1
  109. package/esm2015/entities-pagination/entities-pagination.trait.actions.js +0 -20
  110. package/esm2015/entities-pagination/entities-pagination.trait.actions.js.map +0 -1
  111. package/esm2015/entities-pagination/entities-pagination.trait.effects.js +0 -54
  112. package/esm2015/entities-pagination/entities-pagination.trait.effects.js.map +0 -1
  113. package/esm2015/entities-pagination/entities-pagination.trait.js +0 -94
  114. package/esm2015/entities-pagination/entities-pagination.trait.js.map +0 -1
  115. package/esm2015/entities-pagination/entities-pagination.trait.mutators.js +0 -23
  116. package/esm2015/entities-pagination/entities-pagination.trait.mutators.js.map +0 -1
  117. package/esm2015/entities-pagination/entities-pagination.trait.reducer.js +0 -33
  118. package/esm2015/entities-pagination/entities-pagination.trait.reducer.js.map +0 -1
  119. package/esm2015/entities-pagination/entities-pagination.trait.selectors.js +0 -65
  120. package/esm2015/entities-pagination/entities-pagination.trait.selectors.js.map +0 -1
  121. package/esm2015/entities-pagination/index.js +0 -3
  122. package/esm2015/entities-pagination/index.js.map +0 -1
  123. package/esm2015/filter-entities/filter-entities.model.internal.js +0 -2
  124. package/esm2015/filter-entities/filter-entities.model.internal.js.map +0 -1
  125. package/esm2015/filter-entities/filter-entities.model.js +0 -2
  126. package/esm2015/filter-entities/filter-entities.model.js.map +0 -1
  127. package/esm2015/filter-entities/filter-entities.trait.actions.js +0 -16
  128. package/esm2015/filter-entities/filter-entities.trait.actions.js.map +0 -1
  129. package/esm2015/filter-entities/filter-entities.trait.effect.js +0 -56
  130. package/esm2015/filter-entities/filter-entities.trait.effect.js.map +0 -1
  131. package/esm2015/filter-entities/filter-entities.trait.js +0 -73
  132. package/esm2015/filter-entities/filter-entities.trait.js.map +0 -1
  133. package/esm2015/filter-entities/filter-entities.trait.mutators.js +0 -7
  134. package/esm2015/filter-entities/filter-entities.trait.mutators.js.map +0 -1
  135. package/esm2015/filter-entities/filter-entities.trait.reducer.js +0 -9
  136. package/esm2015/filter-entities/filter-entities.trait.reducer.js.map +0 -1
  137. package/esm2015/filter-entities/filter-entities.trait.selectors.js +0 -9
  138. package/esm2015/filter-entities/filter-entities.trait.selectors.js.map +0 -1
  139. package/esm2015/filter-entities/index.js +0 -3
  140. package/esm2015/filter-entities/index.js.map +0 -1
  141. package/esm2015/index.js +0 -12
  142. package/esm2015/index.js.map +0 -1
  143. package/esm2015/load-entities/index.js +0 -3
  144. package/esm2015/load-entities/index.js.map +0 -1
  145. package/esm2015/load-entities/load-entities.model.js +0 -2
  146. package/esm2015/load-entities/load-entities.model.js.map +0 -1
  147. package/esm2015/load-entities/load-entities.mutators.js +0 -8
  148. package/esm2015/load-entities/load-entities.mutators.js.map +0 -1
  149. package/esm2015/load-entities/load-entities.trait.actions.js +0 -10
  150. package/esm2015/load-entities/load-entities.trait.actions.js.map +0 -1
  151. package/esm2015/load-entities/load-entities.trait.js +0 -62
  152. package/esm2015/load-entities/load-entities.trait.js.map +0 -1
  153. package/esm2015/load-entities/load-entities.trait.reducer.js +0 -12
  154. package/esm2015/load-entities/load-entities.trait.reducer.js.map +0 -1
  155. package/esm2015/load-entities/load-entities.trait.selectors.js +0 -33
  156. package/esm2015/load-entities/load-entities.trait.selectors.js.map +0 -1
  157. package/esm2015/load-entities/load-entities.utils.js +0 -10
  158. package/esm2015/load-entities/load-entities.utils.js.map +0 -1
  159. package/esm2015/load-entity/index.js +0 -3
  160. package/esm2015/load-entity/index.js.map +0 -1
  161. package/esm2015/load-entity/load-entity.model.js +0 -2
  162. package/esm2015/load-entity/load-entity.model.js.map +0 -1
  163. package/esm2015/load-entity/load-entity.traits.js +0 -71
  164. package/esm2015/load-entity/load-entity.traits.js.map +0 -1
  165. package/esm2015/ngrx-traits-common.js +0 -5
  166. package/esm2015/ngrx-traits-common.js.map +0 -1
  167. package/esm2015/public_api.js +0 -2
  168. package/esm2015/public_api.js.map +0 -1
  169. package/esm2015/reset/index.js +0 -2
  170. package/esm2015/reset/index.js.map +0 -1
  171. package/esm2015/reset/reset.trait.js +0 -69
  172. package/esm2015/reset/reset.trait.js.map +0 -1
  173. package/esm2015/select-entities/index.js +0 -4
  174. package/esm2015/select-entities/index.js.map +0 -1
  175. package/esm2015/select-entities/select-entities.model.js +0 -2
  176. package/esm2015/select-entities/select-entities.model.js.map +0 -1
  177. package/esm2015/select-entities/select-entities.trait.actions.js +0 -11
  178. package/esm2015/select-entities/select-entities.trait.actions.js.map +0 -1
  179. package/esm2015/select-entities/select-entities.trait.js +0 -54
  180. package/esm2015/select-entities/select-entities.trait.js.map +0 -1
  181. package/esm2015/select-entities/select-entities.trait.mutators.js +0 -21
  182. package/esm2015/select-entities/select-entities.trait.mutators.js.map +0 -1
  183. package/esm2015/select-entities/select-entities.trait.reducer.js +0 -40
  184. package/esm2015/select-entities/select-entities.trait.reducer.js.map +0 -1
  185. package/esm2015/select-entities/select-entities.trait.selectors.js +0 -28
  186. package/esm2015/select-entities/select-entities.trait.selectors.js.map +0 -1
  187. package/esm2015/select-entities/select-entities.utils.js +0 -25
  188. package/esm2015/select-entities/select-entities.utils.js.map +0 -1
  189. package/esm2015/select-entity/index.js +0 -3
  190. package/esm2015/select-entity/index.js.map +0 -1
  191. package/esm2015/select-entity/select-entity.model.js +0 -2
  192. package/esm2015/select-entity/select-entity.model.js.map +0 -1
  193. package/esm2015/select-entity/select-entity.trait.actions.js +0 -9
  194. package/esm2015/select-entity/select-entity.trait.actions.js.map +0 -1
  195. package/esm2015/select-entity/select-entity.trait.js +0 -51
  196. package/esm2015/select-entity/select-entity.trait.js.map +0 -1
  197. package/esm2015/select-entity/select-entity.trait.mutators.js +0 -17
  198. package/esm2015/select-entity/select-entity.trait.mutators.js.map +0 -1
  199. package/esm2015/select-entity/select-entity.trait.reducer.js +0 -26
  200. package/esm2015/select-entity/select-entity.trait.reducer.js.map +0 -1
  201. package/esm2015/select-entity/select-entity.trait.selectors.js +0 -13
  202. package/esm2015/select-entity/select-entity.trait.selectors.js.map +0 -1
  203. package/esm2015/set-entity/index.js +0 -3
  204. package/esm2015/set-entity/index.js.map +0 -1
  205. package/esm2015/set-entity/set-entity.model.js +0 -2
  206. package/esm2015/set-entity/set-entity.model.js.map +0 -1
  207. package/esm2015/set-entity/set-entity.trait.js +0 -55
  208. package/esm2015/set-entity/set-entity.trait.js.map +0 -1
  209. package/esm2015/sort-entities/index.js +0 -4
  210. package/esm2015/sort-entities/index.js.map +0 -1
  211. package/esm2015/sort-entities/sort-entities.model.js +0 -2
  212. package/esm2015/sort-entities/sort-entities.model.js.map +0 -1
  213. package/esm2015/sort-entities/sort-entities.trait.actions.js +0 -8
  214. package/esm2015/sort-entities/sort-entities.trait.actions.js.map +0 -1
  215. package/esm2015/sort-entities/sort-entities.trait.effect.js +0 -28
  216. package/esm2015/sort-entities/sort-entities.trait.effect.js.map +0 -1
  217. package/esm2015/sort-entities/sort-entities.trait.js +0 -59
  218. package/esm2015/sort-entities/sort-entities.trait.js.map +0 -1
  219. package/esm2015/sort-entities/sort-entities.trait.mutators.js +0 -13
  220. package/esm2015/sort-entities/sort-entities.trait.mutators.js.map +0 -1
  221. package/esm2015/sort-entities/sort-entities.trait.reducer.js +0 -22
  222. package/esm2015/sort-entities/sort-entities.trait.reducer.js.map +0 -1
  223. package/esm2015/sort-entities/sort-entities.trait.selectors.js +0 -10
  224. package/esm2015/sort-entities/sort-entities.trait.selectors.js.map +0 -1
  225. package/esm2015/sort-entities/sort-entities.utils.js +0 -63
  226. package/esm2015/sort-entities/sort-entities.utils.js.map +0 -1
  227. package/fesm2015/ngrx-traits-common.js.map +0 -1
@@ -1,22 +0,0 @@
1
- import { createReducer, on } from '@ngrx/store';
2
- export function createSortInitialState(previousInitialState, allConfigs) {
3
- const { defaultSort } = allConfigs.sort;
4
- return Object.assign(Object.assign({}, previousInitialState), { sort: {
5
- current: defaultSort,
6
- default: defaultSort,
7
- } });
8
- }
9
- export function createSortTraitReducer(initialState, allActions, allMutators, allConfigs) {
10
- const { remote } = allConfigs.sort;
11
- return createReducer(initialState, on(allActions.sortEntities, (state, { active, direction }) => !remote
12
- ? allMutators.sortEntities({ active, direction }, state)
13
- : Object.assign(Object.assign({}, state), { sort: Object.assign(Object.assign({}, state.sort), { current: { active, direction } }) })), on(allActions.resetEntitiesSort, (state) => {
14
- var _a, _b, _c;
15
- return ((_a = state.sort) === null || _a === void 0 ? void 0 : _a.default)
16
- ? !remote
17
- ? allMutators.sortEntities((_b = state.sort) === null || _b === void 0 ? void 0 : _b.default, state)
18
- : Object.assign(Object.assign({}, state), { sort: Object.assign(Object.assign({}, state.sort), { current: (_c = state.sort) === null || _c === void 0 ? void 0 : _c.default }) })
19
- : state;
20
- }));
21
- }
22
- //# sourceMappingURL=sort-entities.trait.reducer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-entities.trait.reducer.js","sourceRoot":"","sources":["../../../../../../libs/ngrx-traits/common/src/lib/sort-entities/sort-entities.trait.reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAahD,MAAM,UAAU,sBAAsB,CACpC,oBAAyB,EACzB,UAA2C;IAE3C,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,IAAK,CAAC;IAEzC,uCACK,oBAAoB,KACvB,IAAI,EAAE;YACJ,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,WAAW;SACrB,IACD;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAMpC,YAAe,EACf,UAAqE,EACrE,WAAyC,EACzC,UAA6E;IAE7E,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAK,CAAC;IAEpC,OAAO,aAAa,CAClB,YAAY,EACZ,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,CAC3D,CAAC,MAAM;QACL,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC;QACxD,CAAC,iCACM,KAAK,KACR,IAAI,kCAAO,KAAK,CAAC,IAAI,KAAE,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MACtD,CACN,EACD,EAAE,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;;QACzC,OAAA,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,OAAO;YACjB,CAAC,CAAC,CAAC,MAAM;gBACP,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,OAAO,EAAE,KAAK,CAAC;gBACtD,CAAC,iCACM,KAAK,KACR,IAAI,kCAAO,KAAK,CAAC,IAAI,KAAE,OAAO,EAAE,MAAA,KAAK,CAAC,IAAI,0CAAE,OAAO,MACpD;YACL,CAAC,CAAC,KAAK,CAAA;KAAA,CACV,CACF,CAAC;AACJ,CAAC","sourcesContent":["import { createReducer, on } from '@ngrx/store';\nimport {\n LoadEntitiesActions,\n LoadEntitiesKeyedConfig,\n LoadEntitiesState,\n} from '../load-entities';\nimport {\n SortEntitiesActions,\n SortEntitiesKeyedConfig,\n SortEntitiesMutators,\n SortEntitiesState,\n} from './sort-entities.model';\n\nexport function createSortInitialState<Entity>(\n previousInitialState: any,\n allConfigs: SortEntitiesKeyedConfig<Entity>\n): LoadEntitiesState<Entity> & SortEntitiesState<Entity> {\n const { defaultSort } = allConfigs.sort!;\n\n return {\n ...previousInitialState,\n sort: {\n current: defaultSort,\n default: defaultSort,\n },\n };\n}\n\nexport function createSortTraitReducer<\n Entity,\n S extends LoadEntitiesState<Entity> &\n SortEntitiesState<Entity> = LoadEntitiesState<Entity> &\n SortEntitiesState<Entity>\n>(\n initialState: S,\n allActions: SortEntitiesActions<Entity> & LoadEntitiesActions<Entity>,\n allMutators: SortEntitiesMutators<Entity>,\n allConfigs: LoadEntitiesKeyedConfig<Entity> & SortEntitiesKeyedConfig<Entity>\n) {\n const { remote } = allConfigs.sort!;\n\n return createReducer(\n initialState,\n on(allActions.sortEntities, (state, { active, direction }) =>\n !remote\n ? allMutators.sortEntities({ active, direction }, state)\n : {\n ...state,\n sort: { ...state.sort, current: { active, direction } },\n }\n ),\n on(allActions.resetEntitiesSort, (state) =>\n state.sort?.default\n ? !remote\n ? allMutators.sortEntities(state.sort?.default, state)\n : {\n ...state,\n sort: { ...state.sort, current: state.sort?.default },\n }\n : state\n )\n );\n}\n"]}
@@ -1,10 +0,0 @@
1
- export function createSortTraitSelectors() {
2
- function selectEntitiesSort(state) {
3
- var _a;
4
- return (_a = state.sort) === null || _a === void 0 ? void 0 : _a.current;
5
- }
6
- return {
7
- selectEntitiesSort,
8
- };
9
- }
10
- //# sourceMappingURL=sort-entities.trait.selectors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-entities.trait.selectors.js","sourceRoot":"","sources":["../../../../../../libs/ngrx-traits/common/src/lib/sort-entities/sort-entities.trait.selectors.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,wBAAwB;IAGtC,SAAS,kBAAkB,CAAC,KAAgC;;QAC1D,OAAO,MAAA,KAAK,CAAC,IAAI,0CAAE,OAAO,CAAC;IAC7B,CAAC;IACD,OAAO;QACL,kBAAkB;KACnB,CAAC;AACJ,CAAC","sourcesContent":["import {\n SortEntitiesSelectors,\n SortEntitiesState,\n} from './sort-entities.model';\n\nexport function createSortTraitSelectors<\n Entity\n>(): SortEntitiesSelectors<Entity> {\n function selectEntitiesSort(state: SortEntitiesState<Entity>) {\n return state.sort?.current;\n }\n return {\n selectEntitiesSort,\n };\n}\n"]}
@@ -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=sort-entities.utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort-entities.utils.js","sourceRoot":"","sources":["../../../../../../libs/ngrx-traits/common/src/lib/sort-entities/sort-entities.utils.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAE1C,MAAM,UAAU,cAAc,CAAC,KAAU;IACvC,iGAAiG;IACjG,4FAA4F;IAC5F,oFAAoF;IACpF,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAO,EACP,YAAoB;IAEpB,MAAM,KAAK,GAAI,IAA+B,CAAC,YAAY,CAAC,CAAC;IAE7D,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAElC,qEAAqE;QACrE,8DAA8D;QAC9D,OAAO,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;KAC7D;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAI,IAAS,EAAE,IAAa;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,MAAM,IAAI,SAAS,KAAK,EAAE,EAAE;QAC/B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,EAAE,MAAgB,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,EAAE,MAAgB,CAAC,CAAC;QAExD,sFAAsF;QACtF,2FAA2F;QAC3F,4EAA4E;QAC5E,6CAA6C;QAC7C,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE;YACpC,4FAA4F;YAE5F,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBAC5D,mFAAmF;gBACnF,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;aACvE;iBAAM;gBACL,IAAI,MAAM,GAAG,MAAM,EAAE;oBACnB,gBAAgB,GAAG,CAAC,CAAC;iBACtB;qBAAM,IAAI,MAAM,GAAG,MAAM,EAAE;oBAC1B,gBAAgB,GAAG,CAAC,CAAC,CAAC;iBACvB;aACF;SACF;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,gBAAgB,GAAG,CAAC,CAAC;SACtB;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,gBAAgB,GAAG,CAAC,CAAC,CAAC;SACvB;QAED,OAAO,gBAAgB,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { Sort } from './sort-entities.model';\n\nconst MAX_SAFE_INTEGER = 9007199254740991;\n\nexport function _isNumberValue(value: any): boolean {\n // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n // and other non-number values as NaN, where Number just uses 0) but it considers the string\n // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n return !isNaN(parseFloat(value as any)) && !isNaN(Number(value));\n}\n\nfunction sortingDataAccessor<T>(\n data: T,\n sortHeaderId: string\n): string | number {\n const value = (data as { [key: string]: any })[sortHeaderId];\n\n if (_isNumberValue(value)) {\n const numberValue = Number(value);\n\n // Numbers beyond `MAX_SAFE_INTEGER` can't be compared reliably so we\n // leave them as strings. For more info: https://goo.gl/y5vbSg\n return numberValue < MAX_SAFE_INTEGER ? numberValue : value;\n }\n\n return value;\n}\n\n/**\n * @internal\n * @ignore\n * Gets a sorted copy of the data array based on the state of the Sort.\n * @param data The array of data that should be sorted.\n * @param sort The connected MatSort that holds the current sort state.\n */\nexport function sortData<T>(data: T[], sort: Sort<T>): T[] {\n const active = sort.active;\n const direction = sort.direction;\n if (!active || direction === '') {\n return data;\n }\n\n return data.sort((a, b) => {\n const valueA = sortingDataAccessor(a, active as string);\n const valueB = sortingDataAccessor(b, active as string);\n\n // If both valueA and valueB exist (truthy), then compare the two. Otherwise, check if\n // one value exists while the other doesn't. In this case, existing value should come last.\n // This avoids inconsistent results when comparing values to undefined/null.\n // If neither value exists, return 0 (equal).\n let comparatorResult = 0;\n if (valueA != null && valueB != null) {\n // Check if one value is greater than the other; if equal, comparatorResult should remain 0.\n\n if (typeof valueA === 'string' || typeof valueB === 'string') {\n // if either values are a string, then force both to be strings before localCompare\n comparatorResult = valueA.toString().localeCompare(valueB.toString());\n } else {\n if (valueA > valueB) {\n comparatorResult = 1;\n } else if (valueA < valueB) {\n comparatorResult = -1;\n }\n }\n } else if (valueA != null) {\n comparatorResult = 1;\n } else if (valueB != null) {\n comparatorResult = -1;\n }\n\n return comparatorResult * (direction === 'asc' ? 1 : -1);\n });\n}\n"]}