@ng-atomic/common 19.0.0-preview.8 → 19.1.1

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 (325) hide show
  1. package/directives/fallback-src/index.d.ts +12 -1
  2. package/directives/ios-safari-scroll-buggyfill/index.d.ts +18 -2
  3. package/directives/molecules/column/index.d.ts +70 -1
  4. package/directives/resize-column/index.d.ts +24 -1
  5. package/fesm2022/ng-atomic-common-directives-fallback-src.mjs +3 -3
  6. package/fesm2022/ng-atomic-common-directives-fallback-src.mjs.map +1 -1
  7. package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs +7 -7
  8. package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs.map +1 -1
  9. package/fesm2022/ng-atomic-common-directives-molecules-column.mjs +7 -7
  10. package/fesm2022/ng-atomic-common-directives-molecules-column.mjs.map +1 -1
  11. package/fesm2022/ng-atomic-common-directives-resize-column.mjs +6 -6
  12. package/fesm2022/ng-atomic-common-directives-resize-column.mjs.map +1 -1
  13. package/fesm2022/ng-atomic-common-interceptors-authorization.mjs +3 -3
  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 +4 -4
  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 +17 -7
  31. package/fesm2022/ng-atomic-common-pipes-domain.mjs.map +1 -1
  32. package/fesm2022/ng-atomic-common-pipes-error.mjs +11 -6
  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 +7 -4
  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 +29 -6
  73. package/fesm2022/ng-atomic-common-services-auth.mjs.map +1 -1
  74. package/fesm2022/ng-atomic-common-services-breakpoint.mjs +3 -3
  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 +56 -0
  81. package/fesm2022/ng-atomic-common-services-editing.mjs.map +1 -0
  82. package/fesm2022/ng-atomic-common-services-fab.mjs +3 -3
  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 +127 -19
  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 +37 -2
  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 +6 -6
  101. package/fesm2022/ng-atomic-common-services-loading.mjs.map +1 -1
  102. package/fesm2022/ng-atomic-common-services-navigation-history.mjs +3 -3
  103. package/fesm2022/ng-atomic-common-services-navigation-history.mjs.map +1 -1
  104. package/fesm2022/ng-atomic-common-services-query-resolver.mjs +7 -7
  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 +3 -3
  111. package/fesm2022/ng-atomic-common-services-secret.mjs.map +1 -1
  112. package/fesm2022/ng-atomic-common-services-sheets-actions.mjs +5 -5
  113. package/fesm2022/ng-atomic-common-services-sheets-actions.mjs.map +1 -1
  114. package/fesm2022/ng-atomic-common-services-sheets.mjs +11 -14
  115. package/fesm2022/ng-atomic-common-services-sheets.mjs.map +1 -1
  116. package/fesm2022/ng-atomic-common-services-side-app.mjs +6 -6
  117. package/fesm2022/ng-atomic-common-services-side-app.mjs.map +1 -1
  118. package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs +3 -3
  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 +433 -197
  123. package/fesm2022/ng-atomic-common-services-spreadsheet.mjs.map +1 -1
  124. package/fesm2022/ng-atomic-common-services-ui.mjs +45 -19
  125. package/fesm2022/ng-atomic-common-services-ui.mjs.map +1 -1
  126. package/fesm2022/ng-atomic-common-stores-entities.mjs +19 -18
  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 +22 -12
  138. package/fesm2022/ng-atomic-common-utils.mjs.map +1 -1
  139. package/fesm2022/ng-atomic-common.mjs +340 -50
  140. package/fesm2022/ng-atomic-common.mjs.map +1 -1
  141. package/index.d.ts +111 -1
  142. package/interceptors/authorization/index.d.ts +20 -1
  143. package/interceptors/index.d.ts +10 -1
  144. package/interceptors/throttle/index.d.ts +25 -1
  145. package/interceptors/token/index.d.ts +17 -1
  146. package/models/index.d.ts +32 -11
  147. package/package.json +15 -35
  148. package/pipes/actions/index.d.ts +11 -1
  149. package/pipes/auto-columns/index.d.ts +10 -1
  150. package/pipes/columns/index.d.ts +12 -1
  151. package/pipes/data-accessor/index.d.ts +23 -1
  152. package/pipes/domain/index.d.ts +72 -1
  153. package/pipes/error/index.d.ts +21 -1
  154. package/pipes/expression/index.d.ts +13 -1
  155. package/pipes/grouped-by/index.d.ts +13 -1
  156. package/pipes/index/index.d.ts +17 -1
  157. package/pipes/index-length/index.d.ts +15 -1
  158. package/pipes/keys/index.d.ts +12 -1
  159. package/pipes/map/index.d.ts +10 -1
  160. package/pipes/page/index.d.ts +14 -1
  161. package/pipes/pagination/index.d.ts +28 -1
  162. package/pipes/query/index.d.ts +14 -1
  163. package/pipes/resolve-columns/index.d.ts +14 -1
  164. package/pipes/secret/index.d.ts +11 -1
  165. package/pipes/select-id/index.d.ts +16 -1
  166. package/pipes/signal/index.d.ts +15 -1
  167. package/pipes/smart-field/index.d.ts +102 -1
  168. package/pipes/sort/index.d.ts +11 -1
  169. package/pipes/sort-by/index.d.ts +20 -1
  170. package/pipes/style/index.d.ts +22 -1
  171. package/pipes/yen/index.d.ts +10 -1
  172. package/services/app/index.d.ts +37 -1
  173. package/services/auth/index.d.ts +56 -1
  174. package/services/breakpoint/index.d.ts +35 -1
  175. package/services/chips-manager/index.d.ts +14 -1
  176. package/services/csv/index.d.ts +9 -1
  177. package/services/editing/index.d.ts +30 -0
  178. package/services/fab/index.d.ts +22 -1
  179. package/services/form/_index/index.d.ts +61 -1
  180. package/services/form/columns/index.d.ts +68 -1
  181. package/services/form/index.d.ts +34 -1
  182. package/services/form/json-schema/index.d.ts +73 -1
  183. package/services/form/pagination/index.d.ts +21 -1
  184. package/services/form/sort/index.d.ts +21 -1
  185. package/services/initializer/index.d.ts +24 -1
  186. package/services/language/index.d.ts +16 -1
  187. package/services/loading/index.d.ts +33 -1
  188. package/services/navigation-history/index.d.ts +17 -1
  189. package/services/query-resolver/index.d.ts +32 -1
  190. package/services/root-property/index.d.ts +100 -2
  191. package/services/router/index.d.ts +15 -1
  192. package/services/secret/index.d.ts +9 -1
  193. package/services/sheets/actions/index.d.ts +12 -1
  194. package/services/sheets/index.d.ts +20 -2
  195. package/services/side-app/index.d.ts +24 -1
  196. package/services/side-nav-mode/index.d.ts +16 -1
  197. package/services/snack-bar/index.d.ts +22 -2
  198. package/services/spreadsheet/index.d.ts +307 -4
  199. package/services/ui/index.d.ts +104 -2
  200. package/stores/entities/index.d.ts +169 -6
  201. package/stores/entity/index.d.ts +31 -1
  202. package/stores/pagination/index.d.ts +24 -1
  203. package/stores/query/index.d.ts +22 -1
  204. package/stores/selection/index.d.ts +28 -1
  205. package/stores/sort/index.d.ts +25 -1
  206. package/utils/index.d.ts +236 -13
  207. package/common.module.d.ts +0 -15
  208. package/directives/fallback-src/fallback-src.directive.d.ts +0 -9
  209. package/directives/ios-safari-scroll-buggyfill/ios-safari-scroll-buggyfill.directive.d.ts +0 -8
  210. package/directives/ios-safari-scroll-buggyfill/ios-safari-scroll-buggyfill.module.d.ts +0 -8
  211. package/directives/molecules/column/column.molecule.d.ts +0 -67
  212. package/directives/resize-column/resize-column.directive.d.ts +0 -21
  213. package/directives/resize-column/resize-handle.component.d.ts +0 -5
  214. package/interceptors/authorization/authorization.interceptor.d.ts +0 -16
  215. package/interceptors/interceptors.module.d.ts +0 -7
  216. package/interceptors/throttle/throttle.interceptor.d.ts +0 -23
  217. package/interceptors/token/authorization.interceptor.d.ts +0 -13
  218. package/models/menu-item.d.ts +0 -4
  219. package/pipes/actions/actions.pipe.d.ts +0 -8
  220. package/pipes/auto-columns/auto-columns.pipe.d.ts +0 -7
  221. package/pipes/columns/columns.pipe.d.ts +0 -9
  222. package/pipes/data-accessor/data-accessor.pipe.d.ts +0 -19
  223. package/pipes/domain/domain.pipe.d.ts +0 -59
  224. package/pipes/error/error.pipe.d.ts +0 -16
  225. package/pipes/expression/expression.pipe.d.ts +0 -9
  226. package/pipes/grouped-by/grouped-by.pipe.d.ts +0 -10
  227. package/pipes/index/index.pipe.d.ts +0 -11
  228. package/pipes/index-length/index-length.pipe.d.ts +0 -10
  229. package/pipes/keys/keys.pipe.d.ts +0 -9
  230. package/pipes/map/map.pipe.d.ts +0 -7
  231. package/pipes/page/page.pipe.d.ts +0 -11
  232. package/pipes/pagination/pagination.pipe.d.ts +0 -25
  233. package/pipes/query/query.pipe.d.ts +0 -11
  234. package/pipes/resolve-columns/resolve-columns.pipe.d.ts +0 -11
  235. package/pipes/secret/secret.pipe.d.ts +0 -8
  236. package/pipes/select-id/select-id.pipe.d.ts +0 -12
  237. package/pipes/signal/signal.pipe.d.ts +0 -11
  238. package/pipes/smart-field/smart-field.pipe.d.ts +0 -98
  239. package/pipes/sort/sort.pipe.d.ts +0 -8
  240. package/pipes/sort-by/sort-by.pipe.d.ts +0 -17
  241. package/pipes/style/style.pipe.d.ts +0 -18
  242. package/pipes/yen/yen.pipe.d.ts +0 -7
  243. package/services/app/app.service.d.ts +0 -34
  244. package/services/auth/auth.service.d.ts +0 -48
  245. package/services/breakpoint/breakpoint.service.d.ts +0 -29
  246. package/services/chips-manager/chips.manager.d.ts +0 -11
  247. package/services/csv/csv.service.d.ts +0 -6
  248. package/services/fab/fab.service.d.ts +0 -18
  249. package/services/form/_index/index.service.d.ts +0 -64
  250. package/services/form/columns/columns.service.d.ts +0 -63
  251. package/services/form/form.service.d.ts +0 -7
  252. package/services/form/json-schema/json-schema.d.ts +0 -2
  253. package/services/form/json-schema/json-schema.service.d.ts +0 -65
  254. package/services/form/pagination/pagination.service.d.ts +0 -16
  255. package/services/form/sort/sort.service.d.ts +0 -17
  256. package/services/initializer/initializer.service.d.ts +0 -22
  257. package/services/language/language.service.d.ts +0 -12
  258. package/services/loading/loading.service.d.ts +0 -30
  259. package/services/navigation-history/navigation-history.service.d.ts +0 -14
  260. package/services/query-resolver/query-resolver.service.d.ts +0 -27
  261. package/services/root-property/root-property.di.d.ts +0 -1
  262. package/services/root-property/root-property.service.d.ts +0 -94
  263. package/services/router/router.service.d.ts +0 -10
  264. package/services/secret/secret.service.d.ts +0 -6
  265. package/services/sheets/actions/actions.sheet.d.ts +0 -9
  266. package/services/sheets/sheets.module.d.ts +0 -11
  267. package/services/sheets/sheets.service.d.ts +0 -10
  268. package/services/side-app/side-app.service.d.ts +0 -21
  269. package/services/side-nav-mode/side-nav-mode.service.d.ts +0 -12
  270. package/services/snack-bar/snack-bar.module.d.ts +0 -8
  271. package/services/snack-bar/snack-bar.service.d.ts +0 -11
  272. package/services/spreadsheet/directives/grid-cell.directive.d.ts +0 -41
  273. package/services/spreadsheet/directives/index.d.ts +0 -1
  274. package/services/spreadsheet/features/clipboard.service.d.ts +0 -15
  275. package/services/spreadsheet/features/data.service.d.ts +0 -16
  276. package/services/spreadsheet/features/editor.service.d.ts +0 -22
  277. package/services/spreadsheet/features/grid.service.d.ts +0 -17
  278. package/services/spreadsheet/features/index.d.ts +0 -7
  279. package/services/spreadsheet/features/navigation.service.d.ts +0 -17
  280. package/services/spreadsheet/features/protection.service.d.ts +0 -24
  281. package/services/spreadsheet/features/selection.service.d.ts +0 -40
  282. package/services/spreadsheet/models/cell.model.d.ts +0 -17
  283. package/services/spreadsheet/models/index.d.ts +0 -1
  284. package/services/spreadsheet/spreadsheet.service.d.ts +0 -29
  285. package/services/ui/ui.helpers.d.ts +0 -32
  286. package/services/ui/ui.service.d.ts +0 -22
  287. package/stores/entities/di.d.ts +0 -23
  288. package/stores/entities/entity-store-adapter.d.ts +0 -28
  289. package/stores/entities/entity-store-manager.d.ts +0 -12
  290. package/stores/entities/entity-store.d.ts +0 -71
  291. package/stores/entities/proxy-id.service.d.ts +0 -10
  292. package/stores/entities/task-composer.d.ts +0 -35
  293. package/stores/entity/entity.store.d.ts +0 -26
  294. package/stores/pagination/pagination.store.d.ts +0 -19
  295. package/stores/query/query.store.d.ts +0 -17
  296. package/stores/selection/selection.store.d.ts +0 -23
  297. package/stores/sort/sort.store.d.ts +0 -20
  298. package/utils/comma/comma.d.ts +0 -3
  299. package/utils/comma/index.d.ts +0 -1
  300. package/utils/compare-by-id/compare-by-id.d.ts +0 -5
  301. package/utils/compare-by-id/index.d.ts +0 -1
  302. package/utils/date-utils/date-utils.d.ts +0 -10
  303. package/utils/date-utils/index.d.ts +0 -1
  304. package/utils/diff/diff.d.ts +0 -5
  305. package/utils/diff/index.d.ts +0 -1
  306. package/utils/expression/expression.transformer.d.ts +0 -12
  307. package/utils/expression/index.d.ts +0 -1
  308. package/utils/form/form.d.ts +0 -10
  309. package/utils/form/index.d.ts +0 -1
  310. package/utils/get/get.d.ts +0 -6
  311. package/utils/get/index.d.ts +0 -1
  312. package/utils/inject/index.d.ts +0 -1
  313. package/utils/inject/inject.d.ts +0 -76
  314. package/utils/mat-dayjs-date/dayjs-date.adapter.d.ts +0 -60
  315. package/utils/mat-dayjs-date/dayjs-date.formats.d.ts +0 -5
  316. package/utils/mat-dayjs-date/dayjs-date.module.d.ts +0 -8
  317. package/utils/mat-dayjs-date/dayjs-jp-providers.d.ts +0 -10
  318. package/utils/mat-dayjs-date/index.d.ts +0 -4
  319. package/utils/page/index.d.ts +0 -1
  320. package/utils/page/page.d.ts +0 -11
  321. package/utils/router/index.d.ts +0 -1
  322. package/utils/router/router.d.ts +0 -4
  323. package/utils/time.d.ts +0 -1
  324. package/utils/to-object/index.d.ts +0 -1
  325. package/utils/to-object/to-object.d.ts +0 -1
