@one-paragon/angular-utilities 0.0.1 → 0.0.6

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 (221) hide show
  1. package/esm2020/http-request-state/HttpRequestStateFactory.mjs +27 -0
  2. package/esm2020/http-request-state/HttpRequestStateStore.mjs +77 -0
  3. package/esm2020/http-request-state/directives/HttpStateDirectiveBase.mjs +34 -0
  4. package/esm2020/http-request-state/directives/http-error-state-directive.mjs +29 -0
  5. package/esm2020/http-request-state/directives/http-inProgress-state-directive.mjs +29 -0
  6. package/esm2020/http-request-state/directives/http-notStarted-state-directive.mjs +29 -0
  7. package/esm2020/http-request-state/directives/http-success-state-directive.mjs +29 -0
  8. package/esm2020/http-request-state/directives/index.mjs +6 -0
  9. package/esm2020/http-request-state/directives/request-state-directive.mjs +57 -0
  10. package/esm2020/http-request-state/helpers.mjs +19 -0
  11. package/esm2020/http-request-state/http-request-state.mjs +39 -0
  12. package/esm2020/http-request-state/http-state-module.mjs +41 -0
  13. package/esm2020/http-request-state/index.mjs +7 -0
  14. package/esm2020/http-request-state/rxjs/getRequestorBody.mjs +4 -0
  15. package/esm2020/http-request-state/rxjs/getRequestorState.mjs +3 -0
  16. package/esm2020/http-request-state/rxjs/index.mjs +5 -0
  17. package/esm2020/http-request-state/rxjs/tapError.mjs +12 -0
  18. package/esm2020/http-request-state/rxjs/tapSuccess.mjs +12 -0
  19. package/esm2020/http-request-state/types.mjs +15 -0
  20. package/esm2020/one-paragon-angular-utilities.mjs +5 -0
  21. package/esm2020/public-api.mjs +13 -4
  22. package/esm2020/rxjs/defaultShareReplay.mjs +7 -0
  23. package/esm2020/rxjs/index.mjs +4 -0
  24. package/esm2020/rxjs/mapError.mjs +8 -0
  25. package/esm2020/rxjs/rxjs-operators.mjs +77 -0
  26. package/esm2020/table-builder/classes/DefaultSettings.mjs +6 -0
  27. package/esm2020/table-builder/classes/GenericTableDataSource.mjs +13 -0
  28. package/esm2020/table-builder/classes/MatTableObservableDataSource.mjs +21 -0
  29. package/esm2020/table-builder/classes/TableBuilderConfig.mjs +3 -0
  30. package/esm2020/table-builder/classes/TableState.mjs +12 -0
  31. package/esm2020/table-builder/classes/data-filter.mjs +22 -0
  32. package/esm2020/table-builder/classes/display-col.mjs +2 -0
  33. package/esm2020/table-builder/classes/filter-info.mjs +60 -0
  34. package/esm2020/table-builder/classes/table-builder-general-settings.mjs +53 -0
  35. package/esm2020/table-builder/classes/table-builder.mjs +57 -0
  36. package/esm2020/table-builder/classes/table-store.mjs +230 -0
  37. package/esm2020/table-builder/components/array-column.component.mjs +57 -0
  38. package/esm2020/table-builder/components/column-builder/column-builder.component.mjs +92 -0
  39. package/esm2020/table-builder/components/date-filter/date-filter.component.mjs +25 -0
  40. package/esm2020/table-builder/components/filter/filter.component.mjs +53 -0
  41. package/esm2020/table-builder/components/filter/in-list/in-list-filter.component.mjs +91 -0
  42. package/esm2020/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +45 -0
  43. package/esm2020/table-builder/components/generic-table/generic-table.component.mjs +153 -0
  44. package/esm2020/table-builder/components/generic-table/paginator.component.mjs +74 -0
  45. package/esm2020/table-builder/components/header-menu/header-menu.component.mjs +90 -0
  46. package/esm2020/table-builder/components/in-filter/in-filter.component.mjs +66 -0
  47. package/esm2020/table-builder/components/index.mjs +9 -0
  48. package/esm2020/table-builder/components/initialization-component/initialization-component.mjs +41 -0
  49. package/esm2020/table-builder/components/number-filter/number-filter.component.mjs +27 -0
  50. package/esm2020/table-builder/components/sort-menu/sort-menu.component-store.mjs +42 -0
  51. package/esm2020/table-builder/components/sort-menu/sort-menu.component.mjs +74 -0
  52. package/esm2020/table-builder/components/table-container/table-container.mjs +174 -0
  53. package/esm2020/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +39 -0
  54. package/esm2020/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +30 -0
  55. package/esm2020/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +25 -0
  56. package/esm2020/table-builder/directives/custom-cell-directive.mjs +59 -0
  57. package/esm2020/table-builder/directives/index.mjs +4 -0
  58. package/esm2020/table-builder/directives/multi-sort.directive.mjs +42 -0
  59. package/esm2020/table-builder/directives/resize-column.directive.mjs +85 -0
  60. package/esm2020/table-builder/enums/filterTypes.mjs +58 -0
  61. package/esm2020/table-builder/functions/boolean-filter-function.mjs +10 -0
  62. package/esm2020/table-builder/functions/date-filter-function.mjs +32 -0
  63. package/esm2020/table-builder/functions/download-data.mjs +12 -0
  64. package/esm2020/table-builder/functions/null-filter-function.mjs +8 -0
  65. package/esm2020/table-builder/functions/number-filter-function.mjs +32 -0
  66. package/esm2020/table-builder/functions/sort-data-function.mjs +5 -0
  67. package/esm2020/table-builder/functions/string-filter-function.mjs +41 -0
  68. package/esm2020/table-builder/interfaces/ColumnInfo.mjs +2 -0
  69. package/esm2020/table-builder/interfaces/dictionary.mjs +2 -0
  70. package/esm2020/table-builder/interfaces/report-def.mjs +34 -0
  71. package/esm2020/table-builder/material.module.mjs +223 -0
  72. package/esm2020/table-builder/ngrx/actions.mjs +5 -0
  73. package/esm2020/table-builder/ngrx/effects.mjs +48 -0
  74. package/esm2020/table-builder/ngrx/reducer.mjs +52 -0
  75. package/esm2020/table-builder/ngrx/selectors.mjs +24 -0
  76. package/esm2020/table-builder/pipes/column-total.pipe.mjs +21 -0
  77. package/esm2020/table-builder/pipes/format-filter-type.pipe.mjs +18 -0
  78. package/esm2020/table-builder/pipes/format-filter-value.pipe.mjs +46 -0
  79. package/esm2020/table-builder/pipes/key-display.mjs +20 -0
  80. package/esm2020/table-builder/services/export-to-csv.service.mjs +83 -0
  81. package/esm2020/table-builder/services/table-template-service.mjs +37 -0
  82. package/esm2020/table-builder/services/transform-creator.mjs +50 -0
  83. package/esm2020/table-builder/table-builder.module.mjs +167 -0
  84. package/esm2020/utilities/directives/auto-focus.directive.mjs +26 -0
  85. package/esm2020/utilities/directives/buttonSubject.mjs +18 -0
  86. package/esm2020/utilities/directives/dialog-service.mjs +25 -0
  87. package/esm2020/utilities/directives/dialog.mjs +120 -0
  88. package/esm2020/utilities/directives/prevent-enter.directive.mjs +19 -0
  89. package/esm2020/utilities/directives/stop-propagation.directive.mjs +25 -0
  90. package/esm2020/utilities/directives/styler.mjs +26 -0
  91. package/esm2020/utilities/index.mjs +11 -0
  92. package/esm2020/utilities/module.mjs +73 -0
  93. package/esm2020/utilities/pipes/function.pipe.mjs +14 -0
  94. package/esm2020/utilities/pipes/phone.pipe.mjs +20 -0
  95. package/esm2020/utilities/pipes/space-case.pipes.mjs +28 -0
  96. package/fesm2015/one-paragon-angular-utilities.mjs +3398 -0
  97. package/fesm2015/one-paragon-angular-utilities.mjs.map +1 -0
  98. package/fesm2020/one-paragon-angular-utilities.mjs +3377 -0
  99. package/fesm2020/one-paragon-angular-utilities.mjs.map +1 -0
  100. package/{lib → http-request-state}/HttpRequestStateFactory.d.ts +0 -0
  101. package/{lib → http-request-state}/HttpRequestStateStore.d.ts +1 -1
  102. package/{lib → http-request-state}/directives/HttpStateDirectiveBase.d.ts +0 -0
  103. package/{lib → http-request-state}/directives/http-error-state-directive.d.ts +0 -0
  104. package/{lib → http-request-state}/directives/http-inProgress-state-directive.d.ts +0 -0
  105. package/{lib → http-request-state}/directives/http-notStarted-state-directive.d.ts +0 -0
  106. package/{lib → http-request-state}/directives/http-success-state-directive.d.ts +0 -0
  107. package/{lib → http-request-state}/directives/index.d.ts +0 -0
  108. package/{lib → http-request-state}/directives/request-state-directive.d.ts +0 -0
  109. package/{lib → http-request-state}/helpers.d.ts +0 -0
  110. package/{lib → http-request-state}/http-request-state.d.ts +0 -0
  111. package/{lib → http-request-state}/http-state-module.d.ts +0 -0
  112. package/{lib → http-request-state}/index.d.ts +0 -0
  113. package/{lib → http-request-state}/rxjs/getRequestorBody.d.ts +0 -0
  114. package/{lib → http-request-state}/rxjs/getRequestorState.d.ts +1 -1
  115. package/{lib → http-request-state}/rxjs/index.d.ts +0 -2
  116. package/{lib → http-request-state}/rxjs/tapError.d.ts +0 -0
  117. package/{lib → http-request-state}/rxjs/tapSuccess.d.ts +0 -0
  118. package/{lib → http-request-state}/types.d.ts +2 -1
  119. package/{angular-utilities.d.ts → one-paragon-angular-utilities.d.ts} +1 -1
  120. package/package.json +21 -26
  121. package/public-api.d.ts +12 -3
  122. package/{lib/rxjs → rxjs}/defaultShareReplay.d.ts +0 -0
  123. package/rxjs/index.d.ts +3 -0
  124. package/{lib/rxjs → rxjs}/mapError.d.ts +0 -0
  125. package/rxjs/rxjs-operators.d.ts +9 -0
  126. package/table-builder/classes/DefaultSettings.d.ts +8 -0
  127. package/table-builder/classes/GenericTableDataSource.d.ts +8 -0
  128. package/table-builder/classes/MatTableObservableDataSource.d.ts +9 -0
  129. package/table-builder/classes/TableBuilderConfig.d.ts +18 -0
  130. package/table-builder/classes/TableState.d.ts +24 -0
  131. package/table-builder/classes/data-filter.d.ts +9 -0
  132. package/table-builder/classes/display-col.d.ts +5 -0
  133. package/table-builder/classes/filter-info.d.ts +29 -0
  134. package/table-builder/classes/table-builder-general-settings.d.ts +33 -0
  135. package/table-builder/classes/table-builder.d.ts +14 -0
  136. package/table-builder/classes/table-store.d.ts +81 -0
  137. package/table-builder/components/array-column.component.d.ts +14 -0
  138. package/table-builder/components/column-builder/column-builder.component.d.ts +46 -0
  139. package/table-builder/components/date-filter/date-filter.component.d.ts +10 -0
  140. package/table-builder/components/filter/filter.component.d.ts +281 -0
  141. package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +27 -0
  142. package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +16 -0
  143. package/table-builder/components/generic-table/generic-table.component.d.ts +57 -0
  144. package/table-builder/components/generic-table/paginator.component.d.ts +28 -0
  145. package/table-builder/components/header-menu/header-menu.component.d.ts +25 -0
  146. package/table-builder/components/in-filter/in-filter.component.d.ts +22 -0
  147. package/table-builder/components/index.d.ts +8 -0
  148. package/table-builder/components/initialization-component/initialization-component.d.ts +14 -0
  149. package/table-builder/components/number-filter/number-filter.component.d.ts +12 -0
  150. package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -0
  151. package/table-builder/components/sort-menu/sort-menu.component.d.ts +25 -0
  152. package/table-builder/components/table-container/table-container.d.ts +65 -0
  153. package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +17 -0
  154. package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +14 -0
  155. package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -0
  156. package/table-builder/directives/custom-cell-directive.d.ts +19 -0
  157. package/table-builder/directives/index.d.ts +3 -0
  158. package/table-builder/directives/multi-sort.directive.d.ts +11 -0
  159. package/table-builder/directives/resize-column.directive.d.ts +43 -0
  160. package/table-builder/enums/filterTypes.d.ts +30 -0
  161. package/table-builder/functions/boolean-filter-function.d.ts +3 -0
  162. package/table-builder/functions/date-filter-function.d.ts +3 -0
  163. package/table-builder/functions/download-data.d.ts +1 -0
  164. package/table-builder/functions/null-filter-function.d.ts +2 -0
  165. package/table-builder/functions/number-filter-function.d.ts +4 -0
  166. package/table-builder/functions/sort-data-function.d.ts +3 -0
  167. package/table-builder/functions/string-filter-function.d.ts +7 -0
  168. package/table-builder/interfaces/ColumnInfo.d.ts +6 -0
  169. package/table-builder/interfaces/dictionary.d.ts +3 -0
  170. package/table-builder/interfaces/report-def.d.ts +86 -0
  171. package/table-builder/material.module.d.ts +34 -0
  172. package/table-builder/ngrx/actions.d.ts +23 -0
  173. package/table-builder/ngrx/effects.d.ts +19 -0
  174. package/table-builder/ngrx/reducer.d.ts +15 -0
  175. package/table-builder/ngrx/selectors.d.ts +22 -0
  176. package/table-builder/pipes/column-total.pipe.d.ts +9 -0
  177. package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -0
  178. package/table-builder/pipes/format-filter-value.pipe.d.ts +14 -0
  179. package/table-builder/pipes/key-display.d.ts +11 -0
  180. package/table-builder/services/export-to-csv.service.d.ts +22 -0
  181. package/table-builder/services/table-template-service.d.ts +14 -0
  182. package/table-builder/services/transform-creator.d.ts +17 -0
  183. package/table-builder/table-builder.module.d.ts +41 -0
  184. package/utilities/directives/auto-focus.directive.d.ts +10 -0
  185. package/utilities/directives/buttonSubject.d.ts +6 -0
  186. package/utilities/directives/dialog-service.d.ts +10 -0
  187. package/utilities/directives/dialog.d.ts +42 -0
  188. package/utilities/directives/prevent-enter.directive.d.ts +6 -0
  189. package/utilities/directives/stop-propagation.directive.d.ts +7 -0
  190. package/utilities/directives/styler.d.ts +9 -0
  191. package/utilities/index.d.ts +10 -0
  192. package/utilities/module.d.ts +15 -0
  193. package/utilities/pipes/function.pipe.d.ts +7 -0
  194. package/utilities/pipes/phone.pipe.d.ts +7 -0
  195. package/utilities/pipes/space-case.pipes.d.ts +17 -0
  196. package/esm2020/angular-utilities.mjs +0 -5
  197. package/esm2020/lib/HttpRequestStateFactory.mjs +0 -27
  198. package/esm2020/lib/HttpRequestStateStore.mjs +0 -77
  199. package/esm2020/lib/directives/HttpStateDirectiveBase.mjs +0 -34
  200. package/esm2020/lib/directives/http-error-state-directive.mjs +0 -29
  201. package/esm2020/lib/directives/http-inProgress-state-directive.mjs +0 -29
  202. package/esm2020/lib/directives/http-notStarted-state-directive.mjs +0 -29
  203. package/esm2020/lib/directives/http-success-state-directive.mjs +0 -29
  204. package/esm2020/lib/directives/index.mjs +0 -6
  205. package/esm2020/lib/directives/request-state-directive.mjs +0 -57
  206. package/esm2020/lib/helpers.mjs +0 -19
  207. package/esm2020/lib/http-request-state.mjs +0 -39
  208. package/esm2020/lib/http-state-module.mjs +0 -41
  209. package/esm2020/lib/index.mjs +0 -7
  210. package/esm2020/lib/rxjs/defaultShareReplay.mjs +0 -7
  211. package/esm2020/lib/rxjs/getRequestorBody.mjs +0 -4
  212. package/esm2020/lib/rxjs/getRequestorState.mjs +0 -3
  213. package/esm2020/lib/rxjs/index.mjs +0 -7
  214. package/esm2020/lib/rxjs/mapError.mjs +0 -8
  215. package/esm2020/lib/rxjs/tapError.mjs +0 -12
  216. package/esm2020/lib/rxjs/tapSuccess.mjs +0 -12
  217. package/esm2020/lib/types.mjs +0 -14
  218. package/fesm2015/angular-utilities.mjs +0 -426
  219. package/fesm2015/angular-utilities.mjs.map +0 -1
  220. package/fesm2020/angular-utilities.mjs +0 -424
  221. package/fesm2020/angular-utilities.mjs.map +0 -1
