@one-paragon/angular-utilities 1.2.12 → 1.2.13

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 (407) hide show
  1. package/action-state/action-state-spinner/action-state-spinner.component.d.ts +12 -0
  2. package/action-state/action-state-ui/action-state-ui.module.d.ts +7 -0
  3. package/{src/action-state/index.ts → action-state/index.d.ts} +4 -8
  4. package/action-state/ngrx-ext/ngrx-ext.module.d.ts +8 -0
  5. package/action-state/ngrx.d.ts +31 -0
  6. package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +24 -0
  7. package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +20 -0
  8. package/esm2022/action-state/index.mjs +8 -0
  9. package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +23 -0
  10. package/esm2022/action-state/ngrx.mjs +47 -0
  11. package/esm2022/http-request-state/HttpRequestStateFactory.mjs +51 -0
  12. package/esm2022/http-request-state/HttpRequestStateStore.mjs +121 -0
  13. package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +30 -0
  14. package/esm2022/http-request-state/directives/http-error-state-directive.mjs +23 -0
  15. package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +23 -0
  16. package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +23 -0
  17. package/esm2022/http-request-state/directives/http-success-state-directive.mjs +29 -0
  18. package/esm2022/http-request-state/directives/index.mjs +6 -0
  19. package/esm2022/http-request-state/directives/request-state-directive.mjs +61 -0
  20. package/esm2022/http-request-state/helpers.mjs +22 -0
  21. package/esm2022/http-request-state/http-request-state.mjs +39 -0
  22. package/esm2022/http-request-state/http-state-module.mjs +40 -0
  23. package/esm2022/http-request-state/index.mjs +7 -0
  24. package/esm2022/http-request-state/rxjs/getRequestorBody.mjs +4 -0
  25. package/esm2022/http-request-state/rxjs/getRequestorState.mjs +3 -0
  26. package/esm2022/http-request-state/rxjs/index.mjs +5 -0
  27. package/esm2022/http-request-state/rxjs/tapError.mjs +12 -0
  28. package/esm2022/http-request-state/rxjs/tapSuccess.mjs +12 -0
  29. package/esm2022/http-request-state/types.mjs +16 -0
  30. package/esm2022/ngrx/actionable-selector.mjs +71 -0
  31. package/esm2022/ngrx/index.mjs +2 -0
  32. package/esm2022/one-paragon-angular-utilities.mjs +5 -0
  33. package/esm2022/public-api.mjs +20 -0
  34. package/esm2022/rxjs/defaultShareReplay.mjs +7 -0
  35. package/esm2022/rxjs/index.mjs +6 -0
  36. package/esm2022/rxjs/mapError.mjs +8 -0
  37. package/esm2022/rxjs/rxjs-operators.mjs +92 -0
  38. package/esm2022/rxjs/subjectifier.mjs +15 -0
  39. package/esm2022/rxjs/subscriber.directive.mjs +50 -0
  40. package/esm2022/table-builder/classes/DefaultSettings.mjs +6 -0
  41. package/esm2022/table-builder/classes/MatTableObservableDataSource.mjs +23 -0
  42. package/esm2022/table-builder/classes/TableBuilderConfig.mjs +18 -0
  43. package/esm2022/table-builder/classes/TableBuilderDataSource.mjs +45 -0
  44. package/esm2022/table-builder/classes/TableState.mjs +49 -0
  45. package/esm2022/table-builder/classes/data-store.mjs +15 -0
  46. package/esm2022/table-builder/classes/display-col.mjs +2 -0
  47. package/esm2022/table-builder/classes/filter-info.mjs +61 -0
  48. package/esm2022/table-builder/classes/table-builder-general-settings.mjs +112 -0
  49. package/esm2022/table-builder/classes/table-builder.mjs +77 -0
  50. package/esm2022/table-builder/classes/table-store.mjs +383 -0
  51. package/esm2022/table-builder/components/array-column.component.mjs +53 -0
  52. package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +134 -0
  53. package/esm2022/table-builder/components/column-builder/column-helpers.mjs +45 -0
  54. package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +29 -0
  55. package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +24 -0
  56. package/esm2022/table-builder/components/filter/filter.component.mjs +64 -0
  57. package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +102 -0
  58. package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +47 -0
  59. package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +301 -0
  60. package/esm2022/table-builder/components/generic-table/paginator.component.mjs +100 -0
  61. package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +21 -0
  62. package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +103 -0
  63. package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +65 -0
  64. package/esm2022/table-builder/components/index.mjs +10 -0
  65. package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +47 -0
  66. package/esm2022/table-builder/components/link-column.component.mjs +74 -0
  67. package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +29 -0
  68. package/esm2022/table-builder/components/profiles-menu/profiles-menu.component.mjs +64 -0
  69. package/esm2022/table-builder/components/scroll-strategy.mjs +60 -0
  70. package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +46 -0
  71. package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +82 -0
  72. package/esm2022/table-builder/components/table-container/table-container-imports.mjs +26 -0
  73. package/esm2022/table-builder/components/table-container/table-container.helpers/data-state.helpers.mjs +135 -0
  74. package/esm2022/table-builder/components/table-container/table-container.helpers/filter-state.helpers.mjs +83 -0
  75. package/esm2022/table-builder/components/table-container/table-container.helpers/groupBy.helpers.mjs +71 -0
  76. package/esm2022/table-builder/components/table-container/table-container.helpers/sort-state.helpers.mjs +36 -0
  77. package/esm2022/table-builder/components/table-container/table-container.mjs +327 -0
  78. package/esm2022/table-builder/components/table-container/tableProps.mjs +8 -0
  79. package/esm2022/table-builder/components/table-container/virtual-scroll-container.mjs +151 -0
  80. package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +44 -0
  81. package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +36 -0
  82. package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +25 -0
  83. package/esm2022/table-builder/directives/custom-cell-directive.mjs +73 -0
  84. package/esm2022/table-builder/directives/index.mjs +6 -0
  85. package/esm2022/table-builder/directives/multi-sort.directive.mjs +50 -0
  86. package/esm2022/table-builder/directives/resize-column.directive.mjs +87 -0
  87. package/esm2022/table-builder/directives/table-wrapper.directive.mjs +18 -0
  88. package/esm2022/table-builder/directives/tb-filter.directive.mjs +396 -0
  89. package/esm2022/table-builder/enums/filterTypes.mjs +29 -0
  90. package/esm2022/table-builder/functions/boolean-filter-function.mjs +10 -0
  91. package/esm2022/table-builder/functions/date-filter-function.mjs +58 -0
  92. package/esm2022/table-builder/functions/download-data.mjs +12 -0
  93. package/esm2022/table-builder/functions/null-filter-function.mjs +8 -0
  94. package/esm2022/table-builder/functions/number-filter-function.mjs +32 -0
  95. package/esm2022/table-builder/functions/sort-data-function.mjs +17 -0
  96. package/esm2022/table-builder/functions/string-filter-function.mjs +41 -0
  97. package/esm2022/table-builder/interfaces/ColumnInfo.mjs +2 -0
  98. package/esm2022/table-builder/interfaces/dictionary.mjs +2 -0
  99. package/esm2022/table-builder/interfaces/report-def.mjs +50 -0
  100. package/esm2022/table-builder/ngrx/tableBuilderStateStore.mjs +154 -0
  101. package/esm2022/table-builder/pipes/column-total.pipe.mjs +22 -0
  102. package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +18 -0
  103. package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +43 -0
  104. package/esm2022/table-builder/pipes/key-display.mjs +18 -0
  105. package/esm2022/table-builder/services/export-to-csv.service.mjs +75 -0
  106. package/esm2022/table-builder/services/link-creator.service.mjs +50 -0
  107. package/esm2022/table-builder/services/table-template-service.mjs +60 -0
  108. package/esm2022/table-builder/services/transform-creator.mjs +100 -0
  109. package/esm2022/table-builder/table-builder.module.mjs +124 -0
  110. package/esm2022/utilities/array-helpers.mjs +14 -0
  111. package/esm2022/utilities/directives/auto-focus.directive.mjs +25 -0
  112. package/esm2022/utilities/directives/clickEmitterDirective.mjs +22 -0
  113. package/esm2022/utilities/directives/clickSubject.mjs +29 -0
  114. package/esm2022/utilities/directives/conditional-classes.directive.mjs +36 -0
  115. package/esm2022/utilities/directives/dialog-service.mjs +21 -0
  116. package/esm2022/utilities/directives/dialog.mjs +145 -0
  117. package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +59 -0
  118. package/esm2022/utilities/directives/prevent-enter.directive.mjs +20 -0
  119. package/esm2022/utilities/directives/stop-propagation.directive.mjs +26 -0
  120. package/esm2022/utilities/directives/styler.mjs +41 -0
  121. package/esm2022/utilities/directives/trim-whitespace.directive.mjs +28 -0
  122. package/esm2022/utilities/index.mjs +16 -0
  123. package/esm2022/utilities/module.mjs +90 -0
  124. package/esm2022/utilities/pipes/function.pipe.mjs +22 -0
  125. package/esm2022/utilities/pipes/phone.pipe.mjs +20 -0
  126. package/esm2022/utilities/pipes/space-case.pipes.mjs +28 -0
  127. package/fesm2022/one-paragon-angular-utilities.mjs +5670 -0
  128. package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -0
  129. package/http-request-state/HttpRequestStateFactory.d.ts +17 -0
  130. package/http-request-state/HttpRequestStateStore.d.ts +54 -0
  131. package/http-request-state/directives/HttpStateDirectiveBase.d.ts +14 -0
  132. package/http-request-state/directives/http-error-state-directive.d.ts +9 -0
  133. package/http-request-state/directives/http-inProgress-state-directive.d.ts +9 -0
  134. package/http-request-state/directives/http-notStarted-state-directive.d.ts +9 -0
  135. package/http-request-state/directives/http-success-state-directive.d.ts +16 -0
  136. package/{src/http-request-state/directives/index.ts → http-request-state/directives/index.d.ts} +5 -5
  137. package/http-request-state/directives/request-state-directive.d.ts +34 -0
  138. package/http-request-state/helpers.d.ts +9 -0
  139. package/http-request-state/http-request-state.d.ts +12 -0
  140. package/http-request-state/http-state-module.d.ts +11 -0
  141. package/{src/http-request-state/index.ts → http-request-state/index.d.ts} +6 -6
  142. package/http-request-state/rxjs/getRequestorBody.d.ts +3 -0
  143. package/http-request-state/rxjs/getRequestorState.d.ts +3 -0
  144. package/{src/http-request-state/rxjs/index.ts → http-request-state/rxjs/index.d.ts} +4 -4
  145. package/http-request-state/rxjs/tapError.d.ts +3 -0
  146. package/http-request-state/rxjs/tapSuccess.d.ts +3 -0
  147. package/http-request-state/types.d.ts +41 -0
  148. package/index.d.ts +5 -0
  149. package/ngrx/actionable-selector.d.ts +17 -0
  150. package/ngrx/index.d.ts +1 -0
  151. package/package.json +30 -16
  152. package/{src/public-api.ts → public-api.d.ts} +16 -35
  153. package/rxjs/defaultShareReplay.d.ts +2 -0
  154. package/{src/rxjs/index.ts → rxjs/index.d.ts} +5 -5
  155. package/rxjs/mapError.d.ts +2 -0
  156. package/rxjs/rxjs-operators.d.ts +13 -0
  157. package/rxjs/subjectifier.d.ts +8 -0
  158. package/rxjs/subscriber.directive.d.ts +14 -0
  159. package/table-builder/classes/DefaultSettings.d.ts +9 -0
  160. package/table-builder/classes/MatTableObservableDataSource.d.ts +9 -0
  161. package/table-builder/classes/TableBuilderConfig.d.ts +21 -0
  162. package/table-builder/classes/TableBuilderDataSource.d.ts +12 -0
  163. package/table-builder/classes/TableState.d.ts +67 -0
  164. package/table-builder/classes/data-store.d.ts +8 -0
  165. package/{src/table-builder/classes/display-col.ts → table-builder/classes/display-col.d.ts} +5 -5
  166. package/table-builder/classes/filter-info.d.ts +35 -0
  167. package/table-builder/classes/table-builder-general-settings.d.ts +78 -0
  168. package/table-builder/classes/table-builder.d.ts +18 -0
  169. package/table-builder/classes/table-store.d.ts +138 -0
  170. package/table-builder/components/array-column.component.d.ts +15 -0
  171. package/table-builder/components/column-builder/column-builder.component.d.ts +47 -0
  172. package/table-builder/components/column-builder/column-helpers.d.ts +36 -0
  173. package/table-builder/components/date-filter/date-filter.component.d.ts +37 -0
  174. package/table-builder/components/date-time-filter/date-time-filter.component.d.ts +37 -0
  175. package/table-builder/components/filter/filter.component.d.ts +46 -0
  176. package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +24 -0
  177. package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +17 -0
  178. package/table-builder/components/generic-table/generic-table.component.d.ts +83 -0
  179. package/table-builder/components/generic-table/paginator.component.d.ts +30 -0
  180. package/table-builder/components/group-by-list/group-by-list.component.d.ts +7 -0
  181. package/table-builder/components/header-menu/header-menu.component.d.ts +51 -0
  182. package/table-builder/components/in-filter/in-filter.component.d.ts +20 -0
  183. package/{src/table-builder/components/index.ts → table-builder/components/index.d.ts} +9 -9
  184. package/table-builder/components/initialization-component/initialization-component.d.ts +13 -0
  185. package/table-builder/components/link-column.component.d.ts +25 -0
  186. package/table-builder/components/number-filter/number-filter.component.d.ts +39 -0
  187. package/table-builder/components/profiles-menu/profiles-menu.component.d.ts +32 -0
  188. package/table-builder/components/scroll-strategy.d.ts +22 -0
  189. package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -0
  190. package/table-builder/components/sort-menu/sort-menu.component.d.ts +24 -0
  191. package/{src/table-builder/components/table-container/table-container-imports.ts → table-builder/components/table-container/table-container-imports.d.ts} +14 -32
  192. package/table-builder/components/table-container/table-container.d.ts +79 -0
  193. package/table-builder/components/table-container/table-container.helpers/data-state.helpers.d.ts +6 -0
  194. package/table-builder/components/table-container/table-container.helpers/filter-state.helpers.d.ts +17 -0
  195. package/table-builder/components/table-container/table-container.helpers/groupBy.helpers.d.ts +17 -0
  196. package/table-builder/components/table-container/table-container.helpers/sort-state.helpers.d.ts +8 -0
  197. package/table-builder/components/table-container/tableProps.d.ts +12 -0
  198. package/table-builder/components/table-container/virtual-scroll-container.d.ts +35 -0
  199. package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +15 -0
  200. package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +12 -0
  201. package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -0
  202. package/table-builder/directives/custom-cell-directive.d.ts +33 -0
  203. package/{src/table-builder/directives/index.ts → table-builder/directives/index.d.ts} +5 -6
  204. package/table-builder/directives/multi-sort.directive.d.ts +10 -0
  205. package/table-builder/directives/resize-column.directive.d.ts +43 -0
  206. package/table-builder/directives/table-wrapper.directive.d.ts +8 -0
  207. package/table-builder/directives/tb-filter.directive.d.ts +115 -0
  208. package/table-builder/enums/filterTypes.d.ts +36 -0
  209. package/table-builder/functions/boolean-filter-function.d.ts +3 -0
  210. package/table-builder/functions/date-filter-function.d.ts +4 -0
  211. package/table-builder/functions/download-data.d.ts +1 -0
  212. package/table-builder/functions/null-filter-function.d.ts +2 -0
  213. package/table-builder/functions/number-filter-function.d.ts +4 -0
  214. package/table-builder/functions/sort-data-function.d.ts +6 -0
  215. package/table-builder/functions/string-filter-function.d.ts +5 -0
  216. package/{src/table-builder/interfaces/ColumnInfo.ts → table-builder/interfaces/ColumnInfo.d.ts} +6 -7
  217. package/{src/table-builder/interfaces/dictionary.ts → table-builder/interfaces/dictionary.d.ts} +3 -3
  218. package/table-builder/interfaces/report-def.d.ts +147 -0
  219. package/table-builder/ngrx/tableBuilderStateStore.d.ts +70 -0
  220. package/table-builder/pipes/column-total.pipe.d.ts +8 -0
  221. package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -0
  222. package/table-builder/pipes/format-filter-value.pipe.d.ts +12 -0
  223. package/table-builder/pipes/key-display.d.ts +10 -0
  224. package/table-builder/services/export-to-csv.service.d.ts +14 -0
  225. package/table-builder/services/link-creator.service.d.ts +16 -0
  226. package/table-builder/services/table-template-service.d.ts +14 -0
  227. package/table-builder/services/transform-creator.d.ts +16 -0
  228. package/table-builder/table-builder.module.d.ts +21 -0
  229. package/utilities/array-helpers.d.ts +1 -0
  230. package/utilities/directives/auto-focus.directive.d.ts +9 -0
  231. package/utilities/directives/clickEmitterDirective.d.ts +7 -0
  232. package/utilities/directives/clickSubject.d.ts +9 -0
  233. package/utilities/directives/conditional-classes.directive.d.ts +13 -0
  234. package/utilities/directives/dialog-service.d.ts +10 -0
  235. package/utilities/directives/dialog.d.ts +44 -0
  236. package/utilities/directives/mat-toggle-group-directive.d.ts +21 -0
  237. package/utilities/directives/prevent-enter.directive.d.ts +6 -0
  238. package/utilities/directives/stop-propagation.directive.d.ts +7 -0
  239. package/utilities/directives/styler.d.ts +15 -0
  240. package/utilities/directives/trim-whitespace.directive.d.ts +7 -0
  241. package/{src/utilities/index.ts → utilities/index.d.ts} +15 -22
  242. package/utilities/module.d.ts +19 -0
  243. package/utilities/pipes/function.pipe.d.ts +7 -0
  244. package/utilities/pipes/phone.pipe.d.ts +7 -0
  245. package/utilities/pipes/space-case.pipes.d.ts +17 -0
  246. package/karma.conf.js +0 -44
  247. package/ng-package.json +0 -7
  248. package/src/action-state/action-state-spinner/action-state-spinner.component.css +0 -16
  249. package/src/action-state/action-state-spinner/action-state-spinner.component.html +0 -6
  250. package/src/action-state/action-state-spinner/action-state-spinner.component.spec.ts +0 -25
  251. package/src/action-state/action-state-spinner/action-state-spinner.component.ts +0 -26
  252. package/src/action-state/action-state-ui/action-state-ui.module.ts +0 -13
  253. package/src/action-state/ngrx-ext/ngrx-ext.module.ts +0 -15
  254. package/src/action-state/ngrx.ts +0 -69
  255. package/src/http-request-state/HttpRequestStateFactory.ts +0 -66
  256. package/src/http-request-state/HttpRequestStateStore.ts +0 -173
  257. package/src/http-request-state/directives/HttpStateDirectiveBase.ts +0 -29
  258. package/src/http-request-state/directives/http-error-state-directive.ts +0 -21
  259. package/src/http-request-state/directives/http-inProgress-state-directive.ts +0 -19
  260. package/src/http-request-state/directives/http-notStarted-state-directive.ts +0 -19
  261. package/src/http-request-state/directives/http-success-state-directive.ts +0 -29
  262. package/src/http-request-state/directives/request-state-directive.spec.ts +0 -72
  263. package/src/http-request-state/directives/request-state-directive.ts +0 -78
  264. package/src/http-request-state/helpers.ts +0 -30
  265. package/src/http-request-state/http-request-state.ts +0 -69
  266. package/src/http-request-state/http-state-module.ts +0 -23
  267. package/src/http-request-state/observable.spec.ts +0 -43
  268. package/src/http-request-state/rxjs/getRequestorBody.ts +0 -10
  269. package/src/http-request-state/rxjs/getRequestorState.ts +0 -8
  270. package/src/http-request-state/rxjs/tapError.ts +0 -16
  271. package/src/http-request-state/rxjs/tapSuccess.ts +0 -16
  272. package/src/http-request-state/strategies.spec.ts +0 -42
  273. package/src/http-request-state/types.ts +0 -55
  274. package/src/ngrx/actionable-selector.ts +0 -95
  275. package/src/ngrx/index.ts +0 -1
  276. package/src/rxjs/defaultShareReplay.ts +0 -8
  277. package/src/rxjs/mapError.ts +0 -8
  278. package/src/rxjs/rxjs-operators.ts +0 -132
  279. package/src/rxjs/subjectifier.ts +0 -17
  280. package/src/rxjs/subscriber.directive.ts +0 -57
  281. package/src/specs/clickSubject.spec.ts +0 -95
  282. package/src/specs/dialog.spec.ts +0 -101
  283. package/src/specs/toggleGroupDirective.spec.ts +0 -229
  284. package/src/table-builder/classes/DefaultSettings.ts +0 -11
  285. package/src/table-builder/classes/MatTableObservableDataSource.ts +0 -23
  286. package/src/table-builder/classes/TableBuilderConfig.ts +0 -35
  287. package/src/table-builder/classes/TableBuilderDataSource.ts +0 -80
  288. package/src/table-builder/classes/TableState.ts +0 -96
  289. package/src/table-builder/classes/data-store.ts +0 -10
  290. package/src/table-builder/classes/filter-info.ts +0 -108
  291. package/src/table-builder/classes/table-builder-general-settings.ts +0 -129
  292. package/src/table-builder/classes/table-builder.ts +0 -94
  293. package/src/table-builder/classes/table-store.ts +0 -471
  294. package/src/table-builder/components/array-column.component.ts +0 -36
  295. package/src/table-builder/components/column-builder/column-builder.component.html +0 -61
  296. package/src/table-builder/components/column-builder/column-builder.component.scss +0 -43
  297. package/src/table-builder/components/column-builder/column-builder.component.spec.ts +0 -49
  298. package/src/table-builder/components/column-builder/column-builder.component.ts +0 -135
  299. package/src/table-builder/components/column-builder/column-helpers.ts +0 -53
  300. package/src/table-builder/components/date-filter/date-filter.component.html +0 -23
  301. package/src/table-builder/components/date-filter/date-filter.component.ts +0 -24
  302. package/src/table-builder/components/date-time-filter/date-time-filter.component.html +0 -9
  303. package/src/table-builder/components/date-time-filter/date-time-filter.component.ts +0 -22
  304. package/src/table-builder/components/filter/filter.component.html +0 -91
  305. package/src/table-builder/components/filter/filter.component.scss +0 -64
  306. package/src/table-builder/components/filter/filter.component.spec.ts +0 -87
  307. package/src/table-builder/components/filter/filter.component.ts +0 -60
  308. package/src/table-builder/components/filter/in-list/in-list-filter.component.ts +0 -93
  309. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.html +0 -55
  310. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.scss +0 -57
  311. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.ts +0 -59
  312. package/src/table-builder/components/generic-table/generic-table.component.html +0 -78
  313. package/src/table-builder/components/generic-table/generic-table.component.scss +0 -42
  314. package/src/table-builder/components/generic-table/generic-table.component.ts +0 -299
  315. package/src/table-builder/components/generic-table/paginator.component.ts +0 -99
  316. package/src/table-builder/components/group-by-list/group-by-list.component.css +0 -8
  317. package/src/table-builder/components/group-by-list/group-by-list.component.html +0 -12
  318. package/src/table-builder/components/group-by-list/group-by-list.component.spec.ts +0 -23
  319. package/src/table-builder/components/group-by-list/group-by-list.component.ts +0 -21
  320. package/src/table-builder/components/header-menu/header-menu.component.html +0 -104
  321. package/src/table-builder/components/header-menu/header-menu.component.scss +0 -96
  322. package/src/table-builder/components/header-menu/header-menu.component.ts +0 -99
  323. package/src/table-builder/components/in-filter/in-filter.component.css +0 -3
  324. package/src/table-builder/components/in-filter/in-filter.component.html +0 -20
  325. package/src/table-builder/components/in-filter/in-filter.component.ts +0 -66
  326. package/src/table-builder/components/initialization-component/initialization-component.html +0 -29
  327. package/src/table-builder/components/initialization-component/initialization-component.ts +0 -24
  328. package/src/table-builder/components/link-column.component.ts +0 -47
  329. package/src/table-builder/components/number-filter/number-filter.component.css +0 -10
  330. package/src/table-builder/components/number-filter/number-filter.component.html +0 -19
  331. package/src/table-builder/components/number-filter/number-filter.component.spec.ts +0 -30
  332. package/src/table-builder/components/number-filter/number-filter.component.ts +0 -25
  333. package/src/table-builder/components/profiles-menu/profiles-menu.component.html +0 -74
  334. package/src/table-builder/components/profiles-menu/profiles-menu.component.scss +0 -98
  335. package/src/table-builder/components/profiles-menu/profiles-menu.component.spec.ts +0 -23
  336. package/src/table-builder/components/profiles-menu/profiles-menu.component.ts +0 -65
  337. package/src/table-builder/components/scroll-strategy.ts +0 -76
  338. package/src/table-builder/components/sort-menu/sort-menu.component-store.ts +0 -66
  339. package/src/table-builder/components/sort-menu/sort-menu.component.html +0 -111
  340. package/src/table-builder/components/sort-menu/sort-menu.component.scss +0 -119
  341. package/src/table-builder/components/sort-menu/sort-menu.component.ts +0 -98
  342. package/src/table-builder/components/table-container/table-container.css +0 -54
  343. package/src/table-builder/components/table-container/table-container.helpers/data-state.helpers.ts +0 -141
  344. package/src/table-builder/components/table-container/table-container.helpers/filter-state.helpers.ts +0 -106
  345. package/src/table-builder/components/table-container/table-container.helpers/groupBy.helpers.ts +0 -86
  346. package/src/table-builder/components/table-container/table-container.helpers/sort-state.helpers.ts +0 -45
  347. package/src/table-builder/components/table-container/table-container.html +0 -95
  348. package/src/table-builder/components/table-container/table-container.spec.ts +0 -154
  349. package/src/table-builder/components/table-container/table-container.ts +0 -356
  350. package/src/table-builder/components/table-container/tableProps.ts +0 -20
  351. package/src/table-builder/components/table-container/virtual-scroll-container.ts +0 -145
  352. package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.html +0 -31
  353. package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.ts +0 -46
  354. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.css +0 -42
  355. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.html +0 -10
  356. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.spec.ts +0 -86
  357. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.ts +0 -34
  358. package/src/table-builder/components/table-container-filter/table-wrapper-filter-store.ts +0 -23
  359. package/src/table-builder/directives/custom-cell-directive.ts +0 -58
  360. package/src/table-builder/directives/multi-sort.directive.spec.ts +0 -124
  361. package/src/table-builder/directives/multi-sort.directive.ts +0 -51
  362. package/src/table-builder/directives/resize-column.directive.ts +0 -108
  363. package/src/table-builder/directives/table-wrapper.directive.ts +0 -14
  364. package/src/table-builder/directives/tb-filter.directive.ts +0 -396
  365. package/src/table-builder/enums/filterTypes.ts +0 -40
  366. package/src/table-builder/functions/boolean-filter-function.ts +0 -12
  367. package/src/table-builder/functions/date-filter-function.ts +0 -68
  368. package/src/table-builder/functions/download-data.ts +0 -11
  369. package/src/table-builder/functions/null-filter-function.ts +0 -9
  370. package/src/table-builder/functions/number-filter-function.ts +0 -41
  371. package/src/table-builder/functions/sort-data-function.ts +0 -23
  372. package/src/table-builder/functions/string-filter-function.ts +0 -51
  373. package/src/table-builder/interfaces/column-template.ts +0 -9
  374. package/src/table-builder/interfaces/report-def.ts +0 -155
  375. package/src/table-builder/ngrx/tableBuilderStateStore.ts +0 -199
  376. package/src/table-builder/pipes/column-total.pipe.ts +0 -17
  377. package/src/table-builder/pipes/format-filter-type.pipe.ts +0 -12
  378. package/src/table-builder/pipes/format-filter-value.pipe.ts +0 -42
  379. package/src/table-builder/pipes/key-display.ts +0 -16
  380. package/src/table-builder/services/export-to-csv.service.ts +0 -97
  381. package/src/table-builder/services/link-creator.service.ts +0 -67
  382. package/src/table-builder/services/table-template-service.ts +0 -59
  383. package/src/table-builder/services/transform-creator.ts +0 -95
  384. package/src/table-builder/specs/table-custom-filters.spec.ts +0 -262
  385. package/src/table-builder/styles/collapser.styles.scss +0 -16
  386. package/src/table-builder/table-builder.module.ts +0 -73
  387. package/src/test.ts +0 -17
  388. package/src/utilities/array-helpers.ts +0 -13
  389. package/src/utilities/directives/auto-focus.directive.ts +0 -21
  390. package/src/utilities/directives/clickEmitterDirective.ts +0 -16
  391. package/src/utilities/directives/clickSubject.ts +0 -20
  392. package/src/utilities/directives/conditional-classes.directive.ts +0 -36
  393. package/src/utilities/directives/dialog-service.ts +0 -19
  394. package/src/utilities/directives/dialog.ts +0 -144
  395. package/src/utilities/directives/mat-toggle-group-directive.ts +0 -61
  396. package/src/utilities/directives/prevent-enter.directive.ts +0 -13
  397. package/src/utilities/directives/stop-propagation.directive.ts +0 -20
  398. package/src/utilities/directives/styler.ts +0 -40
  399. package/src/utilities/directives/trim-whitespace.directive.ts +0 -21
  400. package/src/utilities/module.ts +0 -55
  401. package/src/utilities/pipes/function.pipe.ts +0 -16
  402. package/src/utilities/pipes/phone.pipe.ts +0 -15
  403. package/src/utilities/pipes/space-case.pipes.spec.ts +0 -47
  404. package/src/utilities/pipes/space-case.pipes.ts +0 -23
  405. package/tsconfig.lib.json +0 -19
  406. package/tsconfig.lib.prod.json +0 -10
  407. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,61 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { defaultShareReplay } from '../../rxjs/defaultShareReplay';