@@ -7,8 +7,10 @@ import { isPlatformBrowser } from '@angular/common';
7
7
  import { RouterService } from '@ng-atomic/common/services/router';
8
8
  import { BreakpointService } from '@ng-atomic/common/services/breakpoint';
9
9
  import { get, set } from 'lodash-es';
10
+ import { makeProvideComopnentConfigure } from '@ng-atomic/core';
10
11
  import { NavigationHistoryService } from '@ng-atomic/common/services/navigation-history';
11
12
  import { derivedAsync } from 'ngxtension/derived-async';
13
+ import { makeInitializerConfig } from '@ng-atomic/common/services/initializer';
12
14
 
13
15
  class UiService {
14
16
  constructor() {
@@ -24,10 +26,10 @@ class UiService {
24
26
  paths: this.paths(),
25
27
  }));
26
28
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: UiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
28
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: UiService, providedIn: 'root' }); }
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
31
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: UiService, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: UiService, decorators: [{
31
33
  type: Injectable,
32
34
  args: [{ providedIn: 'root' }]
33
35
  }] });
@@ -64,16 +66,18 @@ function flattenRoutes(route) {
64
66
  }
65
67
  return routes;
66
68
  }
69
+ function isRootPageRoute(route, outlet = PRIMARY_OUTLET) {
70
+ const routes = flattenRoutes(route).reverse();
71
+ const outletRootIndex = routes.findIndex(route => route.outlet === outlet);
72
+ const outletComponentRoutes = routes
73
+ .slice(outletRootIndex)
74
+ .filter(route => !!route?.component);
75
+ return outletComponentRoutes.length <= 2;
76
+ }
67
77
  function injectIsRootPage$(outlet = PRIMARY_OUTLET) {
68
78
  const router = inject(Router);
69
79
  const route = inject(ActivatedRoute);
70
- return router.events.pipe(startWith(null), map(() => {
71
- const routes = flattenRoutes(route).reverse();
72
- const outletComponentRoutes = routes
73
- .slice(routes.findIndex(route => route.outlet === outlet))
74
- .filter(route => route.snapshot.paramMap.get('skip') !== 'true' && !!route?.component);
75
- return outletComponentRoutes.length <= 2;
76
- }), take(1), shareReplay(1), takeUntilDestroyed());
80
+ return router.events.pipe(startWith(null), map(() => isRootPageRoute(route, outlet)), take(1), shareReplay(1), takeUntilDestroyed());
77
81
  }