@@ -0,0 +1,27 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { HttpRequestStateStore } from './HttpRequestStateStore';
3
+ import * as i0 from "@angular/core";
4
+ export class HttpRequestStateFactory {
5
+ constructor() {
6
+ this.requestors = [];
7
+ }
8
+ ngOnDestroy() {
9
+ this.requestors.forEach(request => request.ngOnDestroy());
10
+ }
11
+ create(req, options) {
12
+ const requestor = new HttpRequestStateStore(req, options);
13
+ this.requestors.push(requestor);
14
+ return requestor;
15
+ }
16
+ createHttpClient(r, options) {
17
+ const requestor = new HttpRequestStateStore(r, options);
18
+ this.requestors.push(requestor);
19
+ return requestor;
20
+ }
21
+ }
22
+ HttpRequestStateFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
+ HttpRequestStateFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateFactory });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateFactory, decorators: [{
25
+ type: Injectable
26
+ }], ctorParameters: function () { return []; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlcXVlc3RTdGF0ZUZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL0h0dHBSZXF1ZXN0U3RhdGVGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBSWhFLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEM7UUFJUSxlQUFVLEdBQWdCLEVBQUUsQ0FBQztJQUp0QixDQUFDO0lBQ2hCLFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBRSxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLENBQTJCLEdBQWlDLEVBQUUsT0FBNkI7UUFDL0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGdCQUFnQixDQUFLLENBQXVDLEVBQUcsT0FBNkI7UUFDMUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7b0hBakJVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdEZhY3RvcnksIFJlcXVlc3RTdGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlU3RvcmUgfSBmcm9tICcuL0h0dHBSZXF1ZXN0U3RhdGVTdG9yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RTdGF0ZUZhY3RvcnkgIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLmZvckVhY2goIHJlcXVlc3QgPT4gcmVxdWVzdC5uZ09uRGVzdHJveSgpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZXF1ZXN0b3JzOiBPbkRlc3Ryb3lbXSA9IFtdO1xyXG4gIGNyZWF0ZTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSwgVD4oIHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSxUPiwgb3B0aW9ucz86IFJlcXVlc3RTdGF0ZU9wdGlvbnMgKSA6IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZTxUUGFyYW0sVD4ge1xyXG4gICAgY29uc3QgcmVxdWVzdG9yID0gbmV3IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZShyZXEsIG9wdGlvbnMpO1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLnB1c2gocmVxdWVzdG9yKTtcclxuICAgIHJldHVybiByZXF1ZXN0b3I7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVIdHRwQ2xpZW50PFQ+KCByOiAobzogT2JzZXJ2YWJsZTxUPiApID0+IE9ic2VydmFibGU8VD4gLCBvcHRpb25zPzogUmVxdWVzdFN0YXRlT3B0aW9ucyApICB7XHJcbiAgICBjb25zdCByZXF1ZXN0b3IgPSBuZXcgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlKHIsIG9wdGlvbnMpO1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLnB1c2gocmVxdWVzdG9yKTtcclxuICAgIHJldHVybiByZXF1ZXN0b3I7XHJcbiAgfVxyXG5cclxufSJdfQ==
@@ -0,0 +1,77 @@
1
+ import { ComponentStore } from '@ngrx/component-store';
2
+ import { HttpRequestStrategy, HttpRequestStatus } from './types';
3
+ import { createFailure, createSuccess, inProgress, isErrorState, isSuccessState, notStarted } from './helpers';
4
+ import { filter, map, mergeMap, pluck, startWith, switchMap, tap } from 'rxjs/operators';
5
+ import { mapError } from '../rxjs/mapError';
6
+ import { defaultShareReplay } from '../rxjs/defaultShareReplay';
7
+ import { Directive } from '@angular/core';
8
+ import * as i0 from "@angular/core";
9
+ export class HttpRequestStateStore extends ComponentStore {
10
+ constructor(req, options) {
11
+ super({ requestParams: null, response: notStarted });
12
+ this.req = req;
13
+ this.options = options;
14
+ this.flatteningStrategy = () => {
15
+ if (this.options?.strategy !== HttpRequestStrategy.concurrent) {
16
+ return switchMap((params) => this.createRequest(...params));
17
+ }
18
+ return mergeMap((params) => this.createRequest(...params));
19
+ };
20
+ this.requestEffect = this.effect((obs) => {
21
+ return (obs).pipe(this.flatteningStrategy(), tap(state => this.setState(state)));
22
+ });
23
+ this.flattenedRequest = (...value) => {
24
+ return this.requestEffect(value);
25
+ };
26
+ this.singleUseRequest = (...value) => {
27
+ if (this.get().response.status !== HttpRequestStatus.notStarted) {
28
+ throw new Error("state can not be reused. either reset the state by calling reset() or use a state requester that allows concurrent requests.");
29
+ }
30
+ return this.requestEffect(value);
31
+ };
32
+ this.selectHttpState$ = this.state$.pipe(pluck('response'));
33
+ this.selectStatus$ = this.selectHttpState$.pipe(pluck('status'));
34
+ this.selectError$ = this.state$.pipe(map(r => r.response), filter(isErrorState), map(state => state.error));
35
+ this.selectResponse$ = this.state$.pipe(map(r => r.response), filter(isSuccessState), map(state => state.body));
36
+ this.errorHandled = false;
37
+ this.on = (srcObservable, func) => {
38
+ return this.effect((src) => {
39
+ return src.pipe(tap(func));
40
+ })(srcObservable);
41
+ };
42
+ this.request = (this.options?.strategy === HttpRequestStrategy.singleUse) ? this.singleUseRequest : this.flattenedRequest;
43
+ }
44
+ reset() {
45
+ this.setState({ requestParams: null, response: notStarted });
46
+ }
47
+ onError(cb) {
48
+ this.errorHandled = true;
49
+ this.on(this.selectError$, cb);
50
+ }
51
+ onSuccess(cb) {
52
+ this.on(this.selectResponse$, cb);
53
+ return this;
54
+ }
55
+ onSuccessWithRequest(func) {
56
+ this.onUpdate(({ requestParams, response }) => {
57
+ if (isSuccessState(response)) {
58
+ func({ requestParams, body: response.body });
59
+ }
60
+ });
61
+ }
62
+ createRequest(...params) {
63
+ return this.req(...params).pipe(map(createSuccess), mapError(createFailure), startWith(inProgress), map(state => ({ requestParams: params, response: state })), defaultShareReplay());
64
+ }
65
+ onUpdate(func) {
66
+ this.on(this.state$, func);
67
+ }
68
+ ngOnDestroy() {
69
+ super.ngOnDestroy();
70
+ }
71
+ }
72
+ HttpRequestStateStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateStore, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
73
+ HttpRequestStateStore.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpRequestStateStore, usesInheritance: true, ngImport: i0 });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateStore, decorators: [{
75
+ type: Directive
76
+ }], ctorParameters: function () { return [{ type: undefined }, { type: undefined }]; } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlcXVlc3RTdGF0ZVN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2h0dHAtcmVxdWVzdC1zdGF0ZS9IdHRwUmVxdWVzdFN0YXRlU3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBc0IsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQXlDLE1BQU0sU0FBUyxDQUFDO0FBQzVILE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMvRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxxQkFBK0MsU0FBUSxjQUF5QztJQUV6RyxZQUFvQixHQUFpQyxFQUFVLE9BQTZCO1FBQzFGLEtBQUssQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFXLEVBQUUsUUFBUSxFQUFDLFVBQVUsRUFBQyxDQUFDLENBQUM7UUFEdkMsUUFBRyxHQUFILEdBQUcsQ0FBOEI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQVVwRix1QkFBa0IsR0FBRyxHQUFHLEVBQUU7WUFDaEMsSUFBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsS0FBSyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7Z0JBQzVELE9BQU8sU0FBUyxDQUFFLENBQUMsTUFBbUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFHLENBQUM7YUFDN0U7WUFDRCxPQUFPLFFBQVEsQ0FBRSxDQUFDLE1BQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQTtRQUVPLGtCQUFhLEdBQTBDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUE0QixFQUFFLEVBQUU7WUFDMUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDZixJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFDekIsR0FBRyxDQUE2QixLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDL0QsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUsscUJBQWdCLEdBQUcsQ0FBQyxHQUFHLEtBQWtCLEVBQUUsRUFBRTtZQUNuRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFpQixDQUFDO1FBQ25ELENBQUMsQ0FBQTtRQUNPLHFCQUFnQixHQUFHLENBQUMsR0FBRyxLQUFrQixFQUFFLEVBQUU7WUFDbkQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUU7Z0JBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsOEhBQThILENBQUMsQ0FBQzthQUNqSjtZQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQWlCLENBQUM7UUFDbkQsQ0FBQyxDQUFBO1FBRUQscUJBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFdkQsa0JBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRTVELGlCQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFDcEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUNwQixHQUFHLENBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQzNCLENBQUM7UUFFRixvQkFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNoQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQ3BCLE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFDdEIsR0FBRyxDQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUMxQixDQUFDO1FBRUYsaUJBQVksR0FBRyxLQUFLLENBQUM7UUF3Q3JCLE9BQUUsR0FBRyxDQUFJLGFBQTRCLEVBQUUsSUFBc0IsRUFBZ0IsRUFBRTtZQUM3RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFrQixFQUFFLEVBQUU7Z0JBQ3hDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQyxhQUFhLENBQWlCLENBQUM7UUFDcEMsQ0FBQyxDQUFBO1FBNUZDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsS0FBSyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDN0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsYUFBYSxFQUFDLElBQVcsRUFBQyxRQUFRLEVBQUMsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBNENELE9BQU8sQ0FBRSxFQUFzQztRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFNBQVMsQ0FBRSxFQUFxQjtRQUM5QixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsSUFHWDtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUUsQ0FBQyxFQUFDLGFBQWEsRUFBQyxRQUFRLEVBQUMsRUFBRSxFQUFFO1lBQzFDLElBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFDO2dCQUMxQixJQUFJLENBQUMsRUFBQyxhQUFhLEVBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO2FBQzNDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sYUFBYSxDQUFDLEdBQUcsTUFBbUI7UUFDMUMsT0FBUSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUM5QixHQUFHLENBQUMsYUFBYSxDQUFDLEVBQ2xCLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDdkIsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUNyQixHQUFHLENBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsYUFBYSxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxFQUN0RCxrQkFBa0IsRUFBRSxDQUNyQixDQUFDO0lBQ0osQ0FBQztJQUdELFFBQVEsQ0FBQyxJQUdDO1FBQ1IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFVRCxXQUFXO1FBQ1QsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7O2tIQXRHUSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RGYWN0b3J5LCBIdHRwUmVxdWVzdFN0cmF0ZWd5LCBIdHRwUmVxdWVzdFN0YXR1cywgSHR0cFJlcXVlc3RTdGF0ZSwgUmVxdWVzdFN0YXRlT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBjcmVhdGVGYWlsdXJlLCBjcmVhdGVTdWNjZXNzLCBpblByb2dyZXNzLCBpc0Vycm9yU3RhdGUsIGlzU3VjY2Vzc1N0YXRlLCBub3RTdGFydGVkIH0gZnJvbSAnLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBwbHVjaywgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IG1hcEVycm9yIH0gZnJvbSAnLi4vcnhqcy9tYXBFcnJvcic7XHJcbmltcG9ydCB7IGRlZmF1bHRTaGFyZVJlcGxheSB9IGZyb20gJy4uL3J4anMvZGVmYXVsdFNoYXJlUmVwbGF5JztcclxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RSZXNwb25zZTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSxUPiB7XHJcbiAgcmVxdWVzdFBhcmFtczogWy4uLlRQYXJhbV07XHJcbiAgcmVzcG9uc2U6IEh0dHBSZXF1ZXN0U3RhdGU8VD47XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlPFRQYXJhbSBleHRlbmRzIGFueVtdLCBUPiBleHRlbmRzIENvbXBvbmVudFN0b3JlPFJlcXVlc3RSZXNwb25zZTxUUGFyYW0sVD4+IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSxUPiAscHJpdmF0ZSBvcHRpb25zPzogUmVxdWVzdFN0YXRlT3B0aW9ucykge1xyXG4gICAgICBzdXBlcih7cmVxdWVzdFBhcmFtczogbnVsbCBhcyBhbnkgLHJlc3BvbnNlOm5vdFN0YXJ0ZWR9KTtcclxuICAgICAgdGhpcy5yZXF1ZXN0ID0gKHRoaXMub3B0aW9ucz8uc3RyYXRlZ3kgPT09IEh0dHBSZXF1ZXN0U3RyYXRlZ3kuc2luZ2xlVXNlKSA/IHRoaXMuc2luZ2xlVXNlUmVxdWVzdCA6ICB0aGlzLmZsYXR0ZW5lZFJlcXVlc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzZXQoKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe3JlcXVlc3RQYXJhbXM6bnVsbCBhcyBhbnkscmVzcG9uc2U6bm90U3RhcnRlZH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIGZsYXR0ZW5pbmdTdHJhdGVneSA9ICgpID0+IHtcclxuICAgICAgaWYodGhpcy5vcHRpb25zPy5zdHJhdGVneSAhPT0gSHR0cFJlcXVlc3RTdHJhdGVneS5jb25jdXJyZW50KSB7XHJcbiAgICAgICAgcmV0dXJuIHN3aXRjaE1hcCggKHBhcmFtczogWy4uLlRQYXJhbV0pID0+IHRoaXMuY3JlYXRlUmVxdWVzdCguLi5wYXJhbXMpICApO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBtZXJnZU1hcCggKHBhcmFtczogWy4uLlRQYXJhbV0pID0+IHRoaXMuY3JlYXRlUmVxdWVzdCguLi5wYXJhbXMpKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlcXVlc3RFZmZlY3Q6ICh2YWx1ZTogWy4uLlRQYXJhbV0gKSA9PiBTdWJzY3JpcHRpb24gPSB0aGlzLmVmZmVjdCgob2JzOiBPYnNlcnZhYmxlPFsuLi5UUGFyYW1dPikgPT4ge1xyXG4gICAgICByZXR1cm4gKG9icykucGlwZShcclxuICAgICAgICB0aGlzLmZsYXR0ZW5pbmdTdHJhdGVneSgpLFxyXG4gICAgICAgIHRhcDxSZXF1ZXN0UmVzcG9uc2U8VFBhcmFtLCBUPj4oc3RhdGUgPT4gdGhpcy5zZXRTdGF0ZShzdGF0ZSkpLFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHJpdmF0ZSBmbGF0dGVuZWRSZXF1ZXN0ID0gKC4uLnZhbHVlOiBbLi4uVFBhcmFtXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0RWZmZWN0KHZhbHVlKSBhcyBTdWJzY3JpcHRpb247XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIHNpbmdsZVVzZVJlcXVlc3QgPSAoLi4udmFsdWU6IFsuLi5UUGFyYW1dKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmdldCgpLnJlc3BvbnNlLnN0YXR1cyAhPT0gSHR0cFJlcXVlc3RTdGF0dXMubm90U3RhcnRlZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInN0YXRlIGNhbiBub3QgYmUgcmV1c2VkLiBlaXRoZXIgcmVzZXQgdGhlIHN0YXRlIGJ5IGNhbGxpbmcgcmVzZXQoKSBvciB1c2UgYSBzdGF0ZSByZXF1ZXN0ZXIgdGhhdCBhbGxvd3MgY29uY3VycmVudCByZXF1ZXN0cy5cIik7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdEVmZmVjdCh2YWx1ZSkgYXMgU3Vic2NyaXB0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdEh0dHBTdGF0ZSQgPSB0aGlzLnN0YXRlJC5waXBlKHBsdWNrKCdyZXNwb25zZScpKTtcclxuXHJcbiAgICBzZWxlY3RTdGF0dXMkID0gdGhpcy5zZWxlY3RIdHRwU3RhdGUkLnBpcGUocGx1Y2soJ3N0YXR1cycpKTtcclxuXHJcbiAgICBzZWxlY3RFcnJvciQgPSB0aGlzLnN0YXRlJC5waXBlKFxyXG4gICAgICBtYXAociA9PiByLnJlc3BvbnNlKSxcclxuICAgICAgZmlsdGVyKGlzRXJyb3JTdGF0ZSksXHJcbiAgICAgIG1hcCggc3RhdGUgPT4gc3RhdGUuZXJyb3IpXHJcbiAgICApO1xyXG5cclxuICAgIHNlbGVjdFJlc3BvbnNlJCA9IHRoaXMuc3RhdGUkLnBpcGUoXHJcbiAgICAgIG1hcChyID0+IHIucmVzcG9uc2UpLFxyXG4gICAgICBmaWx0ZXIoaXNTdWNjZXNzU3RhdGUpLFxyXG4gICAgICBtYXAoIHN0YXRlID0+IHN0YXRlLmJvZHkpXHJcbiAgICApO1xyXG5cclxuICAgIGVycm9ySGFuZGxlZCA9IGZhbHNlO1xyXG4gICAgb25FcnJvciggY2I6IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQpIHtcclxuICAgICAgdGhpcy5lcnJvckhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLm9uKHRoaXMuc2VsZWN0RXJyb3IkLCBjYik7XHJcbiAgICB9XHJcblxyXG4gICAgb25TdWNjZXNzKCBjYjogKGJvZHk6IFQpID0+IHZvaWQpIHtcclxuICAgICAgdGhpcy5vbih0aGlzLnNlbGVjdFJlc3BvbnNlJCwgY2IpO1xyXG4gICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBvblN1Y2Nlc3NXaXRoUmVxdWVzdChmdW5jOiAoc3RhdGU6IHtcclxuICAgICAgcmVxdWVzdFBhcmFtczogWy4uLlRQYXJhbV07XHJcbiAgICAgIGJvZHk6IFQ7XHJcbiAgICB9KSA9PiB2b2lkKSB7XHJcbiAgICAgIHRoaXMub25VcGRhdGUoICh7cmVxdWVzdFBhcmFtcyxyZXNwb25zZX0pID0+IHtcclxuICAgICAgICBpZihpc1N1Y2Nlc3NTdGF0ZShyZXNwb25zZSkpe1xyXG4gICAgICAgICAgZnVuYyh7cmVxdWVzdFBhcmFtcyxib2R5OiByZXNwb25zZS5ib2R5fSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZVJlcXVlc3QoLi4ucGFyYW1zOiBbLi4uVFBhcmFtXSkgOiBPYnNlcnZhYmxlPFJlcXVlc3RSZXNwb25zZTxUUGFyYW0sVD4+IHtcclxuICAgICAgcmV0dXJuICB0aGlzLnJlcSguLi5wYXJhbXMpLnBpcGUoXHJcbiAgICAgICAgbWFwKGNyZWF0ZVN1Y2Nlc3MpLFxyXG4gICAgICAgIG1hcEVycm9yKGNyZWF0ZUZhaWx1cmUpLFxyXG4gICAgICAgIHN0YXJ0V2l0aChpblByb2dyZXNzKSxcclxuICAgICAgICBtYXAoIHN0YXRlID0+ICh7cmVxdWVzdFBhcmFtczpwYXJhbXMscmVzcG9uc2U6c3RhdGV9KSksXHJcbiAgICAgICAgZGVmYXVsdFNoYXJlUmVwbGF5KClcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25VcGRhdGUoZnVuYzogKHN0YXRlOiB7XHJcbiAgICAgIHJlcXVlc3RQYXJhbXM6IFsuLi5UUGFyYW1dO1xyXG4gICAgICByZXNwb25zZTogSHR0cFJlcXVlc3RTdGF0ZTxUPjtcclxuICAgIH0pID0+IHZvaWQpIHtcclxuICAgICAgdGhpcy5vbih0aGlzLnN0YXRlJCxmdW5jKTtcclxuICAgIH1cclxuXHJcbiAgICBvbiA9IDxWPihzcmNPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFY+LCBmdW5jOiAob2JqOiBWKSA9PiB2b2lkKTogU3Vic2NyaXB0aW9uID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZWZmZWN0KChzcmM6IE9ic2VydmFibGU8Vj4pID0+IHtcclxuICAgICAgICByZXR1cm4gc3JjLnBpcGUodGFwKGZ1bmMpKTtcclxuICAgICAgfSkoc3JjT2JzZXJ2YWJsZSkgYXMgU3Vic2NyaXB0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3Q6ICguLi52YWx1ZTogWy4uLlRQYXJhbV0gKSA9PiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuIl19
@@ -0,0 +1,34 @@
1
+ import { Directive } from '@angular/core';
2
+ import { HttpRequestStateDirective } from './request-state-directive';
3
+ import * as i0 from "@angular/core";
4
+ export class HttpStateDirectiveBase {
5
+ constructor(injector, templateRef, viewContainer) {
6
+ this.injector = injector;
7
+ this.templateRef = templateRef;
8
+ this.viewContainer = viewContainer;
9
+ this.hasView = false;
10
+ this.baseRender = (state) => {
11
+ if (this.hasView) {
12
+ this.viewContainer.clear();
13
+ this.hasView = false;
14
+ }
15
+ this.hasView = this.render(state);
16
+ };
17
+ }
18
+ ngOnInit() {
19
+ const parent = this.injector.get(HttpRequestStateDirective);
20
+ if (parent == null) {
21
+ throw new Error('You can only use an http state directive as a child of the httpRequestState directive.');
22
+ }
23
+ parent.hooks.push(this.baseRender);
24
+ this.baseRender(parent.ViewContext.state);
25
+ }
26
+ ngOnDestroy() {
27
+ }
28
+ }
29
+ HttpStateDirectiveBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpStateDirectiveBase, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
30
+ HttpStateDirectiveBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpStateDirectiveBase, ngImport: i0 });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpStateDirectiveBase, decorators: [{
32
+ type: Directive
33
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFN0YXRlRGlyZWN0aXZlQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUd0RSxNQUFNLE9BQWdCLHNCQUFzQjtJQUV4QyxZQUNZLFFBQWtCLEVBQ2hCLFdBQTZCLEVBQzdCLGFBQStCO1FBRmpDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUo3QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBc0JSLGVBQVUsR0FBRyxDQUFDLEtBQXNCLEVBQVUsRUFBRTtZQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7YUFDeEI7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFBO0lBckJELENBQUM7SUFFRCxRQUFRO1FBQ0osTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM1RCxJQUFHLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHdGQUF3RixDQUFDLENBQUM7U0FDN0c7UUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXO0lBRVgsQ0FBQzs7bUhBckJpQixzQkFBc0I7dUdBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUQzQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIHtcclxuICAgIGhhc1ZpZXcgPSBmYWxzZTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByb3RlY3RlZCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICBwcm90ZWN0ZWQgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmluamVjdG9yLmdldChIdHRwUmVxdWVzdFN0YXRlRGlyZWN0aXZlKTtcclxuICAgICAgICBpZihwYXJlbnQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW4gb25seSB1c2UgYW4gaHR0cCBzdGF0ZSBkaXJlY3RpdmUgYXMgYSBjaGlsZCBvZiB0aGUgaHR0cFJlcXVlc3RTdGF0ZSBkaXJlY3RpdmUuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhcmVudC5ob29rcy5wdXNoKHRoaXMuYmFzZVJlbmRlcik7XHJcbiAgICAgICAgdGhpcy5iYXNlUmVuZGVyKHBhcmVudC5WaWV3Q29udGV4dC5zdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBiYXNlUmVuZGVyID0gKHN0YXRlOkh0dHBSZXF1ZXN0U3RhdGUgKSA6IHZvaWQgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmhhc1ZpZXcpIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzVmlldyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmhhc1ZpZXcgPSB0aGlzLnJlbmRlcihzdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgcmVuZGVyOiAoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGUpID0+IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -0,0 +1,29 @@
1
+ import { Directive } from '@angular/core';
2
+ import { isErrorState } from '../helpers';
3
+ import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
4
+ import * as i0 from "@angular/core";
5
+ export class HttpErrorStateDirective extends HttpStateDirectiveBase {
6
+ constructor(injector, templateRef, viewContainer) {
7
+ super(injector, templateRef, viewContainer);
8
+ this.render = (state) => {
9
+ if (isErrorState(state)) {
10
+ this.viewContainer.createEmbeddedView(this.templateRef, { $implicit: state.error });
11
+ return true;
12
+ }
13
+ return false;
14
+ };
15
+ }
16
+ ngOnInit() {
17
+ super.ngOnInit();
18
+ }
19
+ ngOnDestroy() {
20
+ super.ngOnDestroy();
21
+ }
22
+ }
23
+ HttpErrorStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpErrorStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ HttpErrorStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpErrorStateDirective, selector: "[httpErrorState]", usesInheritance: true, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpErrorStateDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{ selector: '[httpErrorState]' }]
28
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1zdGF0ZS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2RpcmVjdGl2ZXMvaHR0cC1lcnJvci1zdGF0ZS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMkMsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHbEUsTUFBTSxPQUFPLHVCQUFpRCxTQUFRLHNCQUFzQjtJQUUxRixZQUNFLFFBQWtCLEVBQ2xCLFdBQTZCLEVBQzdCLGFBQStCO1FBRS9CLEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRzlDLFdBQU0sR0FBRyxDQUFDLEtBQTRCLEVBQUUsRUFBRTtZQUN4QyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRixPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7SUFSRixDQUFDO0lBVUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QixDQUFDOztvSEF4QlUsdUJBQXVCO3dHQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzRXJyb3JTdGF0ZSB9IGZyb20gJy4uL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIH0gZnJvbSAnLi9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1todHRwRXJyb3JTdGF0ZV0nIH0pXHJcbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3JTdGF0ZURpcmVjdGl2ZTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSwgVD4gZXh0ZW5kcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihpbmplY3RvciwgdGVtcGxhdGVSZWYsIHZpZXdDb250YWluZXIpO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyID0gKHN0YXRlOiBIdHRwUmVxdWVzdFN0YXRlPGFueT4pID0+IHtcclxuICAgIGlmIChpc0Vycm9yU3RhdGUoc3RhdGUpKSB7XHJcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiwgeyAkaW1wbGljaXQ6IHN0YXRlLmVycm9yIH0pO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9O1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG59Il19
@@ -0,0 +1,29 @@
1
+ import { Directive } from '@angular/core';
2
+ import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
3
+ import { HttpRequestStatus } from '../types';
4
+ import * as i0 from "@angular/core";
5
+ export class HttpInProgressStateDirective extends HttpStateDirectiveBase {
6
+ constructor(injector, templateRef, viewContainer) {
7
+ super(injector, templateRef, viewContainer);
8
+ this.render = (state) => {
9
+ if (state.status === HttpRequestStatus.inProgress) {
10
+ this.viewContainer.createEmbeddedView(this.templateRef);
11
+ return true;
12
+ }
13
+ return false;
14
+ };
15
+ }
16
+ ngOnInit() {
17
+ super.ngOnInit();
18
+ }
19
+ ngOnDestroy() {
20
+ super.ngOnDestroy();
21
+ }
22
+ }
23
+ HttpInProgressStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpInProgressStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ HttpInProgressStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpInProgressStateDirective, selector: "[httpInProgressState]", usesInheritance: true, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpInProgressStateDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{ selector: '[httpInProgressState]' }]
28
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pblByb2dyZXNzLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLWluUHJvZ3Jlc3Mtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUE7O0FBSTlELE1BQU0sT0FBTyw0QkFBOEIsU0FBUSxzQkFBc0I7SUFTckUsWUFDRyxRQUFrQixFQUNqQixXQUE2QixFQUM3QixhQUErQjtRQUUvQixLQUFLLENBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxhQUFhLENBQUMsQ0FBQztRQWI5QyxXQUFNLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7WUFDdEMsSUFBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsRUFBQztnQkFDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFFLENBQUM7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUM7SUFRRixDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOzt5SEF2QlEsNEJBQTRCOzZHQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFEeEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBTdGF0ZURpcmVjdGl2ZUJhc2UgfSBmcm9tICcuL0h0dHBTdGF0ZURpcmVjdGl2ZUJhc2UnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlLCBIdHRwUmVxdWVzdFN0YXR1cyB9IGZyb20gJy4uL3R5cGVzJ1xyXG5cclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1todHRwSW5Qcm9ncmVzc1N0YXRlXScgfSlcclxuZXhwb3J0IGNsYXNzIEh0dHBJblByb2dyZXNzU3RhdGVEaXJlY3RpdmUgIGV4dGVuZHMgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSB7XHJcbiAgICByZW5kZXIgPSAoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGU8YW55PikgPT4ge1xyXG4gICAgICAgIGlmKHN0YXRlLnN0YXR1cyA9PT0gSHR0cFJlcXVlc3RTdGF0dXMuaW5Qcm9ncmVzcyl7XHJcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiApO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IsdGVtcGxhdGVSZWYsdmlld0NvbnRhaW5lcik7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Directive } from '@angular/core';
2
+ import { HttpRequestStatus } from '../types';
3
+ import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
4
+ import * as i0 from "@angular/core";
5
+ export class HttpNotStartedStateDirective extends HttpStateDirectiveBase {
6
+ constructor(injector, templateRef, viewContainer) {
7
+ super(injector, templateRef, viewContainer);
8
+ this.render = (state) => {
9
+ if (state.status === HttpRequestStatus.notStarted) {
10
+ this.viewContainer.createEmbeddedView(this.templateRef);
11
+ return true;
12
+ }
13
+ return false;
14
+ };
15
+ }
16
+ ngOnInit() {
17
+ super.ngOnInit();
18
+ }
19
+ ngOnDestroy() {
20
+ super.ngOnDestroy();
21
+ }
22
+ }
23
+ HttpNotStartedStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpNotStartedStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ HttpNotStartedStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpNotStartedStateDirective, selector: "[httpNotStartedState]", usesInheritance: true, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpNotStartedStateDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{ selector: '[httpNotStartedState]' }]
28
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1ub3RTdGFydGVkLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLW5vdFN0YXJ0ZWQtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSWxFLE1BQU0sT0FBTyw0QkFBcUQsU0FBUSxzQkFBc0I7SUFTNUYsWUFDSSxRQUFrQixFQUNsQixXQUE2QixFQUM3QixhQUErQjtRQUUvQixLQUFLLENBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxhQUFhLENBQUMsQ0FBQztRQWI5QyxXQUFNLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7WUFDdEMsSUFBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsRUFBQztnQkFDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFFLENBQUM7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUM7SUFRRixDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOzt5SEF2QlEsNEJBQTRCOzZHQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFEeEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0U3RhdGUsIEh0dHBSZXF1ZXN0U3RhdHVzIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIH0gZnJvbSAnLi9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlJztcclxuXHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbaHR0cE5vdFN0YXJ0ZWRTdGF0ZV0nIH0pXHJcbmV4cG9ydCBjbGFzcyBIdHRwTm90U3RhcnRlZFN0YXRlRGlyZWN0aXZlPFRQYXJhbSBleHRlbmRzIGFueVtdLFQ+IGV4dGVuZHMgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSB7XHJcbiAgICByZW5kZXIgPSAoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGU8YW55PikgPT4ge1xyXG4gICAgICAgIGlmKHN0YXRlLnN0YXR1cyA9PT0gSHR0cFJlcXVlc3RTdGF0dXMubm90U3RhcnRlZCl7XHJcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiApO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICAgICAgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yLHRlbXBsYXRlUmVmLHZpZXdDb250YWluZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Directive } from '@angular/core';
2
+ import { isSuccessState } from '../helpers';
3
+ import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
4
+ import * as i0 from "@angular/core";
5
+ export class HttpSuccessStateDirective extends HttpStateDirectiveBase {
6
+ constructor(injector, templateRef, viewContainer) {
7
+ super(injector, templateRef, viewContainer);
8
+ this.render = (state) => {
9
+ if (isSuccessState(state)) {
10
+ this.viewContainer.createEmbeddedView(this.templateRef, { $implicit: state.body });
11
+ return true;
12
+ }
13
+ return false;
14
+ };
15
+ }
16
+ ngOnInit() {
17
+ super.ngOnInit();
18
+ }
19
+ ngOnDestroy() {
20
+ super.ngOnDestroy();
21
+ }
22
+ }
23
+ HttpSuccessStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpSuccessStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ HttpSuccessStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpSuccessStateDirective, selector: "[httpSuccessState]", usesInheritance: true, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpSuccessStateDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{ selector: '[httpSuccessState]' }]
28
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1zdWNjZXNzLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLXN1Y2Nlc3Mtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTRDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSWxFLE1BQU0sT0FBTyx5QkFBNkIsU0FBUSxzQkFBc0I7SUFTcEUsWUFDSSxRQUFrQixFQUNsQixXQUF3QyxFQUN4QyxhQUErQjtRQUUvQixLQUFLLENBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxhQUFhLENBQUMsQ0FBQztRQWI5QyxXQUFNLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7WUFDdEMsSUFBRyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUM7Z0JBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFDLENBQUUsQ0FBQztnQkFDbEYsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQztJQVFGLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7O3NIQXZCUSx5QkFBeUI7MEdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCAgSW5qZWN0b3IsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzU3VjY2Vzc1N0YXRlIH0gZnJvbSAnLi4vaGVscGVycyc7XHJcbmltcG9ydCB7IEh0dHBTdGF0ZURpcmVjdGl2ZUJhc2UgfSBmcm9tICcuL0h0dHBTdGF0ZURpcmVjdGl2ZUJhc2UnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2h0dHBTdWNjZXNzU3RhdGVdJ30pXHJcbmV4cG9ydCBjbGFzcyBIdHRwU3VjY2Vzc1N0YXRlRGlyZWN0aXZlPFQ+IGV4dGVuZHMgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSB7XHJcbiAgICByZW5kZXIgPSAoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGU8YW55PikgPT4ge1xyXG4gICAgICAgIGlmKGlzU3VjY2Vzc1N0YXRlKHN0YXRlKSl7XHJcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZix7ICRpbXBsaWNpdDogc3RhdGUuYm9keX0gKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx7JGltcGxpY2l0OiBUfT4sXHJcbiAgICAgICAgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yLHRlbXBsYXRlUmVmLHZpZXdDb250YWluZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,6 @@
1
+ export * from './http-error-state-directive';
2
+ export * from './http-inProgress-state-directive';
3
+ export * from './http-notStarted-state-directive';
4
+ export * from './http-success-state-directive';
5
+ export * from './request-state-directive';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9odHRwLWVycm9yLXN0YXRlLWRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2h0dHAtaW5Qcm9ncmVzcy1zdGF0ZS1kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLW5vdFN0YXJ0ZWQtc3RhdGUtZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1zdWNjZXNzLXN0YXRlLWRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3Qtc3RhdGUtZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,57 @@
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
+ constructor(templateRef, viewContainer) {
9
+ this.templateRef = templateRef;
10
+ this.viewContainer = viewContainer;
11
+ this.ViewContext = {
12
+ $implicit: undefined,
13
+ state: undefined,
14
+ status: {
15
+ inProgress: false,
16
+ notStarted: true,
17
+ success: false,
18
+ error: false,
19
+ }
20
+ };
21
+ this.subject = new Subject();
22
+ this.state = this.subject.pipe(switchAll(), defaultShareReplay());
23
+ this.hooks = [];
24
+ this.viewContainer.createEmbeddedView(this.templateRef, this.ViewContext);
25
+ this.subscription = this.state.subscribe(state => {
26
+ this.ViewContext.$implicit = state;
27
+ this.ViewContext.state = state;
28
+ this.ViewContext.status.inProgress = state.status === HttpRequestStatus.inProgress;
29
+ this.ViewContext.status.notStarted = state.status === HttpRequestStatus.notStarted;
30
+ this.ViewContext.status.success = state.status === HttpRequestStatus.success;
31
+ this.ViewContext.status.error = state.status === HttpRequestStatus.fail;
32
+ this.hooks.forEach(hook => hook(state));
33
+ });
34
+ }
35
+ set stateStore(store) {
36
+ if (isObservable(store)) {
37
+ this.subject.next(store);
38
+ }
39
+ else {
40
+ this.subject.next(store.state$.pipe(map(state => state.response)));
41
+ }
42
+ }
43
+ ngOnDestroy() {
44
+ this.viewContainer.clear();
45
+ this.subscription.unsubscribe();
46
+ }
47
+ }
48
+ HttpRequestStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
49
+ HttpRequestStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: HttpRequestStateDirective, selector: "[httpRequestState]", inputs: { stateStore: ["httpRequestState", "stateStore"] }, ngImport: i0 });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestStateDirective, decorators: [{
51
+ type: Directive,
52
+ args: [{ selector: '[httpRequestState]' }]
53
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { stateStore: [{
54
+ type: Input,
55
+ args: ['httpRequestState']
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2RpcmVjdGl2ZXMvcmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQWMsT0FBTyxFQUFrQixNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBYy9ELE1BQU0sT0FBTyx5QkFBeUI7SUEyQmxDLFlBQ1ksV0FBNkIsRUFDN0IsYUFBK0I7UUFEL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQTNCbEMsZ0JBQVcsR0FBbUM7WUFDbkQsU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTSxFQUFFO2dCQUNKLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsS0FBSyxFQUFFLEtBQUs7YUFDZjtTQUNGLENBQUM7UUFHSixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQW1DLENBQUM7UUFDekQsVUFBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUU1RCxVQUFLLEdBQThDLEVBQUUsQ0FBQztRQWNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUUsS0FBSyxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7WUFDbkYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssaUJBQWlCLENBQUMsVUFBVSxDQUFDO1lBQ25GLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLE9BQU8sQ0FBQztZQUM3RSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUF0QkQsSUFBK0IsVUFBVSxDQUFDLEtBQXdFO1FBQzlHLElBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RFO0lBRUwsQ0FBQztJQWtCRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7O3NIQS9DTSx5QkFBeUI7MEdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFO2lJQW9CVixVQUFVO3NCQUF4QyxLQUFLO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRlZmF1bHRTaGFyZVJlcGxheSB9IGZyb20gJy4uLy4uL3J4anMvZGVmYXVsdFNoYXJlUmVwbGF5JztcclxuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBVbnN1YnNjcmliYWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHN3aXRjaEFsbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlIH0gZnJvbSAnLi4vSHR0cFJlcXVlc3RTdGF0ZVN0b3JlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSwgSHR0cFJlcXVlc3RTdGF0dXMgfSBmcm9tICcuLi90eXBlcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBSZXF1ZXN0U3RhdGVWaWV3Q29udGV4dDxUPiB7XHJcbiAgICAkaW1wbGljaXQ/OiBIdHRwUmVxdWVzdFN0YXRlPFQ+O1xyXG4gICAgc3RhdGU/OiAgSHR0cFJlcXVlc3RTdGF0ZTxUPjtcclxuICAgIHN0YXR1czoge1xyXG4gICAgICAgIGluUHJvZ3Jlc3M6IGJvb2xlYW47XHJcbiAgICAgICAgbm90U3RhcnRlZDogYm9vbGVhbjtcclxuICAgICAgICBzdWNjZXNzOiBib29sZWFuO1xyXG4gICAgICAgIGVycm9yOiBib29sZWFuO1xyXG4gICAgfTtcclxufVxyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2h0dHBSZXF1ZXN0U3RhdGVdJyB9KVxyXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RTdGF0ZURpcmVjdGl2ZTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSxUPiB7XHJcblxyXG4gICAgcmVhZG9ubHkgVmlld0NvbnRleHQ6IEh0dHBSZXF1ZXN0U3RhdGVWaWV3Q29udGV4dDxUPiA9IHtcclxuICAgICAgICAkaW1wbGljaXQ6IHVuZGVmaW5lZCxcclxuICAgICAgICBzdGF0ZTogdW5kZWZpbmVkLFxyXG4gICAgICAgIHN0YXR1czoge1xyXG4gICAgICAgICAgICBpblByb2dyZXNzOiBmYWxzZSxcclxuICAgICAgICAgICAgbm90U3RhcnRlZDogdHJ1ZSxcclxuICAgICAgICAgICAgc3VjY2VzczogZmFsc2UsXHJcbiAgICAgICAgICAgIGVycm9yOiBmYWxzZSxcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcblxyXG5cclxuICAgIHN1YmplY3QgPSBuZXcgU3ViamVjdDxPYnNlcnZhYmxlPEh0dHBSZXF1ZXN0U3RhdGU8VD4+PigpO1xyXG4gICAgc3RhdGUgPSB0aGlzLnN1YmplY3QucGlwZShzd2l0Y2hBbGwoKSxkZWZhdWx0U2hhcmVSZXBsYXkoKSk7XHJcbiAgICBzdWJzY3JpcHRpb246IFVuc3Vic2NyaWJhYmxlO1xyXG4gICAgaG9va3M6ICgoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGU8VD4pID0+IHZvaWQpIFtdID0gW107XHJcblxyXG4gICAgQElucHV0KCdodHRwUmVxdWVzdFN0YXRlJykgc2V0IHN0YXRlU3RvcmUoc3RvcmU6IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZTxUUGFyYW0sVD4gfCBPYnNlcnZhYmxlPEh0dHBSZXF1ZXN0U3RhdGU8VD4+ICkge1xyXG4gICAgICAgIGlmKGlzT2JzZXJ2YWJsZShzdG9yZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJqZWN0Lm5leHQoc3RvcmUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3ViamVjdC5uZXh0KHN0b3JlLnN0YXRlJC5waXBlKG1hcChzdGF0ZSA9PiBzdGF0ZS5yZXNwb25zZSkpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHRoaXMuVmlld0NvbnRleHQpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5zdGF0ZS5zdWJzY3JpYmUoIHN0YXRlID0+IHtcclxuICAgICAgICAgICAgdGhpcy5WaWV3Q29udGV4dC4kaW1wbGljaXQgPSBzdGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5WaWV3Q29udGV4dC5zdGF0ZSA9IHN0YXRlO1xyXG4gICAgICAgICAgICB0aGlzLlZpZXdDb250ZXh0LnN0YXR1cy5pblByb2dyZXNzID0gc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5pblByb2dyZXNzO1xyXG4gICAgICAgICAgICB0aGlzLlZpZXdDb250ZXh0LnN0YXR1cy5ub3RTdGFydGVkID0gc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5ub3RTdGFydGVkO1xyXG4gICAgICAgICAgICB0aGlzLlZpZXdDb250ZXh0LnN0YXR1cy5zdWNjZXNzID0gc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5zdWNjZXNzO1xyXG4gICAgICAgICAgICB0aGlzLlZpZXdDb250ZXh0LnN0YXR1cy5lcnJvciA9IHN0YXRlLnN0YXR1cyA9PT0gSHR0cFJlcXVlc3RTdGF0dXMuZmFpbDtcclxuICAgICAgICAgICAgdGhpcy5ob29rcy5mb3JFYWNoKCBob29rID0+IGhvb2soc3RhdGUpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG5cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,19 @@
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 createSuccess(body) {
9
+ return { status: HttpRequestStatus.success, body };
10
+ }
11
+ export function createFailure(error) {
12
+ return { status: HttpRequestStatus.fail, error };
13
+ }
14
+ export const notStarted = { status: HttpRequestStatus.notStarted };
15
+ export const inProgress = { status: HttpRequestStatus.inProgress };
16
+ export function statusIsSuccessOrInProgress(status) {
17
+ return [HttpRequestStatus.success, HttpRequestStatus.inProgress].includes(status);
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRILGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXRLLE1BQU0sVUFBVSxZQUFZLENBQUksS0FBMEI7SUFDeEQsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLElBQUksQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBSSxLQUEwQjtJQUMxRCxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssaUJBQWlCLENBQUMsT0FBTyxDQUFDO0FBQ3BELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFJLElBQU87SUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBVTtJQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUErQixFQUFFLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUcvRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQStCLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxDQUFDO0FBRS9GLE1BQU0sVUFBVSwyQkFBMkIsQ0FBRSxNQUF5QjtJQUNwRSxPQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNyRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSwgSHR0cFJlcXVlc3RTdGF0ZUVycm9yLCBIdHRwUmVxdWVzdFN0YXRlSW5Qcm9ncmVzcywgSHR0cFJlcXVlc3RTdGF0ZU5vdFN0YXJ0ZWQsIEh0dHBSZXF1ZXN0U3RhdGVTdWNjZXNzLCBIdHRwUmVxdWVzdFN0YXR1cyB9IGZyb20gXCIuL3R5cGVzXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNFcnJvclN0YXRlPFQ+KHN0YXRlOiBIdHRwUmVxdWVzdFN0YXRlPFQ+KTogc3RhdGUgaXMgSHR0cFJlcXVlc3RTdGF0ZUVycm9yIHtcclxuICByZXR1cm4gc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5mYWlsO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNTdWNjZXNzU3RhdGU8VD4oc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGU8VD4pOiBzdGF0ZSBpcyBIdHRwUmVxdWVzdFN0YXRlU3VjY2VzczxUPiB7XHJcbiAgcmV0dXJuIHN0YXRlLnN0YXR1cyA9PT0gSHR0cFJlcXVlc3RTdGF0dXMuc3VjY2VzcztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN1Y2Nlc3M8VD4oYm9keTogVCk6IEh0dHBSZXF1ZXN0U3RhdGVTdWNjZXNzPFQ+IHtcclxuICByZXR1cm4geyBzdGF0dXM6IEh0dHBSZXF1ZXN0U3RhdHVzLnN1Y2Nlc3MsIGJvZHkgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZhaWx1cmUoZXJyb3I6IGFueSk6IEh0dHBSZXF1ZXN0U3RhdGVFcnJvciB7XHJcbiAgcmV0dXJuIHsgc3RhdHVzOiBIdHRwUmVxdWVzdFN0YXR1cy5mYWlsLCBlcnJvciB9O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3Qgbm90U3RhcnRlZDogSHR0cFJlcXVlc3RTdGF0ZU5vdFN0YXJ0ZWQgPSB7IHN0YXR1czogSHR0cFJlcXVlc3RTdGF0dXMubm90U3RhcnRlZCB9O1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBpblByb2dyZXNzOiBIdHRwUmVxdWVzdFN0YXRlSW5Qcm9ncmVzcyA9IHsgc3RhdHVzOiBIdHRwUmVxdWVzdFN0YXR1cy5pblByb2dyZXNzIH07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc3RhdHVzSXNTdWNjZXNzT3JJblByb2dyZXNzKCBzdGF0dXM6IEh0dHBSZXF1ZXN0U3RhdHVzKSB7XHJcbiAgcmV0dXJuICBbSHR0cFJlcXVlc3RTdGF0dXMuc3VjY2VzcywgSHR0cFJlcXVlc3RTdGF0dXMuaW5Qcm9ncmVzc10uaW5jbHVkZXMoc3RhdHVzKTtcclxufSJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2h0dHAtcmVxdWVzdC1zdGF0ZS9odHRwLXJlcXVlc3Qtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBd0MsaUJBQWlCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVdqRixNQUFNLFVBQVUsV0FBVyxDQUFVLEdBQWtCO0lBQ3JELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FDYixHQUFHLENBQUMsYUFBYSxDQUFDLEVBQ2xCLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDdkIsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUNyQixrQkFBa0IsRUFBRSxDQUNyQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQTBCLEdBQWlDO0lBQ3RGLE1BQU0sUUFBUSxHQUFHLElBQUksYUFBYSxDQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sVUFBVSxHQUEwQixRQUFRLENBQUMsSUFBSSxDQUNyRCxTQUFTLENBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBSSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFFLEVBQ3ZELFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFDckIsa0JBQWtCLEVBQUUsQ0FDckIsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxNQUFtQixFQUFFLEVBQUU7UUFDekMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDLENBQUM7SUFDRixPQUFPLENBQUM7UUFDTixPQUFPO1FBQ1AsVUFBVTtRQUNWLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3hDLE9BQU8sRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0tBQzdDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixVQUEyQyxFQUMzQyxPQUFxQyxFQUNyQyxhQUErRTtJQUUvRSxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQ3BCLFNBQVMsQ0FBRSxHQUFHLENBQUMsRUFBRTtRQUNmLElBQUcsR0FBRyxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUU7WUFDM0MsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFrQixPQUFPLENBQUMsQ0FBQztZQUMxRCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUUsQ0FBQztZQUM3QixPQUFPLFNBQVMsQ0FBQyxVQUFVLENBQUM7U0FDN0I7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBnZXRSZXF1ZXN0b3JCb2R5IH0gZnJvbSAnLi9yeGpzL2dldFJlcXVlc3RvckJvZHknO1xyXG5pbXBvcnQgeyBnZXRSZXF1ZXN0b3JTdGF0dXMgfSBmcm9tICcuL3J4anMvZ2V0UmVxdWVzdG9yU3RhdGUnO1xyXG5pbXBvcnQgeyBtYXBFcnJvciB9IGZyb20gJy4uL3J4anMvbWFwRXJyb3InO1xyXG5pbXBvcnQgeyBkZWZhdWx0U2hhcmVSZXBsYXkgfSBmcm9tICcuLi9yeGpzL2RlZmF1bHRTaGFyZVJlcGxheSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0RmFjdG9yeSwgSHR0cFJlcXVlc3RTdGF0ZSwgSHR0cFJlcXVlc3RTdGF0dXMgfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgY3JlYXRlRmFpbHVyZSwgY3JlYXRlU3VjY2VzcywgaW5Qcm9ncmVzcywgbm90U3RhcnRlZCB9IGZyb20gJy4vaGVscGVycyc7XHJcblxyXG5leHBvcnQgdHlwZSBIdHRwUmVxdWVzdFN0YXRlJCA8VD4gPSBPYnNlcnZhYmxlPEh0dHBSZXF1ZXN0U3RhdGU8VD4+O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIdHRwUmVxdWVzdG9yIDxSZXMsIFJlcT4ge1xyXG4gIGh0dHBTdGF0ZSQ6IE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZTxSZXM+PjtcclxuICBzdGF0dXMkOiBPYnNlcnZhYmxlPEh0dHBSZXF1ZXN0U3RhdHVzPjtcclxuICBib2R5JDogT2JzZXJ2YWJsZTxSZXM+O1xyXG4gIHJlcXVlc3Q6IFJlcTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGh0dHBSZXF1ZXN0PFQgPSBhbnk+KHJlcTogT2JzZXJ2YWJsZTxUPik6IEh0dHBSZXF1ZXN0U3RhdGUkPFQ+IHtcclxuICByZXR1cm4gcmVxLnBpcGUoXHJcbiAgICBtYXAoY3JlYXRlU3VjY2VzcyksXHJcbiAgICBtYXBFcnJvcihjcmVhdGVGYWlsdXJlKSxcclxuICAgIHN0YXJ0V2l0aChpblByb2dyZXNzKSxcclxuICAgIGRlZmF1bHRTaGFyZVJlcGxheSgpXHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGh0dHBSZXF1ZXN0b3I8VFBhcmFtIGV4dGVuZHMgYW55W10sIFQ+KHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSxUPiApOiBIdHRwUmVxdWVzdG9yPFQsICguLi5wYXJhbXM6IFsuLi5UUGFyYW1dKSA9PiBPYnNlcnZhYmxlPEh0dHBSZXF1ZXN0U3RhdGU8VD4+PiB7XHJcbiAgY29uc3QgcmVxdWVzdCQgPSBuZXcgUmVwbGF5U3ViamVjdDxbLi4uVFBhcmFtXT4oMSk7XHJcbiAgY29uc3QgaHR0cFN0YXRlJCA6IEh0dHBSZXF1ZXN0U3RhdGUkPFQ+ID0gcmVxdWVzdCQucGlwZShcclxuICAgIHN3aXRjaE1hcCggKHBhcmFtcykgPT4gaHR0cFJlcXVlc3Q8VD4ocmVxKC4uLnBhcmFtcykpICksXHJcbiAgICBzdGFydFdpdGgobm90U3RhcnRlZCksXHJcbiAgICBkZWZhdWx0U2hhcmVSZXBsYXkoKSxcclxuICApO1xyXG4gIGNvbnN0IHJlcXVlc3QgPSAoLi4ucGFyYW1zOiBbLi4uVFBhcmFtXSkgPT4ge1xyXG4gICAgcmVxdWVzdCQubmV4dChwYXJhbXMpO1xyXG4gICAgcmV0dXJuIGh0dHBTdGF0ZSQ7XHJcbiAgfTtcclxuICByZXR1cm4gKHtcclxuICAgIHJlcXVlc3QsXHJcbiAgICBodHRwU3RhdGUkLFxyXG4gICAgYm9keSQ6IGh0dHBTdGF0ZSQucGlwZShnZXRSZXF1ZXN0b3JCb2R5KSxcclxuICAgIHN0YXR1cyQ6IGh0dHBTdGF0ZSQucGlwZShnZXRSZXF1ZXN0b3JTdGF0dXMpXHJcbiAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjaGFpblJlcXVlc3Q8VFBhcmFtIGV4dGVuZHMgYW55W10sIFQsIFRUPihcclxuICBodHRwU3RhdGUkOiBPYnNlcnZhYmxlPEh0dHBSZXF1ZXN0U3RhdGU8VD4+LFxyXG4gIHJlcXVlc3Q6SHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSxUVD4sXHJcbiAgcmVxdWVzdFBhcmFtczogKChyZXNwb25zZUZyb21QcmV2aW91czogVCkgPT4gWy4uLlRQYXJhbV0pIHwgKCgpID0+IFsuLi5UUGFyYW1dKVxyXG4gICk6IE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZTxUVD4+IHtcclxuICByZXR1cm4gaHR0cFN0YXRlJC5waXBlKFxyXG4gICAgc3dpdGNoTWFwKCByZXMgPT4ge1xyXG4gICAgICBpZihyZXMuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5zdWNjZXNzKSB7XHJcbiAgICAgICAgY29uc3Qgc2Vjb25kUmVxID0gaHR0cFJlcXVlc3RvcjxbLi4uVFBhcmFtXSwgVFQ+KHJlcXVlc3QpO1xyXG4gICAgICAgIGNvbnN0IHBhcmFtID0gcmVxdWVzdFBhcmFtcyhyZXMuYm9keSk7XHJcbiAgICAgICAgc2Vjb25kUmVxLnJlcXVlc3QoLi4ucGFyYW0gKTtcclxuICAgICAgICByZXR1cm4gc2Vjb25kUmVxLmh0dHBTdGF0ZSQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKHJlcyk7XHJcbiAgICAgIH1cclxuICAgIH0pLFxyXG4gICk7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4iXX0=
@@ -0,0 +1,41 @@
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
+ }
10
+ HttpRequestModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ HttpRequestModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestModule, declarations: [HttpSuccessStateDirective,
12
+ HttpRequestStateDirective,
13
+ HttpErrorStateDirective,
14
+ HttpInProgressStateDirective,
15
+ HttpNotStartedStateDirective], exports: [HttpSuccessStateDirective,
16
+ HttpRequestStateDirective,
17
+ HttpErrorStateDirective,
18
+ HttpInProgressStateDirective,
19
+ HttpNotStartedStateDirective] });
20
+ HttpRequestModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestModule, providers: [] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: HttpRequestModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ providers: [],
25
+ declarations: [
26
+ HttpSuccessStateDirective,
27
+ HttpRequestStateDirective,
28
+ HttpErrorStateDirective,
29
+ HttpInProgressStateDirective,
30
+ HttpNotStartedStateDirective,
31
+ ],
32
+ exports: [
33
+ HttpSuccessStateDirective,
34
+ HttpRequestStateDirective,
35
+ HttpErrorStateDirective,
36
+ HttpInProgressStateDirective,
37
+ HttpNotStartedStateDirective,
38
+ ]
39
+ }]
40
+ }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1zdGF0ZS1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2h0dHAtc3RhdGUtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDNUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBa0J6RixNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBYnpCLHlCQUF5QjtRQUN6Qix5QkFBeUI7UUFDekIsdUJBQXVCO1FBQ3ZCLDRCQUE0QjtRQUM1Qiw0QkFBNEIsYUFHNUIseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6Qix1QkFBdUI7UUFDdkIsNEJBQTRCO1FBQzVCLDRCQUE0QjsrR0FFcEIsaUJBQWlCLGFBZm5CLEVBQUU7MkZBZUEsaUJBQWlCO2tCQWhCaEMsUUFBUTttQkFBQztvQkFDTixTQUFTLEVBQUMsRUFBRTtvQkFDWixZQUFZLEVBQUU7d0JBQ1YseUJBQXlCO3dCQUN6Qix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7cUJBQy9CO29CQUNELE9BQU8sRUFBRTt3QkFDTCx5QkFBeUI7d0JBQ3pCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLDRCQUE0QjtxQkFDL0I7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwU3VjY2Vzc1N0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2h0dHAtc3VjY2Vzcy1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3JlcXVlc3Qtc3RhdGUtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yU3RhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvaHR0cC1lcnJvci1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIdHRwSW5Qcm9ncmVzc1N0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2h0dHAtaW5Qcm9ncmVzcy1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIdHRwTm90U3RhcnRlZFN0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2h0dHAtbm90U3RhcnRlZC1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIHByb3ZpZGVyczpbXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIEh0dHBTdWNjZXNzU3RhdGVEaXJlY3RpdmUsXHJcbiAgICAgICAgSHR0cFJlcXVlc3RTdGF0ZURpcmVjdGl2ZSxcclxuICAgICAgICBIdHRwRXJyb3JTdGF0ZURpcmVjdGl2ZSxcclxuICAgICAgICBIdHRwSW5Qcm9ncmVzc1N0YXRlRGlyZWN0aXZlLFxyXG4gICAgICAgIEh0dHBOb3RTdGFydGVkU3RhdGVEaXJlY3RpdmUsXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIEh0dHBTdWNjZXNzU3RhdGVEaXJlY3RpdmUsXHJcbiAgICAgICAgSHR0cFJlcXVlc3RTdGF0ZURpcmVjdGl2ZSxcclxuICAgICAgICBIdHRwRXJyb3JTdGF0ZURpcmVjdGl2ZSxcclxuICAgICAgICBIdHRwSW5Qcm9ncmVzc1N0YXRlRGlyZWN0aXZlLFxyXG4gICAgICAgIEh0dHBOb3RTdGFydGVkU3RhdGVEaXJlY3RpdmUsXHJcbiAgICBdXHJcbn0pIGV4cG9ydCBjbGFzcyBIdHRwUmVxdWVzdE1vZHVsZSB7XHJcblxyXG59Il19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLXJlcXVlc3Qtc3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLXN0YXRlLW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL0h0dHBSZXF1ZXN0U3RhdGVGYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vSHR0cFJlcXVlc3RTdGF0ZVN0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnOyJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UmVxdWVzdG9yQm9keS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvcnhqcy9nZXRSZXF1ZXN0b3JCb2R5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFJLE1BQXVDLEVBQUUsRUFBRSxDQUM3RSxNQUFNLENBQUMsSUFBSSxDQUNULE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFDdEIsR0FBRyxDQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTdWNjZXNzU3RhdGUgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IEh0dHBSZXF1ZXN0U3RhdGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IGdldFJlcXVlc3RvckJvZHkgPSA8VD4oc291cmNlOiBPYnNlcnZhYmxlPEh0dHBSZXF1ZXN0U3RhdGU8VD4+KSA9PlxuICBzb3VyY2UucGlwZShcbiAgICBmaWx0ZXIoaXNTdWNjZXNzU3RhdGUpLFxuICAgIG1hcCggcmVzID0+IHJlcy5ib2R5KVxuICApOyJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UmVxdWVzdG9yU3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL3J4anMvZ2V0UmVxdWVzdG9yU3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUksTUFBdUMsRUFBRSxFQUFFLENBQy9FLE1BQU0sQ0FBQyxJQUFJLENBQ1QsR0FBRyxDQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IGdldFJlcXVlc3RvclN0YXR1cyA9IDxUPihzb3VyY2U6IE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZTxUPj4pID0+XG4gIHNvdXJjZS5waXBlKFxuICAgIG1hcCggcmVzID0+IHJlcy5zdGF0dXMpXG4gICk7Il19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL3J4anMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXRSZXF1ZXN0b3JCb2R5JztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0UmVxdWVzdG9yU3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YXBFcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL3RhcFN1Y2Nlc3MnO1xuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL3J4anMvdGFwRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUMsTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUE2QjtJQUNwRCxPQUFPLFVBQVUsR0FBaUM7UUFDaEQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUNYLEdBQUcsQ0FBRSxNQUFNLENBQUMsRUFBRTtZQUNWLElBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNyQixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pCO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgaXNFcnJvclN0YXRlIH0gZnJvbSAnLi4vaGVscGVycyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGFwRXJyb3Iob25FcnJvcjogKGVycm9yOiBhbnkpID0+IHZvaWQpIHtcclxuICByZXR1cm4gZnVuY3Rpb24gKHNyYzogT2JzZXJ2YWJsZTxIdHRwUmVxdWVzdFN0YXRlPik6IE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZT4ge1xyXG4gICAgcmV0dXJuIHNyYy5waXBlKFxyXG4gICAgICAgIHRhcCggcmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgaWYoaXNFcnJvclN0YXRlKHJlc3VsdCkpIHtcclxuICAgICAgICAgICAgICAgIG9uRXJyb3IocmVzdWx0LmVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICApO1xyXG4gIH07XHJcbn1cclxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwU3VjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvcnhqcy90YXBTdWNjZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVDLE1BQU0sVUFBVSxVQUFVLENBQUksU0FBNEI7SUFDeEQsT0FBTyxVQUFVLEdBQW9DO1FBQ25ELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FDWCxHQUFHLENBQUUsTUFBTSxDQUFDLEVBQUU7WUFDVixJQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdkIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMxQjtRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0U3RhdGUgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IGlzU3VjY2Vzc1N0YXRlIH0gZnJvbSAnLi4vaGVscGVycyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGFwU3VjY2VzczxUPihvblN1Y2Nlc3M6IChib2R5OiBUKSA9PiB2b2lkKSB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIChzcmM6IE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZTxUPj4pOiBPYnNlcnZhYmxlPEh0dHBSZXF1ZXN0U3RhdGU8VD4+IHtcclxuICAgIHJldHVybiBzcmMucGlwZShcclxuICAgICAgICB0YXAoIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgIGlmKGlzU3VjY2Vzc1N0YXRlKHJlc3VsdCkpIHtcclxuICAgICAgICAgICAgICAgIG9uU3VjY2VzcyhyZXN1bHQuYm9keSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,15 @@
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 = {}));
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sQ0FBTixJQUFZLGlCQU1UO0FBTkgsV0FBWSxpQkFBaUI7SUFDekIscUVBQVUsQ0FBQTtJQUNWLHFFQUFVLENBQUE7SUFDViwrREFBTyxDQUFBO0lBQ1AseURBQUksQ0FBQTtJQUNKLG1FQUFTLENBQUE7QUFDWCxDQUFDLEVBTlMsaUJBQWlCLEtBQWpCLGlCQUFpQixRQU0xQjtBQTJCQyxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzdCLHlFQUFjLENBQUE7SUFDZCx1RUFBUyxDQUFBO0lBQ1QsaUZBQWMsQ0FBQTtBQUNoQixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuZXhwb3J0IGVudW0gSHR0cFJlcXVlc3RTdGF0dXMge1xyXG4gICAgbm90U3RhcnRlZCxcclxuICAgIGluUHJvZ3Jlc3MsXHJcbiAgICBzdWNjZXNzLFxyXG4gICAgZmFpbCxcclxuICAgIGNhbmNlbGxlZCxcclxuICB9XHJcblxyXG4gIGV4cG9ydCB0eXBlIEh0dHBSZXF1ZXN0U3RhdGVOb3RTdGFydGVkID0ge1xyXG4gICAgc3RhdHVzOiBIdHRwUmVxdWVzdFN0YXR1cy5ub3RTdGFydGVkXHJcbiAgfVxyXG5cclxuICBleHBvcnQgdHlwZSBIdHRwUmVxdWVzdFN0YXRlSW5Qcm9ncmVzcyA9IHtcclxuICAgIHN0YXR1czogSHR0cFJlcXVlc3RTdGF0dXMuaW5Qcm9ncmVzc1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3RTdGF0ZVN1Y2Nlc3M8VD4gPSB7XHJcbiAgICBzdGF0dXM6IEh0dHBSZXF1ZXN0U3RhdHVzLnN1Y2Nlc3M7XHJcbiAgICBib2R5OiBUO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3RTdGF0ZUVycm9yID0ge1xyXG4gICAgc3RhdHVzOiBIdHRwUmVxdWVzdFN0YXR1cy5mYWlsO1xyXG4gICAgZXJyb3I6IGFueTtcclxuICB9XHJcblxyXG5cclxuICBleHBvcnQgdHlwZSBIdHRwUmVxdWVzdFN0YXRlPFQgPSBhbnk+ID1cclxuICAgIEh0dHBSZXF1ZXN0U3RhdGVOb3RTdGFydGVkIHxcclxuICAgIEh0dHBSZXF1ZXN0U3RhdGVJblByb2dyZXNzIHxcclxuICAgIEh0dHBSZXF1ZXN0U3RhdGVTdWNjZXNzPFQ+IHxcclxuICAgIEh0dHBSZXF1ZXN0U3RhdGVFcnJvciA7XHJcblxyXG4gICAgZXhwb3J0IGVudW0gSHR0cFJlcXVlc3RTdHJhdGVneSB7XHJcbiAgICAgIGNvbmN1cnJlbnQgPSAxLFxyXG4gICAgICBzaW5nbGVVc2UsXHJcbiAgICAgIGNhbmNlbFByZXZpb3VzLFxyXG4gICAgfVxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0U3RhdGVPcHRpb25zICB7XHJcbiAgICAgIHN0cmF0ZWd5PzogSHR0cFJlcXVlc3RTdHJhdGVneVxyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCB0eXBlIEh0dHBSZXF1ZXN0RmFjdG9yeTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSwgVD4gPSAoLi4ucGFyYW1zOiBbLi4uVFBhcmFtXSkgPT4gT2JzZXJ2YWJsZTxUPlxyXG4iXX0=
@@ -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==