3
+ import { isObservable, Subject } from 'rxjs';
4
+ import { map, switchAll } from 'rxjs/operators';
5
+ import { HttpRequestStatus } from '../types';
6
+ import * as i0 from "@angular/core";
7
+ export class HttpRequestStateDirective {
8
+ viewContainer;
9
+ ViewContext = {
10
+ $implicit: undefined,
11
+ state: undefined,
12
+ status: {
13
+ inProgress: false,
14
+ notStarted: true,
15
+ success: false,
16
+ error: false,
17
+ }
18
+ };
19
+ subject = new Subject();
20
+ state = this.subject.pipe(switchAll(), defaultShareReplay());
21
+ subscription;
22
+ hooks = [];
23
+ set stateStore(store) {
24
+ if (isObservable(store)) {
25
+ this.subject.next(store);
26
+ }
27
+ else {
28
+ this.subject.next(store.state$.pipe(map(state => state.response)));
29
+ }
30
+ }
31
+ constructor(templateRef, viewContainer) {
32
+ this.viewContainer = viewContainer;
33
+ this.viewContainer.createEmbeddedView(templateRef, this.ViewContext);
34
+ this.subscription = this.state.subscribe(state => {
35
+ this.ViewContext.$implicit = state;
36
+ this.ViewContext.state = state;
37
+ this.ViewContext.status.inProgress = state.status === HttpRequestStatus.inProgress;
38
+ this.ViewContext.status.notStarted = state.status === HttpRequestStatus.notStarted;
39
+ this.ViewContext.status.success = state.status === HttpRequestStatus.success;
40
+ this.ViewContext.status.error = state.status === HttpRequestStatus.fail;
41
+ this.hooks.forEach(hook => hook(state));
42
+ });
43
+ }
44
+ ngOnDestroy() {
45
+ this.viewContainer.clear();
46
+ this.subscription.unsubscribe();
47
+ }
48
+ static ngTemplateContextGuard(dir, ctx) {
49
+ return true;
50
+ }
51
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestStateDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
52
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: HttpRequestStateDirective, isStandalone: true, selector: "[httpRequestState]", inputs: { stateStore: ["httpRequestState", "stateStore"] }, ngImport: i0 });
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestStateDirective, decorators: [{
55
+ type: Directive,
56
+ args: [{ selector: '[httpRequestState]', standalone: true }]
57
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { stateStore: [{
58
+ type: Input,
59
+ args: ['httpRequestState']
60
+ }] } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2RpcmVjdGl2ZXMvcmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQWMsT0FBTyxFQUFrQixNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBYy9ELE1BQU0sT0FBTyx5QkFBeUI7SUFDNUIsYUFBYSxDQUFtQjtJQUUvQixXQUFXLEdBQW1DO1FBQ3JELFNBQVMsRUFBRSxTQUFTO1FBQ3BCLEtBQUssRUFBRSxTQUFTO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsS0FBSyxFQUFFLEtBQUs7U0FDYjtLQUNGLENBQUM7SUFHRixPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQW1DLENBQUM7SUFDekQsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUM3RCxZQUFZLENBQWlCO0lBQzdCLEtBQUssR0FBNkMsRUFBRSxDQUFDO0lBRXJELElBQStCLFVBQVUsQ0FBQyxLQUErRTtRQUN2SCxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO0lBRUgsQ0FBQztJQUNELFlBQVksV0FBNkIsRUFBRSxhQUErQjtRQUN4RSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztZQUNuRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7WUFDbkYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssaUJBQWlCLENBQUMsT0FBTyxDQUFDO1lBQzdFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUN4RSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBTyxHQUF5QyxFQUFFLEdBQVE7UUFDckYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3VHQWxEVSx5QkFBeUI7MkZBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEckMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOytHQXFCOUIsVUFBVTtzQkFBeEMsS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRlZmF1bHRTaGFyZVJlcGxheSB9IGZyb20gJy4uLy4uL3J4anMvZGVmYXVsdFNoYXJlUmVwbGF5JztcclxuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBVbnN1YnNjcmliYWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHN3aXRjaEFsbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlIH0gZnJvbSAnLi4vSHR0cFJlcXVlc3RTdGF0ZVN0b3JlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSwgSHR0cFJlcXVlc3RTdGF0dXMgfSBmcm9tICcuLi90eXBlcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBSZXF1ZXN0U3RhdGVWaWV3Q29udGV4dDxUPiB7XHJcbiAgJGltcGxpY2l0PzogSHR0cFJlcXVlc3RTdGF0ZUFueTxUPjtcclxuICBzdGF0ZT86IEh0dHBSZXF1ZXN0U3RhdGVBbnk8VD47XHJcbiAgc3RhdHVzOiB7XHJcbiAgICBpblByb2dyZXNzOiBib29sZWFuO1xyXG4gICAgbm90U3RhcnRlZDogYm9vbGVhbjtcclxuICAgIHN1Y2Nlc3M6IGJvb2xlYW47XHJcbiAgICBlcnJvcjogYm9vbGVhbjtcclxuICB9O1xyXG59XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbaHR0cFJlcXVlc3RTdGF0ZV0nLCBzdGFuZGFsb25lOiB0cnVlIH0pXHJcbmV4cG9ydCBjbGFzcyBIdHRwUmVxdWVzdFN0YXRlRGlyZWN0aXZlPFRQYXJhbSBleHRlbmRzIGFueVtdLCBWLCBSLCBUID0gUiBleHRlbmRzIG51bGwgPyBWIDogUj4ge1xyXG4gIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgcmVhZG9ubHkgVmlld0NvbnRleHQ6IEh0dHBSZXF1ZXN0U3RhdGVWaWV3Q29udGV4dDxUPiA9IHtcclxuICAgICRpbXBsaWNpdDogdW5kZWZpbmVkLFxyXG4gICAgc3RhdGU6IHVuZGVmaW5lZCxcclxuICAgIHN0YXR1czoge1xyXG4gICAgICBpblByb2dyZXNzOiBmYWxzZSxcclxuICAgICAgbm90U3RhcnRlZDogdHJ1ZSxcclxuICAgICAgc3VjY2VzczogZmFsc2UsXHJcbiAgICAgIGVycm9yOiBmYWxzZSxcclxuICAgIH1cclxuICB9O1xyXG5cclxuXHJcbiAgc3ViamVjdCA9IG5ldyBTdWJqZWN0PE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZTxUPj4+KCk7XHJcbiAgc3RhdGUgPSB0aGlzLnN1YmplY3QucGlwZShzd2l0Y2hBbGwoKSwgZGVmYXVsdFNoYXJlUmVwbGF5KCkpO1xyXG4gIHN1YnNjcmlwdGlvbjogVW5zdWJzY3JpYmFibGU7XHJcbiAgaG9va3M6ICgoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGU8VD4pID0+IHZvaWQpW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCdodHRwUmVxdWVzdFN0YXRlJykgc2V0IHN0YXRlU3RvcmUoc3RvcmU6IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZTxUUGFyYW0sIFYsIFIsIFQ+IHwgT2JzZXJ2YWJsZTxIdHRwUmVxdWVzdFN0YXRlPFQ+Pikge1xyXG4gICAgaWYgKGlzT2JzZXJ2YWJsZShzdG9yZSkpIHtcclxuICAgICAgdGhpcy5zdWJqZWN0Lm5leHQoc3RvcmUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdWJqZWN0Lm5leHQoc3RvcmUuc3RhdGUkLnBpcGUobWFwKHN0YXRlID0+IHN0YXRlLnJlc3BvbnNlKSkpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgY29uc3RydWN0b3IodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lciA9IHZpZXdDb250YWluZXI7XHJcbiAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRlbXBsYXRlUmVmLCB0aGlzLlZpZXdDb250ZXh0KTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5zdGF0ZS5zdWJzY3JpYmUoc3RhdGUgPT4ge1xyXG4gICAgICB0aGlzLlZpZXdDb250ZXh0LiRpbXBsaWNpdCA9IHN0YXRlO1xyXG4gICAgICB0aGlzLlZpZXdDb250ZXh0LnN0YXRlID0gc3RhdGU7XHJcbiAgICAgIHRoaXMuVmlld0NvbnRleHQuc3RhdHVzLmluUHJvZ3Jlc3MgPSBzdGF0ZS5zdGF0dXMgPT09IEh0dHBSZXF1ZXN0U3RhdHVzLmluUHJvZ3Jlc3M7XHJcbiAgICAgIHRoaXMuVmlld0NvbnRleHQuc3RhdHVzLm5vdFN0YXJ0ZWQgPSBzdGF0ZS5zdGF0dXMgPT09IEh0dHBSZXF1ZXN0U3RhdHVzLm5vdFN0YXJ0ZWQ7XHJcbiAgICAgIHRoaXMuVmlld0NvbnRleHQuc3RhdHVzLnN1Y2Nlc3MgPSBzdGF0ZS5zdGF0dXMgPT09IEh0dHBSZXF1ZXN0U3RhdHVzLnN1Y2Nlc3M7XHJcbiAgICAgIHRoaXMuVmlld0NvbnRleHQuc3RhdHVzLmVycm9yID0gc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5mYWlsO1xyXG4gICAgICB0aGlzLmhvb2tzLmZvckVhY2goaG9vayA9PiBob29rKHN0YXRlKSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFYsIFI+KGRpcjogSHR0cFJlcXVlc3RTdGF0ZURpcmVjdGl2ZTxhbnksIFYsIFI+LCBjdHg6IGFueSk6IGN0eCBpcyBIdHRwUmVxdWVzdFN0YXRlVmlld0NvbnRleHQ8UiBleHRlbmRzIG51bGwgPyBWIDogUj4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3RTdGF0ZUFueTxUPiA9IHtcclxuICBzdGF0dXM6IEh0dHBSZXF1ZXN0U3RhdHVzO1xyXG4gIGJvZHk/OiBUO1xyXG4gIGVycm9yPzogYW55O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { HttpRequestStatus } from "./types";
2
+ export function isErrorState(state) {
3
+ return state.status === HttpRequestStatus.fail;
4
+ }
5
+ export function isSuccessState(state) {
6
+ return state.status === HttpRequestStatus.success;
7
+ }
8
+ export function isSuccessOrErrorState(state) {
9
+ return state.status === HttpRequestStatus.success || state.status === HttpRequestStatus.fail;
10
+ }
11
+ export function createSuccess(body) {
12
+ return { status: HttpRequestStatus.success, body };
13
+ }
14
+ export function createFailure(error) {
15
+ return { status: HttpRequestStatus.fail, error };
16
+ }
17
+ export const notStarted = { status: HttpRequestStatus.notStarted };
18
+ export const inProgress = { status: HttpRequestStatus.inProgress };
19
+ export function statusIsSuccessOrInProgress(status) {
20
+ return [HttpRequestStatus.success, HttpRequestStatus.inProgress].includes(status);
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRILGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXRLLE1BQU0sVUFBVSxZQUFZLENBQUksS0FBMEI7SUFDeEQsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLElBQUksQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBSSxLQUEwQjtJQUMxRCxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssaUJBQWlCLENBQUMsT0FBTyxDQUFDO0FBQ3BELENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUksS0FBMEI7SUFDakUsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLElBQUksQ0FBQztBQUMvRixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBSSxJQUFPO0lBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3JELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQVU7SUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDbkQsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBK0IsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUM7QUFHL0YsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUErQixFQUFFLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUUvRixNQUFNLFVBQVUsMkJBQTJCLENBQUUsTUFBeUI7SUFDcEUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0U3RhdGUsIEh0dHBSZXF1ZXN0U3RhdGVFcnJvciwgSHR0cFJlcXVlc3RTdGF0ZUluUHJvZ3Jlc3MsIEh0dHBSZXF1ZXN0U3RhdGVOb3RTdGFydGVkLCBIdHRwUmVxdWVzdFN0YXRlU3VjY2VzcywgSHR0cFJlcXVlc3RTdGF0dXMgfSBmcm9tIFwiLi90eXBlc1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzRXJyb3JTdGF0ZTxUPihzdGF0ZTogSHR0cFJlcXVlc3RTdGF0ZTxUPik6IHN0YXRlIGlzIEh0dHBSZXF1ZXN0U3RhdGVFcnJvciB7XHJcbiAgcmV0dXJuIHN0YXRlLnN0YXR1cyA9PT0gSHR0cFJlcXVlc3RTdGF0dXMuZmFpbDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzU3VjY2Vzc1N0YXRlPFQ+KHN0YXRlOiBIdHRwUmVxdWVzdFN0YXRlPFQ+KTogc3RhdGUgaXMgSHR0cFJlcXVlc3RTdGF0ZVN1Y2Nlc3M8VD4ge1xyXG4gIHJldHVybiBzdGF0ZS5zdGF0dXMgPT09IEh0dHBSZXF1ZXN0U3RhdHVzLnN1Y2Nlc3M7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc1N1Y2Nlc3NPckVycm9yU3RhdGU8VD4oc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGU8VD4pOiBzdGF0ZSBpcyAoSHR0cFJlcXVlc3RTdGF0ZVN1Y2Nlc3M8VD4gfCBIdHRwUmVxdWVzdFN0YXRlRXJyb3IpIHtcclxuICByZXR1cm4gc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5zdWNjZXNzIHx8IHN0YXRlLnN0YXR1cyA9PT0gSHR0cFJlcXVlc3RTdGF0dXMuZmFpbDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN1Y2Nlc3M8VD4oYm9keTogVCk6IEh0dHBSZXF1ZXN0U3RhdGVTdWNjZXNzPFQ+IHtcclxuICByZXR1cm4geyBzdGF0dXM6IEh0dHBSZXF1ZXN0U3RhdHVzLnN1Y2Nlc3MsIGJvZHkgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZhaWx1cmUoZXJyb3I6IGFueSk6IEh0dHBSZXF1ZXN0U3RhdGVFcnJvciB7XHJcbiAgcmV0dXJuIHsgc3RhdHVzOiBIdHRwUmVxdWVzdFN0YXR1cy5mYWlsLCBlcnJvciB9O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3Qgbm90U3RhcnRlZDogSHR0cFJlcXVlc3RTdGF0ZU5vdFN0YXJ0ZWQgPSB7IHN0YXR1czogSHR0cFJlcXVlc3RTdGF0dXMubm90U3RhcnRlZCB9O1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBpblByb2dyZXNzOiBIdHRwUmVxdWVzdFN0YXRlSW5Qcm9ncmVzcyA9IHsgc3RhdHVzOiBIdHRwUmVxdWVzdFN0YXR1cy5pblByb2dyZXNzIH07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc3RhdHVzSXNTdWNjZXNzT3JJblByb2dyZXNzKCBzdGF0dXM6IEh0dHBSZXF1ZXN0U3RhdHVzKSB7XHJcbiAgcmV0dXJuIFtIdHRwUmVxdWVzdFN0YXR1cy5zdWNjZXNzLCBIdHRwUmVxdWVzdFN0YXR1cy5pblByb2dyZXNzXS5pbmNsdWRlcyhzdGF0dXMpO1xyXG59Il19
@@ -0,0 +1,39 @@
1
+ import { map, startWith, switchMap } from 'rxjs/operators';
2
+ import { getRequestorBody } from './rxjs/getRequestorBody';
3
+ import { getRequestorStatus } from './rxjs/getRequestorState';
4
+ import { mapError } from '../rxjs/mapError';
5
+ import { defaultShareReplay } from '../rxjs/defaultShareReplay';
6
+ import { of, ReplaySubject } from 'rxjs';
7
+ import { HttpRequestStatus } from './types';
8
+ import { createFailure, createSuccess, inProgress, notStarted } from './helpers';
9
+ export function httpRequest(req) {
10
+ return req.pipe(map(createSuccess), mapError(createFailure), startWith(inProgress), defaultShareReplay());
11
+ }
12
+ export function httpRequestor(req) {
13
+ const request$ = new ReplaySubject(1);
14
+ const httpState$ = request$.pipe(switchMap((params) => httpRequest(req(...params))), startWith(notStarted), defaultShareReplay());
15
+ const request = (...params) => {
16
+ request$.next(params);
17
+ return httpState$;
18
+ };
19
+ return ({
20
+ request,
21
+ httpState$,
22
+ body$: httpState$.pipe(getRequestorBody),
23
+ status$: httpState$.pipe(getRequestorStatus)
24
+ });
25
+ }
26
+ export function chainRequest(httpState$, request, requestParams) {
27
+ return httpState$.pipe(switchMap(res => {
28
+ if (res.status === HttpRequestStatus.success) {
29
+ const secondReq = httpRequestor(request);
30
+ const param = requestParams(res.body);
31
+ secondReq.request(...param);
32
+ return secondReq.httpState$;
33
+ }
34
+ else {
35
+ return of(res);
36
+ }
37
+ }));
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2h0dHAtcmVxdWVzdC1zdGF0ZS9odHRwLXJlcXVlc3Qtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBd0MsaUJBQWlCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVdqRixNQUFNLFVBQVUsV0FBVyxDQUFVLEdBQWtCO0lBQ3JELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FDYixHQUFHLENBQUMsYUFBYSxDQUFDLEVBQ2xCLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDdkIsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUNyQixrQkFBa0IsRUFBRSxDQUNyQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQTBCLEdBQWlDO0lBQ3RGLE1BQU0sUUFBUSxHQUFHLElBQUksYUFBYSxDQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sVUFBVSxHQUEwQixRQUFRLENBQUMsSUFBSSxDQUNyRCxTQUFTLENBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBSSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFFLEVBQ3ZELFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFDckIsa0JBQWtCLEVBQUUsQ0FDckIsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxNQUFtQixFQUFFLEVBQUU7UUFDekMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDLENBQUM7SUFDRixPQUFPLENBQUM7UUFDTixPQUFPO1FBQ1AsVUFBVTtRQUNWLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3hDLE9BQU8sRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0tBQzdDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixVQUEyQyxFQUMzQyxPQUFxQyxFQUNyQyxhQUErRTtJQUUvRSxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQ3BCLFNBQVMsQ0FBRSxHQUFHLENBQUMsRUFBRTtRQUNmLElBQUcsR0FBRyxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QyxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQWtCLE9BQU8sQ0FBQyxDQUFDO1lBQzFELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBRSxDQUFDO1lBQzdCLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQztRQUM5QixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGdldFJlcXVlc3RvckJvZHkgfSBmcm9tICcuL3J4anMvZ2V0UmVxdWVzdG9yQm9keSc7XHJcbmltcG9ydCB7IGdldFJlcXVlc3RvclN0YXR1cyB9IGZyb20gJy4vcnhqcy9nZXRSZXF1ZXN0b3JTdGF0ZSc7XHJcbmltcG9ydCB7IG1hcEVycm9yIH0gZnJvbSAnLi4vcnhqcy9tYXBFcnJvcic7XHJcbmltcG9ydCB7IGRlZmF1bHRTaGFyZVJlcGxheSB9IGZyb20gJy4uL3J4anMvZGVmYXVsdFNoYXJlUmVwbGF5JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RGYWN0b3J5LCBIdHRwUmVxdWVzdFN0YXRlLCBIdHRwUmVxdWVzdFN0YXR1cyB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBjcmVhdGVGYWlsdXJlLCBjcmVhdGVTdWNjZXNzLCBpblByb2dyZXNzLCBub3RTdGFydGVkIH0gZnJvbSAnLi9oZWxwZXJzJztcclxuXHJcbmV4cG9ydCB0eXBlIEh0dHBSZXF1ZXN0U3RhdGUkIDxUPiA9IE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZTxUPj47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBSZXF1ZXN0b3IgPFJlcywgUmVxPiB7XHJcbiAgaHR0cFN0YXRlJDogT2JzZXJ2YWJsZTxIdHRwUmVxdWVzdFN0YXRlPFJlcz4+O1xyXG4gIHN0YXR1cyQ6IE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0dXM+O1xyXG4gIGJvZHkkOiBPYnNlcnZhYmxlPFJlcz47XHJcbiAgcmVxdWVzdDogUmVxO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaHR0cFJlcXVlc3Q8VCA9IGFueT4ocmVxOiBPYnNlcnZhYmxlPFQ+KTogSHR0cFJlcXVlc3RTdGF0ZSQ8VD4ge1xyXG4gIHJldHVybiByZXEucGlwZShcclxuICAgIG1hcChjcmVhdGVTdWNjZXNzKSxcclxuICAgIG1hcEVycm9yKGNyZWF0ZUZhaWx1cmUpLFxyXG4gICAgc3RhcnRXaXRoKGluUHJvZ3Jlc3MpLFxyXG4gICAgZGVmYXVsdFNoYXJlUmVwbGF5KClcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaHR0cFJlcXVlc3RvcjxUUGFyYW0gZXh0ZW5kcyBhbnlbXSwgVD4ocmVxOiBIdHRwUmVxdWVzdEZhY3Rvcnk8VFBhcmFtLFQ+ICk6IEh0dHBSZXF1ZXN0b3I8VCwgKC4uLnBhcmFtczogWy4uLlRQYXJhbV0pID0+IE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZTxUPj4+IHtcclxuICBjb25zdCByZXF1ZXN0JCA9IG5ldyBSZXBsYXlTdWJqZWN0PFsuLi5UUGFyYW1dPigxKTtcclxuICBjb25zdCBodHRwU3RhdGUkIDogSHR0cFJlcXVlc3RTdGF0ZSQ8VD4gPSByZXF1ZXN0JC5waXBlKFxyXG4gICAgc3dpdGNoTWFwKCAocGFyYW1zKSA9PiBodHRwUmVxdWVzdDxUPihyZXEoLi4ucGFyYW1zKSkgKSxcclxuICAgIHN0YXJ0V2l0aChub3RTdGFydGVkKSxcclxuICAgIGRlZmF1bHRTaGFyZVJlcGxheSgpLFxyXG4gICk7XHJcbiAgY29uc3QgcmVxdWVzdCA9ICguLi5wYXJhbXM6IFsuLi5UUGFyYW1dKSA9PiB7XHJcbiAgICByZXF1ZXN0JC5uZXh0KHBhcmFtcyk7XHJcbiAgICByZXR1cm4gaHR0cFN0YXRlJDtcclxuICB9O1xyXG4gIHJldHVybiAoe1xyXG4gICAgcmVxdWVzdCxcclxuICAgIGh0dHBTdGF0ZSQsXHJcbiAgICBib2R5JDogaHR0cFN0YXRlJC5waXBlKGdldFJlcXVlc3RvckJvZHkpLFxyXG4gICAgc3RhdHVzJDogaHR0cFN0YXRlJC5waXBlKGdldFJlcXVlc3RvclN0YXR1cylcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNoYWluUmVxdWVzdDxUUGFyYW0gZXh0ZW5kcyBhbnlbXSwgVCwgVFQ+KFxyXG4gIGh0dHBTdGF0ZSQ6IE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZTxUPj4sXHJcbiAgcmVxdWVzdDpIdHRwUmVxdWVzdEZhY3Rvcnk8VFBhcmFtLFRUPixcclxuICByZXF1ZXN0UGFyYW1zOiAoKHJlc3BvbnNlRnJvbVByZXZpb3VzOiBUKSA9PiBbLi4uVFBhcmFtXSkgfCAoKCkgPT4gWy4uLlRQYXJhbV0pXHJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVxdWVzdFN0YXRlPFRUPj4ge1xyXG4gIHJldHVybiBodHRwU3RhdGUkLnBpcGUoXHJcbiAgICBzd2l0Y2hNYXAoIHJlcyA9PiB7XHJcbiAgICAgIGlmKHJlcy5zdGF0dXMgPT09IEh0dHBSZXF1ZXN0U3RhdHVzLnN1Y2Nlc3MpIHtcclxuICAgICAgICBjb25zdCBzZWNvbmRSZXEgPSBodHRwUmVxdWVzdG9yPFsuLi5UUGFyYW1dLCBUVD4ocmVxdWVzdCk7XHJcbiAgICAgICAgY29uc3QgcGFyYW0gPSByZXF1ZXN0UGFyYW1zKHJlcy5ib2R5KTtcclxuICAgICAgICBzZWNvbmRSZXEucmVxdWVzdCguLi5wYXJhbSApO1xyXG4gICAgICAgIHJldHVybiBzZWNvbmRSZXEuaHR0cFN0YXRlJDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gb2YocmVzKTtcclxuICAgICAgfVxyXG4gICAgfSksXHJcbiAgKTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { HttpSuccessStateDirective } from './directives/http-success-state-directive';
3
+ import { HttpRequestStateDirective } from './directives/request-state-directive';
4
+ import { HttpErrorStateDirective } from './directives/http-error-state-directive';
5
+ import { HttpInProgressStateDirective } from './directives/http-inProgress-state-directive';
6
+ import { HttpNotStartedStateDirective } from './directives/http-notStarted-state-directive';
7
+ import * as i0 from "@angular/core";
8
+ export class HttpRequestModule {
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestModule, imports: [HttpSuccessStateDirective,
11
+ HttpRequestStateDirective,
12
+ HttpErrorStateDirective,
13
+ HttpInProgressStateDirective,
14
+ HttpNotStartedStateDirective], exports: [HttpSuccessStateDirective,
15
+ HttpRequestStateDirective,
16
+ HttpErrorStateDirective,
17
+ HttpInProgressStateDirective,
18
+ HttpNotStartedStateDirective] });
19
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestModule });
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ imports: [
25
+ HttpSuccessStateDirective,
26
+ HttpRequestStateDirective,
27
+ HttpErrorStateDirective,
28
+ HttpInProgressStateDirective,
29
+ HttpNotStartedStateDirective,
30
+ ],
31
+ exports: [
32
+ HttpSuccessStateDirective,
33
+ HttpRequestStateDirective,
34
+ HttpErrorStateDirective,
35
+ HttpInProgressStateDirective,
36
+ HttpNotStartedStateDirective,
37
+ ]
38
+ }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1zdGF0ZS1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2h0dHAtc3RhdGUtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDNUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBaUJ6RixNQUFNLE9BQU8saUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixZQWJ6Qix5QkFBeUI7WUFDekIseUJBQXlCO1lBQ3pCLHVCQUF1QjtZQUN2Qiw0QkFBNEI7WUFDNUIsNEJBQTRCLGFBRzVCLHlCQUF5QjtZQUN6Qix5QkFBeUI7WUFDekIsdUJBQXVCO1lBQ3ZCLDRCQUE0QjtZQUM1Qiw0QkFBNEI7d0dBRXBCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFmaEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wseUJBQXlCO3dCQUN6Qix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7cUJBQy9CO29CQUNELE9BQU8sRUFBRTt3QkFDTCx5QkFBeUI7d0JBQ3pCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLDRCQUE0QjtxQkFDL0I7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwU3VjY2Vzc1N0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2h0dHAtc3VjY2Vzcy1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3JlcXVlc3Qtc3RhdGUtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yU3RhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvaHR0cC1lcnJvci1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIdHRwSW5Qcm9ncmVzc1N0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2h0dHAtaW5Qcm9ncmVzcy1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIdHRwTm90U3RhcnRlZFN0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2h0dHAtbm90U3RhcnRlZC1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBIdHRwU3VjY2Vzc1N0YXRlRGlyZWN0aXZlLFxyXG4gICAgICAgIEh0dHBSZXF1ZXN0U3RhdGVEaXJlY3RpdmUsXHJcbiAgICAgICAgSHR0cEVycm9yU3RhdGVEaXJlY3RpdmUsXHJcbiAgICAgICAgSHR0cEluUHJvZ3Jlc3NTdGF0ZURpcmVjdGl2ZSxcclxuICAgICAgICBIdHRwTm90U3RhcnRlZFN0YXRlRGlyZWN0aXZlLFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBIdHRwU3VjY2Vzc1N0YXRlRGlyZWN0aXZlLFxyXG4gICAgICAgIEh0dHBSZXF1ZXN0U3RhdGVEaXJlY3RpdmUsXHJcbiAgICAgICAgSHR0cEVycm9yU3RhdGVEaXJlY3RpdmUsXHJcbiAgICAgICAgSHR0cEluUHJvZ3Jlc3NTdGF0ZURpcmVjdGl2ZSxcclxuICAgICAgICBIdHRwTm90U3RhcnRlZFN0YXRlRGlyZWN0aXZlLFxyXG4gICAgXVxyXG59KSBleHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RNb2R1bGUgeyB9Il19
@@ -0,0 +1,7 @@
1
+ export * from './helpers';
2
+ export * from './http-request-state';
3
+ export * from './http-state-module';
4
+ export * from './HttpRequestStateFactory';
5
+ export * from './HttpRequestStateStore';
6
+ export * from './types';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hlbHBlcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2h0dHAtcmVxdWVzdC1zdGF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1zdGF0ZS1tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL0h0dHBSZXF1ZXN0U3RhdGVGYWN0b3J5JztcclxuZXhwb3J0ICogZnJvbSAnLi9IdHRwUmVxdWVzdFN0YXRlU3RvcmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJzsiXX0=
@@ -0,0 +1,4 @@
1
+ import { isSuccessState } from '../helpers';
2
+ import { filter, map } from 'rxjs/operators';
3
+ export const getRequestorBody = (source) => source.pipe(filter(isSuccessState), map(res => res.body));
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UmVxdWVzdG9yQm9keS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvcnhqcy9nZXRSZXF1ZXN0b3JCb2R5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFJLE1BQXVDLEVBQUUsRUFBRSxDQUM3RSxNQUFNLENBQUMsSUFBSSxDQUNULE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFDdEIsR0FBRyxDQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTdWNjZXNzU3RhdGUgfSBmcm9tICcuLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRSZXF1ZXN0b3JCb2R5ID0gPFQ+KHNvdXJjZTogT2JzZXJ2YWJsZTxIdHRwUmVxdWVzdFN0YXRlPFQ+PikgPT5cclxuICBzb3VyY2UucGlwZShcclxuICAgIGZpbHRlcihpc1N1Y2Nlc3NTdGF0ZSksXHJcbiAgICBtYXAoIHJlcyA9PiByZXMuYm9keSlcclxuICApOyJdfQ==
@@ -0,0 +1,3 @@
1
+ import { map } from 'rxjs/operators';
2
+ export const getRequestorStatus = (source) => source.pipe(map(res => res.status));
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UmVxdWVzdG9yU3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL3J4anMvZ2V0UmVxdWVzdG9yU3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUksTUFBdUMsRUFBRSxFQUFFLENBQy9FLE1BQU0sQ0FBQyxJQUFJLENBQ1QsR0FBRyxDQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0UmVxdWVzdG9yU3RhdHVzID0gPFQ+KHNvdXJjZTogT2JzZXJ2YWJsZTxIdHRwUmVxdWVzdFN0YXRlPFQ+PikgPT5cclxuICBzb3VyY2UucGlwZShcclxuICAgIG1hcCggcmVzID0+IHJlcy5zdGF0dXMpXHJcbiAgKTsiXX0=
@@ -0,0 +1,5 @@
1
+ export * from './getRequestorBody';
2
+ export * from './getRequestorState';
3
+ export * from './tapError';
4
+ export * from './tapSuccess';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL3J4anMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXRSZXF1ZXN0b3JCb2R5JztcclxuZXhwb3J0ICogZnJvbSAnLi9nZXRSZXF1ZXN0b3JTdGF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGFwRXJyb3InO1xyXG5leHBvcnQgKiBmcm9tICcuL3RhcFN1Y2Nlc3MnO1xyXG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { tap } from 'rxjs/operators';
2
+ import { isErrorState } from '../helpers';
3
+ export function tapError(onError) {
4
+ return function (src) {
5
+ return src.pipe(tap(result => {
6
+ if (isErrorState(result)) {
7
+ onError(result.error);
8
+ }
9
+ }));
10
+ };
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL3J4anMvdGFwRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUMsTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUE2QjtJQUNwRCxPQUFPLFVBQVUsR0FBaUM7UUFDaEQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUNYLEdBQUcsQ0FBRSxNQUFNLENBQUMsRUFBRTtZQUNWLElBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0U3RhdGUgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IGlzRXJyb3JTdGF0ZSB9IGZyb20gJy4uL2hlbHBlcnMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRhcEVycm9yKG9uRXJyb3I6IChlcnJvcjogYW55KSA9PiB2b2lkKSB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIChzcmM6IE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZT4pOiBPYnNlcnZhYmxlPEh0dHBSZXF1ZXN0U3RhdGU+IHtcclxuICAgIHJldHVybiBzcmMucGlwZShcclxuICAgICAgICB0YXAoIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgIGlmKGlzRXJyb3JTdGF0ZShyZXN1bHQpKSB7XHJcbiAgICAgICAgICAgICAgICBvbkVycm9yKHJlc3VsdC5lcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { tap } from 'rxjs/operators';
2
+ import { isSuccessState } from '../helpers';
3
+ export function tapSuccess(onSuccess) {
4
+ return function (src) {
5
+ return src.pipe(tap(result => {
6
+ if (isSuccessState(result)) {
7
+ onSuccess(result.body);
8
+ }
9
+ }));
10
+ };
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwU3VjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvcnhqcy90YXBTdWNjZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVDLE1BQU0sVUFBVSxVQUFVLENBQUksU0FBNEI7SUFDeEQsT0FBTyxVQUFVLEdBQW9DO1FBQ25ELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FDWCxHQUFHLENBQUUsTUFBTSxDQUFDLEVBQUU7WUFDVixJQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUN4QixTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBpc1N1Y2Nlc3NTdGF0ZSB9IGZyb20gJy4uL2hlbHBlcnMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRhcFN1Y2Nlc3M8VD4ob25TdWNjZXNzOiAoYm9keTogVCkgPT4gdm9pZCkge1xyXG4gIHJldHVybiBmdW5jdGlvbiAoc3JjOiBPYnNlcnZhYmxlPEh0dHBSZXF1ZXN0U3RhdGU8VD4+KTogT2JzZXJ2YWJsZTxIdHRwUmVxdWVzdFN0YXRlPFQ+PiB7XHJcbiAgICByZXR1cm4gc3JjLnBpcGUoXHJcbiAgICAgICAgdGFwKCByZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICBpZihpc1N1Y2Nlc3NTdGF0ZShyZXN1bHQpKSB7XHJcbiAgICAgICAgICAgICAgICBvblN1Y2Nlc3MocmVzdWx0LmJvZHkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -0,0 +1,16 @@
1
+ export var HttpRequestStatus;
2
+ (function (HttpRequestStatus) {
3
+ HttpRequestStatus[HttpRequestStatus["notStarted"] = 0] = "notStarted";
4
+ HttpRequestStatus[HttpRequestStatus["inProgress"] = 1] = "inProgress";
5
+ HttpRequestStatus[HttpRequestStatus["success"] = 2] = "success";
6
+ HttpRequestStatus[HttpRequestStatus["fail"] = 3] = "fail";
7
+ HttpRequestStatus[HttpRequestStatus["cancelled"] = 4] = "cancelled";
8
+ })(HttpRequestStatus || (HttpRequestStatus = {}));
9
+ export var HttpRequestStrategy;
10
+ (function (HttpRequestStrategy) {
11
+ HttpRequestStrategy[HttpRequestStrategy["concurrent"] = 1] = "concurrent";
12
+ HttpRequestStrategy[HttpRequestStrategy["singleUse"] = 2] = "singleUse";
13
+ HttpRequestStrategy[HttpRequestStrategy["cancelPrevious"] = 3] = "cancelPrevious";
14
+ HttpRequestStrategy[HttpRequestStrategy["sequential"] = 4] = "sequential";
15
+ })(HttpRequestStrategy || (HttpRequestStrategy = {}));
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLGlCQU1UO0FBTkgsV0FBWSxpQkFBaUI7SUFDekIscUVBQVUsQ0FBQTtJQUNWLHFFQUFVLENBQUE7SUFDViwrREFBTyxDQUFBO0lBQ1AseURBQUksQ0FBQTtJQUNKLG1FQUFTLENBQUE7QUFDWCxDQUFDLEVBTlMsaUJBQWlCLEtBQWpCLGlCQUFpQixRQU0xQjtBQWdDSCxNQUFNLENBQU4sSUFBWSxtQkFLWDtBQUxELFdBQVksbUJBQW1CO0lBQzdCLHlFQUFjLENBQUE7SUFDZCx1RUFBYSxDQUFBO0lBQ2IsaUZBQWtCLENBQUE7SUFDbEIseUVBQWMsQ0FBQTtBQUNoQixDQUFDLEVBTFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUs5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuZXhwb3J0IGVudW0gSHR0cFJlcXVlc3RTdGF0dXMge1xyXG4gICAgbm90U3RhcnRlZCxcclxuICAgIGluUHJvZ3Jlc3MsXHJcbiAgICBzdWNjZXNzLFxyXG4gICAgZmFpbCxcclxuICAgIGNhbmNlbGxlZCxcclxuICB9XHJcblxyXG4gIGV4cG9ydCB0eXBlIEh0dHBSZXF1ZXN0U3RhdGVDYW5jZWxsZWQgPSB7XHJcbiAgICBzdGF0dXM6IEh0dHBSZXF1ZXN0U3RhdHVzLmNhbmNlbGxlZFxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3RTdGF0ZU5vdFN0YXJ0ZWQgPSB7XHJcbiAgICBzdGF0dXM6IEh0dHBSZXF1ZXN0U3RhdHVzLm5vdFN0YXJ0ZWRcclxuICB9XHJcblxyXG4gIGV4cG9ydCB0eXBlIEh0dHBSZXF1ZXN0U3RhdGVJblByb2dyZXNzID0ge1xyXG4gICAgc3RhdHVzOiBIdHRwUmVxdWVzdFN0YXR1cy5pblByb2dyZXNzXHJcbiAgfVxyXG5cclxuICBleHBvcnQgdHlwZSBIdHRwUmVxdWVzdFN0YXRlU3VjY2VzczxUPiA9IHtcclxuICAgIHN0YXR1czogSHR0cFJlcXVlc3RTdGF0dXMuc3VjY2VzcztcclxuICAgIGJvZHk6IFQ7XHJcbiAgfVxyXG5cclxuICBleHBvcnQgdHlwZSBIdHRwUmVxdWVzdFN0YXRlRXJyb3IgPSB7XHJcbiAgICBzdGF0dXM6IEh0dHBSZXF1ZXN0U3RhdHVzLmZhaWw7XHJcbiAgICBlcnJvcjogYW55O1xyXG4gIH1cclxuXHJcblxyXG4gIGV4cG9ydCB0eXBlIEh0dHBSZXF1ZXN0U3RhdGU8VCA9IGFueT4gPVxyXG4gICAgSHR0cFJlcXVlc3RTdGF0ZUNhbmNlbGxlZCB8XHJcbiAgICBIdHRwUmVxdWVzdFN0YXRlTm90U3RhcnRlZCB8XHJcbiAgICBIdHRwUmVxdWVzdFN0YXRlSW5Qcm9ncmVzcyB8XHJcbiAgICBIdHRwUmVxdWVzdFN0YXRlU3VjY2VzczxUPiB8XHJcbiAgICBIdHRwUmVxdWVzdFN0YXRlRXJyb3IgO1xyXG5cclxuZXhwb3J0IGVudW0gSHR0cFJlcXVlc3RTdHJhdGVneSB7XHJcbiAgY29uY3VycmVudCA9IDEsXHJcbiAgc2luZ2xlVXNlID0gMixcclxuICBjYW5jZWxQcmV2aW91cyA9IDMsXHJcbiAgc2VxdWVudGlhbCA9IDQsXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0U3RhdGVPcHRpb25zPFRQYXJhbSBleHRlbmRzIGFueVtdID0gYW55PiB7XHJcbiAgc3RyYXRlZ3k/OiBIdHRwUmVxdWVzdFN0cmF0ZWd5O1xyXG4gIGF1dG9SZXF1ZXN0V2l0aD86IFsuLi5UUGFyYW1dO1xyXG4gIGluamVjdG9yPzogSW5qZWN0b3I7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdENyZWF0b3JPcHRpb25zPFRQYXJhbSBleHRlbmRzIGFueVtdID0gYW55PiBleHRlbmRzIFJlcXVlc3RTdGF0ZU9wdGlvbnM8VFBhcmFtPiB7fVxyXG5cclxuZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSBleHRlbmRzIGFueVtdLCBUPiA9ICguLi5wYXJhbXM6IFsuLi5UUGFyYW1dKSA9PiBPYnNlcnZhYmxlPFQ+XHJcbiJdfQ==
@@ -0,0 +1,71 @@
1
+ import { APP_INITIALIZER, makeEnvironmentProviders } from "@angular/core";
2
+ import { createSelector, Store } from "@ngrx/store";
3
+ import { v4 as uuid } from 'uuid';
4
+ class AppStoreCache {
5
+ cache = {};
6
+ isInCache = (props, actionableSelectorId) => {
7
+ if (typeof props != 'object')
8
+ props = { props };
9
+ let itemsInCache = this.cache[actionableSelectorId] = this.cache[actionableSelectorId] || [];
10
+ if (itemsInCache.some(itemInCache => shallowEquals(itemInCache, props))) {
11
+ return true;
12
+ }
13
+ itemsInCache.push(props);
14
+ return false;
15
+ };
16
+ }
17
+ let _store;
18
+ let _cache;
19
+ export const clearActionableSelectorRequestCache = () => _cache.cache = {};
20
+ const setStore = (store) => {
21
+ if (store instanceof Store)
22
+ _store = store;
23
+ };
24
+ export function setUpStoreFactory(store) {
25
+ _cache = new AppStoreCache();
26
+ return () => new Promise((resolve, reject) => {
27
+ setStore(store);
28
+ resolve(null);
29
+ });
30
+ }
31
+ /**
32
+ * Creates a selector that can dispatch an action if conditions are met.
33
+ * Note: The props of the selector factory must include the props of the action.
34
+ * @param selectorFactory A method that returns selector.
35
+ * @param action The action that will be dispatched when conditions are met.
36
+ * @param [dispatchIf = defaultFilter] Optional. A method that takes the result of the selector and returns a boolean. The actions gets dispatched
37
+ * if true is returned. If no method is passed in than the action will be dispatched if the selector returns undefined or null.
38
+ */
39
+ export const createActionableSelector = (selectorFactory, action, dispatchIf = defaultFilter) => {
40
+ const id = uuid();
41
+ const slctr = (props) => createSelector(selectorFactory(props), (selected) => {
42
+ if (dispatchIf(selected) && !_cache.isInCache(props, id)) {
43
+ queueMicrotask(() => _store.dispatch(action(props)));
44
+ }
45
+ return selected;
46
+ });
47
+ return slctr;
48
+ };
49
+ export function defaultFilter(data) {
50
+ return data == null || data == undefined;
51
+ }
52
+ const shallowEquals = (cachedItem, newItem) => {
53
+ const cachedItemKeys = Object.keys(cachedItem);
54
+ const secondKeys = Object.keys(newItem);
55
+ if (cachedItemKeys.length !== secondKeys.length) {
56
+ return false;
57
+ }
58
+ for (let index = 0; index < cachedItemKeys.length; index++) {
59
+ const currentKey = cachedItemKeys[index];
60
+ if (cachedItem[currentKey] !== newItem[currentKey]) {
61
+ return false;
62
+ }
63
+ }
64
+ return true;
65
+ };
66
+ export function provideActionableSelector() {
67
+ return makeEnvironmentProviders([
68
+ { provide: APP_INITIALIZER, useFactory: setUpStoreFactory, multi: true, deps: [Store] },
69
+ ]);
70
+ }
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYWJsZS1zZWxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9uZ3J4L2FjdGlvbmFibGUtc2VsZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQVUsY0FBYyxFQUFvQixLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNbEMsTUFBTSxhQUFhO0lBQ2pCLEtBQUssR0FBVSxFQUFFLENBQUM7SUFDbEIsU0FBUyxHQUFHLENBQUMsS0FBVSxFQUFFLG9CQUE0QixFQUFXLEVBQUU7UUFDaEUsSUFBRyxPQUFPLEtBQUssSUFBSSxRQUFRO1lBQUUsS0FBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFFL0MsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFN0YsSUFBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUM7WUFDdEUsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQTtDQUNGO0FBRUQsSUFBSSxNQUFrQixDQUFDO0FBQ3ZCLElBQUksTUFBcUIsQ0FBQztBQUUxQixNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUUzRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO0lBQ2hDLElBQUcsS0FBSyxZQUFZLEtBQUs7UUFBRSxNQUFNLEdBQUcsS0FBSyxDQUFDO0FBQzVDLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFZO0lBQzVDLE1BQU0sR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBQzdCLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDM0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDdEMsZUFBbUUsRUFDbkUsTUFBeUMsRUFDekMsYUFBd0MsYUFBYSxFQUNTLEVBQUU7SUFDaEUsTUFBTSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDbEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FDN0MsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUN0QixDQUFDLFFBQWdCLEVBQUUsRUFBRTtRQUNuQixJQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFDLENBQUM7WUFDdkQsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQyxDQUMyQyxDQUFDO0lBQy9DLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFBO0FBTUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFTO0lBQ3JDLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksU0FBUyxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLGFBQWEsR0FBRyxDQUFDLFVBQWtCLEVBQUUsT0FBZSxFQUFXLEVBQUU7SUFDckUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLElBQUcsY0FBYyxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0MsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsS0FBSSxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUMxRCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBRyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFDLENBQUM7WUFDakQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFBO0FBRUQsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRTtLQUN4RixDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3Rpb24sIGNyZWF0ZVNlbGVjdG9yLCBNZW1vaXplZFNlbGVjdG9yLCBTdG9yZSB9IGZyb20gXCJAbmdyeC9zdG9yZVwiO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XHJcblxyXG50eXBlIENhY2hlID0ge1xyXG4gIFtrZXk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogYW55IH1bXTtcclxufVxyXG5cclxuY2xhc3MgQXBwU3RvcmVDYWNoZSB7XHJcbiAgY2FjaGU6IENhY2hlID0ge307XHJcbiAgaXNJbkNhY2hlID0gKHByb3BzOiBhbnksIGFjdGlvbmFibGVTZWxlY3RvcklkOiBzdHJpbmcpOiBib29sZWFuID0+IHtcclxuICAgIGlmKHR5cGVvZiBwcm9wcyAhPSAnb2JqZWN0JykgcHJvcHMgPSB7IHByb3BzIH07XHJcblxyXG4gICAgbGV0IGl0ZW1zSW5DYWNoZSA9IHRoaXMuY2FjaGVbYWN0aW9uYWJsZVNlbGVjdG9ySWRdID0gdGhpcy5jYWNoZVthY3Rpb25hYmxlU2VsZWN0b3JJZF0gfHwgW107XHJcblxyXG4gICAgaWYoaXRlbXNJbkNhY2hlLnNvbWUoaXRlbUluQ2FjaGUgPT4gc2hhbGxvd0VxdWFscyhpdGVtSW5DYWNoZSwgcHJvcHMpKSl7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGl0ZW1zSW5DYWNoZS5wdXNoKHByb3BzKTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbmxldCBfc3RvcmU6IFN0b3JlPGFueT47XHJcbmxldCBfY2FjaGU6IEFwcFN0b3JlQ2FjaGU7XHJcblxyXG5leHBvcnQgY29uc3QgY2xlYXJBY3Rpb25hYmxlU2VsZWN0b3JSZXF1ZXN0Q2FjaGUgPSAoKSA9PiBfY2FjaGUuY2FjaGUgPSB7fTtcclxuXHJcbmNvbnN0IHNldFN0b3JlID0gKHN0b3JlOiBTdG9yZSkgPT4ge1xyXG4gIGlmKHN0b3JlIGluc3RhbmNlb2YgU3RvcmUpIF9zdG9yZSA9IHN0b3JlO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNldFVwU3RvcmVGYWN0b3J5KHN0b3JlOiBTdG9yZSl7XHJcbiAgX2NhY2hlID0gbmV3IEFwcFN0b3JlQ2FjaGUoKTtcclxuICByZXR1cm4gKCkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgc2V0U3RvcmUoc3RvcmUpO1xyXG4gICAgcmVzb2x2ZShudWxsKTtcclxuICB9KVxyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIHNlbGVjdG9yIHRoYXQgY2FuIGRpc3BhdGNoIGFuIGFjdGlvbiBpZiBjb25kaXRpb25zIGFyZSBtZXQuXHJcbiAqIE5vdGU6IFRoZSBwcm9wcyBvZiB0aGUgc2VsZWN0b3IgZmFjdG9yeSBtdXN0IGluY2x1ZGUgdGhlIHByb3BzIG9mIHRoZSBhY3Rpb24uXHJcbiAqIEBwYXJhbSBzZWxlY3RvckZhY3RvcnkgQSBtZXRob2QgdGhhdCByZXR1cm5zIHNlbGVjdG9yLlxyXG4gKiBAcGFyYW0gYWN0aW9uIFRoZSBhY3Rpb24gdGhhdCB3aWxsIGJlIGRpc3BhdGNoZWQgd2hlbiBjb25kaXRpb25zIGFyZSBtZXQuXHJcbiAqIEBwYXJhbSBbZGlzcGF0Y2hJZiA9IGRlZmF1bHRGaWx0ZXJdIE9wdGlvbmFsLiBBIG1ldGhvZCB0aGF0IHRha2VzIHRoZSByZXN1bHQgb2YgdGhlIHNlbGVjdG9yIGFuZCByZXR1cm5zIGEgYm9vbGVhbi4gVGhlIGFjdGlvbnMgZ2V0cyBkaXNwYXRjaGVkXHJcbiAqIGlmIHRydWUgaXMgcmV0dXJuZWQuIElmIG5vIG1ldGhvZCBpcyBwYXNzZWQgaW4gdGhhbiB0aGUgYWN0aW9uIHdpbGwgYmUgZGlzcGF0Y2hlZCBpZiB0aGUgc2VsZWN0b3IgcmV0dXJucyB1bmRlZmluZWQgb3IgbnVsbC5cclxuICovXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVBY3Rpb25hYmxlU2VsZWN0b3IgPSA8U3RhdGUsIFJlc3VsdCwgUHJvcHMgPSBhbnk+KFxyXG4gIHNlbGVjdG9yRmFjdG9yeTogKHByb3BzPzogUHJvcHMpID0+IE1lbW9pemVkU2VsZWN0b3I8U3RhdGUsIFJlc3VsdD4sXHJcbiAgYWN0aW9uOiBBY3Rpb25SZXR1cm5lcjxQcm9wcyB8IHVuZGVmaW5lZD4sXHJcbiAgZGlzcGF0Y2hJZjogKGRhdGE6IFJlc3VsdCkgPT4gYm9vbGVhbiA9IGRlZmF1bHRGaWx0ZXIsXHJcbik6IChwcm9wcz86IFByb3BzKSA9PiBBY3Rpb25hYmxlTWVtb2l6ZWRTZWxlY3RvcjxTdGF0ZSwgUmVzdWx0PiA9PiB7XHJcbiAgY29uc3QgaWQgPSB1dWlkKCk7XHJcbiAgY29uc3Qgc2xjdHIgPSAocHJvcHM/OiBQcm9wcykgPT4gY3JlYXRlU2VsZWN0b3IoXHJcbiAgICBzZWxlY3RvckZhY3RvcnkocHJvcHMpLFxyXG4gICAgKHNlbGVjdGVkOiBSZXN1bHQpID0+IHtcclxuICAgICAgaWYoZGlzcGF0Y2hJZihzZWxlY3RlZCkgJiYgIV9jYWNoZS5pc0luQ2FjaGUocHJvcHMsIGlkKSl7XHJcbiAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gX3N0b3JlLmRpc3BhdGNoKGFjdGlvbihwcm9wcykpKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gc2VsZWN0ZWQ7XHJcbiAgICB9XHJcbiAgKSBhcyBBY3Rpb25hYmxlTWVtb2l6ZWRTZWxlY3RvcjxTdGF0ZSwgUmVzdWx0PjtcclxuICByZXR1cm4gc2xjdHI7XHJcbn1cclxuXHJcbnR5cGUgQWN0aW9uYWJsZU1lbW9pemVkU2VsZWN0b3I8U3RhdGUsIFJlc3VsdD4gPSBNZW1vaXplZFNlbGVjdG9yPFN0YXRlLCBSZXN1bHQ+O1xyXG5cclxuZXhwb3J0IHR5cGUgQWN0aW9uUmV0dXJuZXI8UHJvcHM+ID0gKHByb3BzOiBQcm9wcykgPT4gQWN0aW9uO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRGaWx0ZXIoZGF0YTogYW55KSB7XHJcbiAgcmV0dXJuIGRhdGEgPT0gbnVsbCB8fCBkYXRhID09IHVuZGVmaW5lZDtcclxufVxyXG5cclxuY29uc3Qgc2hhbGxvd0VxdWFscyA9IChjYWNoZWRJdGVtOiBvYmplY3QsIG5ld0l0ZW06IG9iamVjdCk6IGJvb2xlYW4gPT4ge1xyXG4gIGNvbnN0IGNhY2hlZEl0ZW1LZXlzID0gT2JqZWN0LmtleXMoY2FjaGVkSXRlbSk7XHJcbiAgY29uc3Qgc2Vjb25kS2V5cyA9IE9iamVjdC5rZXlzKG5ld0l0ZW0pO1xyXG4gIGlmKGNhY2hlZEl0ZW1LZXlzLmxlbmd0aCAhPT0gc2Vjb25kS2V5cy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgZm9yKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY2FjaGVkSXRlbUtleXMubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICBjb25zdCBjdXJyZW50S2V5ID0gY2FjaGVkSXRlbUtleXNbaW5kZXhdO1xyXG4gICAgaWYoY2FjaGVkSXRlbVtjdXJyZW50S2V5XSAhPT0gbmV3SXRlbVtjdXJyZW50S2V5XSl7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQWN0aW9uYWJsZVNlbGVjdG9yKCl7XHJcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXHJcbiAgICB7IHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUiwgdXNlRmFjdG9yeTogc2V0VXBTdG9yZUZhY3RvcnksIG11bHRpOiB0cnVlLCBkZXBzOiBbU3RvcmVdIH0sXHJcbiAgXSlcclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './actionable-selector';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvbmdyeC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25hYmxlLXNlbGVjdG9yJzsiXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLXBhcmFnb24tYW5ndWxhci11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvb25lLXBhcmFnb24tYW5ndWxhci11dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ /*
2
+ * Public API Surface of http-request-state
3
+ */
4
+ export * from './http-request-state/directives';
5
+ export * from './http-request-state/rxjs';
6
+ export * from './http-request-state';
7
+ export * from './table-builder/table-builder.module';
8
+ export * from './table-builder/classes/TableBuilderConfig';
9
+ export * from './table-builder/interfaces/report-def';
10
+ export * from './table-builder/classes/MatTableObservableDataSource';
11
+ export * from './table-builder/classes/table-builder';
12
+ export * from './table-builder/classes/table-builder-general-settings';
13
+ export * from './table-builder/components';
14
+ export * from './table-builder/directives';
15
+ export * from './table-builder/enums/filterTypes';
16
+ export * from './rxjs';
17
+ export * from './utilities';
18
+ export * from './action-state';
19
+ export * from './ngrx';
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsc0JBQXNCLENBQUM7QUFHckMsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLDRDQUE0QyxDQUFDO0FBRTNELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxzREFBc0QsQ0FBQztBQUVyRSxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsd0RBQXdELENBQUM7QUFFdkUsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsbUNBQW1DLENBQUM7QUFHbEQsY0FBYyxRQUFRLENBQUE7QUFFdEIsY0FBYyxhQUFhLENBQUE7QUFFM0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBodHRwLXJlcXVlc3Qtc3RhdGVcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2h0dHAtcmVxdWVzdC1zdGF0ZS9kaXJlY3RpdmVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9odHRwLXJlcXVlc3Qtc3RhdGUvcnhqcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1yZXF1ZXN0LXN0YXRlJztcclxuXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWJ1aWxkZXIvdGFibGUtYnVpbGRlci5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1idWlsZGVyL2NsYXNzZXMvVGFibGVCdWlsZGVyQ29uZmlnJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtYnVpbGRlci9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1idWlsZGVyL2NsYXNzZXMvTWF0VGFibGVPYnNlcnZhYmxlRGF0YVNvdXJjZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWJ1aWxkZXIvY2xhc3Nlcy90YWJsZS1idWlsZGVyJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtYnVpbGRlci9jbGFzc2VzL3RhYmxlLWJ1aWxkZXItZ2VuZXJhbC1zZXR0aW5ncyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWJ1aWxkZXIvZGlyZWN0aXZlcyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWJ1aWxkZXIvZW51bXMvZmlsdGVyVHlwZXMnO1xyXG5cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vcnhqcydcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbGl0aWVzJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24tc3RhdGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9uZ3J4JztcclxuIl19
@@ -0,0 +1,7 @@
1
+ import { shareReplay } from 'rxjs/operators';
2
+ export function defaultShareReplay() {
3
+ return function (src) {
4
+ return src.pipe(shareReplay({ refCount: true, bufferSize: 1 }));
5
+ };
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdFNoYXJlUmVwbGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3J4anMvZGVmYXVsdFNoYXJlUmVwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE9BQU8sVUFBVSxHQUFrQjtRQUNqQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRTaGFyZVJlcGxheTxUPigpIHtcclxuICByZXR1cm4gZnVuY3Rpb24gKHNyYzogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIHNyYy5waXBlKHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSkpO1xyXG4gIH07XHJcbn0iXX0=
@@ -0,0 +1,6 @@
1
+ export * from './defaultShareReplay';
2
+ export * from './mapError';
3
+ export * from './rxjs-operators';
4
+ export * from './subjectifier';
5
+ export * from './subscriber.directive';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvcnhqcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0U2hhcmVSZXBsYXknXHJcbmV4cG9ydCAqIGZyb20gJy4vbWFwRXJyb3InO1xyXG5leHBvcnQgKiBmcm9tICcuL3J4anMtb3BlcmF0b3JzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdWJqZWN0aWZpZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3N1YnNjcmliZXIuZGlyZWN0aXZlJztcclxuIl19
@@ -0,0 +1,8 @@
1
+ import { of } from 'rxjs';
2
+ import { catchError } from 'rxjs/operators';
3
+ export function mapError(projection) {
4
+ return function (src) {
5
+ return src.pipe(catchError(e => of(projection(e))));
6
+ };
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvcnhqcy9tYXBFcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxNQUFNLFVBQVUsUUFBUSxDQUFhLFVBQW1DO0lBQ3RFLE9BQU8sVUFBVSxHQUFrQjtRQUNqQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQztJQUN2RCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtYXBFcnJvcjxULCBUUmVzdWx0Pihwcm9qZWN0aW9uOiAoZXJyb3I6IGFueSkgPT4gVFJlc3VsdCkge1xyXG4gIHJldHVybiBmdW5jdGlvbiAoc3JjOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUIHwgVFJlc3VsdD4ge1xyXG4gICAgcmV0dXJuIHNyYy5waXBlKGNhdGNoRXJyb3IoZSA9PiBvZihwcm9qZWN0aW9uKGUpKSksKTtcclxuICB9O1xyXG59Il19
@@ -0,0 +1,92 @@
1
+ import { filter, first, map, pairwise, startWith, Observable, combineLatest, Subscription, concatMap, merge, of, delay } from 'rxjs';
2
+ export const onceWhen = (predicate) => (src) => {
3
+ return src.pipe(filter(predicate), first());
4
+ };
5
+ export const mapArray = (mapFunc) => (source) => source.pipe(map(src => src.map(mapFunc)));
6
+ export const filterArray = (filterFunc) => (source) => source.pipe(map(src => src.filter(filterFunc)));
7
+ export const onWait = startWithIfEmpty;
8
+ export function startWithIfEmpty(val, wait = 0) {
9
+ return (source) => {
10
+ return new Observable(subscriber => {
11
+ let emitted = false;
12
+ setTimeout(() => {
13
+ if (!emitted) {
14
+ subscriber.next(val);
15
+ }
16
+ }, wait);
17
+ const sub = source.subscribe({
18
+ next(x) { emitted = true; subscriber.next(x); },
19
+ error(err) { emitted = true; subscriber.error(err); },
20
+ complete() { emitted = true; subscriber.complete(); }
21
+ });
22
+ return () => sub.unsubscribe();
23
+ });
24
+ };
25
+ }
26
+ export const combineArrays = (sources) => {
27
+ return combineLatest(sources.map(src => src.pipe(startWithIfEmpty([])))).pipe(map(res => res.flat()));
28
+ };
29
+ export function switchOff(switchSource, defaultState = true) {
30
+ return (source) => {
31
+ return new Observable(subsciber => {
32
+ let isOn = defaultState;
33
+ const subscription = new Subscription();
34
+ subscription.add(switchSource.subscribe(on => isOn = on));
35
+ subscription.add(source.subscribe({
36
+ next(value) {
37
+ if (isOn) {
38
+ subsciber.next(value);
39
+ }
40
+ },
41
+ error: error => subsciber.error(error),
42
+ complete: () => subsciber.complete()
43
+ }));
44
+ return subscription;
45
+ });
46
+ };
47
+ }
48
+ export function skipOneWhen(skipper) {
49
+ return (source) => {
50
+ return new Observable(subsriber => {
51
+ const subscription = new Subscription();
52
+ let skipNext = false;
53
+ subscription.add(skipper.subscribe(_ => skipNext = true));
54
+ subscription.add(source.subscribe({
55
+ next(value) {
56
+ if (skipNext) {
57
+ skipNext = false;
58
+ }
59
+ else {
60
+ subsriber.next(value);
61
+ }
62
+ },
63
+ error: error => subsriber.error(error),
64
+ complete: () => subsriber.complete()
65
+ }));
66
+ return subscription;
67
+ });
68
+ };
69
+ }
70
+ export function previousAndCurrent(startingValue) {
71
+ return (source) => {
72
+ return source.pipe(startWith(startingValue), pairwise());
73
+ };
74
+ }
75
+ export function notNull() {
76
+ return (source) => {
77
+ return source.pipe(filter((o) => o != null));
78
+ };
79
+ }
80
+ export function delayOn(predicate, delayTime) {
81
+ return (src) => {
82
+ return src.pipe(concatMap(r => {
83
+ if (predicate(r)) {
84
+ return merge(of({ r }), of(null).pipe(delay(delayTime))).pipe(notNull(), map(d => d.r));
85
+ }
86
+ else {
87
+ return of(r);
88
+ }
89
+ }));
90
+ };
91
+ }
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy1vcGVyYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvcnhqcy9yeGpzLW9wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBQ0gsUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksRUFHWixTQUFTLEVBQ1QsS0FBSyxFQUNMLEVBQUUsRUFDRixLQUFLLEVBQ04sTUFBTSxNQUFNLENBQUM7QUFHZCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBSSxTQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQWtCLEVBQWtCLEVBQUU7SUFDN0YsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFPLE9BQXNDLEVBQUcsRUFBRSxDQUFDLENBQUMsTUFBdUIsRUFBRSxFQUFFLENBQ3JHLE1BQU0sQ0FBQyxJQUFJLENBQUUsR0FBRyxDQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBRSxDQUFFLENBQUM7QUFFaEQsTUFBTSxDQUFFLE1BQU0sV0FBVyxHQUFHLENBQUksVUFBK0IsRUFBRyxFQUFFLENBQUMsQ0FBQyxNQUF1QixFQUFFLEVBQUUsQ0FDL0YsTUFBTSxDQUFDLElBQUksQ0FBRSxHQUFHLENBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFFLENBQUUsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUM7QUFDdkMsTUFBTSxVQUFVLGdCQUFnQixDQUFnQixHQUFNLEVBQUUsSUFBSSxHQUFHLENBQUM7SUFDOUQsT0FBTyxDQUFDLE1BQXFCLEVBQUUsRUFBRTtRQUMvQixPQUFPLElBQUksVUFBVSxDQUFJLFVBQVUsQ0FBQyxFQUFFO1lBQ3BDLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDWixVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN2QixDQUFDO1lBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ1QsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLENBQUMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUM7Z0JBQzlDLEtBQUssQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDO2dCQUNwRCxRQUFRLEtBQUssT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdEQsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUE7QUFFSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUksT0FBMEIsRUFBbUIsRUFBRTtJQUM5RSxPQUFPLGFBQWEsQ0FDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBVSxDQUFDLENBQUMsQ0FBQyxDQUM1RCxDQUFDLElBQUksQ0FDSixHQUFHLENBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUUsQ0FDekIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxTQUFTLENBQUUsWUFBaUMsRUFBRSxlQUF3QixJQUFJO0lBQ3hGLE9BQU8sQ0FBSSxNQUFxQixFQUFrQixFQUFFO1FBQ2xELE9BQU8sSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxJQUFJLEdBQUcsWUFBWSxDQUFDO1lBQ3hCLE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7WUFDeEMsWUFBWSxDQUFDLEdBQUcsQ0FBRSxZQUFZLENBQUMsU0FBUyxDQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBRSxDQUFDLENBQUM7WUFDN0QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsS0FBSztvQkFDUixJQUFHLElBQUksRUFBRSxDQUFDO3dCQUNSLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3hCLENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDdEMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7YUFDckMsQ0FBQyxDQUFDLENBQUM7WUFDSixPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFFLE9BQXdCO0lBQ25ELE9BQU8sQ0FBSSxNQUFxQixFQUFrQixFQUFFO1FBQ2xELE9BQU8sSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUN4QyxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDckIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDM0QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsS0FBSztvQkFDUixJQUFHLFFBQVEsRUFBRSxDQUFDO3dCQUNaLFFBQVEsR0FBRyxLQUFLLENBQUM7b0JBQ25CLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN4QixDQUFDO2dCQUNILENBQUM7Z0JBQ0QsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQ3RDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO2FBQ3JDLENBQUMsQ0FBQyxDQUFDO1lBQ0osT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFJLGFBQWlCO0lBQ3JELE9BQU8sQ0FBQyxNQUFxQixFQUFFLEVBQUU7UUFDL0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUMsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTztJQUNyQixPQUFRLENBQUMsTUFBd0MsRUFBRSxFQUFFO1FBQ25ELE9BQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUUsQ0FBQyxDQUF1QixFQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUUsQ0FBQTtJQUMvRSxDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBSSxTQUE0QixFQUFFLFNBQWlCO0lBQ3hFLE9BQU8sQ0FBQyxHQUFrQixFQUFFLEVBQUU7UUFDNUIsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUNiLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNaLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLE9BQU8sS0FBSyxDQUNWLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQ1QsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDaEMsQ0FBQyxJQUFJLENBQ0osT0FBTyxFQUFFLEVBQ1QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNkLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmxhdHRlbiB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7XHJcbiAgZmlsdGVyLFxyXG4gIGZpcnN0LFxyXG4gIG1hcCxcclxuICBwYWlyd2lzZSxcclxuICBzdGFydFdpdGgsXHJcbiAgT2JzZXJ2YWJsZSxcclxuICBjb21iaW5lTGF0ZXN0LFxyXG4gIFN1YnNjcmlwdGlvbixcclxuICBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sXHJcbiAgT3BlcmF0b3JGdW5jdGlvbixcclxuICBjb25jYXRNYXAsXHJcbiAgbWVyZ2UsXHJcbiAgb2YsXHJcbiAgZGVsYXlcclxufSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5leHBvcnQgY29uc3Qgb25jZVdoZW4gPSA8VD4ocHJlZGljYXRlOiBQcmVkaWNhdGU8VD4pID0+IChzcmM6IE9ic2VydmFibGU8VD4pIDogT2JzZXJ2YWJsZTxUPiA9PiB7XHJcbiAgcmV0dXJuIHNyYy5waXBlKGZpbHRlcihwcmVkaWNhdGUpLGZpcnN0KCkpO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgbWFwQXJyYXkgPSA8VCwgVT4obWFwRnVuYzogKHNyYzogVCwgaW5kZXg/OiBudW1iZXIpID0+IFUgKSA9PiAoc291cmNlOiBPYnNlcnZhYmxlPFRbXT4pID0+XHJcbiAgc291cmNlLnBpcGUoIG1hcCggc3JjID0+IHNyYy5tYXAobWFwRnVuYykgKSApO1xyXG5cclxuZXhwb3J0ICBjb25zdCBmaWx0ZXJBcnJheSA9IDxUPihmaWx0ZXJGdW5jOiAoc3JjOiBUKSA9PiBib29sZWFuICkgPT4gKHNvdXJjZTogT2JzZXJ2YWJsZTxUW10+KSA9PlxyXG4gIHNvdXJjZS5waXBlKCBtYXAoIHNyYyA9PiBzcmMuZmlsdGVyKGZpbHRlckZ1bmMpICkgKTtcclxuXHJcbmV4cG9ydCBjb25zdCBvbldhaXQgPSBzdGFydFdpdGhJZkVtcHR5O1xyXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRXaXRoSWZFbXB0eTxULFYgZXh0ZW5kcyBUPih2YWw6IFYsIHdhaXQgPSAwKSA6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XHJcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxUPihzdWJzY3JpYmVyID0+IHtcclxuICAgICAgbGV0IGVtaXR0ZWQgPSBmYWxzZTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgaWYoIWVtaXR0ZWQpIHtcclxuICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh2YWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgd2FpdCk7XHJcbiAgICAgIGNvbnN0IHN1YiA9IHNvdXJjZS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQoeCkgeyBlbWl0dGVkID0gdHJ1ZTsgc3Vic2NyaWJlci5uZXh0KHgpIH0sXHJcbiAgICAgICAgZXJyb3IoZXJyKSB7IGVtaXR0ZWQgPSB0cnVlOyBzdWJzY3JpYmVyLmVycm9yKGVycikgfSxcclxuICAgICAgICBjb21wbGV0ZSgpIHsgZW1pdHRlZCA9IHRydWU7IHN1YnNjcmliZXIuY29tcGxldGUoKTsgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuICgpID0+IHN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNvbWJpbmVBcnJheXMgPSA8VD4oc291cmNlczogT2JzZXJ2YWJsZTxUW10+W10pOiBPYnNlcnZhYmxlPFRbXT4gPT4ge1xyXG4gIHJldHVybiBjb21iaW5lTGF0ZXN0KFxyXG4gICAgc291cmNlcy5tYXAoIHNyYyA9PiBzcmMucGlwZShzdGFydFdpdGhJZkVtcHR5KFtdIGFzIFQgW10pKSlcclxuICApLnBpcGUoXHJcbiAgICBtYXAoIHJlcyA9PiByZXMuZmxhdCgpIClcclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHN3aXRjaE9mZiggc3dpdGNoU291cmNlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBkZWZhdWx0U3RhdGU6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgcmV0dXJuIDxUPihzb3VyY2U6IE9ic2VydmFibGU8VD4pIDogT2JzZXJ2YWJsZTxUPiA9PiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic2NpYmVyID0+IHtcclxuICAgICAgbGV0IGlzT24gPSBkZWZhdWx0U3RhdGU7XHJcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICAgICAgc3Vic2NyaXB0aW9uLmFkZCggc3dpdGNoU291cmNlLnN1YnNjcmliZSggb24gPT4gaXNPbiA9IG9uICkpO1xyXG4gICAgICBzdWJzY3JpcHRpb24uYWRkKHNvdXJjZS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQodmFsdWUpIHtcclxuICAgICAgICAgIGlmKGlzT24pIHtcclxuICAgICAgICAgICAgc3Vic2NpYmVyLm5leHQodmFsdWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IGVycm9yID0+IHN1YnNjaWJlci5lcnJvcihlcnJvciksXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHN1YnNjaWJlci5jb21wbGV0ZSgpXHJcbiAgICAgIH0pKTtcclxuICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNraXBPbmVXaGVuKCBza2lwcGVyOiBPYnNlcnZhYmxlPGFueT4gKSB7XHJcbiAgcmV0dXJuIDxUPihzb3VyY2U6IE9ic2VydmFibGU8VD4pIDogT2JzZXJ2YWJsZTxUPiA9PiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic3JpYmVyID0+IHtcclxuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gICAgICBsZXQgc2tpcE5leHQgPSBmYWxzZTtcclxuICAgICAgc3Vic2NyaXB0aW9uLmFkZChza2lwcGVyLnN1YnNjcmliZSggXyA9PiBza2lwTmV4dCA9IHRydWUpKTtcclxuICAgICAgc3Vic2NyaXB0aW9uLmFkZChzb3VyY2Uuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0KHZhbHVlKSB7XHJcbiAgICAgICAgICBpZihza2lwTmV4dCkge1xyXG4gICAgICAgICAgICBza2lwTmV4dCA9IGZhbHNlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc3Vic3JpYmVyLm5leHQodmFsdWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IGVycm9yID0+IHN1YnNyaWJlci5lcnJvcihlcnJvciksXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHN1YnNyaWJlci5jb21wbGV0ZSgpXHJcbiAgICAgIH0pKTtcclxuICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByZXZpb3VzQW5kQ3VycmVudDxUPihzdGFydGluZ1ZhbHVlIDogVCkgOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFtULCBUXT4ge1xyXG4gIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiB7XHJcbiAgICByZXR1cm4gc291cmNlLnBpcGUoc3RhcnRXaXRoKHN0YXJ0aW5nVmFsdWUpLCBwYWlyd2lzZSgpKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBub3ROdWxsPFQ+KCk6IE9wZXJhdG9yRnVuY3Rpb248KFQgfCBudWxsIHwgdW5kZWZpbmVkKSwgVD4ge1xyXG4gIHJldHVybiAgKHNvdXJjZTogT2JzZXJ2YWJsZTxUIHwgbnVsbCB8IHVuZGVmaW5lZD4pID0+IHtcclxuICAgIHJldHVybiAgc291cmNlLnBpcGUoZmlsdGVyKCAobzogVCB8IG51bGwgfCB1bmRlZmluZWQpOiBvIGlzIFQgPT4gbyAhPSBudWxsKSApXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGVsYXlPbjxUPihwcmVkaWNhdGU6ICh0OiBUKSA9PiBib29sZWFuLCBkZWxheVRpbWU6IG51bWJlcikge1xyXG4gIHJldHVybiAoc3JjOiBPYnNlcnZhYmxlPFQ+KSA9PiB7XHJcbiAgICByZXR1cm4gc3JjLnBpcGUoXHJcbiAgICAgIGNvbmNhdE1hcChyID0+IHtcclxuICAgICAgICBpZiAocHJlZGljYXRlKHIpKSB7XHJcbiAgICAgICAgICByZXR1cm4gbWVyZ2UoXHJcbiAgICAgICAgICAgIG9mKHsgciB9KSxcclxuICAgICAgICAgICAgb2YobnVsbCkucGlwZShkZWxheShkZWxheVRpbWUpKVxyXG4gICAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBub3ROdWxsKCksXHJcbiAgICAgICAgICAgIG1hcChkID0+IGQucilcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBvZihyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH07XHJcbn1cclxuIl19
@@ -0,0 +1,15 @@
1
+ import { merge, Observable, Subject } from 'rxjs';
2
+ export class Subjectifier extends Observable {
3
+ _subj = new Subject();
4
+ merged;
5
+ constructor(_source) {
6
+ super((obs) => {
7
+ const s = merge(_source, this._subj).subscribe(obs);
8
+ return s;
9
+ });
10
+ this.merged = merge(_source, this._subj);
11
+ }
12
+ next = this._subj.next.bind(this._subj);
13
+ newSubj = (...operations) => new Subjectifier(this.merged.pipe(...operations));
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViamVjdGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3J4anMvc3ViamVjdGlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFZLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1RCxNQUFNLE9BQU8sWUFBZ0IsU0FBUSxVQUFhO0lBQ3hDLEtBQUssR0FBRyxJQUFJLE9BQU8sRUFBSyxDQUFDO0lBQ3pCLE1BQU0sQ0FBZ0I7SUFDOUIsWUFBWSxPQUFzQjtRQUNoQyxLQUFLLENBQUMsQ0FBQyxHQUFnQixFQUFFLEVBQUU7WUFDekIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RELE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFJLEdBQXVCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsT0FBTyxHQUFHLENBQUMsR0FBRyxVQUFtQyxFQUFFLEVBQUUsQ0FDbkQsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO0NBQ3JEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIE9ic2VydmVyLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbnR5cGUgUGlwZUxpa2U8VD4gPSBPYnNlcnZhYmxlPFQ+WydwaXBlJ107XHJcbmV4cG9ydCBjbGFzcyBTdWJqZWN0aWZpZXI8VD4gZXh0ZW5kcyBPYnNlcnZhYmxlPFQ+e1xyXG4gIHByaXZhdGUgX3N1YmogPSBuZXcgU3ViamVjdDxUPigpO1xyXG4gIHByaXZhdGUgbWVyZ2VkOiBPYnNlcnZhYmxlPFQ+O1xyXG4gIGNvbnN0cnVjdG9yKF9zb3VyY2U6IE9ic2VydmFibGU8VD4pe1xyXG4gICAgc3VwZXIoKG9iczogT2JzZXJ2ZXI8VD4pID0+IHtcclxuICAgICAgY29uc3QgcyA9IG1lcmdlKCBfc291cmNlLCB0aGlzLl9zdWJqICkuc3Vic2NyaWJlKG9icyk7XHJcbiAgICAgIHJldHVybiBzO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5tZXJnZWQgPSBtZXJnZShfc291cmNlLCB0aGlzLl9zdWJqKTtcclxuICB9XHJcbiAgbmV4dDogU3ViamVjdDxUPlsnbmV4dCddID0gdGhpcy5fc3Viai5uZXh0LmJpbmQodGhpcy5fc3Viaik7XHJcbiAgbmV3U3ViaiA9ICguLi5vcGVyYXRpb25zOiBQYXJhbWV0ZXJzPFBpcGVMaWtlPFQ+PikgPT5cclxuICAgIG5ldyBTdWJqZWN0aWZpZXIodGhpcy5tZXJnZWQucGlwZSguLi5vcGVyYXRpb25zKSk7XHJcbn0iXX0=