78
82
  function injectIsRootPage(outlet = PRIMARY_OUTLET) {
79
83
  const isRootPage$ = injectIsRootPage$(outlet);
@@ -87,10 +91,6 @@ function injectNavStartActions(isRootPage = signal(false)) {
87
91
  return computed(() => {
88
92
  console.debug('[UiService] navigationHistory:', navigationHistory);
89
93
  const isRootPage_ = isRootPage();
90
- // MEMO(@NozomuMIyamoto): history.forward()したときに、isInitialがtrueのままになって、戻るボタンが表示されない問題があるためコメントアウト
91
- // isInitial ??= navigationHistory.isInitial();
92
- console.debug('[UiService] isInitial:', isInitial);
93
- console.debug('[UiService] isRootPage:', isRootPage());
94
94
  const context_ = context();
95
95
  switch (context_.breakpoint) {
96
96
  case 'xLarge':
@@ -134,16 +134,24 @@ function injectNavStartActionsV2() {
134
134
  const isRootPage = injectIsRootPage();
135
135
  return injectNavStartActions(isRootPage);
136
136
  }
137
- function injectSideAppNavStartActions(isRootPage = signal(false)) {
137
+ function injectSideAppNavStartActions(outlet = 'side') {
138
138
  const context = injectUiContext();
139
+ const isRootPageV2 = injectIsRootPage(outlet);
139
140
  return computed(() => {
140
- switch (context().breakpoint) {
141
+ const isRootPage_ = isRootPageV2();
142
+ const context_ = context();
143
+ switch (context_.breakpoint) {
141
144
  default: {
142
- if (isRootPage())
145
+ if (isRootPage_) {
143
146
  return [
144
147
  { id: NavActionId.CLOSE, name: 'CLOSE', icon: 'close' },
145
148
  ];
146
- return [{ id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }];
149
+ }
150
+ else {
151
+ return [
152
+ { id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }
153
+ ];
154
+ }
147
155
  }
148
156
  }
149
157
  });
@@ -225,6 +233,24 @@ function makeConfig(defaultUseFactory, path) {
225
233
  },
226
234
  };
227
235
  }
236
+ function makeDI(type, defaultUseFactory, path) {
237
+ const Config = makeConfig(defaultUseFactory, path);
238
+ const Initializer = makeInitializerConfig(type);
239
+ const provideComponent = makeProvideComopnentConfigure(type);
240
+ return {
241
+ provide: (typeOrComponent) => [
242
+ provideComponent(typeOrComponent), Config.provide(),
243
+ Config.provide(),
244
+ ],
245
+ provideConfig: Config.provide,
246
+ injectConfig: Config.inject,
247
+ provideInitializer: Initializer.provide,
248
+ initialize: Initializer.initializeStore,
249
+ provideComponent,
250
+ Initializer,
251
+ Config,
252
+ };
253
+ }
228
254
  function injectReducers(token) {
229
255
  return injectDeepMulti(token);
230
256
  }
@@ -269,5 +295,5 @@ function debugInjector(injector = inject(Injector)) {
269
295
  * Generated bundle index. Do not edit.
270
296
  */
271
297
 
272
- export { NavActionId, UI_CONFIG_REDUCER, UiService, call, debugInjector, injectBreakpoint, injectDeepMulti, injectIsMobile, injectIsRootPage, injectIsRootPage$, injectNavStartActions, injectNavStartActionsV2, injectRootConfig, injectSideAppNavStartActions, injectUiConfig, injectUiContext, makeConfig, provideUiConfig, scoped, wrap };
298
+ export { NavActionId, UI_CONFIG_REDUCER, UiService, call, debugInjector, injectBreakpoint, injectDeepMulti, injectIsMobile, injectIsRootPage, injectIsRootPage$, injectNavStartActions, injectNavStartActionsV2, injectRootConfig, injectSideAppNavStartActions, injectUiConfig, injectUiContext, isRootPageRoute, makeConfig, makeDI, provideUiConfig, scoped, wrap };
273
299
  //# sourceMappingURL=ng-atomic-common-services-ui.mjs.map
@@ -1 +1 @@
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, computed, effect, inject, isSignal, runInInjectionContext, signal } from \"@angular/core\";\nimport { UIContext, UiService } from \"./ui.service\";\nimport { get, set } from \"lodash-es\";\nimport { Action } from \"@ng-atomic/core\";\nimport { ActivatedRoute, NavigationEnd, PRIMARY_OUTLET, Router } from \"@angular/router\";\nimport { filter, map, shareReplay, startWith, take } from \"rxjs\";\nimport { takeUntilDestroyed, toSignal } from \"@angular/core/rxjs-interop\";\nimport { computedAsync } from \"ngxtension/computed-async\";\nimport { NavigationHistoryService } from \"@ng-atomic/common/services/navigation-history\";\nimport { derivedAsync } from \"ngxtension/derived-async\";\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 injectIsRootPage$(outlet = PRIMARY_OUTLET) {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n startWith(null),\n map(() => {\n const routes = flattenRoutes(route).reverse();\n const outletComponentRoutes = routes\n .slice(routes.findIndex(route => route.outlet === outlet))\n .filter(route => route.snapshot.paramMap.get('skip') !== 'true' && !!route?.component);\n return outletComponentRoutes.length <= 2;\n }),\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 // MEMO(@NozomuMIyamoto): history.forward()したときに、isInitialがtrueのままになって、戻るボタンが表示されない問題があるためコメントアウト\n // isInitial ??= navigationHistory.isInitial();\n console.debug('[UiService] isInitial:', isInitial)\n console.debug('[UiService] 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(\n isRootPage: Signal<boolean> = signal<boolean>(false),\n): Signal<Action[]> {\n const context = injectUiContext();\n return computed(() => {\n switch(context().breakpoint) {\n default: {\n if (isRootPage()) return [\n { id: NavActionId.CLOSE, name: 'CLOSE', icon: 'close' },\n ];\n return [{ id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }];\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\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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"}
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,13 +1,14 @@
1
1
  import { toSignal, takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Injectable, inject, InjectionToken, Injector, computed } from '@angular/core';
4
+ import { Resolver } from '@nx-ddd/common/domain';
4
5
  import { injectResolver$ } from '@ng-atomic/common/utils';
5
6
  import { ReplaySubject, of, isObservable, Subject, combineLatest, filter as filter$1, map as map$1, shareReplay as shareReplay$1, switchMap as switchMap$1 } from 'rxjs';
6
7
  import { ComponentStore } from '@ngrx/component-store';
7
8
  import { createEntityAdapter } from '@ngrx/entity';
8
9
  import { distinctUntilChanged, switchMap, tap, map, shareReplay, bufferTime, filter } from 'rxjs/operators';
9
10
  import { merge } from 'lodash-es';
10
- import { computedAsync } from 'ngxtension/computed-async';
11
+ import { derivedAsync } from 'ngxtension/derived-async';
11
12
 
12
13
  class ProxyIdService {
13
14
  constructor() {
@@ -28,10 +29,10 @@ class ProxyIdService {
28
29
  resolve(proxyIdOrId) {
29
30
  return this.isProxyId(proxyIdOrId) ? this.proxyMap.get(proxyIdOrId) : proxyIdOrId;
30
31
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ProxyIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
32
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ProxyIdService, providedIn: 'root' }); }
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' }); }
33
34
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ProxyIdService, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: ProxyIdService, decorators: [{
35
36
  type: Injectable,
36
37
  args: [{ providedIn: 'root' }]
37
38
  }] });
@@ -95,10 +96,10 @@ class TaskComposerService {
95
96
  }
96
97
  }, { type: 'noop', payload: {} });
97
98
  }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: TaskComposerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
99
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: TaskComposerService, providedIn: 'root' }); }
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' }); }
100
101
  }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: TaskComposerService, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: TaskComposerService, decorators: [{
102
103
  type: Injectable,
103
104
  args: [{ providedIn: 'root' }]
104
105
  }] });
