@ng-atomic/common 19.25.0 → 19.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/fesm2022/ng-atomic-common-directives-active-control.mjs +10 -10
  2. package/fesm2022/ng-atomic-common-directives-active-control.mjs.map +1 -1
  3. package/fesm2022/ng-atomic-common-directives-fallback-src.mjs +4 -4
  4. package/fesm2022/ng-atomic-common-directives-fallback-src.mjs.map +1 -1
  5. package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs +7 -7
  6. package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs.map +1 -1
  7. package/fesm2022/ng-atomic-common-directives-molecules-column.mjs +20 -20
  8. package/fesm2022/ng-atomic-common-directives-molecules-column.mjs.map +1 -1
  9. package/fesm2022/ng-atomic-common-directives-prevent-browser-zoom.mjs +65 -0
  10. package/fesm2022/ng-atomic-common-directives-prevent-browser-zoom.mjs.map +1 -0
  11. package/fesm2022/ng-atomic-common-directives-resize-column.mjs +8 -8
  12. package/fesm2022/ng-atomic-common-directives-resize-column.mjs.map +1 -1
  13. package/fesm2022/ng-atomic-common-interceptors-authorization.mjs +5 -5
  14. package/fesm2022/ng-atomic-common-interceptors-authorization.mjs.map +1 -1
  15. package/fesm2022/ng-atomic-common-interceptors-throttle.mjs +6 -6
  16. package/fesm2022/ng-atomic-common-interceptors-throttle.mjs.map +1 -1
  17. package/fesm2022/ng-atomic-common-interceptors-token.mjs +3 -3
  18. package/fesm2022/ng-atomic-common-interceptors-token.mjs.map +1 -1
  19. package/fesm2022/ng-atomic-common-interceptors.mjs +4 -4
  20. package/fesm2022/ng-atomic-common-interceptors.mjs.map +1 -1
  21. package/fesm2022/ng-atomic-common-models.mjs.map +1 -1
  22. package/fesm2022/ng-atomic-common-pipes-actions.mjs +3 -3
  23. package/fesm2022/ng-atomic-common-pipes-actions.mjs.map +1 -1
  24. package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs +3 -3
  25. package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs.map +1 -1
  26. package/fesm2022/ng-atomic-common-pipes-columns.mjs +3 -3
  27. package/fesm2022/ng-atomic-common-pipes-columns.mjs.map +1 -1
  28. package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs +3 -3
  29. package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs.map +1 -1
  30. package/fesm2022/ng-atomic-common-pipes-domain.mjs +3 -3
  31. package/fesm2022/ng-atomic-common-pipes-domain.mjs.map +1 -1
  32. package/fesm2022/ng-atomic-common-pipes-error.mjs +3 -3
  33. package/fesm2022/ng-atomic-common-pipes-error.mjs.map +1 -1
  34. package/fesm2022/ng-atomic-common-pipes-expression.mjs +3 -3
  35. package/fesm2022/ng-atomic-common-pipes-expression.mjs.map +1 -1
  36. package/fesm2022/ng-atomic-common-pipes-grouped-by.mjs +3 -3
  37. package/fesm2022/ng-atomic-common-pipes-grouped-by.mjs.map +1 -1
  38. package/fesm2022/ng-atomic-common-pipes-index-length.mjs +3 -3
  39. package/fesm2022/ng-atomic-common-pipes-index-length.mjs.map +1 -1
  40. package/fesm2022/ng-atomic-common-pipes-index.mjs +3 -3
  41. package/fesm2022/ng-atomic-common-pipes-index.mjs.map +1 -1
  42. package/fesm2022/ng-atomic-common-pipes-keys.mjs +3 -3
  43. package/fesm2022/ng-atomic-common-pipes-keys.mjs.map +1 -1
  44. package/fesm2022/ng-atomic-common-pipes-map.mjs +3 -3
  45. package/fesm2022/ng-atomic-common-pipes-map.mjs.map +1 -1
  46. package/fesm2022/ng-atomic-common-pipes-page.mjs +3 -3
  47. package/fesm2022/ng-atomic-common-pipes-page.mjs.map +1 -1
  48. package/fesm2022/ng-atomic-common-pipes-pagination.mjs +4 -4
  49. package/fesm2022/ng-atomic-common-pipes-pagination.mjs.map +1 -1
  50. package/fesm2022/ng-atomic-common-pipes-query.mjs +4 -4
  51. package/fesm2022/ng-atomic-common-pipes-query.mjs.map +1 -1
  52. package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs +3 -3
  53. package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs.map +1 -1
  54. package/fesm2022/ng-atomic-common-pipes-secret.mjs +3 -3
  55. package/fesm2022/ng-atomic-common-pipes-secret.mjs.map +1 -1
  56. package/fesm2022/ng-atomic-common-pipes-select-id.mjs +3 -3
  57. package/fesm2022/ng-atomic-common-pipes-select-id.mjs.map +1 -1
  58. package/fesm2022/ng-atomic-common-pipes-signal.mjs +3 -3
  59. package/fesm2022/ng-atomic-common-pipes-signal.mjs.map +1 -1
  60. package/fesm2022/ng-atomic-common-pipes-smart-field.mjs +3 -3
  61. package/fesm2022/ng-atomic-common-pipes-smart-field.mjs.map +1 -1
  62. package/fesm2022/ng-atomic-common-pipes-sort-by.mjs +3 -3
  63. package/fesm2022/ng-atomic-common-pipes-sort-by.mjs.map +1 -1
  64. package/fesm2022/ng-atomic-common-pipes-sort.mjs +3 -3
  65. package/fesm2022/ng-atomic-common-pipes-sort.mjs.map +1 -1
  66. package/fesm2022/ng-atomic-common-pipes-style.mjs +3 -3
  67. package/fesm2022/ng-atomic-common-pipes-style.mjs.map +1 -1
  68. package/fesm2022/ng-atomic-common-pipes-yen.mjs +3 -3
  69. package/fesm2022/ng-atomic-common-pipes-yen.mjs.map +1 -1
  70. package/fesm2022/ng-atomic-common-services-app.mjs +6 -6
  71. package/fesm2022/ng-atomic-common-services-app.mjs.map +1 -1
  72. package/fesm2022/ng-atomic-common-services-auth.mjs +3 -3
  73. package/fesm2022/ng-atomic-common-services-auth.mjs.map +1 -1
  74. package/fesm2022/ng-atomic-common-services-breakpoint.mjs +4 -4
  75. package/fesm2022/ng-atomic-common-services-breakpoint.mjs.map +1 -1
  76. package/fesm2022/ng-atomic-common-services-chips-manager.mjs +3 -3
  77. package/fesm2022/ng-atomic-common-services-chips-manager.mjs.map +1 -1
  78. package/fesm2022/ng-atomic-common-services-csv.mjs +3 -3
  79. package/fesm2022/ng-atomic-common-services-csv.mjs.map +1 -1
  80. package/fesm2022/ng-atomic-common-services-editing.mjs +5 -5
  81. package/fesm2022/ng-atomic-common-services-editing.mjs.map +1 -1
  82. package/fesm2022/ng-atomic-common-services-fab.mjs +5 -5
  83. package/fesm2022/ng-atomic-common-services-fab.mjs.map +1 -1
  84. package/fesm2022/ng-atomic-common-services-form-_index.mjs +3 -3
  85. package/fesm2022/ng-atomic-common-services-form-_index.mjs.map +1 -1
  86. package/fesm2022/ng-atomic-common-services-form-columns.mjs +3 -3
  87. package/fesm2022/ng-atomic-common-services-form-columns.mjs.map +1 -1
  88. package/fesm2022/ng-atomic-common-services-form-json-schema.mjs +3 -3
  89. package/fesm2022/ng-atomic-common-services-form-json-schema.mjs.map +1 -1
  90. package/fesm2022/ng-atomic-common-services-form-pagination.mjs +3 -3
  91. package/fesm2022/ng-atomic-common-services-form-pagination.mjs.map +1 -1
  92. package/fesm2022/ng-atomic-common-services-form-sort.mjs +3 -3
  93. package/fesm2022/ng-atomic-common-services-form-sort.mjs.map +1 -1
  94. package/fesm2022/ng-atomic-common-services-form.mjs +1 -1
  95. package/fesm2022/ng-atomic-common-services-form.mjs.map +1 -1
  96. package/fesm2022/ng-atomic-common-services-initializer.mjs +3 -3
  97. package/fesm2022/ng-atomic-common-services-initializer.mjs.map +1 -1
  98. package/fesm2022/ng-atomic-common-services-language.mjs +3 -3
  99. package/fesm2022/ng-atomic-common-services-language.mjs.map +1 -1
  100. package/fesm2022/ng-atomic-common-services-loading.mjs +7 -7
  101. package/fesm2022/ng-atomic-common-services-loading.mjs.map +1 -1
  102. package/fesm2022/ng-atomic-common-services-navigation-history.mjs +7 -7
  103. package/fesm2022/ng-atomic-common-services-navigation-history.mjs.map +1 -1
  104. package/fesm2022/ng-atomic-common-services-query-resolver.mjs +6 -6
  105. package/fesm2022/ng-atomic-common-services-query-resolver.mjs.map +1 -1
  106. package/fesm2022/ng-atomic-common-services-root-property.mjs +9 -9
  107. package/fesm2022/ng-atomic-common-services-root-property.mjs.map +1 -1
  108. package/fesm2022/ng-atomic-common-services-router.mjs +3 -3
  109. package/fesm2022/ng-atomic-common-services-router.mjs.map +1 -1
  110. package/fesm2022/ng-atomic-common-services-secret.mjs +4 -4
  111. package/fesm2022/ng-atomic-common-services-secret.mjs.map +1 -1
  112. package/fesm2022/ng-atomic-common-services-sheets-actions.mjs +19 -19
  113. package/fesm2022/ng-atomic-common-services-sheets-actions.mjs.map +1 -1
  114. package/fesm2022/ng-atomic-common-services-sheets.mjs +7 -7
  115. package/fesm2022/ng-atomic-common-services-sheets.mjs.map +1 -1
  116. package/fesm2022/ng-atomic-common-services-side-app.mjs +7 -7
  117. package/fesm2022/ng-atomic-common-services-side-app.mjs.map +1 -1
  118. package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs +4 -4
  119. package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs.map +1 -1
  120. package/fesm2022/ng-atomic-common-services-snack-bar.mjs +7 -7
  121. package/fesm2022/ng-atomic-common-services-snack-bar.mjs.map +1 -1
  122. package/fesm2022/ng-atomic-common-services-spreadsheet.mjs +70 -70
  123. package/fesm2022/ng-atomic-common-services-spreadsheet.mjs.map +1 -1
  124. package/fesm2022/ng-atomic-common-services-ui.mjs +6 -6
  125. package/fesm2022/ng-atomic-common-services-ui.mjs.map +1 -1
  126. package/fesm2022/ng-atomic-common-stores-entities.mjs +9 -9
  127. package/fesm2022/ng-atomic-common-stores-entities.mjs.map +1 -1
  128. package/fesm2022/ng-atomic-common-stores-entity.mjs.map +1 -1
  129. package/fesm2022/ng-atomic-common-stores-pagination.mjs +3 -3
  130. package/fesm2022/ng-atomic-common-stores-pagination.mjs.map +1 -1
  131. package/fesm2022/ng-atomic-common-stores-query.mjs +3 -3
  132. package/fesm2022/ng-atomic-common-stores-query.mjs.map +1 -1
  133. package/fesm2022/ng-atomic-common-stores-selection.mjs +3 -3
  134. package/fesm2022/ng-atomic-common-stores-selection.mjs.map +1 -1
  135. package/fesm2022/ng-atomic-common-stores-sort.mjs +3 -3
  136. package/fesm2022/ng-atomic-common-stores-sort.mjs.map +1 -1
  137. package/fesm2022/ng-atomic-common-utils.mjs +7 -7
  138. package/fesm2022/ng-atomic-common-utils.mjs.map +1 -1
  139. package/fesm2022/ng-atomic-common.mjs +19 -19
  140. package/fesm2022/ng-atomic-common.mjs.map +1 -1
  141. package/package.json +107 -103
  142. package/{directives/active-control/index.d.ts → types/ng-atomic-common-directives-active-control.d.ts} +1 -1
  143. package/types/ng-atomic-common-directives-active-control.d.ts.map +1 -0
  144. package/{directives/fallback-src/index.d.ts → types/ng-atomic-common-directives-fallback-src.d.ts} +1 -1
  145. package/types/ng-atomic-common-directives-fallback-src.d.ts.map +1 -0
  146. package/{directives/ios-safari-scroll-buggyfill/index.d.ts → types/ng-atomic-common-directives-ios-safari-scroll-buggyfill.d.ts} +1 -1
  147. package/types/ng-atomic-common-directives-ios-safari-scroll-buggyfill.d.ts.map +1 -0
  148. package/{directives/molecules/column/index.d.ts → types/ng-atomic-common-directives-molecules-column.d.ts} +1 -1
  149. package/types/ng-atomic-common-directives-molecules-column.d.ts.map +1 -0
  150. package/types/ng-atomic-common-directives-prevent-browser-zoom.d.ts +21 -0
  151. package/types/ng-atomic-common-directives-prevent-browser-zoom.d.ts.map +1 -0
  152. package/{directives/resize-column/index.d.ts → types/ng-atomic-common-directives-resize-column.d.ts} +1 -1
  153. package/types/ng-atomic-common-directives-resize-column.d.ts.map +1 -0
  154. package/{interceptors/authorization/index.d.ts → types/ng-atomic-common-interceptors-authorization.d.ts} +1 -1
  155. package/types/ng-atomic-common-interceptors-authorization.d.ts.map +1 -0
  156. package/{interceptors/throttle/index.d.ts → types/ng-atomic-common-interceptors-throttle.d.ts} +1 -1
  157. package/types/ng-atomic-common-interceptors-throttle.d.ts.map +1 -0
  158. package/{interceptors/token/index.d.ts → types/ng-atomic-common-interceptors-token.d.ts} +1 -1
  159. package/types/ng-atomic-common-interceptors-token.d.ts.map +1 -0
  160. package/{interceptors/index.d.ts → types/ng-atomic-common-interceptors.d.ts} +1 -1
  161. package/types/ng-atomic-common-interceptors.d.ts.map +1 -0
  162. package/{models/index.d.ts → types/ng-atomic-common-models.d.ts} +1 -1
  163. package/types/ng-atomic-common-models.d.ts.map +1 -0
  164. package/{pipes/actions/index.d.ts → types/ng-atomic-common-pipes-actions.d.ts} +1 -1
  165. package/types/ng-atomic-common-pipes-actions.d.ts.map +1 -0
  166. package/{pipes/auto-columns/index.d.ts → types/ng-atomic-common-pipes-auto-columns.d.ts} +1 -1
  167. package/types/ng-atomic-common-pipes-auto-columns.d.ts.map +1 -0
  168. package/{pipes/columns/index.d.ts → types/ng-atomic-common-pipes-columns.d.ts} +1 -1
  169. package/types/ng-atomic-common-pipes-columns.d.ts.map +1 -0
  170. package/{pipes/data-accessor/index.d.ts → types/ng-atomic-common-pipes-data-accessor.d.ts} +1 -1
  171. package/types/ng-atomic-common-pipes-data-accessor.d.ts.map +1 -0
  172. package/{pipes/domain/index.d.ts → types/ng-atomic-common-pipes-domain.d.ts} +1 -1
  173. package/types/ng-atomic-common-pipes-domain.d.ts.map +1 -0
  174. package/{pipes/error/index.d.ts → types/ng-atomic-common-pipes-error.d.ts} +1 -1
  175. package/types/ng-atomic-common-pipes-error.d.ts.map +1 -0
  176. package/{pipes/expression/index.d.ts → types/ng-atomic-common-pipes-expression.d.ts} +1 -1
  177. package/types/ng-atomic-common-pipes-expression.d.ts.map +1 -0
  178. package/{pipes/grouped-by/index.d.ts → types/ng-atomic-common-pipes-grouped-by.d.ts} +1 -1
  179. package/types/ng-atomic-common-pipes-grouped-by.d.ts.map +1 -0
  180. package/{pipes/index-length/index.d.ts → types/ng-atomic-common-pipes-index-length.d.ts} +1 -1
  181. package/types/ng-atomic-common-pipes-index-length.d.ts.map +1 -0
  182. package/{pipes/index/index.d.ts → types/ng-atomic-common-pipes-index.d.ts} +1 -1
  183. package/types/ng-atomic-common-pipes-index.d.ts.map +1 -0
  184. package/{pipes/keys/index.d.ts → types/ng-atomic-common-pipes-keys.d.ts} +1 -1
  185. package/types/ng-atomic-common-pipes-keys.d.ts.map +1 -0
  186. package/{pipes/map/index.d.ts → types/ng-atomic-common-pipes-map.d.ts} +1 -1
  187. package/types/ng-atomic-common-pipes-map.d.ts.map +1 -0
  188. package/{pipes/page/index.d.ts → types/ng-atomic-common-pipes-page.d.ts} +1 -1
  189. package/types/ng-atomic-common-pipes-page.d.ts.map +1 -0
  190. package/{pipes/pagination/index.d.ts → types/ng-atomic-common-pipes-pagination.d.ts} +1 -1
  191. package/types/ng-atomic-common-pipes-pagination.d.ts.map +1 -0
  192. package/{pipes/query/index.d.ts → types/ng-atomic-common-pipes-query.d.ts} +1 -1
  193. package/types/ng-atomic-common-pipes-query.d.ts.map +1 -0
  194. package/{pipes/resolve-columns/index.d.ts → types/ng-atomic-common-pipes-resolve-columns.d.ts} +1 -1
  195. package/types/ng-atomic-common-pipes-resolve-columns.d.ts.map +1 -0
  196. package/{pipes/secret/index.d.ts → types/ng-atomic-common-pipes-secret.d.ts} +1 -1
  197. package/types/ng-atomic-common-pipes-secret.d.ts.map +1 -0
  198. package/{pipes/select-id/index.d.ts → types/ng-atomic-common-pipes-select-id.d.ts} +1 -1
  199. package/types/ng-atomic-common-pipes-select-id.d.ts.map +1 -0
  200. package/{pipes/signal/index.d.ts → types/ng-atomic-common-pipes-signal.d.ts} +1 -1
  201. package/types/ng-atomic-common-pipes-signal.d.ts.map +1 -0
  202. package/{pipes/smart-field/index.d.ts → types/ng-atomic-common-pipes-smart-field.d.ts} +1 -1
  203. package/types/ng-atomic-common-pipes-smart-field.d.ts.map +1 -0
  204. package/{pipes/sort-by/index.d.ts → types/ng-atomic-common-pipes-sort-by.d.ts} +1 -1
  205. package/types/ng-atomic-common-pipes-sort-by.d.ts.map +1 -0
  206. package/{pipes/sort/index.d.ts → types/ng-atomic-common-pipes-sort.d.ts} +1 -1
  207. package/types/ng-atomic-common-pipes-sort.d.ts.map +1 -0
  208. package/{pipes/style/index.d.ts → types/ng-atomic-common-pipes-style.d.ts} +1 -1
  209. package/types/ng-atomic-common-pipes-style.d.ts.map +1 -0
  210. package/{pipes/yen/index.d.ts → types/ng-atomic-common-pipes-yen.d.ts} +1 -1
  211. package/types/ng-atomic-common-pipes-yen.d.ts.map +1 -0
  212. package/{services/app/index.d.ts → types/ng-atomic-common-services-app.d.ts} +1 -1
  213. package/types/ng-atomic-common-services-app.d.ts.map +1 -0
  214. package/{services/auth/index.d.ts → types/ng-atomic-common-services-auth.d.ts} +1 -1
  215. package/types/ng-atomic-common-services-auth.d.ts.map +1 -0
  216. package/{services/breakpoint/index.d.ts → types/ng-atomic-common-services-breakpoint.d.ts} +1 -1
  217. package/types/ng-atomic-common-services-breakpoint.d.ts.map +1 -0
  218. package/{services/chips-manager/index.d.ts → types/ng-atomic-common-services-chips-manager.d.ts} +1 -1
  219. package/types/ng-atomic-common-services-chips-manager.d.ts.map +1 -0
  220. package/{services/csv/index.d.ts → types/ng-atomic-common-services-csv.d.ts} +1 -1
  221. package/types/ng-atomic-common-services-csv.d.ts.map +1 -0
  222. package/{services/editing/index.d.ts → types/ng-atomic-common-services-editing.d.ts} +1 -1
  223. package/types/ng-atomic-common-services-editing.d.ts.map +1 -0
  224. package/{services/fab/index.d.ts → types/ng-atomic-common-services-fab.d.ts} +1 -1
  225. package/types/ng-atomic-common-services-fab.d.ts.map +1 -0
  226. package/{services/form/_index/index.d.ts → types/ng-atomic-common-services-form-_index.d.ts} +1 -1
  227. package/types/ng-atomic-common-services-form-_index.d.ts.map +1 -0
  228. package/{services/form/columns/index.d.ts → types/ng-atomic-common-services-form-columns.d.ts} +1 -1
  229. package/types/ng-atomic-common-services-form-columns.d.ts.map +1 -0
  230. package/{services/form/json-schema/index.d.ts → types/ng-atomic-common-services-form-json-schema.d.ts} +1 -1
  231. package/types/ng-atomic-common-services-form-json-schema.d.ts.map +1 -0
  232. package/{services/form/pagination/index.d.ts → types/ng-atomic-common-services-form-pagination.d.ts} +1 -1
  233. package/types/ng-atomic-common-services-form-pagination.d.ts.map +1 -0
  234. package/{services/form/sort/index.d.ts → types/ng-atomic-common-services-form-sort.d.ts} +1 -1
  235. package/types/ng-atomic-common-services-form-sort.d.ts.map +1 -0
  236. package/{services/form/index.d.ts → types/ng-atomic-common-services-form.d.ts} +1 -1
  237. package/types/ng-atomic-common-services-form.d.ts.map +1 -0
  238. package/{services/initializer/index.d.ts → types/ng-atomic-common-services-initializer.d.ts} +1 -1
  239. package/types/ng-atomic-common-services-initializer.d.ts.map +1 -0
  240. package/{services/language/index.d.ts → types/ng-atomic-common-services-language.d.ts} +1 -1
  241. package/types/ng-atomic-common-services-language.d.ts.map +1 -0
  242. package/{services/loading/index.d.ts → types/ng-atomic-common-services-loading.d.ts} +1 -1
  243. package/types/ng-atomic-common-services-loading.d.ts.map +1 -0
  244. package/{services/navigation-history/index.d.ts → types/ng-atomic-common-services-navigation-history.d.ts} +1 -1
  245. package/types/ng-atomic-common-services-navigation-history.d.ts.map +1 -0
  246. package/{services/query-resolver/index.d.ts → types/ng-atomic-common-services-query-resolver.d.ts} +1 -1
  247. package/types/ng-atomic-common-services-query-resolver.d.ts.map +1 -0
  248. package/{services/root-property/index.d.ts → types/ng-atomic-common-services-root-property.d.ts} +1 -1
  249. package/types/ng-atomic-common-services-root-property.d.ts.map +1 -0
  250. package/{services/router/index.d.ts → types/ng-atomic-common-services-router.d.ts} +1 -1
  251. package/types/ng-atomic-common-services-router.d.ts.map +1 -0
  252. package/{services/secret/index.d.ts → types/ng-atomic-common-services-secret.d.ts} +1 -1
  253. package/types/ng-atomic-common-services-secret.d.ts.map +1 -0
  254. package/{services/sheets/actions/index.d.ts → types/ng-atomic-common-services-sheets-actions.d.ts} +1 -1
  255. package/types/ng-atomic-common-services-sheets-actions.d.ts.map +1 -0
  256. package/{services/sheets/index.d.ts → types/ng-atomic-common-services-sheets.d.ts} +1 -1
  257. package/types/ng-atomic-common-services-sheets.d.ts.map +1 -0
  258. package/{services/side-app/index.d.ts → types/ng-atomic-common-services-side-app.d.ts} +1 -1
  259. package/types/ng-atomic-common-services-side-app.d.ts.map +1 -0
  260. package/{services/side-nav-mode/index.d.ts → types/ng-atomic-common-services-side-nav-mode.d.ts} +1 -1
  261. package/types/ng-atomic-common-services-side-nav-mode.d.ts.map +1 -0
  262. package/{services/snack-bar/index.d.ts → types/ng-atomic-common-services-snack-bar.d.ts} +1 -1
  263. package/types/ng-atomic-common-services-snack-bar.d.ts.map +1 -0
  264. package/{services/spreadsheet/index.d.ts → types/ng-atomic-common-services-spreadsheet.d.ts} +1 -1
  265. package/types/ng-atomic-common-services-spreadsheet.d.ts.map +1 -0
  266. package/{services/ui/index.d.ts → types/ng-atomic-common-services-ui.d.ts} +1 -1
  267. package/types/ng-atomic-common-services-ui.d.ts.map +1 -0
  268. package/{stores/entities/index.d.ts → types/ng-atomic-common-stores-entities.d.ts} +9 -4
  269. package/types/ng-atomic-common-stores-entities.d.ts.map +1 -0
  270. package/{stores/entity/index.d.ts → types/ng-atomic-common-stores-entity.d.ts} +1 -1
  271. package/types/ng-atomic-common-stores-entity.d.ts.map +1 -0
  272. package/{stores/pagination/index.d.ts → types/ng-atomic-common-stores-pagination.d.ts} +1 -1
  273. package/types/ng-atomic-common-stores-pagination.d.ts.map +1 -0
  274. package/{stores/query/index.d.ts → types/ng-atomic-common-stores-query.d.ts} +1 -1
  275. package/types/ng-atomic-common-stores-query.d.ts.map +1 -0
  276. package/{stores/selection/index.d.ts → types/ng-atomic-common-stores-selection.d.ts} +1 -1
  277. package/types/ng-atomic-common-stores-selection.d.ts.map +1 -0
  278. package/{stores/sort/index.d.ts → types/ng-atomic-common-stores-sort.d.ts} +1 -1
  279. package/types/ng-atomic-common-stores-sort.d.ts.map +1 -0
  280. package/{utils/index.d.ts → types/ng-atomic-common-utils.d.ts} +1 -1
  281. package/types/ng-atomic-common-utils.d.ts.map +1 -0
  282. package/{index.d.ts → types/ng-atomic-common.d.ts} +1 -1
  283. package/types/ng-atomic-common.d.ts.map +1 -0
  284. package/directives/active-control/index.d.ts.map +0 -1
  285. package/directives/fallback-src/index.d.ts.map +0 -1
  286. package/directives/ios-safari-scroll-buggyfill/index.d.ts.map +0 -1
  287. package/directives/molecules/column/index.d.ts.map +0 -1
  288. package/directives/resize-column/index.d.ts.map +0 -1
  289. package/index.d.ts.map +0 -1
  290. package/interceptors/authorization/index.d.ts.map +0 -1
  291. package/interceptors/index.d.ts.map +0 -1
  292. package/interceptors/throttle/index.d.ts.map +0 -1
  293. package/interceptors/token/index.d.ts.map +0 -1
  294. package/models/index.d.ts.map +0 -1
  295. package/pipes/actions/index.d.ts.map +0 -1
  296. package/pipes/auto-columns/index.d.ts.map +0 -1
  297. package/pipes/columns/index.d.ts.map +0 -1
  298. package/pipes/data-accessor/index.d.ts.map +0 -1
  299. package/pipes/domain/index.d.ts.map +0 -1
  300. package/pipes/error/index.d.ts.map +0 -1
  301. package/pipes/expression/index.d.ts.map +0 -1
  302. package/pipes/grouped-by/index.d.ts.map +0 -1
  303. package/pipes/index/index.d.ts.map +0 -1
  304. package/pipes/index-length/index.d.ts.map +0 -1
  305. package/pipes/keys/index.d.ts.map +0 -1
  306. package/pipes/map/index.d.ts.map +0 -1
  307. package/pipes/page/index.d.ts.map +0 -1
  308. package/pipes/pagination/index.d.ts.map +0 -1
  309. package/pipes/query/index.d.ts.map +0 -1
  310. package/pipes/resolve-columns/index.d.ts.map +0 -1
  311. package/pipes/secret/index.d.ts.map +0 -1
  312. package/pipes/select-id/index.d.ts.map +0 -1
  313. package/pipes/signal/index.d.ts.map +0 -1
  314. package/pipes/smart-field/index.d.ts.map +0 -1
  315. package/pipes/sort/index.d.ts.map +0 -1
  316. package/pipes/sort-by/index.d.ts.map +0 -1
  317. package/pipes/style/index.d.ts.map +0 -1
  318. package/pipes/yen/index.d.ts.map +0 -1
  319. package/services/app/index.d.ts.map +0 -1
  320. package/services/auth/index.d.ts.map +0 -1
  321. package/services/breakpoint/index.d.ts.map +0 -1
  322. package/services/chips-manager/index.d.ts.map +0 -1
  323. package/services/csv/index.d.ts.map +0 -1
  324. package/services/editing/index.d.ts.map +0 -1
  325. package/services/fab/index.d.ts.map +0 -1
  326. package/services/form/_index/index.d.ts.map +0 -1
  327. package/services/form/columns/index.d.ts.map +0 -1
  328. package/services/form/index.d.ts.map +0 -1
  329. package/services/form/json-schema/index.d.ts.map +0 -1
  330. package/services/form/pagination/index.d.ts.map +0 -1
  331. package/services/form/sort/index.d.ts.map +0 -1
  332. package/services/initializer/index.d.ts.map +0 -1
  333. package/services/language/index.d.ts.map +0 -1
  334. package/services/loading/index.d.ts.map +0 -1
  335. package/services/navigation-history/index.d.ts.map +0 -1
  336. package/services/query-resolver/index.d.ts.map +0 -1
  337. package/services/root-property/index.d.ts.map +0 -1
  338. package/services/router/index.d.ts.map +0 -1
  339. package/services/secret/index.d.ts.map +0 -1
  340. package/services/sheets/actions/index.d.ts.map +0 -1
  341. package/services/sheets/index.d.ts.map +0 -1
  342. package/services/side-app/index.d.ts.map +0 -1
  343. package/services/side-nav-mode/index.d.ts.map +0 -1
  344. package/services/snack-bar/index.d.ts.map +0 -1
  345. package/services/spreadsheet/index.d.ts.map +0 -1
  346. package/services/ui/index.d.ts.map +0 -1
  347. package/stores/entities/index.d.ts.map +0 -1
  348. package/stores/entity/index.d.ts.map +0 -1
  349. package/stores/pagination/index.d.ts.map +0 -1
  350. package/stores/query/index.d.ts.map +0 -1
  351. package/stores/selection/index.d.ts.map +0 -1
  352. package/stores/sort/index.d.ts.map +0 -1
  353. package/utils/index.d.ts.map +0 -1
@@ -24,18 +24,18 @@ class UiService {
24
24
  this.uiContext = computed(() => ({
25
25
  breakpoint: this.breakpoint.breakpoint(),
26
26
  paths: this.paths(),
27
- }));
27
+ }), ...(ngDevMode ? [{ debugName: "uiContext" }] : []));
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: UiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
30
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: UiService, providedIn: 'root' }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: UiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
30
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: UiService, providedIn: 'root' }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: UiService, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: UiService, decorators: [{
33
33
  type: Injectable,
34
34
  args: [{ providedIn: 'root' }]
35
35
  }] });
36
36
 
37
37
  function scoped(source, path) {
38
- const scopedSignal = signal(get(source(), path));
38
+ const scopedSignal = signal(get(source(), path), ...(ngDevMode ? [{ debugName: "scopedSignal" }] : []));
39
39
  effect(() => {
40
40
  scopedSignal.set(get(source(), path, source()));
41
41
  });
@@ -212,7 +212,7 @@ function injectRootConfig(paths = [], token = UI_CONFIG_REDUCER) {
212
212
  return reducers.reduce((acc, reducer) => {
213
213
  return runInInjectionContext(hostInjector, () => reducer(acc, context));
214
214
  }, {});
215
- });
215
+ }, ...(ngDevMode ? [{ debugName: "rootConfig" }] : []));
216
216
  return rootConfig;
217
217
  }