@@ -257,10 +258,10 @@ class EntityStoreService {
257
258
  }
258
259
  return this.storeMap.get(Entity);
259
260
  }
260
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: EntityStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
261
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: EntityStoreService, providedIn: 'root' }); }
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' }); }
262
263
  }
263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: EntityStoreService, decorators: [{
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: EntityStoreService, decorators: [{
264
265
  type: Injectable,
265
266
  args: [{ providedIn: 'root' }]
266
267
  }] });
@@ -268,7 +269,7 @@ function injectEntityStore(Entity) {
268
269
  return inject(EntityStoreService).get(Entity);
269
270
  }
270
271
 
271
- function injectOne$(Entity, params, resolverType) {
272
+ function injectOne$(Entity, params, resolverType = Resolver) {
272
273
  if (resolverType) {
273
274
  return combineLatest({
274
275
  resolver: injectResolver$(resolverType, params),
@@ -277,16 +278,16 @@ function injectOne$(Entity, params, resolverType) {
277
278
  }
278
279
  return injectEntityStore(Entity).mapToOne(params.id).pipe(shareReplay$1(1), takeUntilDestroyed());
279
280
  }
280
- function signalMapToObs(map) {
281
+ function signalMapToObsMap(map) {
281
282
  return Object.entries(map).reduce((acc, [key, value]) => {
282
283
  acc[key] = toObservable(value);
283
284
  return acc;
284
285
  }, {});
285
286
  }
286
- function injectOne(Entity, params, resolverType) {
287
- return toSignal(injectOne$(Entity, signalMapToObs(params), resolverType));
287
+ function injectOne(Entity, params, resolverType = Resolver) {
288
+ return toSignal(injectOne$(Entity, signalMapToObsMap(params), resolverType));
288
289
  }
289
- function injectAll$(Entity, params = {}, resolverType) {
290
+ function injectAll$(Entity, params = {}, resolverType = Resolver) {
290
291
  if (resolverType) {
291
292
  return combineLatest({
292
293
  resolver: injectResolver$(resolverType, params),
@@ -315,10 +316,10 @@ const callSignalMap = (map) => {
315
316
  // }
316
317
  // return computed(() => store.all());
317
318
  // }
318
- function injectAll(Entity, params = {}, resolverType) {
319
- const $params = signalMapToObs(params);
319
+ function injectAll(Entity, params = {}, resolverType = Resolver) {
320
+ const $params = signalMapToObsMap(params);
320
321
  const all$ = injectAll$(Entity, $params, resolverType);
321
- return computedAsync(() => all$, { initialValue: [] });
322
+ return derivedAsync(() => all$, { initialValue: [] });
322
323
  }
323
324
  function mapToOne$(storeType, keyOrKey$) {
324
325
  const store = inject(storeType, {});