218
218
  // TODO(@nontangent): itemsなどの取得が全てのコンポーネントで行われるので計算を最適化する。
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-services-ui.mjs","sources":["../tmp-esm2022/services/ui/ui.service.js","../tmp-esm2022/services/ui/ui.helpers.js","../tmp-esm2022/services/ui/ng-atomic-common-services-ui.js"],"sourcesContent":["import { Injectable, PLATFORM_ID, computed, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { NavigationStart } from '@angular/router';\nimport { filter, map, startWith } from 'rxjs';\nimport { isPlatformBrowser } from '@angular/common';\nimport { RouterService } from '@ng-atomic/common/services/router';\nimport { BreakpointService } from '@ng-atomic/common/services/breakpoint';\nimport * as i0 from \"@angular/core\";\nexport class UiService {\n constructor() {\n this.breakpoint = inject(BreakpointService);\n this.router = inject(RouterService);\n this.platformId = inject(PLATFORM_ID);\n this.paths$ = this.router.events.pipe(filter(event => event instanceof NavigationStart), map((event) => event.url), startWith(isPlatformBrowser(this.platformId) ? window?.location?.pathname : ''), map(url => this.router.parseUrl(url)), map(urlTree => urlTree.root.children?.primary?.segments ?? []));\n this.paths = toSignal(this.paths$);\n this.snapshot$ = this.router.events.pipe(filter(event => event instanceof NavigationStart), map(() => this.router.routerState.snapshot.root));\n this.snapshot = toSignal(this.snapshot$);\n this.uiContext = computed(() => ({\n breakpoint: this.breakpoint.breakpoint(),\n paths: this.paths(),\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: UiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: UiService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: UiService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvdWkvdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQWMsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFRdEYsTUFBTSxPQUFPLFNBQVM7SUFEdEI7UUFFVyxlQUFVLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdkMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQixlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWpDLFdBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3ZDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsRUFDakQsR0FBRyxDQUFDLENBQUMsS0FBc0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUMxQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQy9FLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDLENBQy9ELENBQUM7UUFDTyxVQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QixjQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUMxQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLEVBQ2pELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2pELENBQUM7UUFDTyxhQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwQyxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFO1lBQ3hDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO1NBQ3BCLENBQUMsQ0FBQyxDQUFDO0tBQ0w7OEdBeEJZLFNBQVM7a0hBQVQsU0FBUyxjQURJLE1BQU07OzJGQUNuQixTQUFTO2tCQURyQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQsIGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlclNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9yb3V0ZXInO1xuaW1wb3J0IHsgQnJlYWtwb2ludCwgQnJlYWtwb2ludFNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9icmVha3BvaW50JztcblxuZXhwb3J0IGludGVyZmFjZSBVSUNvbnRleHQge1xuICBicmVha3BvaW50OiBCcmVha3BvaW50O1xuICBwYXRoczogYW55W107XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVWlTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgYnJlYWtwb2ludCA9IGluamVjdChCcmVha3BvaW50U2VydmljZSk7XG4gIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgcmVhZG9ubHkgcGF0aHMkID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSxcbiAgICBtYXAoKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpID0+IGV2ZW50LnVybCksXG4gICAgc3RhcnRXaXRoKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgPyB3aW5kb3c/LmxvY2F0aW9uPy5wYXRobmFtZSA6ICcnKSxcbiAgICBtYXAodXJsID0+IHRoaXMucm91dGVyLnBhcnNlVXJsKHVybCkpLFxuICAgIG1hcCh1cmxUcmVlID0+IHVybFRyZWUucm9vdC5jaGlsZHJlbj8ucHJpbWFyeT8uc2VnbWVudHMgPz8gW10pLFxuICApO1xuICByZWFkb25seSBwYXRocyA9IHRvU2lnbmFsKHRoaXMucGF0aHMkKTtcblxuICByZWFkb25seSBzbmFwc2hvdCQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLFxuICAgIG1hcCgoKSA9PiB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC5yb290KSxcbiAgKTtcbiAgcmVhZG9ubHkgc25hcHNob3QgPSB0b1NpZ25hbCh0aGlzLnNuYXBzaG90JCk7XG5cbiAgcmVhZG9ubHkgdWlDb250ZXh0ID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICBicmVha3BvaW50OiB0aGlzLmJyZWFrcG9pbnQuYnJlYWtwb2ludCgpLFxuICAgIHBhdGhzOiB0aGlzLnBhdGhzKCksXG4gIH0pKTtcbn1cbiJdfQ==","import { ElementRef, InjectionToken, Injector, computed, effect, inject, isSignal, runInInjectionContext, signal } from \"@angular/core\";\nimport { UiService } from \"./ui.service\";\nimport { get, set } from \"lodash-es\";\nimport { makeProvideComopnentConfigure } from \"@ng-atomic/core\";\nimport { ActivatedRoute, PRIMARY_OUTLET, Router } from \"@angular/router\";\nimport { map, shareReplay, startWith, take } from \"rxjs\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { NavigationHistoryService } from \"@ng-atomic/common/services/navigation-history\";\nimport { derivedAsync } from \"ngxtension/derived-async\";\nimport { makeInitializerConfig } from \"@ng-atomic/common/services/initializer\";\nexport function scoped(source, path) {\n const scopedSignal = signal(get(source(), path));\n effect(() => {\n scopedSignal.set(get(source(), path, source()));\n });\n return computed(() => scopedSignal());\n}\nexport function injectBreakpoint() {\n return inject(UiService).breakpoint.breakpoint;\n}\nexport function injectIsMobile() {\n const breakpoint = injectBreakpoint();\n return computed(() => ['xSmall', 'small'].includes(breakpoint()));\n}\nexport var NavActionId;\n(function (NavActionId) {\n NavActionId[\"TOGGLE_SIDE_NAV\"] = \"[@ng-atomic/common/services/ui] TOGGLE_SIDE_NAV\";\n NavActionId[\"BACK\"] = \"[@ng-atomic/common/services/ui] BACK\";\n NavActionId[\"CLOSE\"] = \"[@ng-atomic/common/services/ui] CLOSE\";\n})(NavActionId || (NavActionId = {}));\n// routeを遡る\nfunction flattenRoutes(route) {\n const routes = [];\n let route_ = route;\n while (route_) {\n routes.push(route_);\n if (!route_.parent)\n break;\n route_ = route_.parent;\n }\n return routes;\n}\nexport function isRootPageRoute(route, outlet = PRIMARY_OUTLET) {\n const routes = flattenRoutes(route).reverse();\n const outletRootIndex = routes.findIndex(route => route.outlet === outlet);\n const outletComponentRoutes = routes\n .slice(outletRootIndex)\n .filter(route => !!route?.component);\n return outletComponentRoutes.length <= 2;\n}\nexport function injectIsRootPage$(outlet = PRIMARY_OUTLET) {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(startWith(null), map(() => isRootPageRoute(route, outlet)), take(1), shareReplay(1), takeUntilDestroyed());\n}\nexport function injectIsRootPage(outlet = PRIMARY_OUTLET) {\n const isRootPage$ = injectIsRootPage$(outlet);\n const injector = inject(Injector);\n return derivedAsync(() => isRootPage$, { injector });\n}\nexport function injectNavStartActions(isRootPage = signal(false)) {\n const context = injectUiContext();\n const navigationHistory = inject(NavigationHistoryService);\n const isInitial = false;\n return computed(() => {\n console.debug('[UiService] navigationHistory:', navigationHistory);\n const isRootPage_ = isRootPage();\n const context_ = context();\n switch (context_.breakpoint) {\n case 'xLarge':\n case 'large':\n case 'medium':\n case 'small': {\n if (isRootPage_) {\n return [];\n }\n else {\n if (isInitial) {\n return [];\n }\n else {\n return [{ id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }];\n }\n }\n }\n case 'xSmall': {\n if (isRootPage_) {\n return [{ id: NavActionId.TOGGLE_SIDE_NAV, name: 'メニュー', icon: 'menu' }];\n }\n else {\n if (isInitial) {\n return [{ id: NavActionId.TOGGLE_SIDE_NAV, name: 'メニュー', icon: 'menu' }];\n }\n else {\n return [{ id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }];\n }\n }\n }\n default: {\n if (isRootPage_)\n return [];\n return [{ id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }];\n }\n }\n });\n}\nexport function injectNavStartActionsV2() {\n const isRootPage = injectIsRootPage();\n return injectNavStartActions(isRootPage);\n}\nexport function injectSideAppNavStartActions(outlet = 'side') {\n const context = injectUiContext();\n const isRootPageV2 = injectIsRootPage(outlet);\n return computed(() => {\n const isRootPage_ = isRootPageV2();\n const context_ = context();\n switch (context_.breakpoint) {\n default: {\n if (isRootPage_) {\n return [\n { id: NavActionId.CLOSE, name: 'CLOSE', icon: 'close' },\n ];\n }\n else {\n return [\n { id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }\n ];\n }\n }\n }\n });\n}\nexport function injectUiContext() {\n return inject(UiService).uiContext;\n}\nexport const UI_CONFIG_REDUCER = new InjectionToken('UI_CONFIG_REDUCER');\nexport const wrap = (defaultReducerFactory) => {\n return (injector, hostInjector) => {\n const reducer = defaultReducerFactory(injector, hostInjector);\n return (_, context) => {\n return reducer(context);\n };\n };\n};\nexport function call(signalOrValue) {\n return isSignal(signalOrValue) ? signalOrValue() : signalOrValue;\n}\nfunction setReducerPath(reducer, path) {\n Object.defineProperty(reducer, 'path', { value: path, configurable: true });\n return reducer;\n}\nfunction getReducerPath(reducer) {\n return reducer['path'];\n}\nexport function provideUiConfig(reducerFactory, path = [], name = 'name', token = UI_CONFIG_REDUCER) {\n return {\n provide: token,\n useFactory: (injector) => {\n function _reducerFactory(hostInjector) {\n const reducer = reducerFactory(injector, hostInjector);\n return (config, context) => {\n if (path.length === 0)\n return reducer(config, context);\n return set(config, path, reducer(get(config, path), context));\n };\n }\n Object.defineProperty(_reducerFactory, 'name', { value: name, configurable: true });\n setReducerPath(_reducerFactory, path);\n return _reducerFactory;\n },\n deps: [Injector],\n multi: true,\n };\n}\nexport function injectRootConfig(paths = [], token = UI_CONFIG_REDUCER) {\n const uiContext = injectUiContext();\n const factories = injectReducerFactories(paths, token);\n const hostInjector = inject(Injector);\n const reducers = factories.map(factory => {\n return runInInjectionContext(hostInjector, () => factory(hostInjector));\n });\n if (!reducers)\n return undefined;\n const rootConfig = computed(() => {\n const context = uiContext();\n return reducers.reduce((acc, reducer) => {\n return runInInjectionContext(hostInjector, () => reducer(acc, context));\n }, {});\n });\n return rootConfig;\n}\n// TODO(@nontangent): itemsなどの取得が全てのコンポーネントで行われるので計算を最適化する。\nexport function injectUiConfig(paths = [], token = UI_CONFIG_REDUCER) {\n const rootConfig = injectRootConfig(paths, token);\n return scoped(rootConfig, paths);\n}\nexport function makeConfig(defaultUseFactory, path) {\n const factory = wrap(defaultUseFactory);\n const token = new InjectionToken(`[${path.join('.')}] UI_CONFIG_REDUCER`);\n return {\n provide(useFactory, label = useFactory ? 'custom' : 'default') {\n useFactory ??= factory;\n return provideUiConfig(useFactory, path, `[${path.join('.')}] ${label}`, token);\n },\n inject() {\n return injectUiConfig(path, token);\n },\n };\n}\nexport function makeDI(type, defaultUseFactory, path) {\n const Config = makeConfig(defaultUseFactory, path);\n const Initializer = makeInitializerConfig(type);\n const provideComponent = makeProvideComopnentConfigure(type);\n return {\n provide: (typeOrComponent) => [\n provideComponent(typeOrComponent), Config.provide(),\n Config.provide(),\n ],\n provideConfig: Config.provide,\n injectConfig: Config.inject,\n provideInitializer: Initializer.provide,\n initialize: Initializer.initializeStore,\n provideComponent,\n Initializer,\n Config,\n };\n}\nfunction injectReducers(token) {\n return injectDeepMulti(token);\n}\nfunction injectReducerFactories(path = [], token = UI_CONFIG_REDUCER) {\n return injectReducers(token).filter(factory => {\n return getReducerPath(factory).every((p, i) => path[i] === p);\n });\n}\nexport function injectDeepMulti(token, injector = inject(Injector)) {\n const valueOrArray = injector.get(token, [], { optional: true });\n const items = Array.isArray(valueOrArray) ? valueOrArray : [valueOrArray];\n const parentInjector = injector.get(Injector, null, { skipSelf: true });\n if (!parentInjector)\n return items;\n return [...new Set([...injectDeepMulti(token, parentInjector), ...items])];\n}\nexport function debugInjector(injector = inject(Injector)) {\n const getParent = (injector, n = 0) => {\n while (injector && n-- > 0) {\n injector = injector.get(Injector, null, { skipSelf: true });\n }\n return injector;\n };\n const getInjectorName = (injector) => {\n const name = injector.get(ElementRef, null)?.nativeElement?.tagName?.toLowerCase();\n if (name)\n return `<${name}>`;\n return `${injector['source']}`;\n };\n const isNodeInjector = (injector) => {\n return injector.get(ElementRef, null) !== null;\n };\n const mapToNames = (reducers) => (reducers ?? []).map(reducer => reducer.name);\n for (let i = 0; i < 20; i++) {\n injector = getParent(injector, i);\n if (injector === Injector.NULL)\n break;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvdWkvdWkuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQXlDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0ssT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQVUsNkJBQTZCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxNQUFNLFVBQVUsTUFBTSxDQUF5QyxNQUFpQixFQUFFLElBQW1CO0lBQ25HLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBVSxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxRCxNQUFNLENBQUMsR0FBRyxFQUFFO1FBQ1YsWUFBWSxD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QU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM1QixRQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsSUFBSTtZQUFFLE1BQU07SUFDeEMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIFByb3ZpZGVyLCBQcm92aWRlclRva2VuLCBTaWduYWwsIFR5cGUsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgaXNTaWduYWwsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFVJQ29udGV4dCwgVWlTZXJ2aWNlIH0gZnJvbSBcIi4vdWkuc2VydmljZVwiO1xuaW1wb3J0IHsgZ2V0LCBzZXQgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBBY3Rpb24sIG1ha2VQcm92aWRlQ29tb3BuZW50Q29uZmlndXJlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29yZVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBSSU1BUllfT1VUTEVULCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHRha2UgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wXCI7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uSGlzdG9yeVNlcnZpY2UgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvbmF2aWdhdGlvbi1oaXN0b3J5XCI7XG5pbXBvcnQgeyBkZXJpdmVkQXN5bmMgfSBmcm9tIFwibmd4dGVuc2lvbi9kZXJpdmVkLWFzeW5jXCI7XG5pbXBvcnQgeyBtYWtlSW5pdGlhbGl6ZXJDb25maWcgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvaW5pdGlhbGl6ZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNjb3BlZDxUIGV4dGVuZHMgb2JqZWN0LCBUS2V5IGV4dGVuZHMga2V5b2YgVD4oc291cmNlOiBTaWduYWw8VD4sIHBhdGg6IFRLZXkgfCBbVEtleV0pOiBTaWduYWw8VFtUS2V5XT4ge1xuICBjb25zdCBzY29wZWRTaWduYWwgPSBzaWduYWw8VFtUS2V5XT4oZ2V0KHNvdXJjZSgpLCBwYXRoKSk7XG4gIGVmZmVjdCgoKSA9PiB7XG4gICAgc2NvcGVkU2lnbmFsLnNldChnZXQoc291cmNlKCksIHBhdGgsIHNvdXJjZSgpKSBhcyBUW1RLZXldKTtcbiAgfSk7XG4gIHJldHVybiBjb21wdXRlZCgoKSA9PiBzY29wZWRTaWduYWwoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RCcmVha3BvaW50KCkge1xuICByZXR1cm4gaW5qZWN0KFVpU2VydmljZSkuYnJlYWtwb2ludC5icmVha3BvaW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0SXNNb2JpbGUoKSB7XG4gIGNvbnN0IGJyZWFrcG9pbnQgPSBpbmplY3RCcmVha3BvaW50KCk7XG4gIHJldHVybiBjb21wdXRlZCgoKSA9PiBbJ3hTbWFsbCcsICdzbWFsbCddLmluY2x1ZGVzKGJyZWFrcG9pbnQoKSkpO1xufVxuXG5leHBvcnQgZW51bSBOYXZBY3Rpb25JZCB7XG4gIFRPR0dMRV9TSURFX05BViA9ICdbQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWldIFRPR0dMRV9TSURFX05BVicsXG4gIEJBQ0sgPSAnW0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpXSBCQUNLJyxcbiAgQ0xPU0UgPSAnW0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpXSBDTE9TRScsXG59XG5cbi8vIHJvdXRl44KS6YGh44KLXG5mdW5jdGlvbiBmbGF0dGVuUm91dGVzKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IEFjdGl2YXRlZFJvdXRlW10ge1xuICBjb25zdCByb3V0ZXMgPSBbXTtcbiAgbGV0IHJvdXRlXyA9IHJvdXRlO1xuICB3aGlsZSAocm91dGVfKSB7XG4gICAgcm91dGVzLnB1c2gocm91dGVfKTtcbiAgICBpZiAoIXJvdXRlXy5wYXJlbnQpIGJyZWFrO1xuICAgIHJvdXRlXyA9IHJvdXRlXy5wYXJlbnQ7XG4gIH1cbiAgcmV0dXJuIHJvdXRlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUm9vdFBhZ2VSb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGUsIG91dGxldCA9IFBSSU1BUllfT1VUTEVUKSB7XG4gIGNvbnN0IHJvdXRlcyA9IGZsYXR0ZW5Sb3V0ZXMocm91dGUpLnJldmVyc2UoKTtcbiAgY29uc3Qgb3V0bGV0Um9vdEluZGV4ID0gcm91dGVzLmZpbmRJbmRleChyb3V0ZSA9PiByb3V0ZS5vdXRsZXQgPT09IG91dGxldCk7XG4gIGNvbnN0IG91dGxldENvbXBvbmVudFJvdXRlcyA9IHJvdXRlc1xuICAgIC5zbGljZShvdXRsZXRSb290SW5kZXgpXG4gICAgLmZpbHRlcihyb3V0ZSA9PiAhIXJvdXRlPy5jb21wb25lbnQpO1xuICByZXR1cm4gb3V0bGV0Q29tcG9uZW50Um91dGVzLmxlbmd0aCA8PSAyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0SXNSb290UGFnZSQob3V0bGV0ID0gUFJJTUFSWV9PVVRMRVQpIHtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGNvbnN0IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcmV0dXJuIHJvdXRlci5ldmVudHMucGlwZShcbiAgICBzdGFydFdpdGgobnVsbCksXG4gICAgbWFwKCgpID0+IGlzUm9vdFBhZ2VSb3V0ZShyb3V0ZSwgb3V0bGV0KSksXG4gICAgdGFrZSgxKSxcbiAgICBzaGFyZVJlcGxheSgxKSxcbiAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdElzUm9vdFBhZ2Uob3V0bGV0ID0gUFJJTUFSWV9PVVRMRVQpIHtcbiAgY29uc3QgaXNSb290UGFnZSQgPSBpbmplY3RJc1Jvb3RQYWdlJChvdXRsZXQpO1xuICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHJldHVybiBkZXJpdmVkQXN5bmMoKCkgPT4gaXNSb290UGFnZSQsIHsgaW5qZWN0b3IgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROYXZTdGFydEFjdGlvbnMoXG4gIGlzUm9vdFBhZ2U6IFNpZ25hbDxib29sZWFuPiA9IHNpZ25hbDxib29sZWFuPihmYWxzZSksXG4pOiBTaWduYWw8QWN0aW9uW10+IHtcbiAgY29uc3QgY29udGV4dCA9IGluamVjdFVpQ29udGV4dCgpO1xuICBjb25zdCBuYXZpZ2F0aW9uSGlzdG9yeSA9IGluamVjdChOYXZpZ2F0aW9uSGlzdG9yeVNlcnZpY2UpO1xuICBjb25zdCBpc0luaXRpYWwgPSBmYWxzZTtcbiAgcmV0dXJuIGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zb2xlLmRlYnVnKCdbVWlTZXJ2aWNlXSBuYXZpZ2F0aW9uSGlzdG9yeTonLCBuYXZpZ2F0aW9uSGlzdG9yeSlcbiAgICBjb25zdCBpc1Jvb3RQYWdlXyA9IGlzUm9vdFBhZ2UoKTtcbiAgICBjb25zdCBjb250ZXh0XyA9IGNvbnRleHQoKTtcbiAgICBzd2l0Y2ggKGNvbnRleHRfLmJyZWFrcG9pbnQpIHtcbiAgICAgIGNhc2UgJ3hMYXJnZSc6XG4gICAgICBjYXNlICdsYXJnZSc6XG4gICAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgY2FzZSAnc21hbGwnOiB7XG4gICAgICAgIGlmIChpc1Jvb3RQYWdlXykge1xuICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaXNJbml0aWFsKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBbeyBpZDogTmF2QWN0aW9uSWQuQkFDSywgbmFtZTogJ0JBQ0snLCBpY29uOiAnYXJyb3dfYmFjaycgfV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjYXNlICd4U21hbGwnOiB7XG4gICAgICAgIGlmIChpc1Jvb3RQYWdlXykge1xuICAgICAgICAgIHJldHVybiBbeyBpZDogTmF2QWN0aW9uSWQuVE9HR0xFX1NJREVfTkFWLCBuYW1lOiAn44Oh44OL44Ol44O8JywgaWNvbjogJ21lbnUnIH1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChpc0luaXRpYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBbeyBpZDogTmF2QWN0aW9uSWQuVE9HR0xFX1NJREVfTkFWLCBuYW1lOiAn44Oh44OL44Ol44O8JywgaWNvbjogJ21lbnUnIH1dXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBbeyBpZDogTmF2QWN0aW9uSWQuQkFDSywgbmFtZTogJ0JBQ0snLCBpY29uOiAnYXJyb3dfYmFjaycgfV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGlmIChpc1Jvb3RQYWdlXykgcmV0dXJuIFtdO1xuICAgICAgICByZXR1cm4gW3sgaWQ6IE5hdkFjdGlvbklkLkJBQ0ssIG5hbWU6ICdCQUNLJywgaWNvbjogJ2Fycm93X2JhY2snIH1dO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROYXZTdGFydEFjdGlvbnNWMigpIHtcbiAgY29uc3QgaXNSb290UGFnZSA9IGluamVjdElzUm9vdFBhZ2UoKTtcbiAgcmV0dXJuIGluamVjdE5hdlN0YXJ0QWN0aW9ucyhpc1Jvb3RQYWdlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFNpZGVBcHBOYXZTdGFydEFjdGlvbnMob3V0bGV0ID0gJ3NpZGUnKTogU2lnbmFsPEFjdGlvbltdPiB7XG4gIGNvbnN0IGNvbnRleHQgPSBpbmplY3RVaUNvbnRleHQoKTtcbiAgY29uc3QgaXNSb290UGFnZVYyID0gaW5qZWN0SXNSb290UGFnZShvdXRsZXQpO1xuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGlzUm9vdFBhZ2VfID0gaXNSb290UGFnZVYyKCk7XG4gICAgY29uc3QgY29udGV4dF8gPSBjb250ZXh0KCk7XG4gICAgc3dpdGNoIChjb250ZXh0Xy5icmVha3BvaW50KSB7XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGlmIChpc1Jvb3RQYWdlXykge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IGlkOiBOYXZBY3Rpb25JZC5DTE9TRSwgbmFtZTogJ0NMT1NFJywgaWNvbjogJ2Nsb3NlJyB9LFxuICAgICAgICAgIF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgaWQ6IE5hdkFjdGlvbklkLkJBQ0ssIG5hbWU6ICdCQUNLJywgaWNvbjogJ2Fycm93X2JhY2snIH1cbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0VWlDb250ZXh0KCk6IFNpZ25hbDxVSUNvbnRleHQ+IHtcbiAgcmV0dXJuIGluamVjdChVaVNlcnZpY2UpLnVpQ29udGV4dDtcbn1cblxuZXhwb3J0IHR5cGUgVWlDb25maWdSZWR1Y2VyPFQgZXh0ZW5kcyBvYmplY3QgfCBzdHJpbmcsIEMgZXh0ZW5kcyBVSUNvbnRleHQgPSBhbnk+ID0gKGNvbmZpZzogVCwgY29udGV4dDogQykgPT4gVDtcbmV4cG9ydCBjb25zdCBVSV9DT05GSUdfUkVEVUNFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxVaUNvbmZpZ1JlZHVjZXI8YW55Pj4oJ1VJX0NPTkZJR19SRURVQ0VSJyk7XG5leHBvcnQgdHlwZSBSZWR1Y2VyRmFjdG9yeTxUIGV4dGVuZHMgb2JqZWN0IHwgc3RyaW5nPlxuICA9IChpbmplY3RvcjogSW5qZWN0b3IsIGhvc3RJbmplY3RvcjogSW5qZWN0b3IpID0+IChjb25maWc6IFQsIGNvbnRleHQ6IFVJQ29udGV4dCkgPT4gVDtcblxuZXhwb3J0IHR5cGUgRGVmYXVsdFJlZHVjZXJGYWN0b3J5PFQgZXh0ZW5kcyBvYmplY3QgfCBzdHJpbmc+XG4gID0gKGluamVjdG9yOiBJbmplY3RvciwgaG9zdEluamVjdG9yOiBJbmplY3RvcikgPT4gKGNvbnRleHQ6IFVJQ29udGV4dCkgPT4gVDtcblxuZXhwb3J0IGNvbnN0IHdyYXAgPSA8VCBleHRlbmRzIG9iamVjdCB8IHN0cmluZz4oXG4gIGRlZmF1bHRSZWR1Y2VyRmFjdG9yeTogRGVmYXVsdFJlZHVjZXJGYWN0b3J5PFQ+LFxuKTogUmVkdWNlckZhY3Rvcnk8VD4gPT4ge1xuICByZXR1cm4gKGluamVjdG9yOiBJbmplY3RvciwgaG9zdEluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgIGNvbnN0IHJlZHVjZXIgPSBkZWZhdWx0UmVkdWNlckZhY3RvcnkoaW5qZWN0b3IsIGhvc3RJbmplY3Rvcik7XG4gICAgcmV0dXJuIChfOiBULCBjb250ZXh0OiBVSUNvbnRleHQpID0+IHtcbiAgICAgIHJldHVybiByZWR1Y2VyKGNvbnRleHQpO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGw8VD4oc2lnbmFsT3JWYWx1ZTogU2lnbmFsPFQ+IHwgVCk6IFQge1xuICByZXR1cm4gaXNTaWduYWwoc2lnbmFsT3JWYWx1ZSkgPyBzaWduYWxPclZhbHVlKCkgOiBzaWduYWxPclZhbHVlO1xufVxuXG5mdW5jdGlvbiBzZXRSZWR1Y2VyUGF0aChyZWR1Y2VyOiBGdW5jdGlvbiwgcGF0aDogc3RyaW5nW10pIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlZHVjZXIsICdwYXRoJywgeyB2YWx1ZTogcGF0aCwgY29uZmlndXJhYmxlOiB0cnVlIH0pO1xuICByZXR1cm4gcmVkdWNlcjtcbn1cblxuZnVuY3Rpb24gZ2V0UmVkdWNlclBhdGgocmVkdWNlcjogRnVuY3Rpb24pIHtcbiAgcmV0dXJuIHJlZHVjZXJbJ3BhdGgnXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVVaUNvbmZpZzxUIGV4dGVuZHMgb2JqZWN0IHwgc3RyaW5nPihcbiAgcmVkdWNlckZhY3Rvcnk6IFJlZHVjZXJGYWN0b3J5PFQ+LFxuICBwYXRoOiBzdHJpbmdbXSA9IFtdLFxuICBuYW1lID0gJ25hbWUnLFxuICB0b2tlbiA9IFVJX0NPTkZJR19SRURVQ0VSLFxuKTogUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IHRva2VuLFxuICAgIHVzZUZhY3Rvcnk6IChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGZ1bmN0aW9uIF9yZWR1Y2VyRmFjdG9yeShob3N0SW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIGNvbnN0IHJlZHVjZXIgPSByZWR1Y2VyRmFjdG9yeShpbmplY3RvciwgaG9zdEluamVjdG9yKTtcbiAgICAgICAgcmV0dXJuIChjb25maWc6IFQsIGNvbnRleHQ6IGFueSk6IFQgPT4ge1xuICAgICAgICAgIGlmIChwYXRoLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHJlZHVjZXIoY29uZmlnLCBjb250ZXh0KTtcbiAgICAgICAgICByZXR1cm4gc2V0KGNvbmZpZyBhcyBvYmplY3QsIHBhdGgsIHJlZHVjZXIoZ2V0PGFueSwgYW55Pihjb25maWcsIHBhdGgpLCBjb250ZXh0KSkgYXMgVDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF9yZWR1Y2VyRmFjdG9yeSwgJ25hbWUnLCB7IHZhbHVlOiBuYW1lLCBjb25maWd1cmFibGU6IHRydWUgfSk7XG4gICAgICBzZXRSZWR1Y2VyUGF0aChfcmVkdWNlckZhY3RvcnksIHBhdGgpO1xuICAgICAgcmV0dXJuIF9yZWR1Y2VyRmFjdG9yeTtcbiAgICB9LFxuICAgIGRlcHM6IFtJbmplY3Rvcl0sXG4gICAgbXVsdGk6IHRydWUsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSb290Q29uZmlnPFQgZXh0ZW5kcyBvYmplY3Q+KFxuICBwYXRoczogc3RyaW5nW10gPSBbXSxcbiAgdG9rZW4gPSBVSV9DT05GSUdfUkVEVUNFUixcbik6IFNpZ25hbDxUPiB7XG4gIGNvbnN0IHVpQ29udGV4dCA9IGluamVjdFVpQ29udGV4dCgpO1xuICBjb25zdCBmYWN0b3JpZXMgPSBpbmplY3RSZWR1Y2VyRmFjdG9yaWVzKHBhdGhzLCB0b2tlbik7XG4gIGNvbnN0IGhvc3RJbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIGNvbnN0IHJlZHVjZXJzID0gZmFjdG9yaWVzLm1hcChmYWN0b3J5ID0+IHtcbiAgICByZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGhvc3RJbmplY3RvciwgKCkgPT4gZmFjdG9yeShob3N0SW5qZWN0b3IpKTtcbiAgfSk7XG4gIGlmICghcmVkdWNlcnMpIHJldHVybiB1bmRlZmluZWQ7XG4gIGNvbnN0IHJvb3RDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29udGV4dCA9IHVpQ29udGV4dCgpO1xuICAgIHJldHVybiByZWR1Y2Vycy5yZWR1Y2UoKGFjYywgcmVkdWNlcikgPT4ge1xuICAgICAgcmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChob3N0SW5qZWN0b3IsICgpID0+IHJlZHVjZXIoYWNjLCBjb250ZXh0KSk7XG4gICAgfSwge30gYXMgVCk7XG4gIH0pO1xuICByZXR1cm4gcm9vdENvbmZpZztcbn1cblxuLy8gVE9ETyhAbm9udGFuZ2VudCk6IGl0ZW1z44Gq44Gp44Gu5Y+W5b6X44GM5YWo44Gm44Gu44Kz44Oz44Od44O844ON44Oz44OI44Gn6KGM44KP44KM44KL44Gu44Gn6KiI566X44KS5pyA6YGp5YyW44GZ44KL44CCXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0VWlDb25maWc8VCBleHRlbmRzIG9iamVjdD4oXG4gIHBhdGhzOiBzdHJpbmdbXSA9IFtdLFxuICB0b2tlbjogSW5qZWN0aW9uVG9rZW48VWlDb25maWdSZWR1Y2VyPGFueT4+ID0gVUlfQ09ORklHX1JFRFVDRVIsXG4pOiBTaWduYWw8VD4ge1xuICBjb25zdCByb290Q29uZmlnID0gaW5qZWN0Um9vdENvbmZpZzxUPihwYXRocywgdG9rZW4pO1xuICByZXR1cm4gc2NvcGVkKHJvb3RDb25maWcsIHBhdGhzIGFzIGFueSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlQ29uZmlnPFQgZXh0ZW5kcyBvYmplY3Q+KGRlZmF1bHRVc2VGYWN0b3J5OiBEZWZhdWx0UmVkdWNlckZhY3Rvcnk8VD4sIHBhdGg6IHN0cmluZ1tdKSB7XG4gIGNvbnN0IGZhY3RvcnkgPSB3cmFwKGRlZmF1bHRVc2VGYWN0b3J5KTtcbiAgY29uc3QgdG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48VWlDb25maWdSZWR1Y2VyPFQ+PihgWyR7cGF0aC5qb2luKCcuJyl9XSBVSV9DT05GSUdfUkVEVUNFUmApO1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGUodXNlRmFjdG9yeT86IFJlZHVjZXJGYWN0b3J5PFQ+LCBsYWJlbCA9IHVzZUZhY3RvcnkgPyAnY3VzdG9tJyA6ICdkZWZhdWx0Jykge1xuICAgICAgdXNlRmFjdG9yeSA/Pz0gZmFjdG9yeTtcbiAgICAgIHJldHVybiBwcm92aWRlVWlDb25maWc8VD4odXNlRmFjdG9yeSwgcGF0aCwgYFske3BhdGguam9pbignLicpfV0gJHtsYWJlbH1gLCB0b2tlbik7XG4gICAgfSxcbiAgICBpbmplY3QoKSB7XG4gICAgICByZXR1cm4gaW5qZWN0VWlDb25maWc8VD4ocGF0aCwgdG9rZW4pO1xuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VESTxUIGV4dGVuZHMgb2JqZWN0LCBLPih0eXBlOiBUeXBlPEs+LCBkZWZhdWx0VXNlRmFjdG9yeTogRGVmYXVsdFJlZHVjZXJGYWN0b3J5PFQ+LCBwYXRoOiBzdHJpbmdbXSkge1xuICBjb25zdCBDb25maWcgPSBtYWtlQ29uZmlnPFQ+KGRlZmF1bHRVc2VGYWN0b3J5LCBwYXRoKTtcbiAgY29uc3QgSW5pdGlhbGl6ZXIgPSBtYWtlSW5pdGlhbGl6ZXJDb25maWcodHlwZSk7XG4gIGNvbnN0IHByb3ZpZGVDb21wb25lbnQgPSBtYWtlUHJvdmlkZUNvbW9wbmVudENvbmZpZ3VyZSh0eXBlKTtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiAodHlwZU9yQ29tcG9uZW50OiBQYXJhbWV0ZXJzPHR5cGVvZiBwcm92aWRlQ29tcG9uZW50PlswXSkgPT4gW1xuICAgICAgcHJvdmlkZUNvbXBvbmVudCh0eXBlT3JDb21wb25lbnQpLCBDb25maWcucHJvdmlkZSgpLFxuICAgICAgQ29uZmlnLnByb3ZpZGUoKSxcbiAgICBdLFxuICAgIHByb3ZpZGVDb25maWc6IENvbmZpZy5wcm92aWRlLFxuICAgIGluamVjdENvbmZpZzogQ29uZmlnLmluamVjdCxcbiAgICBwcm92aWRlSW5pdGlhbGl6ZXI6IEluaXRpYWxpemVyLnByb3ZpZGUsXG4gICAgaW5pdGlhbGl6ZTogSW5pdGlhbGl6ZXIuaW5pdGlhbGl6ZVN0b3JlLFxuICAgIHByb3ZpZGVDb21wb25lbnQsXG4gICAgSW5pdGlhbGl6ZXIsXG4gICAgQ29uZmlnLFxuICB9XG59XG5cbmZ1bmN0aW9uIGluamVjdFJlZHVjZXJzKHRva2VuKTogKChob3N0SW5qZWN0b3I6IEluamVjdG9yKSA9PiBVaUNvbmZpZ1JlZHVjZXI8YW55PilbXSB7XG4gIHJldHVybiBpbmplY3REZWVwTXVsdGk8KGhvc3RJbmplY3RvcjogSW5qZWN0b3IpID0+IFVpQ29uZmlnUmVkdWNlcjxhbnk+Pih0b2tlbik7XG59XG5cbmZ1bmN0aW9uIGluamVjdFJlZHVjZXJGYWN0b3JpZXMoXG4gIHBhdGg6IHN0cmluZ1tdID0gW10sXG4gIHRva2VuID0gVUlfQ09ORklHX1JFRFVDRVIsXG4pOiAoKGhvc3RJbmplY3RvcjogSW5qZWN0b3IpID0+IFVpQ29uZmlnUmVkdWNlcjxhbnk+KVtdIHtcbiAgcmV0dXJuIGluamVjdFJlZHVjZXJzKHRva2VuKS5maWx0ZXIoZmFjdG9yeSA9PiB7XG4gICAgcmV0dXJuIGdldFJlZHVjZXJQYXRoKGZhY3RvcnkpLmV2ZXJ5KChwLCBpKSA9PiBwYXRoW2ldID09PSBwKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3REZWVwTXVsdGk8VD4odG9rZW46IFByb3ZpZGVyVG9rZW48VD4sIGluamVjdG9yOiBJbmplY3RvciA9IGluamVjdChJbmplY3RvcikpOiBUW10ge1xuICBjb25zdCB2YWx1ZU9yQXJyYXkgPSBpbmplY3Rvci5nZXQodG9rZW4gYXMgUHJvdmlkZXJUb2tlbjxUW10+LCBbXSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgY29uc3QgaXRlbXMgPSBBcnJheS5pc0FycmF5KHZhbHVlT3JBcnJheSkgPyB2YWx1ZU9yQXJyYXkgOiBbdmFsdWVPckFycmF5XTtcbiAgY29uc3QgcGFyZW50SW5qZWN0b3IgPSBpbmplY3Rvci5nZXQoSW5qZWN0b3IsIG51bGwsIHsgc2tpcFNlbGY6IHRydWUgfSk7XG4gIGlmICghcGFyZW50SW5qZWN0b3IpIHJldHVybiBpdGVtcztcbiAgcmV0dXJuIFsuLi5uZXcgU2V0KFsuLi5pbmplY3REZWVwTXVsdGkodG9rZW4sIHBhcmVudEluamVjdG9yKSwgLi4uaXRlbXNdKV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWJ1Z0luamVjdG9yKGluamVjdG9yOiBJbmplY3RvciB8IG51bGwgPSBpbmplY3QoSW5qZWN0b3IpKSB7XG4gIGNvbnN0IGdldFBhcmVudCA9IChpbmplY3RvcjogSW5qZWN0b3IsIG4gPSAwKTogSW5qZWN0b3IgfCBudWxsID0+IHtcbiAgICB3aGlsZSAoaW5qZWN0b3IgJiYgbi0tID4gMCkge1xuICAgICAgaW5qZWN0b3IgPSBpbmplY3Rvci5nZXQoSW5qZWN0b3IsIG51bGwsIHsgc2tpcFNlbGY6IHRydWUgfSk7XG4gICAgfVxuICAgIHJldHVybiBpbmplY3RvcjtcbiAgfVxuXG4gIGNvbnN0IGdldEluamVjdG9yTmFtZSA9IChpbmplY3RvcjogSW5qZWN0b3IpOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IG5hbWUgPSBpbmplY3Rvci5nZXQoRWxlbWVudFJlZiwgbnVsbCk/Lm5hdGl2ZUVsZW1lbnQ/LnRhZ05hbWU/LnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKG5hbWUpIHJldHVybiBgPCR7bmFtZX0+YDtcbiAgICByZXR1cm4gYCR7aW5qZWN0b3JbJ3NvdXJjZSddfWA7XG4gIH1cblxuICBjb25zdCBpc05vZGVJbmplY3RvciA9IChpbmplY3RvcjogSW5qZWN0b3IpOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gaW5qZWN0b3IuZ2V0KEVsZW1lbnRSZWYsIG51bGwpICE9PSBudWxsO1xuICB9XG5cbiAgY29uc3QgbWFwVG9OYW1lcyA9IChyZWR1Y2VyczogYW55KSA9PiAocmVkdWNlcnMgPz8gW10pLm1hcChyZWR1Y2VyID0+IHJlZHVjZXIubmFtZSk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgaSsrKSB7XG4gICAgaW5qZWN0b3IgPSBnZXRQYXJlbnQoaW5qZWN0b3IsIGkpO1xuICAgIGlmIChpbmplY3RvciA9PT0gSW5qZWN0b3IuTlVMTCkgYnJlYWs7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1zZXJ2aWNlcy11aS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvdWkvbmctYXRvbWljLWNvbW1vbi1zZXJ2aWNlcy11aS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-common-services-ui.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/ui/ui.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/ui/ui.helpers.ts","../../../../../packages/@ng-atomic/common/src/lib/services/ui/ng-atomic-common-services-ui.ts"],"sourcesContent":["\nimport { Injectable, PLATFORM_ID, computed, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { NavigationStart } from '@angular/router';\nimport { filter, map, startWith } from 'rxjs';\nimport { isPlatformBrowser } from '@angular/common';\nimport { RouterService } from '@ng-atomic/common/services/router';\nimport { Breakpoint, BreakpointService } from '@ng-atomic/common/services/breakpoint';\n\nexport interface UIContext {\n breakpoint: Breakpoint;\n paths: any[];\n}\n\n@Injectable({ providedIn: 'root' })\nexport class UiService {\n readonly breakpoint = inject(BreakpointService);\n readonly router = inject(RouterService);\n readonly platformId = inject(PLATFORM_ID);\n\n readonly paths$ = this.router.events.pipe(\n filter(event => event instanceof NavigationStart),\n map((event: NavigationStart) => event.url),\n startWith(isPlatformBrowser(this.platformId) ? window?.location?.pathname : ''),\n map(url => this.router.parseUrl(url)),\n map(urlTree => urlTree.root.children?.primary?.segments ?? []),\n );\n readonly paths = toSignal(this.paths$);\n\n readonly snapshot$ = this.router.events.pipe(\n filter(event => event instanceof NavigationStart),\n map(() => this.router.routerState.snapshot.root),\n );\n readonly snapshot = toSignal(this.snapshot$);\n\n readonly uiContext = computed(() => ({\n breakpoint: this.breakpoint.breakpoint(),\n paths: this.paths(),\n }));\n}\n","import { ElementRef, InjectionToken, Injector, Provider, ProviderToken, Signal, Type, computed, effect, inject, isSignal, runInInjectionContext, signal } from \"@angular/core\";\nimport { UIContext, UiService } from \"./ui.service\";\nimport { get, set } from \"lodash-es\";\nimport { Action, makeProvideComopnentConfigure } from \"@ng-atomic/core\";\nimport { ActivatedRoute, PRIMARY_OUTLET, Router } from \"@angular/router\";\nimport { map, shareReplay, startWith, take } from \"rxjs\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { NavigationHistoryService } from \"@ng-atomic/common/services/navigation-history\";\nimport { derivedAsync } from \"ngxtension/derived-async\";\nimport { makeInitializerConfig } from \"@ng-atomic/common/services/initializer\";\n\nexport function scoped<T extends object, TKey extends keyof T>(source: Signal<T>, path: TKey | [TKey]): Signal<T[TKey]> {\n const scopedSignal = signal<T[TKey]>(get(source(), path));\n effect(() => {\n scopedSignal.set(get(source(), path, source()) as T[TKey]);\n });\n return computed(() => scopedSignal());\n}\n\nexport function injectBreakpoint() {\n return inject(UiService).breakpoint.breakpoint;\n}\n\nexport function injectIsMobile() {\n const breakpoint = injectBreakpoint();\n return computed(() => ['xSmall', 'small'].includes(breakpoint()));\n}\n\nexport enum NavActionId {\n TOGGLE_SIDE_NAV = '[@ng-atomic/common/services/ui] TOGGLE_SIDE_NAV',\n BACK = '[@ng-atomic/common/services/ui] BACK',\n CLOSE = '[@ng-atomic/common/services/ui] CLOSE',\n}\n\n// routeを遡る\nfunction flattenRoutes(route: ActivatedRoute): ActivatedRoute[] {\n const routes = [];\n let route_ = route;\n while (route_) {\n routes.push(route_);\n if (!route_.parent) break;\n route_ = route_.parent;\n }\n return routes;\n}\n\nexport function isRootPageRoute(route: ActivatedRoute, outlet = PRIMARY_OUTLET) {\n const routes = flattenRoutes(route).reverse();\n const outletRootIndex = routes.findIndex(route => route.outlet === outlet);\n const outletComponentRoutes = routes\n .slice(outletRootIndex)\n .filter(route => !!route?.component);\n return outletComponentRoutes.length <= 2;\n}\n\nexport function injectIsRootPage$(outlet = PRIMARY_OUTLET) {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n startWith(null),\n map(() => isRootPageRoute(route, outlet)),\n take(1),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectIsRootPage(outlet = PRIMARY_OUTLET) {\n const isRootPage$ = injectIsRootPage$(outlet);\n const injector = inject(Injector);\n return derivedAsync(() => isRootPage$, { injector });\n}\n\nexport function injectNavStartActions(\n isRootPage: Signal<boolean> = signal<boolean>(false),\n): Signal<Action[]> {\n const context = injectUiContext();\n const navigationHistory = inject(NavigationHistoryService);\n const isInitial = false;\n return computed(() => {\n console.debug('[UiService] navigationHistory:', navigationHistory)\n const isRootPage_ = isRootPage();\n const context_ = context();\n switch (context_.breakpoint) {\n case 'xLarge':\n case 'large':\n case 'medium':\n case 'small': {\n if (isRootPage_) {\n return [];\n } else {\n if (isInitial) {\n return [];\n } else {\n return [{ id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }];\n }\n }\n }\n case 'xSmall': {\n if (isRootPage_) {\n return [{ id: NavActionId.TOGGLE_SIDE_NAV, name: 'メニュー', icon: 'menu' }];\n } else {\n if (isInitial) {\n return [{ id: NavActionId.TOGGLE_SIDE_NAV, name: 'メニュー', icon: 'menu' }]\n } else {\n return [{ id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }];\n }\n }\n }\n default: {\n if (isRootPage_) return [];\n return [{ id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }];\n }\n }\n });\n}\n\nexport function injectNavStartActionsV2() {\n const isRootPage = injectIsRootPage();\n return injectNavStartActions(isRootPage);\n}\n\nexport function injectSideAppNavStartActions(outlet = 'side'): Signal<Action[]> {\n const context = injectUiContext();\n const isRootPageV2 = injectIsRootPage(outlet);\n return computed(() => {\n const isRootPage_ = isRootPageV2();\n const context_ = context();\n switch (context_.breakpoint) {\n default: {\n if (isRootPage_) {\n return [\n { id: NavActionId.CLOSE, name: 'CLOSE', icon: 'close' },\n ];\n } else {\n return [\n { id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }\n ];\n }\n }\n }\n });\n\n}\n\nexport function injectUiContext(): Signal<UIContext> {\n return inject(UiService).uiContext;\n}\n\nexport type UiConfigReducer<T extends object | string, C extends UIContext = any> = (config: T, context: C) => T;\nexport const UI_CONFIG_REDUCER = new InjectionToken<UiConfigReducer<any>>('UI_CONFIG_REDUCER');\nexport type ReducerFactory<T extends object | string>\n = (injector: Injector, hostInjector: Injector) => (config: T, context: UIContext) => T;\n\nexport type DefaultReducerFactory<T extends object | string>\n = (injector: Injector, hostInjector: Injector) => (context: UIContext) => T;\n\nexport const wrap = <T extends object | string>(\n defaultReducerFactory: DefaultReducerFactory<T>,\n): ReducerFactory<T> => {\n return (injector: Injector, hostInjector: Injector) => {\n const reducer = defaultReducerFactory(injector, hostInjector);\n return (_: T, context: UIContext) => {\n return reducer(context);\n }\n };\n}\n\nexport function call<T>(signalOrValue: Signal<T> | T): T {\n return isSignal(signalOrValue) ? signalOrValue() : signalOrValue;\n}\n\nfunction setReducerPath(reducer: Function, path: string[]) {\n Object.defineProperty(reducer, 'path', { value: path, configurable: true });\n return reducer;\n}\n\nfunction getReducerPath(reducer: Function) {\n return reducer['path'];\n}\n\nexport function provideUiConfig<T extends object | string>(\n reducerFactory: ReducerFactory<T>,\n path: string[] = [],\n name = 'name',\n token = UI_CONFIG_REDUCER,\n): Provider {\n return {\n provide: token,\n useFactory: (injector: Injector) => {\n function _reducerFactory(hostInjector: Injector) {\n const reducer = reducerFactory(injector, hostInjector);\n return (config: T, context: any): T => {\n if (path.length === 0) return reducer(config, context);\n return set(config as object, path, reducer(get<any, any>(config, path), context)) as T;\n }\n }\n Object.defineProperty(_reducerFactory, 'name', { value: name, configurable: true });\n setReducerPath(_reducerFactory, path);\n return _reducerFactory;\n },\n deps: [Injector],\n multi: true,\n };\n}\n\nexport function injectRootConfig<T extends object>(\n paths: string[] = [],\n token = UI_CONFIG_REDUCER,\n): Signal<T> {\n const uiContext = injectUiContext();\n const factories = injectReducerFactories(paths, token);\n const hostInjector = inject(Injector);\n const reducers = factories.map(factory => {\n return runInInjectionContext(hostInjector, () => factory(hostInjector));\n });\n if (!reducers) return undefined;\n const rootConfig = computed(() => {\n const context = uiContext();\n return reducers.reduce((acc, reducer) => {\n return runInInjectionContext(hostInjector, () => reducer(acc, context));\n }, {} as T);\n });\n return rootConfig;\n}\n\n// TODO(@nontangent): itemsなどの取得が全てのコンポーネントで行われるので計算を最適化する。\nexport function injectUiConfig<T extends object>(\n paths: string[] = [],\n token: InjectionToken<UiConfigReducer<any>> = UI_CONFIG_REDUCER,\n): Signal<T> {\n const rootConfig = injectRootConfig<T>(paths, token);\n return scoped(rootConfig, paths as any);\n}\n\nexport function makeConfig<T extends object>(defaultUseFactory: DefaultReducerFactory<T>, path: string[]) {\n const factory = wrap(defaultUseFactory);\n const token = new InjectionToken<UiConfigReducer<T>>(`[${path.join('.')}] UI_CONFIG_REDUCER`);\n return {\n provide(useFactory?: ReducerFactory<T>, label = useFactory ? 'custom' : 'default') {\n useFactory ??= factory;\n return provideUiConfig<T>(useFactory, path, `[${path.join('.')}] ${label}`, token);\n },\n inject() {\n return injectUiConfig<T>(path, token);\n },\n }\n}\n\nexport function makeDI<T extends object, K>(type: Type<K>, defaultUseFactory: DefaultReducerFactory<T>, path: string[]) {\n const Config = makeConfig<T>(defaultUseFactory, path);\n const Initializer = makeInitializerConfig(type);\n const provideComponent = makeProvideComopnentConfigure(type);\n return {\n provide: (typeOrComponent: Parameters<typeof provideComponent>[0]) => [\n provideComponent(typeOrComponent), Config.provide(),\n Config.provide(),\n ],\n provideConfig: Config.provide,\n injectConfig: Config.inject,\n provideInitializer: Initializer.provide,\n initialize: Initializer.initializeStore,\n provideComponent,\n Initializer,\n Config,\n }\n}\n\nfunction injectReducers(token): ((hostInjector: Injector) => UiConfigReducer<any>)[] {\n return injectDeepMulti<(hostInjector: Injector) => UiConfigReducer<any>>(token);\n}\n\nfunction injectReducerFactories(\n path: string[] = [],\n token = UI_CONFIG_REDUCER,\n): ((hostInjector: Injector) => UiConfigReducer<any>)[] {\n return injectReducers(token).filter(factory => {\n return getReducerPath(factory).every((p, i) => path[i] === p);\n });\n}\n\nexport function injectDeepMulti<T>(token: ProviderToken<T>, injector: Injector = inject(Injector)): T[] {\n const valueOrArray = injector.get(token as ProviderToken<T[]>, [], { optional: true });\n const items = Array.isArray(valueOrArray) ? valueOrArray : [valueOrArray];\n const parentInjector = injector.get(Injector, null, { skipSelf: true });\n if (!parentInjector) return items;\n return [...new Set([...injectDeepMulti(token, parentInjector), ...items])];\n}\n\nexport function debugInjector(injector: Injector | null = inject(Injector)) {\n const getParent = (injector: Injector, n = 0): Injector | null => {\n while (injector && n-- > 0) {\n injector = injector.get(Injector, null, { skipSelf: true });\n }\n return injector;\n }\n\n const getInjectorName = (injector: Injector): string => {\n const name = injector.get(ElementRef, null)?.nativeElement?.tagName?.toLowerCase();\n if (name) return `<${name}>`;\n return `${injector['source']}`;\n }\n\n const isNodeInjector = (injector: Injector): boolean => {\n return injector.get(ElementRef, null) !== null;\n }\n\n const mapToNames = (reducers: any) => (reducers ?? []).map(reducer => reducer.name);\n\n for (let i = 0; i < 20; i++) {\n injector = getParent(injector, i);\n if (injector === Injector.NULL) break;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -29,10 +29,10 @@ class ProxyIdService {
29
29
  resolve(proxyIdOrId) {
30
30
  return this.isProxyId(proxyIdOrId) ? this.proxyMap.get(proxyIdOrId) : proxyIdOrId;
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ProxyIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ProxyIdService, providedIn: 'root' }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ProxyIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ProxyIdService, providedIn: 'root' }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ProxyIdService, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ProxyIdService, decorators: [{
36
36
  type: Injectable,
37
37
  args: [{ providedIn: 'root' }]
38
38
  }] });
@@ -96,10 +96,10 @@ class TaskComposerService {
96
96
  }
97
97
  }, { type: 'noop', payload: {} });
98
98
  }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: TaskComposerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
100
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: TaskComposerService, providedIn: 'root' }); }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: TaskComposerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
100
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: TaskComposerService, providedIn: 'root' }); }
101
101
  }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: TaskComposerService, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: TaskComposerService, decorators: [{
103
103
  type: Injectable,
104
104
  args: [{ providedIn: 'root' }]
105
105
  }] });
@@ -258,10 +258,10 @@ class EntityStoreService {
258
258
  }
259
259
  return this.storeMap.get(Entity);
260
260
  }
261
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: EntityStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
262
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: EntityStoreService, providedIn: 'root' }); }
261
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: EntityStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
262
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: EntityStoreService, providedIn: 'root' }); }
263
263
  }
264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: EntityStoreService, decorators: [{
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: EntityStoreService, decorators: [{
265
265
  type: Injectable,
266
266
  args: [{ providedIn: 'root' }]
267
267
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-stores-entities.mjs","sources":["../tmp-esm2022/stores/entities/proxy-id.service.js","../tmp-esm2022/stores/entities/task-composer.js","../tmp-esm2022/stores/entities/entity-store-adapter.js","../tmp-esm2022/stores/entities/entity-store.js","../tmp-esm2022/stores/entities/entity-store-manager.js","../tmp-esm2022/stores/entities/di.js","../tmp-esm2022/stores/entities/ng-atomic-common-stores-entities.js"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nexport class ProxyIdService {\n constructor() {\n this.proxyMap = new Map();\n }\n isProxyId(id) {\n return !!id?.startsWith('proxy-');\n }\n proxyId(_id) {\n const id = this.isProxyId(_id) ? _id : `proxy-${this.proxyMap.size}`;\n if (!this.proxyMap.get(id))\n this.proxyMap.set(id, id);\n return id;\n }\n update(proxyId, id) {\n this.proxyMap.set(proxyId, id);\n }\n resolve(proxyIdOrId) {\n return this.isProxyId(proxyIdOrId) ? this.proxyMap.get(proxyIdOrId) : proxyIdOrId;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ProxyIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ProxyIdService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ProxyIdService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHktaWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc3RvcmVzL2VudGl0aWVzL3Byb3h5LWlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGNBQWM7SUFEM0I7UUFFRSxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7S0FtQnRDO0lBakJDLFNBQVMsQ0FBQyxFQUFpQjtRQUN6QixPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVztRQUNqQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFlLEVBQUUsRUFBVTtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU8sQ0FBQyxXQUFtQjtRQUN6QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDcEYsQ0FBQzs4R0FuQlUsY0FBYztrSEFBZCxjQUFjLGNBREYsTUFBTTs7MkZBQ2xCLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFByb3h5SWRTZXJ2aWNlIHtcbiAgcHJveHlNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gIGlzUHJveHlJZChpZDogc3RyaW5nIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIWlkPy5zdGFydHNXaXRoKCdwcm94eS0nKTtcbiAgfVxuXG4gIHByb3h5SWQoX2lkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGlkID0gdGhpcy5pc1Byb3h5SWQoX2lkKSA/IF9pZCA6IGBwcm94eS0ke3RoaXMucHJveHlNYXAuc2l6ZX1gO1xuICAgIGlmICghdGhpcy5wcm94eU1hcC5nZXQoaWQpKSB0aGlzLnByb3h5TWFwLnNldChpZCwgaWQpO1xuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIHVwZGF0ZShwcm94eUlkOiBzdHJpbmcsIGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnByb3h5TWFwLnNldChwcm94eUlkLCBpZCk7XG4gIH1cblxuICByZXNvbHZlKHByb3h5SWRPcklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlzUHJveHlJZChwcm94eUlkT3JJZCkgPyB0aGlzLnByb3h5TWFwLmdldChwcm94eUlkT3JJZCkgOiBwcm94eUlkT3JJZDtcbiAgfVxufVxuIl19","import { Injectable, inject } from \"@angular/core\";\nimport { merge } from \"lodash-es\";\nimport { ProxyIdService } from \"./proxy-id.service\";\nimport * as i0 from \"@angular/core\";\nexport function pushMap(map, id, item) {\n const items = map.get(id) ?? [];\n items.push(item);\n map.set(id, items);\n return map;\n}\nexport class TaskComposerService {\n constructor() {\n this.proxyId = inject(ProxyIdService);\n }\n composeTasks(tasks) {\n const map = new Map();\n tasks.sort((a, b) => a.timestamp - b.timestamp).forEach((task) => {\n let id = task.payload?.id;\n switch (task.type) {\n case 'noop':\n break;\n case 'create':\n id = this.proxyId.proxyId(task.payload.id);\n pushMap(map, id, { ...task, payload: { ...task.payload, id } });\n break;\n case 'update':\n case 'delete':\n pushMap(map, this.proxyId.resolve(id), task);\n break;\n }\n });\n const _tasks = [];\n for (const tasks of map.values()) {\n _tasks.push(this.compose(tasks));\n }\n return _tasks.filter(task => task.type !== 'noop');\n }\n compose(tasks) {\n let created = false;\n return tasks.reduce((a, b) => {\n switch (b.type) {\n case 'create':\n created = true;\n return {\n type: 'create',\n payload: b.payload,\n timestamp: b.timestamp,\n };\n case 'update':\n return {\n type: created ? 'create' : 'update',\n payload: merge(a.payload, b.payload),\n timestamp: b.timestamp,\n };\n case 'delete':\n return {\n type: created ? 'noop' : 'delete',\n payload: b.payload,\n timestamp: b.timestamp,\n };\n }\n }, { type: 'noop', payload: {} });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TaskComposerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TaskComposerService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TaskComposerService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jb21wb3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc3RvcmVzL2VudGl0aWVzL3Rhc2stY29tcG9zZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBK0JwRCxNQUFNLFVBQVUsT0FBTyxDQUFJLEdBQXFCLEVBQUUsRUFBVSxFQUFHLElBQU87SUFDcEUsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFHRCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRVcsWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQXFEM0M7SUFuREMsWUFBWSxDQUFtQixLQUFnQjtRQUM3QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBcUIsQ0FBQztRQUN6QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDL0QsSUFBSSxFQUFFLEdBQUksSUFBSSxDQUFDLE9BQWUsRUFBRSxFQUFFLENBQUM7WUFDbkMsUUFBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2pCLEtBQUssTUFBTTtvQkFDVCxNQUFLO2dCQUNQLEtBQUssUUFBUTtvQkFDWCxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDM0MsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFDLEVBQVksQ0FBQyxDQUFDO29CQUN2RSxNQUFNO2dCQUNSLEtBQUssUUFBUSxDQUFDO2dCQUNkLEtBQUssUUFBUTtvQkFDWCxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUM3QyxNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLEdBQWMsRUFBRSxDQUFDO1FBQzdCLEtBQUssTUFBTSxLQUFLLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELE9BQU8sQ0FBbUIsS0FBZ0I7UUFDeEMsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzQixRQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZCxLQUFLLFFBQVE7b0JBQ1gsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDZixPQUFPO3dCQUNMLElBQUksRUFBRSxRQUFRO3dCQUNkLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTzt3QkFDbEIsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFTO3FCQUNaLENBQUM7Z0JBQ2YsS0FBSyxRQUFRO29CQUNYLE9BQU87d0JBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRO3dCQUNuQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQzt3QkFDcEMsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFTO3FCQUNaLENBQUM7Z0JBQ2YsS0FBSyxRQUFRO29CQUNYLE9BQU87d0JBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRO3dCQUNqQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87d0JBQ2xCLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUztxQkFDWixDQUFDO1lBQ2pCLENBQUM7UUFDSCxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQVksQ0FBQyxDQUFBO0lBQzVDLENBQUM7OEdBckRVLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGNBRFAsTUFBTTs7MkZBQ2xCLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBQcm94eUlkU2VydmljZSB9IGZyb20gXCIuL3Byb3h5LWlkLnNlcnZpY2VcIjtcblxuZXhwb3J0IHR5cGUgRW50aXR5ID0ge2lkOiBzdHJpbmd9O1xuXG5pbnRlcmZhY2UgQmFzZVRhc2sge1xuICB0eXBlOiAnY3JlYXRlJyB8ICd1cGRhdGUnIHwgJ2RlbGV0ZScgfCAnbm9vcCc7XG4gIHRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgQ3JlYXRlQWN0aW9uPFQgZXh0ZW5kcyBFbnRpdHk+IGV4dGVuZHMgQmFzZVRhc2sge1xuICB0eXBlOiAnY3JlYXRlJztcbiAgcGF5bG9hZDogVDtcbn1cblxuaW50ZXJmYWNlIFVwZGF0ZUFjdGlvbjxUIGV4dGVuZHMgRW50aXR5PiBleHRlbmRzIEJhc2VUYXNrIHtcbiAgdHlwZTogJ3VwZGF0ZSc7XG4gIHBheWxvYWQ6IFBhcnRpYWw8VD4gJiBFbnRpdHk7XG59XG5cbmludGVyZmFjZSBEZWxldGVBY3Rpb24gZXh0ZW5kcyBCYXNlVGFzayB7XG4gIHR5cGU6ICdkZWxldGUnO1xuICBwYXlsb2FkOiBFbnRpdHk7XG59XG5cbmludGVyZmFjZSBOb29wQWN0aW9uIGV4dGVuZHMgQmFzZVRhc2sge1xuICB0eXBlOiAnbm9vcCc7XG4gIHBheWxvYWQ6IHt9O1xufVxuXG5leHBvcnQgdHlwZSBUYXNrPFQgZXh0ZW5kcyBFbnRpdHk+ID0gQ3JlYXRlQWN0aW9uPFQ+IHwgVXBkYXRlQWN0aW9uPFQ+IHwgRGVsZXRlQWN0aW9uIHwgTm9vcEFjdGlvbjtcblxuZXhwb3J0IGZ1bmN0aW9uIHB1c2hNYXA8VD4obWFwOiBNYXA8c3RyaW5nLCBUW10+LCBpZDogc3RyaW5nLCAgaXRlbTogVCk6IE1hcDxzdHJpbmcsIFRbXT4ge1xuICBjb25zdCBpdGVtcyA9IG1hcC5nZXQoaWQpID8/IFtdO1xuICBpdGVtcy5wdXNoKGl0ZW0pO1xuICBtYXAuc2V0KGlkLCBpdGVtcyk7XG4gIHJldHVybiBtYXA7XG59XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFRhc2tDb21wb3NlclNlcnZpY2Uge1xuICByZWFkb25seSBwcm94eUlkID0gaW5qZWN0KFByb3h5SWRTZXJ2aWNlKTtcblxuICBjb21wb3NlVGFza3M8VCBleHRlbmRzIEVudGl0eT4odGFza3M6IFRhc2s8VD5bXSk6IFRhc2s8VD5bXSB7XG4gICAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFRhc2s8VD5bXT4oKTtcbiAgICB0YXNrcy5zb3J0KChhLCBiKSA9PiBhLnRpbWVzdGFtcCAtIGIudGltZXN0YW1wKS5mb3JFYWNoKCh0YXNrKSA9PiB7XG4gICAgICBsZXQgaWQgPSAodGFzay5wYXlsb2FkIGFzIGFueSk/LmlkO1xuICAgICAgc3dpdGNoKHRhc2sudHlwZSkge1xuICAgICAgICBjYXNlICdub29wJzpcbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlICdjcmVhdGUnOlxuICAgICAgICAgIGlkID0gdGhpcy5wcm94eUlkLnByb3h5SWQodGFzay5wYXlsb2FkLmlkKTtcbiAgICAgICAgICBwdXNoTWFwKG1hcCwgaWQsIHsuLi50YXNrLCBwYXlsb2FkOiB7Li4udGFzay5wYXlsb2FkLCBpZH19IGFzIFRhc2s8VD4pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd1cGRhdGUnOlxuICAgICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICAgIHB1c2hNYXAobWFwLCB0aGlzLnByb3h5SWQucmVzb2x2ZShpZCksIHRhc2spO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgX3Rhc2tzOiBUYXNrPFQ+W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHRhc2tzIG9mIG1hcC52YWx1ZXMoKSkge1xuICAgICAgX3Rhc2tzLnB1c2godGhpcy5jb21wb3NlKHRhc2tzKSk7XG4gICAgfVxuICAgIHJldHVybiBfdGFza3MuZmlsdGVyKHRhc2sgPT4gdGFzay50eXBlICE9PSAnbm9vcCcpO1xuICB9XG5cbiAgY29tcG9zZTxUIGV4dGVuZHMgRW50aXR5Pih0YXNrczogVGFzazxUPltdKTogVGFzazxUPiB7XG4gICAgbGV0IGNyZWF0ZWQgPSBmYWxzZTtcbiAgICByZXR1cm4gdGFza3MucmVkdWNlKChhLCBiKSA9PiB7XG4gICAgICBzd2l0Y2goYi50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2NyZWF0ZSc6XG4gICAgICAgICAgY3JlYXRlZCA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6ICdjcmVhdGUnLFxuICAgICAgICAgICAgcGF5bG9hZDogYi5wYXlsb2FkLFxuICAgICAgICAgICAgdGltZXN0YW1wOiBiLnRpbWVzdGFtcCxcbiAgICAgICAgICB9IGFzIFRhc2s8VD47XG4gICAgICAgIGNhc2UgJ3VwZGF0ZSc6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IGNyZWF0ZWQgPyAnY3JlYXRlJyA6ICd1cGRhdGUnLFxuICAgICAgICAgICAgcGF5bG9hZDogbWVyZ2UoYS5wYXlsb2FkLCBiLnBheWxvYWQpLFxuICAgICAgICAgICAgdGltZXN0YW1wOiBiLnRpbWVzdGFtcCxcbiAgICAgICAgICB9IGFzIFRhc2s8VD47XG4gICAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IGNyZWF0ZWQgPyAnbm9vcCcgOiAnZGVsZXRlJyxcbiAgICAgICAgICAgIHBheWxvYWQ6IGIucGF5bG9hZCxcbiAgICAgICAgICAgIHRpbWVzdGFtcDogYi50aW1lc3RhbXAsXG4gICAgICAgICAgfSBhcyBUYXNrPFQ+O1xuICAgICAgfVxuICAgIH0sIHt0eXBlOiAnbm9vcCcsIHBheWxvYWQ6IHt9fSBhcyBUYXNrPFQ+KVxuICB9XG59XG4iXX0=","import { InjectionToken, Injector, inject } from '@angular/core';\nexport class EntityStoreAdapter {\n list() {\n throw new Error('not implemented');\n }\n create(entity) {\n throw new Error('not implemented');\n }\n update(entity) {\n throw new Error('not implemented');\n }\n delete(entity) {\n throw new Error('not implemented');\n }\n save(entity) {\n throw new Error('not implemented');\n }\n}\nexport const ENTITY_STORE_ADAPTER = new InjectionToken('ENTITY_STORE_ADAPTER');\nexport function provideEntityStoreAdapter(entity, adapterFactory) {\n return {\n provide: ENTITY_STORE_ADAPTER,\n multi: true,\n useFactory: (injector) => {\n return { entity, adapter: adapterFactory(injector) };\n },\n deps: [Injector]\n };\n}\nexport function injectEntityStoreAdapter(entity) {\n const adapters = inject(ENTITY_STORE_ADAPTER, { optional: true }) ?? [];\n return adapters.find(adapter => adapter.entity === entity)?.adapter;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0b3JlLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy9lbnRpdGllcy9lbnRpdHktc3RvcmUtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLakUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixJQUFJO1FBQ0YsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUUsTUFBUztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTSxDQUFFLE1BQWtDO1FBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTSxDQUFFLE1BQXFCO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxDQUFFLE1BQVM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBR2pELHNCQUFzQixDQUFDLENBQUM7QUFFN0IsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxNQUFlLEVBQ2YsY0FBNkQ7SUFFN0QsT0FBTztRQUNMLE9BQU8sRUFBRSxvQkFBb0I7UUFDN0IsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsQ0FBQyxRQUFrQixFQUFFLEVBQUU7WUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdkQsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUNqQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBbUIsTUFBZTtJQUN4RSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEUsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsRUFBRSxPQUFnQyxDQUFDO0FBQy9GLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEluamVjdGlvblRva2VuLCBJbmplY3RvciwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnQG54LWRkZC9jb21tb24vZG9tYWluJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gJy4vdGFzay1jb21wb3Nlcic7XG5cbmV4cG9ydCBjbGFzcyBFbnRpdHlTdG9yZUFkYXB0ZXI8RSBleHRlbmRzIEVudGl0eT4ge1xuICBsaXN0PygpOiBPYnNlcnZhYmxlPEVbXT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBjcmVhdGU/KGVudGl0eTogRSk6IFByb21pc2U8RT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICB1cGRhdGU/KGVudGl0eTogUGFydGlhbDxFPiAmIFBpY2s8RSwgJ2lkJz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgZGVsZXRlPyhlbnRpdHk6IFBpY2s8RSwgJ2lkJz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgc2F2ZT8oZW50aXR5OiBFKTogUHJvbWlzZTxFPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgRU5USVRZX1NUT1JFX0FEQVBURVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48e1xuICBlbnRpdHk6IFR5cGU8RW50aXR5PixcbiAgYWRhcHRlcjogRW50aXR5U3RvcmVBZGFwdGVyPEVudGl0eT5cbn1bXT4oJ0VOVElUWV9TVE9SRV9BREFQVEVSJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRW50aXR5U3RvcmVBZGFwdGVyPEUgZXh0ZW5kcyBFbnRpdHk+KFxuICBlbnRpdHk6IFR5cGU8RT4sXG4gIGFkYXB0ZXJGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBFbnRpdHlTdG9yZUFkYXB0ZXI8RT4sXG4pIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBFTlRJVFlfU1RPUkVfQURBUFRFUixcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICB1c2VGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICByZXR1cm4geyBlbnRpdHksIGFkYXB0ZXI6IGFkYXB0ZXJGYWN0b3J5KGluamVjdG9yKSB9O1xuICAgIH0sXG4gICAgZGVwczogW0luamVjdG9yXVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0RW50aXR5U3RvcmVBZGFwdGVyPEUgZXh0ZW5kcyBFbnRpdHk+KGVudGl0eTogVHlwZTxFPik6IEVudGl0eVN0b3JlQWRhcHRlcjxFPiB7XG4gIGNvbnN0IGFkYXB0ZXJzID0gaW5qZWN0KEVOVElUWV9TVE9SRV9BREFQVEVSLCB7b3B0aW9uYWw6IHRydWV9KSA/PyBbXTtcbiAgcmV0dXJuIGFkYXB0ZXJzLmZpbmQoYWRhcHRlciA9PiBhZGFwdGVyLmVudGl0eSA9PT0gZW50aXR5KT8uYWRhcHRlciBhcyBFbnRpdHlTdG9yZUFkYXB0ZXI8RT47XG59XG4iXX0=","import { toSignal } from '@angular/core/rxjs-interop';\nimport { inject } from '@angular/core';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { createEntityAdapter } from '@ngrx/entity';\nimport { ReplaySubject, Subject, isObservable, of } from 'rxjs';\nimport { bufferTime, distinctUntilChanged, filter, map, shareReplay, switchMap, tap } from 'rxjs/operators';\nimport { merge } from 'lodash-es';\nimport { TaskComposerService } from './task-composer';\nimport { ProxyIdService } from './proxy-id.service';\nimport { injectEntityStoreAdapter } from './entity-store-adapter';\nexport const distinctUntilChangedArray = () => {\n return distinctUntilChanged((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur));\n};\nexport class BaseEntityStore extends ComponentStore {\n get selectors() { return this.entityAdapter.getSelectors(); }\n constructor(entity, entityAdapter = createEntityAdapter({ selectId: (entity) => entity.id, sortComparer: false })) {\n super(entityAdapter.getInitialState());\n this.entity = entity;\n this.entityAdapter = entityAdapter;\n this.refresh$ = new ReplaySubject(1);\n this.all$ = this.select((state) => this.selectors.selectAll(state));\n this.all = toSignal(this.all$);\n this.total$ = this.select((state) => this.selectors.selectTotal(state));\n this.total = toSignal(this.total$);\n /** @deprecated use BaseEntityStore.all$ instead. */\n this.entities$ = this.all$;\n /** @deprecated use BaseEntityStore.all instead. */\n this.entities = this.all;\n /** @deprecated use BaseEntityStore.total$ instead. */\n this.size$ = this.total$;\n this.addOne = this.updater((state, entity) => this.entityAdapter.addOne(entity, state));\n this.addMany = this.updater((state, entities) => this.entityAdapter.addMany(entities, state));\n this.updateOne = this.updater((state, update) => this.entityAdapter.updateOne(update, state));\n this.updateMany = this.updater((state, updates) => this.entityAdapter.updateMany(updates, state));\n this.upsertOne = this.updater((state, entity) => this.entityAdapter.upsertOne(entity, state));\n this.upsertMany = this.updater((state, entities) => this.entityAdapter.upsertMany(entities, state));\n this.removeOne = this.updater((state, id) => this.entityAdapter.removeOne(id, state));\n this.removeMany = this.updater((state, ids) => this.entityAdapter.removeMany(ids, state));\n this.removeAll = this.updater((state) => this.entityAdapter.removeAll(state));\n this.setOne = this.updater((state, entity) => this.entityAdapter.setOne(entity, state));\n this.setAll = this.updater((state, entities) => this.entityAdapter.setAll(entities, state));\n this.getEntities = this.effect((refresh$) => refresh$.pipe(switchMap(() => this.adapter?.list() ?? of([])), tap((entities) => this.setAll(entities))));\n this.adapter = injectEntityStoreAdapter(entity);\n this.getEntities(this.refresh$);\n this.refresh();\n }\n refresh() {\n this.refresh$.next();\n }\n mapToOne(valueOrObs) {\n const wrap = (valueOrObs) => isObservable(valueOrObs) ? valueOrObs : of(valueOrObs);\n return wrap(valueOrObs).pipe(switchMap(id => this.select((state) => this.selectors.selectEntities(state)[id])));\n }\n}\nexport class EntityStore extends BaseEntityStore {\n constructor(entity, entityAdapter = createEntityAdapter({ selectId: (entity) => entity.id, sortComparer: false })) {\n super(entity, entityAdapter);\n this.entity = entity;\n this.entityAdapter = entityAdapter;\n this.proxyId = inject(ProxyIdService, {});\n this.composer = inject(TaskComposerService);\n this.taskSubject$ = new Subject();\n this.task$ = this.taskSubject$.pipe(map(task => {\n switch (task.type) {\n case 'create': return merge(task, { payload: { id: this.proxyId.proxyId(task.payload.id) } });\n default: return task;\n }\n }), shareReplay(1));\n this.composedTasks$ = this.task$.pipe(bufferTime(5 * 1000), filter(tasks => tasks.length > 0), map((tasks) => this.composer.composeTasks(tasks)));\n this.task$.subscribe((task) => this.runTask(task));\n this.composedTasks$.subscribe(tasks => this.runComposedTasks(tasks));\n }\n dispatch(action) {\n this.taskSubject$.next(action);\n }\n async runTask(task) {\n switch (task.type) {\n case 'create': return this.addOne(task.payload);\n case 'update': return this.updateOne({ id: task.payload.id, changes: task.payload });\n case 'delete': return this.removeOne(task.payload.id);\n }\n }\n async runComposedTasks(tasks) {\n return Promise.all(tasks.map((task) => {\n switch (task.type) {\n case 'create': return this.adapter.create(task.payload)\n .then((entity) => {\n this.proxyId.update(task.payload.id, entity.id);\n const _entity = this.state().entities[task.payload.id];\n this.removeOne(task.payload.id);\n this.addOne({ ..._entity, id: entity.id });\n });\n case 'update': return this.adapter.update({\n ...task.payload,\n id: this.proxyId.resolve(task.payload.id),\n });\n case 'delete': return this.adapter.delete({\n ...task.payload,\n id: this.proxyId.resolve(task.payload.id),\n });\n }\n }))\n .then(() => this.onSyncSucceeded())\n .catch(() => this.onSyncFailed());\n }\n onSyncFailed() { }\n onSyncSucceeded() { }\n create(payload) {\n return this.adapter.create(payload);\n }\n update(payload) {\n return this.adapter.update(payload);\n }\n delete(payload) {\n return this.adapter.delete(payload);\n }\n save(payload) {\n return this.adapter.save(payload);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zdG9yZXMvZW50aXRpZXMvZW50aXR5LXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQThCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9FLE9BQU8sRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQWdCLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBc0Isd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxHQUFNLEVBQUU7SUFDL0MsT0FBTyxvQkFBb0IsQ0FBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVGLENBQUMsQ0FBQztBQUVGLE1BQU0sT0FBTyxlQUFrQyxTQUFRLGNBQThCO0lBSW5GLElBQWMsU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUF5QnZFLFlBQ1ksTUFBZSxFQUNmLGdCQUFrQyxtQkFBbUIsQ0FBSSxFQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFFMUgsS0FBSyxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBSDdCLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBbUc7UUE1QnpHLGFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBTyxDQUFDLENBQUMsQ0FBQztRQUVoRCxTQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMvRCxRQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixXQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRSxVQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2QyxvREFBb0Q7UUFDM0MsY0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDOUIsbURBQW1EO1FBQzFDLGFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQzdCLHNEQUFzRDtRQUM3QyxVQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUVwQixXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLFlBQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDOUYsY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBeUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDNUgsZUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBNEMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEksY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM1RixlQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLGNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekYsZUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMvRixjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN6RSxXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLFdBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFZM0YsZ0JBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBMEIsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDL0UsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQy9DLEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUM5QyxDQUFDLENBQUM7UUFSRCxJQUFJLENBQUMsT0FBTyxHQUFHLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBT0QsT0FBTztRQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFFBQVEsQ0FBQyxVQUF1QztRQUM5QyxNQUFNLElBQUksR0FBRyxDQUFDLFVBQXVDLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakgsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUMxQixTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ2xGLENBQUM7SUFDSixDQUFDO0NBRUY7QUFFRCxNQUFNLE9BQU8sV0FBOEIsU0FBUSxlQUFrQjtJQW1CbkUsWUFDWSxNQUFlLEVBQ2YsZ0JBQWtDLG1CQUFtQixDQUFJLEVBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUMsQ0FBQztRQUUxSCxLQUFLLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBSG5CLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBbUc7UUFwQmxILFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLGFBQVEsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN2QyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDdEMsVUFBSyxHQUF3QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1QsUUFBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2pCLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUMsT0FBTyxFQUFFLEVBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUM7Z0JBQzFGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUNRLG1CQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3hDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQ3BCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQ2pDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDbEQsQ0FBQztRQU9BLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWU7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVTLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBYTtRQUNuQyxRQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEQsS0FBSyxRQUFRLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO1lBQ25GLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNILENBQUM7SUFFUyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBZ0I7UUFDL0MsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNwQyxRQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDakIsS0FBSyxRQUFRLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7cUJBQ3BELElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDaEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBQyxHQUFHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUM7Z0JBQzNDLENBQUMsQ0FBQyxDQUFDO2dCQUNMLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDeEMsR0FBRyxJQUFJLENBQUMsT0FBTztvQkFDZixFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7aUJBQzFDLENBQUMsQ0FBQztnQkFDSCxLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7b0JBQ3hDLEdBQUcsSUFBSSxDQUFDLE9BQU87b0JBQ2YsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2lCQUNuQyxDQUFDLENBQUM7WUFDWixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDRixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQ2xDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRVMsWUFBWSxLQUFLLENBQUM7SUFDbEIsZUFBZSxLQUFLLENBQUM7SUFFL0IsTUFBTSxDQUFDLE9BQVU7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBbUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2RvbWFpbic7XG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBFbnRpdHlTdGF0ZSwgRW50aXR5QWRhcHRlciwgY3JlYXRlRW50aXR5QWRhcHRlciB9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCBpc09ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBidWZmZXJUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEVudGl0eSwgVGFzaywgVGFza0NvbXBvc2VyU2VydmljZSB9IGZyb20gJy4vdGFzay1jb21wb3Nlcic7XG5pbXBvcnQgeyBQcm94eUlkU2VydmljZSB9IGZyb20gJy4vcHJveHktaWQuc2VydmljZSc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZUFkYXB0ZXIsIGluamVjdEVudGl0eVN0b3JlQWRhcHRlciB9IGZyb20gJy4vZW50aXR5LXN0b3JlLWFkYXB0ZXInO1xuXG5leHBvcnQgY29uc3QgZGlzdGluY3RVbnRpbENoYW5nZWRBcnJheSA9IDxUPigpID0+IHtcbiAgcmV0dXJuIGRpc3RpbmN0VW50aWxDaGFuZ2VkPFQ+KChwcmUsIGN1cikgPT4gSlNPTi5zdHJpbmdpZnkocHJlKSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VyKSk7XG59O1xuXG5leHBvcnQgY2xhc3MgQmFzZUVudGl0eVN0b3JlPEUgZXh0ZW5kcyBFbnRpdHk+IGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8RW50aXR5U3RhdGU8RT4+IHtcbiAgcHJvdGVjdGVkIGFkYXB0ZXI6IEVudGl0eVN0b3JlQWRhcHRlcjxFPjtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVmcmVzaCQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcbiAgcHJvdGVjdGVkIGdldCBzZWxlY3RvcnMoKSB7IHJldHVybiB0aGlzLmVudGl0eUFkYXB0ZXIuZ2V0U2VsZWN0b3JzKCk7IH1cbiAgcmVhZG9ubHkgYWxsJCA9IHRoaXMuc2VsZWN0KChzdGF0ZSkgPT4gdGhpcy5zZWxlY3RvcnMuc2VsZWN0QWxsKHN0YXRlKSk7XG4gIHJlYWRvbmx5IGFsbCA9IHRvU2lnbmFsKHRoaXMuYWxsJCk7XG4gIHJlYWRvbmx5IHRvdGFsJCA9IHRoaXMuc2VsZWN0KChzdGF0ZSkgPT4gdGhpcy5zZWxlY3RvcnMuc2VsZWN0VG90YWwoc3RhdGUpKTtcbiAgcmVhZG9ubHkgdG90YWwgPSB0b1NpZ25hbCh0aGlzLnRvdGFsJCk7XG5cbiAgLyoqIEBkZXByZWNhdGVkIHVzZSBCYXNlRW50aXR5U3RvcmUuYWxsJCBpbnN0ZWFkLiAqL1xuICByZWFkb25seSBlbnRpdGllcyQgPSB0aGlzLmFsbCRcbiAgLyoqIEBkZXByZWNhdGVkIHVzZSBCYXNlRW50aXR5U3RvcmUuYWxsIGluc3RlYWQuICovXG4gIHJlYWRvbmx5IGVudGl0aWVzID0gdGhpcy5hbGw7XG4gIC8qKiBAZGVwcmVjYXRlZCB1c2UgQmFzZUVudGl0eVN0b3JlLnRvdGFsJCBpbnN0ZWFkLiAqL1xuICByZWFkb25seSBzaXplJCA9IHRoaXMudG90YWwkO1xuXG4gIHJlYWRvbmx5IGFkZE9uZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGVudGl0eTogRSkgPT4gdGhpcy5lbnRpdHlBZGFwdGVyLmFkZE9uZShlbnRpdHksIHN0YXRlKSk7XG4gIHJlYWRvbmx5IGFkZE1hbnkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdGllczogRVtdKSA9PiB0aGlzLmVudGl0eUFkYXB0ZXIuYWRkTWFueShlbnRpdGllcywgc3RhdGUpKTtcbiAgcmVhZG9ubHkgdXBkYXRlT25lID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgdXBkYXRlOiB7aWQ6IHN0cmluZywgY2hhbmdlczogUGFydGlhbDxFPn0pID0+IHRoaXMuZW50aXR5QWRhcHRlci51cGRhdGVPbmUodXBkYXRlLCBzdGF0ZSkpO1xuICByZWFkb25seSB1cGRhdGVNYW55ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgdXBkYXRlczoge2lkOiBzdHJpbmcsIGNoYW5nZXM6IFBhcnRpYWw8RT59W10pID0+IHRoaXMuZW50aXR5QWRhcHRlci51cGRhdGVNYW55KHVwZGF0ZXMsIHN0YXRlKSk7XG4gIHJlYWRvbmx5IHVwc2VydE9uZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGVudGl0eTogRSkgPT4gdGhpcy5lbnRpdHlBZGFwdGVyLnVwc2VydE9uZShlbnRpdHksIHN0YXRlKSk7XG4gIHJlYWRvbmx5IHVwc2VydE1hbnkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdGllczogRVtdKSA9PiB0aGlzLmVudGl0eUFkYXB0ZXIudXBzZXJ0TWFueShlbnRpdGllcywgc3RhdGUpKTtcbiAgcmVhZG9ubHkgcmVtb3ZlT25lID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgaWQ6IHN0cmluZykgPT4gdGhpcy5lbnRpdHlBZGFwdGVyLnJlbW92ZU9uZShpZCwgc3RhdGUpKTtcbiAgcmVhZG9ubHkgcmVtb3ZlTWFueSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGlkczogc3RyaW5nW10pID0+IHRoaXMuZW50aXR5QWRhcHRlci5yZW1vdmVNYW55KGlkcywgc3RhdGUpKTtcbiAgcmVhZG9ubHkgcmVtb3ZlQWxsID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gdGhpcy5lbnRpdHlBZGFwdGVyLnJlbW92ZUFsbChzdGF0ZSkpO1xuICByZWFkb25seSBzZXRPbmUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdHk6IEUpID0+IHRoaXMuZW50aXR5QWRhcHRlci5zZXRPbmUoZW50aXR5LCBzdGF0ZSkpO1xuICByZWFkb25seSBzZXRBbGwgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBlbnRpdGllczogRVtdKSA9PiB0aGlzLmVudGl0eUFkYXB0ZXIuc2V0QWxsKGVudGl0aWVzLCBzdGF0ZSkpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlbnRpdHk6IFR5cGU8RT4sXG4gICAgcHJvdGVjdGVkIGVudGl0eUFkYXB0ZXI6IEVudGl0eUFkYXB0ZXI8RT4gPSBjcmVhdGVFbnRpdHlBZGFwdGVyPEU+KHtzZWxlY3RJZDogKGVudGl0eSkgPT4gZW50aXR5LmlkLCBzb3J0Q29tcGFyZXI6IGZhbHNlfSksXG4gICkge1xuICAgIHN1cGVyKGVudGl0eUFkYXB0ZXIuZ2V0SW5pdGlhbFN0YXRlKCkpO1xuICAgIHRoaXMuYWRhcHRlciA9IGluamVjdEVudGl0eVN0b3JlQWRhcHRlcihlbnRpdHkpO1xuICAgIHRoaXMuZ2V0RW50aXRpZXModGhpcy5yZWZyZXNoJCk7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RW50aXRpZXMgPSB0aGlzLmVmZmVjdCgocmVmcmVzaCQ6IE9ic2VydmFibGU8dm9pZD4pID0+IHJlZnJlc2gkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuYWRhcHRlcj8ubGlzdCgpID8/IG9mKFtdKSksXG4gICAgdGFwKChlbnRpdGllczogRVtdKSA9PiB0aGlzLnNldEFsbChlbnRpdGllcykpLFxuICApKTtcblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xuICB9XG5cbiAgbWFwVG9PbmUodmFsdWVPck9iczogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxFPiB7XG4gICAgY29uc3Qgd3JhcCA9ICh2YWx1ZU9yT2JzOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4pID0+IGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzKSA/IHZhbHVlT3JPYnMgOiBvZih2YWx1ZU9yT2JzKTtcbiAgICByZXR1cm4gd3JhcCh2YWx1ZU9yT2JzKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGlkID0+IHRoaXMuc2VsZWN0KChzdGF0ZSkgPT4gdGhpcy5zZWxlY3RvcnMuc2VsZWN0RW50aXRpZXMoc3RhdGUpW2lkXSkpLFxuICAgICk7XG4gIH1cblxufVxuXG5leHBvcnQgY2xhc3MgRW50aXR5U3RvcmU8RSBleHRlbmRzIEVudGl0eT4gZXh0ZW5kcyBCYXNlRW50aXR5U3RvcmU8RT4ge1xuICBwcm90ZWN0ZWQgcHJveHlJZCA9IGluamVjdChQcm94eUlkU2VydmljZSwge30pO1xuICBwcm90ZWN0ZWQgY29tcG9zZXIgPSBpbmplY3QoVGFza0NvbXBvc2VyU2VydmljZSk7XG4gIHByb3RlY3RlZCB0YXNrU3ViamVjdCQgPSBuZXcgU3ViamVjdDxUYXNrPEU+PigpO1xuICBwcm90ZWN0ZWQgdGFzayQ6IE9ic2VydmFibGU8VGFzazxFPj4gPSB0aGlzLnRhc2tTdWJqZWN0JC5waXBlKFxuICAgIG1hcCh0YXNrID0+IHtcbiAgICAgIHN3aXRjaCh0YXNrLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnY3JlYXRlJzogcmV0dXJuIG1lcmdlKHRhc2ssIHtwYXlsb2FkOiB7aWQ6IHRoaXMucHJveHlJZC5wcm94eUlkKHRhc2sucGF5bG9hZC5pZCl9fSk7XG4gICAgICAgIGRlZmF1bHQ6IHJldHVybiB0YXNrO1xuICAgICAgfVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpLFxuICApO1xuICBwcm90ZWN0ZWQgY29tcG9zZWRUYXNrcyQgPSB0aGlzLnRhc2skLnBpcGUoXG4gICAgYnVmZmVyVGltZSg1ICogMTAwMCksXG4gICAgZmlsdGVyKHRhc2tzID0+IHRhc2tzLmxlbmd0aCA+IDApLFxuICAgIG1hcCgodGFza3MpID0+IHRoaXMuY29tcG9zZXIuY29tcG9zZVRhc2tzKHRhc2tzKSksXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGVudGl0eTogVHlwZTxFPixcbiAgICBwcm90ZWN0ZWQgZW50aXR5QWRhcHRlcjogRW50aXR5QWRhcHRlcjxFPiA9IGNyZWF0ZUVudGl0eUFkYXB0ZXI8RT4oe3NlbGVjdElkOiAoZW50aXR5KSA9PiBlbnRpdHkuaWQsIHNvcnRDb21wYXJlcjogZmFsc2V9KSxcbiAgKSB7XG4gICAgc3VwZXIoZW50aXR5LCBlbnRpdHlBZGFwdGVyKTtcbiAgICB0aGlzLnRhc2skLnN1YnNjcmliZSgodGFzazogVGFzazxFPikgPT4gdGhpcy5ydW5UYXNrKHRhc2spKTtcbiAgICB0aGlzLmNvbXBvc2VkVGFza3MkLnN1YnNjcmliZSh0YXNrcyA9PiB0aGlzLnJ1bkNvbXBvc2VkVGFza3ModGFza3MpKTtcbiAgfVxuXG4gIGRpc3BhdGNoKGFjdGlvbjogVGFzazxFPikge1xuICAgIHRoaXMudGFza1N1YmplY3QkLm5leHQoYWN0aW9uKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBydW5UYXNrKHRhc2s6IFRhc2s8RT4pOiBQcm9taXNlPGFueT4ge1xuICAgIHN3aXRjaCh0YXNrLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2NyZWF0ZSc6IHJldHVybiB0aGlzLmFkZE9uZSh0YXNrLnBheWxvYWQpO1xuICAgICAgY2FzZSAndXBkYXRlJzogcmV0dXJuIHRoaXMudXBkYXRlT25lKHtpZDogdGFzay5wYXlsb2FkLmlkLCBjaGFuZ2VzOiB0YXNrLnBheWxvYWR9KTtcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6IHJldHVybiB0aGlzLnJlbW92ZU9uZSh0YXNrLnBheWxvYWQuaWQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBydW5Db21wb3NlZFRhc2tzKHRhc2tzOiBUYXNrPEU+W10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwodGFza3MubWFwKCh0YXNrKSA9PiB7XG4gICAgICBzd2l0Y2godGFzay50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2NyZWF0ZSc6IHJldHVybiB0aGlzLmFkYXB0ZXIuY3JlYXRlKHRhc2sucGF5bG9hZClcbiAgICAgICAgICAudGhlbigoZW50aXR5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnByb3h5SWQudXBkYXRlKHRhc2sucGF5bG9hZC5pZCwgZW50aXR5LmlkKTtcbiAgICAgICAgICAgIGNvbnN0IF9lbnRpdHkgPSB0aGlzLnN0YXRlKCkuZW50aXRpZXNbdGFzay5wYXlsb2FkLmlkXTtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlT25lKHRhc2sucGF5bG9hZC5pZCk7XG4gICAgICAgICAgICB0aGlzLmFkZE9uZSh7Li4uX2VudGl0eSwgaWQ6IGVudGl0eS5pZH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICBjYXNlICd1cGRhdGUnOiByZXR1cm4gdGhpcy5hZGFwdGVyLnVwZGF0ZSh7XG4gICAgICAgICAgLi4udGFzay5wYXlsb2FkLFxuICAgICAgICAgIGlkOiB0aGlzLnByb3h5SWQucmVzb2x2ZSh0YXNrLnBheWxvYWQuaWQpLFxuICAgICAgICB9KTtcbiAgICAgICAgY2FzZSAnZGVsZXRlJzogcmV0dXJuIHRoaXMuYWRhcHRlci5kZWxldGUoe1xuICAgICAgICAgIC4uLnRhc2sucGF5bG9hZCxcbiAgICAgICAgICBpZDogdGhpcy5wcm94eUlkLnJlc29sdmUodGFzay5wYXlsb2FkLmlkKSxcbiAgICAgICAgfSBhcyBhbnkpO1xuICAgICAgfVxuICAgIH0pKVxuICAgIC50aGVuKCgpID0+IHRoaXMub25TeW5jU3VjY2VlZGVkKCkpXG4gICAgLmNhdGNoKCgpID0+IHRoaXMub25TeW5jRmFpbGVkKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uU3luY0ZhaWxlZCgpIHsgfVxuICBwcm90ZWN0ZWQgb25TeW5jU3VjY2VlZGVkKCkgeyB9XG5cbiAgY3JlYXRlKHBheWxvYWQ6IEUpOiBQcm9taXNlPEU+IHtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmNyZWF0ZShwYXlsb2FkKTtcbiAgfVxuXG4gIHVwZGF0ZShwYXlsb2FkOiBQaWNrPEUsICdpZCc+ICYgUGFydGlhbDxFPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIudXBkYXRlKHBheWxvYWQpO1xuICB9XG5cbiAgZGVsZXRlKHBheWxvYWQ6IFBpY2s8RSwgJ2lkJz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmRlbGV0ZShwYXlsb2FkKTtcbiAgfVxuXG4gIHNhdmUocGF5bG9hZDogRSk6IFByb21pc2U8RT4ge1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuc2F2ZShwYXlsb2FkKTtcbiAgfVxufVxuIl19","import { Injectable, inject } from '@angular/core';\nimport { EntityStore } from './entity-store';\nimport * as i0 from \"@angular/core\";\nexport { distinctUntilChangedArray } from './entity-store';\nexport class EntityStoreService {\n constructor() {\n this.storeMap = new Map();\n }\n get(Entity) {\n if (!this.storeMap.has(Entity)) {\n this.storeMap.set(Entity, new EntityStore(Entity));\n }\n return this.storeMap.get(Entity);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EntityStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EntityStoreService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EntityStoreService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nexport function injectEntityStore(Entity) {\n return inject(EntityStoreService).get(Entity);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXN0b3JlLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy9lbnRpdGllcy9lbnRpdHktc3RvcmUtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBQzdDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzNELE1BQU0sT0FBTyxrQkFBa0I7SUFEL0I7UUFFWSxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7S0FRbkU7SUFOQyxHQUFHLENBQW1CLE1BQWU7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFtQixDQUFDO0lBQ3JELENBQUM7OEdBUlUsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FETixNQUFNOzsyRkFDbEIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7QUFZaEMsTUFBTSxVQUFVLGlCQUFpQixDQUFtQixNQUFlO0lBQ2pFLE9BQU8sTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9kb21haW4nO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi90YXNrLWNvbXBvc2VyJztcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnLi9lbnRpdHktc3RvcmUnO1xuZXhwb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWRBcnJheSB9IGZyb20gJy4vZW50aXR5LXN0b3JlJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgRW50aXR5U3RvcmVTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIHN0b3JlTWFwID0gbmV3IE1hcDxUeXBlPEVudGl0eT4sIEVudGl0eVN0b3JlPEVudGl0eT4+KCk7XG5cbiAgZ2V0PEUgZXh0ZW5kcyBFbnRpdHk+KEVudGl0eTogVHlwZTxFPik6IEVudGl0eVN0b3JlPEU+IHtcbiAgICBpZiAoIXRoaXMuc3RvcmVNYXAuaGFzKEVudGl0eSkpIHtcbiAgICAgIHRoaXMuc3RvcmVNYXAuc2V0KEVudGl0eSwgbmV3IEVudGl0eVN0b3JlKEVudGl0eSkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zdG9yZU1hcC5nZXQoRW50aXR5KSBhcyBFbnRpdHlTdG9yZTxFPjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0RW50aXR5U3RvcmU8RSBleHRlbmRzIEVudGl0eT4oRW50aXR5OiBUeXBlPEU+KTogRW50aXR5U3RvcmU8RT4ge1xuICByZXR1cm4gaW5qZWN0KEVudGl0eVN0b3JlU2VydmljZSkuZ2V0KEVudGl0eSk7XG59XG4iXX0=","import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { computed, inject } from '@angular/core';\nimport { Resolver } from '@nx-ddd/common/domain';\nimport { injectResolver$ } from '@ng-atomic/common/utils';\nimport { combineLatest, isObservable, of, filter, map, shareReplay, switchMap } from 'rxjs';\nimport { injectEntityStore } from './entity-store-manager';\nimport { derivedAsync } from 'ngxtension/derived-async';\nexport function injectOne$(Entity, params, resolverType = Resolver) {\n if (resolverType) {\n return combineLatest({\n resolver: injectResolver$(resolverType, params),\n Entity: injectEntityStore(Entity).mapToOne(params.id).pipe(filter((Entity) => !!Entity)),\n }).pipe(map(({ resolver, Entity }) => resolver.resolve(Entity)), shareReplay(1), takeUntilDestroyed());\n }\n return injectEntityStore(Entity).mapToOne(params.id).pipe(shareReplay(1), takeUntilDestroyed());\n}\nfunction signalMapToObsMap(map) {\n return Object.entries(map).reduce((acc, [key, value]) => {\n acc[key] = toObservable(value);\n return acc;\n }, {});\n}\nexport function injectOne(Entity, params, resolverType = Resolver) {\n return toSignal(injectOne$(Entity, signalMapToObsMap(params), resolverType));\n}\nexport function injectAll$(Entity, params = {}, resolverType = Resolver) {\n if (resolverType) {\n return combineLatest({\n resolver: injectResolver$(resolverType, params),\n entities: injectEntityStore(Entity).all$,\n }).pipe(map(({ resolver, entities }) => resolver.resolveMany(entities)), shareReplay(1), takeUntilDestroyed());\n }\n return injectEntityStore(Entity).entities$.pipe(shareReplay(1), takeUntilDestroyed());\n}\nexport const callSignalMap = (map) => {\n return computed(() => Object.entries(map).reduce((acc, [key, value]) => {\n return { ...acc, [key]: value() };\n }, {}));\n};\n// export function injectAll<T extends Entity>(\n// Entity: Type<T>,\n// params: Record<string, Signal<any>> = {},\n// resolverType?: new (params: Record<string, any>) => Resolver<T>\n// ) {\n// const store = injectEntityStore(Entity);\n// if (resolverType) {\n// return computed(() => {\n// const resolver = getResolver(resolverType, callSignalMap(params)());\n// const items = resolver.resolveMany(store.all());\n// return items;\n// });\n// }\n// return computed(() => store.all());\n// }\nexport function injectAll(Entity, params = {}, resolverType = Resolver) {\n const $params = signalMapToObsMap(params);\n const all$ = injectAll$(Entity, $params, resolverType);\n return derivedAsync(() => all$, { initialValue: [] });\n}\nexport function mapToOne$(storeType, keyOrKey$) {\n const store = inject(storeType, {});\n const key$ = isObservable(keyOrKey$) ? keyOrKey$ : of(keyOrKey$);\n return key$.pipe(switchMap(key => store.mapToOne(key)));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy9lbnRpdGllcy9kaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hGLE9BQU8sRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQXNCLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBYyxhQUFhLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBS3hELE1BQU0sVUFBVSxVQUFVLENBQ3hCLE1BQWUsRUFDZixNQUFpQyxFQUNqQyxlQUFzQyxRQUFRO0lBRTlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakIsT0FBTyxhQUFhLENBQUM7WUFDbkIsUUFBUSxFQUFFLGVBQWUsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDO1lBQy9DLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDeEQsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQzdCO1NBQ0YsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxFQUFFLFFB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R0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN2RCxPQUFPLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBSUQsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsU0FBbUMsRUFDbkMsU0FBb0M7SUFFcEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFpQixTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFNpZ25hbCwgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzb2x2ZXIsIEJhc2VSZXNvbHZlciwgVHlwZSB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2RvbWFpbic7XG5pbXBvcnQgeyBpbmplY3RSZXNvbHZlciQgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi91dGlscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBpc09ic2VydmFibGUsIG9mLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi90YXNrLWNvbXBvc2VyJztcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnLi9lbnRpdHktc3RvcmUnO1xuaW1wb3J0IHsgaW5qZWN0RW50aXR5U3RvcmUgfSBmcm9tICcuL2VudGl0eS1zdG9yZS1tYW5hZ2VyJztcbmltcG9ydCB7IGRlcml2ZWRBc3luYyB9IGZyb20gJ25neHRlbnNpb24vZGVyaXZlZC1hc3luYyc7XG5cbnR5cGUgT25lUHJvcHM8Vj4gPSB7aWQ6IFYsIFtrZXk6IHN0cmluZ106IFZ9O1xudHlwZSBBbGxQcm9wczxWPiA9IHtba2V5OiBzdHJpbmddOiBWfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE9uZSQ8VCBleHRlbmRzIEVudGl0eT4oXG4gIEVudGl0eTogVHlwZTxUPixcbiAgcGFyYW1zOiBPbmVQcm9wczxPYnNlcnZhYmxlPGFueT4+LFxuICByZXNvbHZlclR5cGU6IFR5cGU8QmFzZVJlc29sdmVyPFQ+PiA9IFJlc29sdmVyXG4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgaWYgKHJlc29sdmVyVHlwZSkge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHtcbiAgICAgIHJlc29sdmVyOiBpbmplY3RSZXNvbHZlciQocmVzb2x2ZXJUeXBlLCBwYXJhbXMpLFxuICAgICAgRW50aXR5OiBpbmplY3RFbnRpdHlTdG9yZShFbnRpdHkpLm1hcFRvT25lKHBhcmFtcy5pZCkucGlwZShcbiAgICAgICAgZmlsdGVyKChFbnRpdHkpID0+ICEhRW50aXR5KVxuICAgICAgKSxcbiAgICB9KS5waXBlKFxuICAgICAgbWFwKCh7IHJlc29sdmVyLCBFbnRpdHkgfSkgPT4gcmVzb2x2ZXIucmVzb2x2ZShFbnRpdHkpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBpbmplY3RFbnRpdHlTdG9yZShFbnRpdHkpLm1hcFRvT25lKHBhcmFtcy5pZCkucGlwZShcbiAgICBzaGFyZVJlcGxheSgxKSxcbiAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgKTtcbn1cblxuZnVuY3Rpb24gc2lnbmFsTWFwVG9PYnNNYXAobWFwOiBBbGxQcm9wczxTaWduYWw8YW55Pj4pOiBBbGxQcm9wczxPYnNlcnZhYmxlPGFueT4+IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG1hcCkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGFjY1trZXldID0gdG9PYnNlcnZhYmxlKHZhbHVlIGFzIGFueSk7XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgQWxsUHJvcHM8T2JzZXJ2YWJsZTxhbnk+Pik7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE9uZTxUIGV4dGVuZHMgRW50aXR5PihcbiAgRW50aXR5OiBUeXBlPFQ+LFxuICBwYXJhbXM6IE9uZVByb3BzPFNpZ25hbDxhbnk+PixcbiAgcmVzb2x2ZXJUeXBlOiBUeXBlPEJhc2VSZXNvbHZlcjxUPj4gPSBSZXNvbHZlclxuKSB7XG4gIHJldHVybiB0b1NpZ25hbChpbmplY3RPbmUkKEVudGl0eSwgc2lnbmFsTWFwVG9PYnNNYXAocGFyYW1zKSBhcyBhbnksIHJlc29sdmVyVHlwZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QWxsJDxUIGV4dGVuZHMgRW50aXR5PihcbiAgRW50aXR5OiBUeXBlPFQ+LFxuICBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIE9ic2VydmFibGU8YW55Pj4gPSB7fSxcbiAgcmVzb2x2ZXJUeXBlOiBUeXBlPEJhc2VSZXNvbHZlcjxUPj4gPSBSZXNvbHZlclxuKSB7XG4gIGlmIChyZXNvbHZlclR5cGUpIHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdCh7XG4gICAgICByZXNvbHZlcjogaW5qZWN0UmVzb2x2ZXIkKHJlc29sdmVyVHlwZSwgcGFyYW1zKSxcbiAgICAgIGVudGl0aWVzOiBpbmplY3RFbnRpdHlTdG9yZShFbnRpdHkpLmFsbCQsXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCgoeyByZXNvbHZlciwgZW50aXRpZXMgfSkgPT4gcmVzb2x2ZXIucmVzb2x2ZU1hbnkoZW50aXRpZXMpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBpbmplY3RFbnRpdHlTdG9yZShFbnRpdHkpLmVudGl0aWVzJC5waXBlKFxuICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICApO1xufVxuXG5leHBvcnQgY29uc3QgY2FsbFNpZ25hbE1hcCA9IDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgU2lnbmFsPGFueT4+PihtYXA6IFQpOiBTaWduYWw8VD4gPT4gIHtcbiAgcmV0dXJuIGNvbXB1dGVkKCgpID0+IE9iamVjdC5lbnRyaWVzKG1hcCkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7Li4uYWNjLCBba2V5XTogdmFsdWUoKX07XG4gIH0sIHt9IGFzIFQpKTtcbn1cblxuLy8gZXhwb3J0IGZ1bmN0aW9uIGluamVjdEFsbDxUIGV4dGVuZHMgRW50aXR5Pihcbi8vICAgRW50aXR5OiBUeXBlPFQ+LFxuLy8gICBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIFNpZ25hbDxhbnk+PiA9IHt9LFxuLy8gICByZXNvbHZlclR5cGU/OiBuZXcgKHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PikgPT4gUmVzb2x2ZXI8VD5cbi8vICkge1xuLy8gICBjb25zdCBzdG9yZSA9IGluamVjdEVudGl0eVN0b3JlKEVudGl0eSk7XG4vLyAgIGlmIChyZXNvbHZlclR5cGUpIHtcbi8vICAgICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuLy8gICAgICAgY29uc3QgcmVzb2x2ZXIgPSBnZXRSZXNvbHZlcihyZXNvbHZlclR5cGUsIGNhbGxTaWduYWxNYXAocGFyYW1zKSgpKTtcbi8vICAgICAgIGNvbnN0IGl0ZW1zID0gcmVzb2x2ZXIucmVzb2x2ZU1hbnkoc3RvcmUuYWxsKCkpO1xuLy8gICAgICAgcmV0dXJuIGl0ZW1zO1xuLy8gICAgIH0pO1xuLy8gICB9XG4vLyAgIHJldHVybiBjb21wdXRlZCgoKSA9PiBzdG9yZS5hbGwoKSk7XG4vLyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RBbGw8VCBleHRlbmRzIEVudGl0eT4oXG4gIEVudGl0eTogVHlwZTxUPixcbiAgcGFyYW1zOiBBbGxQcm9wczxTaWduYWw8YW55Pj4gPSB7fSxcbiAgcmVzb2x2ZXJUeXBlOiBUeXBlPEJhc2VSZXNvbHZlcjxUPj4gPSBSZXNvbHZlclxuKTogU2lnbmFsPFRbXT4ge1xuICBjb25zdCAkcGFyYW1zID0gc2lnbmFsTWFwVG9PYnNNYXAocGFyYW1zKTtcbiAgY29uc3QgYWxsJCA9IGluamVjdEFsbCQoRW50aXR5LCAkcGFyYW1zLCByZXNvbHZlclR5cGUpO1xuICByZXR1cm4gZGVyaXZlZEFzeW5jKCgpID0+IGFsbCQsIHsgaW5pdGlhbFZhbHVlOiBbXSB9KTtcbn1cblxuZXhwb3J0IHR5cGUgVmFsdWVPck9ic2VydmFibGU8VD4gPSBUIHwgT2JzZXJ2YWJsZTxUPjtcblxuZXhwb3J0IGZ1bmN0aW9uIG1hcFRvT25lJDxUIGV4dGVuZHMge2lkOiBzdHJpbmd9PihcbiAgc3RvcmVUeXBlOiBuZXcgKCkgPT4gRW50aXR5U3RvcmU8VD4sXG4gIGtleU9yS2V5JDogVmFsdWVPck9ic2VydmFibGU8c3RyaW5nPixcbik6IE9ic2VydmFibGU8VD4ge1xuICBjb25zdCBzdG9yZSA9IGluamVjdDxFbnRpdHlTdG9yZTxUPj4oc3RvcmVUeXBlLCB7fSk7XG4gIGNvbnN0IGtleSQgPSBpc09ic2VydmFibGUoa2V5T3JLZXkkKSA/IGtleU9yS2V5JCA6IG9mKGtleU9yS2V5JCk7XG4gIHJldHVybiBrZXkkLnBpcGUoc3dpdGNoTWFwKGtleSA9PiBzdG9yZS5tYXBUb09uZShrZXkpKSk7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1zdG9yZXMtZW50aXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3N0b3Jlcy9lbnRpdGllcy9uZy1hdG9taWMtY29tbW9uLXN0b3Jlcy1lbnRpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["filter","map","shareReplay","switchMap"],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-common-stores-entities.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/entities/proxy-id.service.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/task-composer.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/entity-store-adapter.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/entity-store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/entity-store-manager.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/di.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/ng-atomic-common-stores-entities.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n\n@Injectable({providedIn: 'root'})\nexport class ProxyIdService {\n proxyMap = new Map<string, string>();\n\n isProxyId(id: string | null): boolean {\n return !!id?.startsWith('proxy-');\n }\n\n proxyId(_id: string): string {\n const id = this.isProxyId(_id) ? _id : `proxy-${this.proxyMap.size}`;\n if (!this.proxyMap.get(id)) this.proxyMap.set(id, id);\n return id;\n }\n\n update(proxyId: string, id: string) {\n this.proxyMap.set(proxyId, id);\n }\n\n resolve(proxyIdOrId: string): string {\n return this.isProxyId(proxyIdOrId) ? this.proxyMap.get(proxyIdOrId) : proxyIdOrId;\n }\n}\n","import { Injectable, inject } from \"@angular/core\";\nimport { merge } from \"lodash-es\";\nimport { ProxyIdService } from \"./proxy-id.service\";\n\nexport type Entity = {id: string};\n\ninterface BaseTask {\n type: 'create' | 'update' | 'delete' | 'noop';\n timestamp: number;\n}\n\ninterface CreateAction<T extends Entity> extends BaseTask {\n type: 'create';\n payload: T;\n}\n\ninterface UpdateAction<T extends Entity> extends BaseTask {\n type: 'update';\n payload: Partial<T> & Entity;\n}\n\ninterface DeleteAction extends BaseTask {\n type: 'delete';\n payload: Entity;\n}\n\ninterface NoopAction extends BaseTask {\n type: 'noop';\n payload: {};\n}\n\nexport type Task<T extends Entity> = CreateAction<T> | UpdateAction<T> | DeleteAction | NoopAction;\n\nexport function pushMap<T>(map: Map<string, T[]>, id: string, item: T): Map<string, T[]> {\n const items = map.get(id) ?? [];\n items.push(item);\n map.set(id, items);\n return map;\n}\n\n@Injectable({providedIn: 'root'})\nexport class TaskComposerService {\n readonly proxyId = inject(ProxyIdService);\n\n composeTasks<T extends Entity>(tasks: Task<T>[]): Task<T>[] {\n const map = new Map<string, Task<T>[]>();\n tasks.sort((a, b) => a.timestamp - b.timestamp).forEach((task) => {\n let id = (task.payload as any)?.id;\n switch(task.type) {\n case 'noop':\n break\n case 'create':\n id = this.proxyId.proxyId(task.payload.id);\n pushMap(map, id, {...task, payload: {...task.payload, id}} as Task<T>);\n break;\n case 'update':\n case 'delete':\n pushMap(map, this.proxyId.resolve(id), task);\n break;\n }\n });\n\n const _tasks: Task<T>[] = [];\n for (const tasks of map.values()) {\n _tasks.push(this.compose(tasks));\n }\n return _tasks.filter(task => task.type !== 'noop');\n }\n\n compose<T extends Entity>(tasks: Task<T>[]): Task<T> {\n let created = false;\n return tasks.reduce((a, b) => {\n switch(b.type) {\n case 'create':\n created = true;\n return {\n type: 'create',\n payload: b.payload,\n timestamp: b.timestamp,\n } as Task<T>;\n case 'update':\n return {\n type: created ? 'create' : 'update',\n payload: merge(a.payload, b.payload),\n timestamp: b.timestamp,\n } as Task<T>;\n case 'delete':\n return {\n type: created ? 'noop' : 'delete',\n payload: b.payload,\n timestamp: b.timestamp,\n } as Task<T>;\n }\n }, {type: 'noop', payload: {}} as Task<T>)\n }\n}\n","\nimport { InjectionToken, Injector, inject } from '@angular/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { Observable } from 'rxjs';\nimport { Entity } from './task-composer';\n\nexport class EntityStoreAdapter<E extends Entity> {\n list?(): Observable<E[]> {\n throw new Error('not implemented');\n }\n\n create?(entity: E): Promise<E> {\n throw new Error('not implemented');\n }\n\n update?(entity: Partial<E> & Pick<E, 'id'>): Promise<void> {\n throw new Error('not implemented');\n }\n\n delete?(entity: Pick<E, 'id'>): Promise<void> {\n throw new Error('not implemented');\n }\n\n save?(entity: E): Promise<E> {\n throw new Error('not implemented');\n }\n}\n\nexport const ENTITY_STORE_ADAPTER = new InjectionToken<{\n entity: Type<Entity>,\n adapter: EntityStoreAdapter<Entity>\n}[]>('ENTITY_STORE_ADAPTER');\n\nexport function provideEntityStoreAdapter<E extends Entity>(\n entity: Type<E>,\n adapterFactory: (injector: Injector) => EntityStoreAdapter<E>,\n) {\n return {\n provide: ENTITY_STORE_ADAPTER,\n multi: true,\n useFactory: (injector: Injector) => {\n return { entity, adapter: adapterFactory(injector) };\n },\n deps: [Injector]\n };\n}\n\nexport function injectEntityStoreAdapter<E extends Entity>(entity: Type<E>): EntityStoreAdapter<E> {\n const adapters = inject(ENTITY_STORE_ADAPTER, {optional: true}) ?? [];\n return adapters.find(adapter => adapter.entity === entity)?.adapter as EntityStoreAdapter<E>;\n}\n","import { toSignal } from '@angular/core/rxjs-interop';\nimport { inject } from '@angular/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { EntityState, EntityAdapter, createEntityAdapter } from '@ngrx/entity';\nimport { Observable, ReplaySubject, Subject, isObservable, of } from 'rxjs';\nimport { bufferTime, distinctUntilChanged, filter, map, shareReplay, switchMap, tap } from 'rxjs/operators';\nimport { merge } from 'lodash-es';\nimport { Entity, Task, TaskComposerService } from './task-composer';\nimport { ProxyIdService } from './proxy-id.service';\nimport { EntityStoreAdapter, injectEntityStoreAdapter } from './entity-store-adapter';\n\nexport const distinctUntilChangedArray = <T>() => {\n return distinctUntilChanged<T>((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur));\n};\n\nexport class BaseEntityStore<E extends Entity> extends ComponentStore<EntityState<E>> {\n protected adapter: EntityStoreAdapter<E>;\n\n protected readonly refresh$ = new ReplaySubject<void>(1);\n protected get selectors() { return this.entityAdapter.getSelectors(); }\n readonly all$ = this.select((state) => this.selectors.selectAll(state));\n readonly all = toSignal(this.all$);\n readonly total$ = this.select((state) => this.selectors.selectTotal(state));\n readonly total = toSignal(this.total$);\n\n /** @deprecated use BaseEntityStore.all$ instead. */\n readonly entities$ = this.all$\n /** @deprecated use BaseEntityStore.all instead. */\n readonly entities = this.all;\n /** @deprecated use BaseEntityStore.total$ instead. */\n readonly size$ = this.total$;\n\n readonly addOne = this.updater((state, entity: E) => this.entityAdapter.addOne(entity, state));\n readonly addMany = this.updater((state, entities: E[]) => this.entityAdapter.addMany(entities, state));\n readonly updateOne = this.updater((state, update: {id: string, changes: Partial<E>}) => this.entityAdapter.updateOne(update, state));\n readonly updateMany = this.updater((state, updates: {id: string, changes: Partial<E>}[]) => this.entityAdapter.updateMany(updates, state));\n readonly upsertOne = this.updater((state, entity: E) => this.entityAdapter.upsertOne(entity, state));\n readonly upsertMany = this.updater((state, entities: E[]) => this.entityAdapter.upsertMany(entities, state));\n readonly removeOne = this.updater((state, id: string) => this.entityAdapter.removeOne(id, state));\n readonly removeMany = this.updater((state, ids: string[]) => this.entityAdapter.removeMany(ids, state));\n readonly removeAll = this.updater((state) => this.entityAdapter.removeAll(state));\n readonly setOne = this.updater((state, entity: E) => this.entityAdapter.setOne(entity, state));\n readonly setAll = this.updater((state, entities: E[]) => this.entityAdapter.setAll(entities, state));\n\n constructor(\n protected entity: Type<E>,\n protected entityAdapter: EntityAdapter<E> = createEntityAdapter<E>({selectId: (entity) => entity.id, sortComparer: false}),\n ) {\n super(entityAdapter.getInitialState());\n this.adapter = injectEntityStoreAdapter(entity);\n this.getEntities(this.refresh$);\n this.refresh();\n }\n\n protected getEntities = this.effect((refresh$: Observable<void>) => refresh$.pipe(\n switchMap(() => this.adapter?.list() ?? of([])),\n tap((entities: E[]) => this.setAll(entities)),\n ));\n\n refresh() {\n this.refresh$.next();\n }\n\n mapToOne(valueOrObs: string | Observable<string>): Observable<E> {\n const wrap = (valueOrObs: string | Observable<string>) => isObservable(valueOrObs) ? valueOrObs : of(valueOrObs);\n return wrap(valueOrObs).pipe(\n switchMap(id => this.select((state) => this.selectors.selectEntities(state)[id])),\n );\n }\n\n}\n\nexport class EntityStore<E extends Entity> extends BaseEntityStore<E> {\n protected proxyId = inject(ProxyIdService, {});\n protected composer = inject(TaskComposerService);\n protected taskSubject$ = new Subject<Task<E>>();\n protected task$: Observable<Task<E>> = this.taskSubject$.pipe(\n map(task => {\n switch(task.type) {\n case 'create': return merge(task, {payload: {id: this.proxyId.proxyId(task.payload.id)}});\n default: return task;\n }\n }),\n shareReplay(1),\n );\n protected composedTasks$ = this.task$.pipe(\n bufferTime(5 * 1000),\n filter(tasks => tasks.length > 0),\n map((tasks) => this.composer.composeTasks(tasks)),\n );\n\n constructor(\n protected entity: Type<E>,\n protected entityAdapter: EntityAdapter<E> = createEntityAdapter<E>({selectId: (entity) => entity.id, sortComparer: false}),\n ) {\n super(entity, entityAdapter);\n this.task$.subscribe((task: Task<E>) => this.runTask(task));\n this.composedTasks$.subscribe(tasks => this.runComposedTasks(tasks));\n }\n\n dispatch(action: Task<E>) {\n this.taskSubject$.next(action);\n }\n\n protected async runTask(task: Task<E>): Promise<any> {\n switch(task.type) {\n case 'create': return this.addOne(task.payload);\n case 'update': return this.updateOne({id: task.payload.id, changes: task.payload});\n case 'delete': return this.removeOne(task.payload.id);\n }\n }\n\n protected async runComposedTasks(tasks: Task<E>[]): Promise<void> {\n return Promise.all(tasks.map((task) => {\n switch(task.type) {\n case 'create': return this.adapter.create(task.payload)\n .then((entity) => {\n this.proxyId.update(task.payload.id, entity.id);\n const _entity = this.state().entities[task.payload.id];\n this.removeOne(task.payload.id);\n this.addOne({..._entity, id: entity.id});\n });\n case 'update': return this.adapter.update({\n ...task.payload,\n id: this.proxyId.resolve(task.payload.id),\n });\n case 'delete': return this.adapter.delete({\n ...task.payload,\n id: this.proxyId.resolve(task.payload.id),\n } as any);\n }\n }))\n .then(() => this.onSyncSucceeded())\n .catch(() => this.onSyncFailed());\n }\n\n protected onSyncFailed() { }\n protected onSyncSucceeded() { }\n\n create(payload: E): Promise<E> {\n return this.adapter.create(payload);\n }\n\n update(payload: Pick<E, 'id'> & Partial<E>): Promise<void> {\n return this.adapter.update(payload);\n }\n\n delete(payload: Pick<E, 'id'>): Promise<void> {\n return this.adapter.delete(payload);\n }\n\n save(payload: E): Promise<E> {\n return this.adapter.save(payload);\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { Entity } from './task-composer';\nimport { EntityStore } from './entity-store';\nexport { distinctUntilChangedArray } from './entity-store';\n\n@Injectable({providedIn: 'root'})\nexport class EntityStoreService {\n protected storeMap = new Map<Type<Entity>, EntityStore<Entity>>();\n\n get<E extends Entity>(Entity: Type<E>): EntityStore<E> {\n if (!this.storeMap.has(Entity)) {\n this.storeMap.set(Entity, new EntityStore(Entity));\n }\n return this.storeMap.get(Entity) as EntityStore<E>;\n }\n}\n\nexport function injectEntityStore<E extends Entity>(Entity: Type<E>): EntityStore<E> {\n return inject(EntityStoreService).get(Entity);\n}\n","import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { Signal, computed, inject } from '@angular/core';\nimport { Resolver, BaseResolver, Type } from '@nx-ddd/common/domain';\nimport { injectResolver$ } from '@ng-atomic/common/utils';\nimport { Observable, combineLatest, isObservable, of, filter, map, shareReplay, switchMap } from 'rxjs';\nimport { Entity } from './task-composer';\nimport { EntityStore } from './entity-store';\nimport { injectEntityStore } from './entity-store-manager';\nimport { derivedAsync } from 'ngxtension/derived-async';\n\ntype OneProps<V> = {id: V, [key: string]: V};\ntype AllProps<V> = {[key: string]: V};\n\nexport function injectOne$<T extends Entity>(\n Entity: Type<T>,\n params: OneProps<Observable<any>>,\n resolverType: Type<BaseResolver<T>> = Resolver\n): Observable<T> {\n if (resolverType) {\n return combineLatest({\n resolver: injectResolver$(resolverType, params),\n Entity: injectEntityStore(Entity).mapToOne(params.id).pipe(\n filter((Entity) => !!Entity)\n ),\n }).pipe(\n map(({ resolver, Entity }) => resolver.resolve(Entity)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n }\n\n return injectEntityStore(Entity).mapToOne(params.id).pipe(\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nfunction signalMapToObsMap(map: AllProps<Signal<any>>): AllProps<Observable<any>> {\n return Object.entries(map).reduce((acc, [key, value]) => {\n acc[key] = toObservable(value as any);\n return acc;\n }, {} as AllProps<Observable<any>>);\n}\n\n\nexport function injectOne<T extends Entity>(\n Entity: Type<T>,\n params: OneProps<Signal<any>>,\n resolverType: Type<BaseResolver<T>> = Resolver\n) {\n return toSignal(injectOne$(Entity, signalMapToObsMap(params) as any, resolverType));\n}\n\nexport function injectAll$<T extends Entity>(\n Entity: Type<T>,\n params: Record<string, Observable<any>> = {},\n resolverType: Type<BaseResolver<T>> = Resolver\n) {\n if (resolverType) {\n return combineLatest({\n resolver: injectResolver$(resolverType, params),\n entities: injectEntityStore(Entity).all$,\n }).pipe(\n map(({ resolver, entities }) => resolver.resolveMany(entities)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n }\n\n return injectEntityStore(Entity).entities$.pipe(\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport const callSignalMap = <T extends Record<string, Signal<any>>>(map: T): Signal<T> => {\n return computed(() => Object.entries(map).reduce((acc, [key, value]) => {\n return {...acc, [key]: value()};\n }, {} as T));\n}\n\n// export function injectAll<T extends Entity>(\n// Entity: Type<T>,\n// params: Record<string, Signal<any>> = {},\n// resolverType?: new (params: Record<string, any>) => Resolver<T>\n// ) {\n// const store = injectEntityStore(Entity);\n// if (resolverType) {\n// return computed(() => {\n// const resolver = getResolver(resolverType, callSignalMap(params)());\n// const items = resolver.resolveMany(store.all());\n// return items;\n// });\n// }\n// return computed(() => store.all());\n// }\n\nexport function injectAll<T extends Entity>(\n Entity: Type<T>,\n params: AllProps<Signal<any>> = {},\n resolverType: Type<BaseResolver<T>> = Resolver\n): Signal<T[]> {\n const $params = signalMapToObsMap(params);\n const all$ = injectAll$(Entity, $params, resolverType);\n return derivedAsync(() => all$, { initialValue: [] });\n}\n\nexport type ValueOrObservable<T> = T | Observable<T>;\n\nexport function mapToOne$<T extends {id: string}>(\n storeType: new () => EntityStore<T>,\n keyOrKey$: ValueOrObservable<string>,\n): Observable<T> {\n const store = inject<EntityStore<T>>(storeType, {});\n const key$ = isObservable(keyOrKey$) ? keyOrKey$ : of(keyOrKey$);\n return key$.pipe(switchMap(key => store.mapToOne(key)));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["filter","map","shareReplay","switchMap"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-stores-entity.mjs","sources":["../tmp-esm2022/stores/entity/entity.store.js","../tmp-esm2022/stores/entity/ng-atomic-common-stores-entity.js"],"sourcesContent":["import { ComponentStore } from '@ngrx/component-store';\nimport { filter, switchMap, tap } from 'rxjs/operators';\nexport const tryCatch = (promise) => new Promise(async (resolve, reject) => {\n try {\n resolve(await promise);\n }\n catch (error) {\n reject(error);\n }\n});\nexport class EntityStore extends ComponentStore {\n get entity() { return this.get().entity; }\n constructor(initialState) {\n super(initialState);\n this.mode$ = this.select(state => state.mode);\n this.entityId$ = this.select(state => state.entityId).pipe(filter(id => !!id));\n this.entity$ = this.select(state => state.entity);\n this.setMode = this.updater((state, mode) => ({ ...state, mode }));\n this.setEntityId = this.updater((state, entityId) => ({ ...state, entityId }));\n this.setEntity = this.updater((state, entity) => ({ ...state, entity }));\n this.getEntityIdAndMode = this.effect((entityId$) => entityId$.pipe(tap(id => this.setMode(id === 'new' ? 'create' : 'update')), filter(id => id !== 'new'), tap((id) => this.setEntityId(id))));\n this.getEntity = this.effect((entityId$) => entityId$.pipe(switchMap(id => this._getEntity(id)), tap((entity) => this.setEntity(entity))));\n this.getEntity(this.entityId$);\n }\n createEntity(value) {\n const entity = ({ ...this.entity, ...value });\n return tryCatch(this._createEntity(entity));\n }\n updateEntity(value) {\n const entity = ({ ...this.entity, ...value });\n return this._updateEntity(entity);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zdG9yZXMvZW50aXR5L2VudGl0eS5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFVeEQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtJQUN2RixJQUFJLENBQUM7UUFBQyxPQUFPLENBQUMsTUFBTSxPQUFPLENBQUMsQ0FBQztJQUFDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sT0FBZ0IsV0FBbUQsU0FBUSxjQUFpQjtJQUNoRyxJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUEsQ0FBQSxDQUFDO0lBVXhDLFlBQVksWUFBZ0I7UUFDMUIsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBVHRCLFVBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxZQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QyxZQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsZ0JBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLEtBQUssRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEYsY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBTzFFLHVCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUE2QixFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNoRixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDM0QsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUMxQixHQUFHLENBQUMsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDMUMsQ0FBQyxDQUFDO1FBRUgsY0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUE2QixFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN2RSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ3BDLEdBQUcsQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUNoRCxDQUFDLENBQUM7UUFaRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBYUQsWUFBWSxDQUFDLEtBQXNCO1FBQ2pDLE1BQU0sTUFBTSxHQUFXLENBQUMsRUFBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQXNCO1FBQ2pDLE1BQU0sTUFBTSxHQUFXLENBQUMsRUFBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxLQUFLLEVBQUMsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0NBTUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgdHlwZSBNb2RlID0gJ2NyZWF0ZScgfCAndXBkYXRlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVN0YXRlPEVudGl0eT4ge1xuICBtb2RlOiBNb2RlO1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBlbnRpdHk6IEVudGl0eTtcbn1cblxuZXhwb3J0IGNvbnN0IHRyeUNhdGNoID0gKHByb21pc2U6IFByb21pc2U8YW55PikgPT4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICB0cnkgeyByZXNvbHZlKGF3YWl0IHByb21pc2UpOyB9IGNhdGNoIChlcnJvcikgeyByZWplY3QoZXJyb3IpOyB9XG59KTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVudGl0eVN0b3JlPFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxFbnRpdHk+LCBFbnRpdHk+IGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8Uz4ge1xuICBnZXQgZW50aXR5KCkgeyByZXR1cm4gdGhpcy5nZXQoKS5lbnRpdHl9XG5cbiAgbW9kZSQgPSB0aGlzLnNlbGVjdChzdGF0ZSA9PiBzdGF0ZS5tb2RlKTtcbiAgZW50aXR5SWQkID0gdGhpcy5zZWxlY3Qoc3RhdGUgPT4gc3RhdGUuZW50aXR5SWQpLnBpcGUoZmlsdGVyKGlkID0+ICEhaWQpKTtcbiAgZW50aXR5JCA9IHRoaXMuc2VsZWN0KHN0YXRlID0+IHN0YXRlLmVudGl0eSk7XG5cbiAgc2V0TW9kZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIG1vZGU6IE1vZGUpID0+ICh7Li4uc3RhdGUsIG1vZGV9KSk7XG4gIHNldEVudGl0eUlkID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZW50aXR5SWQ6IHN0cmluZykgPT4gKHsuLi5zdGF0ZSwgZW50aXR5SWR9KSk7XG4gIHNldEVudGl0eSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGVudGl0eTogRW50aXR5KSA9PiAoey4uLnN0YXRlLCBlbnRpdHl9KSk7XG5cbiAgY29uc3RydWN0b3IoaW5pdGlhbFN0YXRlPzogUykge1xuICAgIHN1cGVyKGluaXRpYWxTdGF0ZSk7XG4gICAgdGhpcy5nZXRFbnRpdHkodGhpcy5lbnRpdHlJZCQpO1xuICB9XG5cbiAgZ2V0RW50aXR5SWRBbmRNb2RlID0gdGhpcy5lZmZlY3QoKGVudGl0eUlkJDogT2JzZXJ2YWJsZTxzdHJpbmc+KSA9PiBlbnRpdHlJZCQucGlwZShcbiAgICB0YXAoaWQgPT4gdGhpcy5zZXRNb2RlKGlkID09PSAnbmV3JyA/ICdjcmVhdGUnIDogJ3VwZGF0ZScpKSxcbiAgICBmaWx0ZXIoaWQgPT4gaWQgIT09ICduZXcnKSxcbiAgICB0YXAoKGlkOiBzdHJpbmcpID0+IHRoaXMuc2V0RW50aXR5SWQoaWQpKSxcbiAgKSk7XG5cbiAgZ2V0RW50aXR5ID0gdGhpcy5lZmZlY3QoKGVudGl0eUlkJDogT2JzZXJ2YWJsZTxzdHJpbmc+KSA9PiBlbnRpdHlJZCQucGlwZShcbiAgICBzd2l0Y2hNYXAoaWQgPT4gdGhpcy5fZ2V0RW50aXR5KGlkKSksXG4gICAgdGFwKChlbnRpdHk6IEVudGl0eSkgPT4gdGhpcy5zZXRFbnRpdHkoZW50aXR5KSksXG4gICkpO1xuXG4gIGNyZWF0ZUVudGl0eSh2YWx1ZTogUGFydGlhbDxFbnRpdHk+KSB7XG4gICAgY29uc3QgZW50aXR5OiBFbnRpdHkgPSAoey4uLnRoaXMuZW50aXR5LCAuLi52YWx1ZX0pO1xuICAgIHJldHVybiB0cnlDYXRjaCh0aGlzLl9jcmVhdGVFbnRpdHkoZW50aXR5KSk7XG4gIH1cblxuICB1cGRhdGVFbnRpdHkodmFsdWU6IFBhcnRpYWw8RW50aXR5Pikge1xuICAgIGNvbnN0IGVudGl0eTogRW50aXR5ID0gKHsuLi50aGlzLmVudGl0eSwgLi4udmFsdWV9KTtcbiAgICByZXR1cm4gdGhpcy5fdXBkYXRlRW50aXR5KGVudGl0eSlcbiAgfVxuXG4gIGFic3RyYWN0IF9nZXRFbnRpdHkoaWRPclBhcmFtczogc3RyaW5nKTogT2JzZXJ2YWJsZTxFbnRpdHk+O1xuICBhYnN0cmFjdCBfY3JlYXRlRW50aXR5KGVudGl0eTogRW50aXR5KTogUHJvbWlzZTxFbnRpdHk+O1xuICBhYnN0cmFjdCBfdXBkYXRlRW50aXR5KGVudGl0eTogRW50aXR5KTogUHJvbWlzZTx2b2lkPjtcblxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbW1vbi1zdG9yZXMtZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zdG9yZXMvZW50aXR5L25nLWF0b21pYy1jb21tb24tc3RvcmVzLWVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;AAEY,MAAC,QAAQ,GAAG,CAAC,OAAO,KAAK,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;AAC5E,IAAI,IAAI;AACR,QAAQ,OAAO,CAAC,MAAM,OAAO,CAAC;AAC9B,IAAI;AACJ,IAAI,OAAO,KAAK,EAAE;AAClB,QAAQ,MAAM,CAAC,KAAK,CAAC;AACrB,IAAI;AACJ,CAAC;AACM,MAAM,WAAW,SAAS,cAAc,CAAC;AAChD,IAAI,IAAI,MAAM,GAAG,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;AAC7C,IAAI,WAAW,CAAC,YAAY,EAAE;AAC9B,QAAQ,KAAK,CAAC,YAAY,CAAC;AAC3B,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;AACrD,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtF,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;AACzD,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,MAAM,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1E,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,MAAM,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtF,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAChF,QAAQ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxM,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClJ,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;AACtC,IAAI;AACJ,IAAI,YAAY,CAAC,KAAK,EAAE;AACxB,QAAQ,MAAM,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;AACrD,QAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACnD,IAAI;AACJ,IAAI,YAAY,CAAC,KAAK,EAAE;AACxB,QAAQ,MAAM,MAAM,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;AACrD,QAAQ,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AACzC,IAAI;AACJ;;AChCA;AACA;AACA;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-stores-entity.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/entity/entity.store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entity/ng-atomic-common-stores-entity.ts"],"sourcesContent":["import { ComponentStore } from '@ngrx/component-store';\nimport { Observable } from 'rxjs';\nimport { filter, switchMap, tap } from 'rxjs/operators';\n\nexport type Mode = 'create' | 'update'\n\nexport interface EntityState<Entity> {\n mode: Mode;\n entityId: string;\n entity: Entity;\n}\n\nexport const tryCatch = (promise: Promise<any>) => new Promise(async (resolve, reject) => {\n try { resolve(await promise); } catch (error) { reject(error); }\n});\n\nexport abstract class EntityStore<S extends EntityState<Entity>, Entity> extends ComponentStore<S> {\n get entity() { return this.get().entity}\n\n mode$ = this.select(state => state.mode);\n entityId$ = this.select(state => state.entityId).pipe(filter(id => !!id));\n entity$ = this.select(state => state.entity);\n\n setMode = this.updater((state, mode: Mode) => ({...state, mode}));\n setEntityId = this.updater((state, entityId: string) => ({...state, entityId}));\n setEntity = this.updater((state, entity: Entity) => ({...state, entity}));\n\n constructor(initialState?: S) {\n super(initialState);\n this.getEntity(this.entityId$);\n }\n\n getEntityIdAndMode = this.effect((entityId$: Observable<string>) => entityId$.pipe(\n tap(id => this.setMode(id === 'new' ? 'create' : 'update')),\n filter(id => id !== 'new'),\n tap((id: string) => this.setEntityId(id)),\n ));\n\n getEntity = this.effect((entityId$: Observable<string>) => entityId$.pipe(\n switchMap(id => this._getEntity(id)),\n tap((entity: Entity) => this.setEntity(entity)),\n ));\n\n createEntity(value: Partial<Entity>) {\n const entity: Entity = ({...this.entity, ...value});\n return tryCatch(this._createEntity(entity));\n }\n\n updateEntity(value: Partial<Entity>) {\n const entity: Entity = ({...this.entity, ...value});\n return this._updateEntity(entity)\n }\n\n abstract _getEntity(idOrParams: string): Observable<Entity>;\n abstract _createEntity(entity: Entity): Promise<Entity>;\n abstract _updateEntity(entity: Entity): Promise<void>;\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAYO,MAAM,QAAQ,GAAG,CAAC,OAAqB,KAAK,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAI;AACvF,IAAA,IAAI;AAAE,QAAA,OAAO,CAAC,MAAM,OAAO,CAAC;IAAE;IAAE,OAAO,KAAK,EAAE;QAAE,MAAM,CAAC,KAAK,CAAC;IAAE;AACjE,CAAC;AAEK,MAAgB,WAAmD,SAAQ,cAAiB,CAAA;IAChG,IAAI,MAAM,GAAA,EAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAA,CAAA;AAUvC,IAAA,WAAA,CAAY,YAAgB,EAAA;QAC1B,KAAK,CAAC,YAAY,CAAC;AATrB,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;QACxC,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACzE,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;QAE5C,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAU,MAAM,EAAC,GAAG,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACjE,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAgB,MAAM,EAAC,GAAG,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC/E,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAc,MAAM,EAAC,GAAG,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC;AAOzE,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAA6B,KAAK,SAAS,CAAC,IAAI,CAChF,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAC3D,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,CAAC,EAC1B,GAAG,CAAC,CAAC,EAAU,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAC1C,CAAC;QAEF,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAA6B,KAAK,SAAS,CAAC,IAAI,CACvE,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EACpC,GAAG,CAAC,CAAC,MAAc,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAChD,CAAC;AAZA,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;IAChC;AAaA,IAAA,YAAY,CAAC,KAAsB,EAAA;AACjC,QAAA,MAAM,MAAM,IAAY,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAC,CAAC;QACnD,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C;AAEA,IAAA,YAAY,CAAC,KAAsB,EAAA;AACjC,QAAA,MAAM,MAAM,IAAY,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAC,CAAC;AACnD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IACnC;AAMD;;ACzDD;;AAEG;;;;"}
@@ -15,10 +15,10 @@ class PaginationStore extends ComponentStore {
15
15
  get page() { return this.get(state => state.page); }
16
16
  get start() { return this.page.start; }
17
17
  get end() { return this.page.end; }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: PaginationStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
19
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: PaginationStore }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: PaginationStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
19
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: PaginationStore }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: PaginationStore, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: PaginationStore, decorators: [{
22
22
  type: Injectable
23
23
  }], ctorParameters: () => [] });
24
24