ngx-techlify-core 11.4.6 → 11.4.7

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 (333) hide show
  1. package/README.md +24 -24
  2. package/bundles/ngx-techlify-core.umd.js +7861 -7849
  3. package/bundles/ngx-techlify-core.umd.js.map +1 -1
  4. package/bundles/ngx-techlify-core.umd.min.js +2 -2
  5. package/bundles/ngx-techlify-core.umd.min.js.map +1 -1
  6. package/esm2015/lib/action-popup/action-popup.component.js +32 -32
  7. package/esm2015/lib/action-popup/action-popup.model.js +3 -3
  8. package/esm2015/lib/action-popup/action-popup.module.js +26 -26
  9. package/esm2015/lib/action-popup/index.js +3 -3
  10. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.js +12 -12
  11. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.component.js +49 -49
  12. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.module.js +25 -25
  13. package/esm2015/lib/audit-log/audit-log-list/audit-log-list-routing.module.js +12 -12
  14. package/esm2015/lib/audit-log/audit-log-list/audit-log-list.component.js +132 -132
  15. package/esm2015/lib/audit-log/audit-log-list/audit-log-list.module.js +29 -29
  16. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.js +12 -12
  17. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.js +67 -67
  18. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.js +25 -25
  19. package/esm2015/lib/audit-log/audit-log-routing.module.js +19 -19
  20. package/esm2015/lib/audit-log/audit-log-view/audit-log-view-routing.module.js +12 -12
  21. package/esm2015/lib/audit-log/audit-log-view/audit-log-view.component.js +60 -60
  22. package/esm2015/lib/audit-log/audit-log-view/audit-log-view.module.js +21 -21
  23. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.js +12 -12
  24. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.component.js +57 -57
  25. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.module.js +21 -21
  26. package/esm2015/lib/audit-log/audit-log.module.js +20 -20
  27. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.js +12 -12
  28. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.js +35 -35
  29. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.js +21 -21
  30. package/esm2015/lib/core/alert.service.js +39 -39
  31. package/esm2015/lib/core/api-prefix.interceptor.js +28 -28
  32. package/esm2015/lib/core/authentication.guard.js +39 -39
  33. package/esm2015/lib/core/authentication.service.js +59 -59
  34. package/esm2015/lib/core/cache.interceptor.js +60 -60
  35. package/esm2015/lib/core/config.service.js +47 -47
  36. package/esm2015/lib/core/core.module.js +42 -42
  37. package/esm2015/lib/core/credentials.service.js +84 -84
  38. package/esm2015/lib/core/dataManager.service.js +120 -120
  39. package/esm2015/lib/core/error-handler.interceptor.js +53 -53
  40. package/esm2015/lib/core/error-handler.service.js +59 -59
  41. package/esm2015/lib/core/form-validator.service.js +23 -23
  42. package/esm2015/lib/core/header.interceptor.js +22 -22
  43. package/esm2015/lib/core/http-cache.service.js +110 -110
  44. package/esm2015/lib/core/http.service.js +82 -82
  45. package/esm2015/lib/core/index.js +21 -21
  46. package/esm2015/lib/core/logger.service.js +100 -100
  47. package/esm2015/lib/core/route-reusable-strategy.js +35 -35
  48. package/esm2015/lib/core/snack/snack.component.js +33 -33
  49. package/esm2015/lib/core/snack/snack.module.js +25 -25
  50. package/esm2015/lib/core/storage.service.js +36 -36
  51. package/esm2015/lib/core/techlify-config.model.js +28 -28
  52. package/esm2015/lib/core/token.interceptor.js +30 -30
  53. package/esm2015/lib/data-table/data-table.component.js +190 -190
  54. package/esm2015/lib/data-table/data-table.model.js +11 -11
  55. package/esm2015/lib/data-table/data-table.module.js +25 -25
  56. package/esm2015/lib/data-table/index.js +3 -3
  57. package/esm2015/lib/date-validator.js +10 -10
  58. package/esm2015/lib/document-viewer/document-viewer.component.js +58 -58
  59. package/esm2015/lib/document-viewer/document-viewer.module.js +25 -25
  60. package/esm2015/lib/document-viewer/index.js +3 -3
  61. package/esm2015/lib/document-viewer/viewer-config.model.js +3 -3
  62. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.js +26 -26
  63. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.js +72 -72
  64. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.js +23 -23
  65. package/esm2015/lib/email-subscription/email-subscription-for-user/index.js +2 -2
  66. package/esm2015/lib/email-subscription/email-subscription-routing.module.js +12 -12
  67. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.js +12 -12
  68. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.js +102 -102
  69. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.js +28 -28
  70. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.js +2 -2
  71. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.js +28 -28
  72. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.js +153 -153
  73. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.js +27 -27
  74. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.js +1 -1
  75. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.js +12 -12
  76. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type.module.js +15 -15
  77. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.js +12 -12
  78. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.js +99 -99
  79. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.js +27 -27
  80. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.js +2 -2
  81. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.js +28 -28
  82. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.js +155 -155
  83. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.js +29 -29
  84. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.js +2 -2
  85. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.js +12 -12
  86. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.js +50 -50
  87. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.js +25 -25
  88. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.js +2 -2
  89. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.js +12 -12
  90. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user.module.js +15 -15
  91. package/esm2015/lib/email-subscription/email-subscription.module.js +15 -15
  92. package/esm2015/lib/entity-files/entity-file-form/entity-file-form.component.js +138 -138
  93. package/esm2015/lib/entity-files/entity-file.service.js +42 -42
  94. package/esm2015/lib/entity-files/entity-files-view-all.component.js +208 -204
  95. package/esm2015/lib/entity-files/entity-files-view-all.module.js +34 -34
  96. package/esm2015/lib/entity-files/index.js +3 -3
  97. package/esm2015/lib/export-excel/export-excel-button/export-excel-button.component.js +32 -32
  98. package/esm2015/lib/export-excel/export-excel.module.js +17 -17
  99. package/esm2015/lib/file-dropper/file-dropper.component.js +122 -122
  100. package/esm2015/lib/file-dropper/file-dropper.model.js +3 -3
  101. package/esm2015/lib/file-dropper/file-dropper.module.js +21 -21
  102. package/esm2015/lib/file-dropper/index.js +3 -3
  103. package/esm2015/lib/import-csv/data-import/data-import.component.js +18 -18
  104. package/esm2015/lib/import-csv/failed-items-list/failed-items-list.component.js +33 -33
  105. package/esm2015/lib/import-csv/field-mapping/field-mapping.component.js +148 -148
  106. package/esm2015/lib/import-csv/import-csv-config.js +2 -2
  107. package/esm2015/lib/import-csv/import-csv.component.js +196 -196
  108. package/esm2015/lib/import-csv/import-csv.module.js +46 -46
  109. package/esm2015/lib/import-csv/import-history-list/import-history-list.component.js +71 -71
  110. package/esm2015/lib/import-csv/import-success/import-success.component.js +19 -19
  111. package/esm2015/lib/loader/index.js +2 -2
  112. package/esm2015/lib/loader/loader.component.js +22 -22
  113. package/esm2015/lib/loader/loader.module.js +21 -21
  114. package/esm2015/lib/login-history-for-user/login-history-for-user-routing.module.js +20 -20
  115. package/esm2015/lib/login-history-for-user/login-history-for-user.component.js +88 -88
  116. package/esm2015/lib/login-history-for-user/login-history-for-user.module.js +27 -27
  117. package/esm2015/lib/material.module.js +60 -60
  118. package/esm2015/lib/note/comment-form/comment-form.component.js +73 -73
  119. package/esm2015/lib/note/index.js +4 -4
  120. package/esm2015/lib/note/note-form/note-form.component.js +81 -81
  121. package/esm2015/lib/note/note-list/note-list.component.js +151 -151
  122. package/esm2015/lib/note/note.module.js +36 -36
  123. package/esm2015/lib/note/note.service.js +31 -31
  124. package/esm2015/lib/read-more/read-more.component.js +43 -43
  125. package/esm2015/lib/read-more/read-more.module.js +21 -21
  126. package/esm2015/lib/searchable-selector/index.js +3 -3
  127. package/esm2015/lib/searchable-selector/mat-select-infinite-scroll.directive.js +81 -81
  128. package/esm2015/lib/searchable-selector/searchable-selector.component.js +307 -307
  129. package/esm2015/lib/searchable-selector/searchable-selector.module.js +28 -28
  130. package/esm2015/lib/techlify-feature/on-off-switch/on-off-switch.component.js +27 -27
  131. package/esm2015/lib/techlify-feature/techlify-feature-enabled.directive.js +78 -78
  132. package/esm2015/lib/techlify-feature/techlify-feature-listing.component.js +177 -177
  133. package/esm2015/lib/techlify-feature/techlify-feature.module.js +30 -30
  134. package/esm2015/lib/techlify-feature/techlify-feature.routing.js +12 -12
  135. package/esm2015/lib/techlify-feature/techlify-feature.service.js +28 -28
  136. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.js +15 -15
  137. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.js +269 -269
  138. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.js +25 -25
  139. package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.js +168 -168
  140. package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.js +29 -29
  141. package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.component.js +114 -114
  142. package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.module.js +28 -28
  143. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.js +22 -22
  144. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.component.js +143 -143
  145. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.module.js +28 -28
  146. package/esm2015/lib/techlify-update/techlify-update-routing.module.js +22 -22
  147. package/esm2015/lib/techlify-update/techlify-update.module.js +30 -30
  148. package/esm2015/lib/techlify-update/techlify-update.service.js +43 -43
  149. package/esm2015/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.js +161 -161
  150. package/esm2015/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.js +82 -82
  151. package/esm2015/lib/techlify-update/update-notifier/update-notifier.component.js +62 -62
  152. package/esm2015/lib/techlify-update/update-notifier/update-notifier.module.js +29 -29
  153. package/esm2015/lib/techlify-update/update-view/update-view.component.js +36 -36
  154. package/esm2015/lib/techlify-update/update-view/update-view.module.js +24 -24
  155. package/esm2015/lib/timeline-filter/calculate-timeline.js +102 -102
  156. package/esm2015/lib/timeline-filter/index.js +4 -4
  157. package/esm2015/lib/timeline-filter/timeline-filter-routing.module.js +12 -12
  158. package/esm2015/lib/timeline-filter/timeline-filter.component.js +213 -213
  159. package/esm2015/lib/timeline-filter/timeline-filter.module.js +23 -23
  160. package/esm2015/lib/timeline-filter/timeline.model.js +18 -18
  161. package/esm2015/lib/utility/date-utils.service.js +48 -48
  162. package/esm2015/lib/utility/index.js +4 -4
  163. package/esm2015/lib/utility/num-items-selector.component.js +29 -29
  164. package/esm2015/lib/utility/number-selector.component.js +38 -38
  165. package/esm2015/lib/utility/utility.module.js +20 -20
  166. package/esm2015/ngx-techlify-core.js +59 -59
  167. package/esm2015/public-api.js +95 -95
  168. package/fesm2015/ngx-techlify-core.js +6726 -6722
  169. package/fesm2015/ngx-techlify-core.js.map +1 -1
  170. package/lib/action-popup/action-popup.component.d.ts +14 -14
  171. package/lib/action-popup/action-popup.model.d.ts +5 -5
  172. package/lib/action-popup/action-popup.module.d.ts +2 -2
  173. package/lib/action-popup/index.d.ts +2 -2
  174. package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +2 -2
  175. package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +12 -12
  176. package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +2 -2
  177. package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +2 -2
  178. package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +32 -32
  179. package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +2 -2
  180. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +2 -2
  181. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +19 -19
  182. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +2 -2
  183. package/lib/audit-log/audit-log-routing.module.d.ts +2 -2
  184. package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +2 -2
  185. package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +17 -17
  186. package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +2 -2
  187. package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +2 -2
  188. package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +15 -15
  189. package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +2 -2
  190. package/lib/audit-log/audit-log.module.d.ts +2 -2
  191. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +2 -2
  192. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +11 -11
  193. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +2 -2
  194. package/lib/core/alert.service.d.ts +12 -12
  195. package/lib/core/api-prefix.interceptor.d.ts +11 -11
  196. package/lib/core/authentication.guard.d.ts +10 -10
  197. package/lib/core/authentication.service.d.ts +23 -23
  198. package/lib/core/cache.interceptor.d.ts +21 -21
  199. package/lib/core/config.service.d.ts +19 -19
  200. package/lib/core/core.module.d.ts +3 -3
  201. package/lib/core/credentials.service.d.ts +36 -36
  202. package/lib/core/dataManager.service.d.ts +70 -70
  203. package/lib/core/error-handler.interceptor.d.ts +14 -14
  204. package/lib/core/error-handler.service.d.ts +14 -14
  205. package/lib/core/form-validator.service.d.ts +8 -8
  206. package/lib/core/header.interceptor.d.ts +8 -8
  207. package/lib/core/http-cache.service.d.ts +54 -54
  208. package/lib/core/http.service.d.ts +56 -56
  209. package/lib/core/index.d.ts +20 -20
  210. package/lib/core/logger.service.d.ts +85 -85
  211. package/lib/core/route-reusable-strategy.d.ts +13 -13
  212. package/lib/core/snack/snack.component.d.ts +8 -8
  213. package/lib/core/snack/snack.module.d.ts +2 -2
  214. package/lib/core/storage.service.d.ts +15 -15
  215. package/lib/core/techlify-config.model.d.ts +18 -18
  216. package/lib/core/token.interceptor.d.ts +11 -11
  217. package/lib/data-table/data-table.component.d.ts +60 -60
  218. package/lib/data-table/data-table.model.d.ts +46 -46
  219. package/lib/data-table/data-table.module.d.ts +2 -2
  220. package/lib/data-table/index.d.ts +2 -2
  221. package/lib/date-validator.d.ts +1 -1
  222. package/lib/document-viewer/document-viewer.component.d.ts +16 -16
  223. package/lib/document-viewer/document-viewer.module.d.ts +2 -2
  224. package/lib/document-viewer/index.d.ts +2 -2
  225. package/lib/document-viewer/viewer-config.model.d.ts +5 -5
  226. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +7 -7
  227. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +17 -17
  228. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +2 -2
  229. package/lib/email-subscription/email-subscription-for-user/index.d.ts +1 -1
  230. package/lib/email-subscription/email-subscription-routing.module.d.ts +2 -2
  231. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +2 -2
  232. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +32 -32
  233. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +2 -2
  234. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts +1 -1
  235. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +9 -9
  236. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +30 -30
  237. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +2 -2
  238. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +1 -1
  239. package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +2 -2
  240. package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +2 -2
  241. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +2 -2
  242. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +32 -32
  243. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +2 -2
  244. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts +1 -1
  245. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +9 -9
  246. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +32 -32
  247. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +2 -2
  248. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts +1 -1
  249. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +2 -2
  250. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +13 -13
  251. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +2 -2
  252. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts +1 -1
  253. package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +2 -2
  254. package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +2 -2
  255. package/lib/email-subscription/email-subscription.module.d.ts +2 -2
  256. package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +34 -34
  257. package/lib/entity-files/entity-file.service.d.ts +10 -10
  258. package/lib/entity-files/entity-files-view-all.component.d.ts +45 -44
  259. package/lib/entity-files/entity-files-view-all.module.d.ts +2 -2
  260. package/lib/entity-files/index.d.ts +2 -2
  261. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +8 -8
  262. package/lib/export-excel/export-excel.module.d.ts +2 -2
  263. package/lib/file-dropper/file-dropper.component.d.ts +33 -33
  264. package/lib/file-dropper/file-dropper.model.d.ts +10 -10
  265. package/lib/file-dropper/file-dropper.module.d.ts +2 -2
  266. package/lib/file-dropper/index.d.ts +2 -2
  267. package/lib/import-csv/data-import/data-import.component.d.ts +6 -6
  268. package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +12 -12
  269. package/lib/import-csv/field-mapping/field-mapping.component.d.ts +34 -34
  270. package/lib/import-csv/import-csv-config.d.ts +17 -17
  271. package/lib/import-csv/import-csv.component.d.ts +33 -33
  272. package/lib/import-csv/import-csv.module.d.ts +2 -2
  273. package/lib/import-csv/import-history-list/import-history-list.component.d.ts +21 -21
  274. package/lib/import-csv/import-success/import-success.component.d.ts +8 -8
  275. package/lib/loader/index.d.ts +1 -1
  276. package/lib/loader/loader.component.d.ts +8 -8
  277. package/lib/loader/loader.module.d.ts +2 -2
  278. package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +2 -2
  279. package/lib/login-history-for-user/login-history-for-user.component.d.ts +23 -23
  280. package/lib/login-history-for-user/login-history-for-user.module.d.ts +2 -2
  281. package/lib/material.module.d.ts +2 -2
  282. package/lib/note/comment-form/comment-form.component.d.ts +22 -22
  283. package/lib/note/index.d.ts +3 -3
  284. package/lib/note/note-form/note-form.component.d.ts +27 -27
  285. package/lib/note/note-list/note-list.component.d.ts +28 -28
  286. package/lib/note/note.module.d.ts +2 -2
  287. package/lib/note/note.service.d.ts +9 -9
  288. package/lib/read-more/read-more.component.d.ts +12 -12
  289. package/lib/read-more/read-more.module.d.ts +2 -2
  290. package/lib/searchable-selector/index.d.ts +2 -2
  291. package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts +23 -23
  292. package/lib/searchable-selector/searchable-selector.component.d.ts +81 -81
  293. package/lib/searchable-selector/searchable-selector.module.d.ts +2 -2
  294. package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +9 -9
  295. package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +17 -17
  296. package/lib/techlify-feature/techlify-feature-listing.component.d.ts +37 -37
  297. package/lib/techlify-feature/techlify-feature.module.d.ts +2 -2
  298. package/lib/techlify-feature/techlify-feature.routing.d.ts +2 -2
  299. package/lib/techlify-feature/techlify-feature.service.d.ts +8 -8
  300. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +12 -12
  301. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +76 -76
  302. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +2 -2
  303. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +58 -58
  304. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +2 -2
  305. package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +30 -30
  306. package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +2 -2
  307. package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +2 -2
  308. package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +31 -31
  309. package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +2 -2
  310. package/lib/techlify-update/techlify-update-routing.module.d.ts +2 -2
  311. package/lib/techlify-update/techlify-update.module.d.ts +2 -2
  312. package/lib/techlify-update/techlify-update.service.d.ts +13 -13
  313. package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +31 -31
  314. package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +25 -25
  315. package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +16 -16
  316. package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +2 -2
  317. package/lib/techlify-update/update-view/update-view.component.d.ts +14 -14
  318. package/lib/techlify-update/update-view/update-view.module.d.ts +2 -2
  319. package/lib/timeline-filter/calculate-timeline.d.ts +6 -6
  320. package/lib/timeline-filter/index.d.ts +3 -3
  321. package/lib/timeline-filter/timeline-filter-routing.module.d.ts +2 -2
  322. package/lib/timeline-filter/timeline-filter.component.d.ts +61 -61
  323. package/lib/timeline-filter/timeline-filter.module.d.ts +2 -2
  324. package/lib/timeline-filter/timeline.model.d.ts +17 -17
  325. package/lib/utility/date-utils.service.d.ts +21 -21
  326. package/lib/utility/index.d.ts +3 -3
  327. package/lib/utility/num-items-selector.component.d.ts +16 -16
  328. package/lib/utility/number-selector.component.d.ts +20 -20
  329. package/lib/utility/utility.module.d.ts +2 -2
  330. package/ngx-techlify-core.d.ts +59 -59
  331. package/ngx-techlify-core.metadata.json +1 -1
  332. package/package.json +1 -1
  333. package/public-api.d.ts +91 -91
@@ -1,110 +1,110 @@
1
- import { Injectable } from '@angular/core';
2
- import { ConfigService } from './config.service';
3
- import { Logger } from './logger.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./config.service";
6
- const log = new Logger('HttpCacheService');
7
- /**
8
- * Provides a cache facility for HTTP requests with configurable persistence policy.
9
- */
10
- export class HttpCacheService {
11
- constructor(configService) {
12
- this.configService = configService;
13
- this.cachedData = {};
14
- this.storage = this.configService.getStorage();
15
- this.cachePersistenceKey = this.configService.getProjectKey() + '_HTTP_CACHE';
16
- this.loadCacheData();
17
- }
18
- /**
19
- * Sets the cache data for the specified request.
20
- * @param {!string} url The request URL.
21
- * @param {ResponseOptions} data The received data.
22
- * @param {Date=} lastUpdated The cache last update, current date is used if not specified.
23
- */
24
- setCacheData(url, data, lastUpdated) {
25
- this.cachedData[url] = {
26
- lastUpdated: lastUpdated || new Date(),
27
- data: data
28
- };
29
- log.debug(`Cache set for key: "${url}"`);
30
- this.saveCacheData();
31
- }
32
- /**
33
- * Gets the cached data for the specified request.
34
- * @param {!string} url The request URL.
35
- * @return {?ResponseOptions} The cached data or null if no cached data exists for this request.
36
- */
37
- getCacheData(url) {
38
- const cacheEntry = this.cachedData[url];
39
- if (cacheEntry) {
40
- log.debug(`Cache hit for key: "${url}"`);
41
- return cacheEntry.data;
42
- }
43
- return null;
44
- }
45
- /**
46
- * Gets the cached entry for the specified request.
47
- * @param {!string} url The request URL.
48
- * @return {?HttpCacheEntry} The cache entry or null if no cache entry exists for this request.
49
- */
50
- getHttpCacheEntry(url) {
51
- return this.cachedData[url] || null;
52
- }
53
- /**
54
- * Clears the cached entry (if exists) for the specified request.
55
- * @param {!string} url The request URL.
56
- */
57
- clearCache(url) {
58
- delete this.cachedData[url];
59
- log.debug(`Cache cleared for key: "${url}"`);
60
- this.saveCacheData();
61
- }
62
- /**
63
- * Cleans cache entries older than the specified date.
64
- * @param {date=} expirationDate The cache expiration date. If no date is specified, all cache is cleared.
65
- */
66
- cleanCache(expirationDate) {
67
- if (expirationDate) {
68
- Object(this.cachedData).keys.forEach((key) => {
69
- var _a;
70
- if (expirationDate >= ((_a = this.cachedData[key]) === null || _a === void 0 ? void 0 : _a.lastUpdated)) {
71
- delete this.cachedData[key];
72
- }
73
- });
74
- }
75
- else {
76
- this.cachedData = {};
77
- }
78
- this.saveCacheData();
79
- }
80
- /**
81
- * Sets the cache persistence policy.
82
- * Note that changing the cache persistence will also clear the cache from its previous storage.
83
- * @param {'local'|'session'=} persistence How the cache should be persisted, it can be either local or session
84
- * storage, or if no value is provided it will be only in-memory (default).
85
- */
86
- setPersistence(persistence) {
87
- this.cleanCache();
88
- this.storage = persistence === 'local' ? localStorage : persistence === 'session' ? sessionStorage : null;
89
- this.loadCacheData();
90
- }
91
- saveCacheData() {
92
- if (this.storage) {
93
- this.storage[this.cachePersistenceKey] = JSON.stringify(this.cachedData);
94
- }
95
- }
96
- loadCacheData() {
97
- const data = this.storage ? this.storage[this.cachePersistenceKey] : null;
98
- this.cachedData = data ? JSON.parse(data) : {};
99
- }
100
- }
101
- HttpCacheService.ɵprov = i0.ɵɵdefineInjectable({ factory: function HttpCacheService_Factory() { return new HttpCacheService(i0.ɵɵinject(i1.ConfigService)); }, token: HttpCacheService, providedIn: "root" });
102
- HttpCacheService.decorators = [
103
- { type: Injectable, args: [{
104
- providedIn: 'root'
105
- },] }
106
- ];
107
- HttpCacheService.ctorParameters = () => [
108
- { type: ConfigService }
109
- ];
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jYWNoZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb3JlL2h0dHAtY2FjaGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUUxQyxNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBUTNDOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUp4QyxlQUFVLEdBQXVDLEVBQUUsQ0FBQztRQUsxRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLEdBQUcsYUFBYSxDQUFDO1FBQzlFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxZQUFZLENBQUMsR0FBVyxFQUFFLElBQXVCLEVBQUUsV0FBa0I7UUFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRztZQUNyQixXQUFXLEVBQUUsV0FBVyxJQUFJLElBQUksSUFBSSxFQUFFO1lBQ3RDLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQztRQUNGLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLEdBQVc7UUFDdEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4QyxJQUFJLFVBQVUsRUFBRTtZQUNkLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDekMsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQ3hCO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLEdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLEdBQUcsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsY0FBcUI7UUFDOUIsSUFBSSxjQUFjLEVBQUU7WUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7O2dCQUNuRCxJQUFJLGNBQWMsV0FBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQywwQ0FBRSxXQUFXLENBQUEsRUFBRTtvQkFDdkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUM3QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxXQUFpQztRQUM5QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMxRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2pELENBQUM7Ozs7WUF2R0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFoQlEsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJy4vbG9nZ2VyLnNlcnZpY2UnO1xuXG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKCdIdHRwQ2FjaGVTZXJ2aWNlJyk7XG5cblxuZXhwb3J0IGludGVyZmFjZSBIdHRwQ2FjaGVFbnRyeSB7XG4gIGxhc3RVcGRhdGVkOiBEYXRlO1xuICBkYXRhOiBIdHRwUmVzcG9uc2U8YW55Pjtcbn1cblxuLyoqXG4gKiBQcm92aWRlcyBhIGNhY2hlIGZhY2lsaXR5IGZvciBIVFRQIHJlcXVlc3RzIHdpdGggY29uZmlndXJhYmxlIHBlcnNpc3RlbmNlIHBvbGljeS5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSHR0cENhY2hlU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBjYWNoZWREYXRhOiB7IFtrZXk6IHN0cmluZ106IEh0dHBDYWNoZUVudHJ5OyB9ID0ge307XG4gIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZSB8IGFueSB8IG51bGw7XG4gIHByaXZhdGUgY2FjaGVQZXJzaXN0ZW5jZUtleTogU3RyaW5nIHwgYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSkge1xuICAgIHRoaXMuc3RvcmFnZSA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRTdG9yYWdlKCk7XG4gICAgdGhpcy5jYWNoZVBlcnNpc3RlbmNlS2V5ID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldFByb2plY3RLZXkoKSArICdfSFRUUF9DQUNIRSc7XG4gICAgdGhpcy5sb2FkQ2FjaGVEYXRhKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY2FjaGUgZGF0YSBmb3IgdGhlIHNwZWNpZmllZCByZXF1ZXN0LlxuICAgKiBAcGFyYW0geyFzdHJpbmd9IHVybCBUaGUgcmVxdWVzdCBVUkwuXG4gICAqIEBwYXJhbSB7UmVzcG9uc2VPcHRpb25zfSBkYXRhIFRoZSByZWNlaXZlZCBkYXRhLlxuICAgKiBAcGFyYW0ge0RhdGU9fSBsYXN0VXBkYXRlZCBUaGUgY2FjaGUgbGFzdCB1cGRhdGUsIGN1cnJlbnQgZGF0ZSBpcyB1c2VkIGlmIG5vdCBzcGVjaWZpZWQuXG4gICAqL1xuICBzZXRDYWNoZURhdGEodXJsOiBzdHJpbmcsIGRhdGE6IEh0dHBSZXNwb25zZTxhbnk+LCBsYXN0VXBkYXRlZD86IERhdGUpIHtcbiAgICB0aGlzLmNhY2hlZERhdGFbdXJsXSA9IHtcbiAgICAgIGxhc3RVcGRhdGVkOiBsYXN0VXBkYXRlZCB8fCBuZXcgRGF0ZSgpLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH07XG4gICAgbG9nLmRlYnVnKGBDYWNoZSBzZXQgZm9yIGtleTogXCIke3VybH1cImApO1xuICAgIHRoaXMuc2F2ZUNhY2hlRGF0YSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGNhY2hlZCBkYXRhIGZvciB0aGUgc3BlY2lmaWVkIHJlcXVlc3QuXG4gICAqIEBwYXJhbSB7IXN0cmluZ30gdXJsIFRoZSByZXF1ZXN0IFVSTC5cbiAgICogQHJldHVybiB7P1Jlc3BvbnNlT3B0aW9uc30gVGhlIGNhY2hlZCBkYXRhIG9yIG51bGwgaWYgbm8gY2FjaGVkIGRhdGEgZXhpc3RzIGZvciB0aGlzIHJlcXVlc3QuXG4gICAqL1xuICBnZXRDYWNoZURhdGEodXJsOiBzdHJpbmcpOiBIdHRwUmVzcG9uc2U8YW55PiB8IG51bGwge1xuICAgIGNvbnN0IGNhY2hlRW50cnkgPSB0aGlzLmNhY2hlZERhdGFbdXJsXTtcblxuICAgIGlmIChjYWNoZUVudHJ5KSB7XG4gICAgICBsb2cuZGVidWcoYENhY2hlIGhpdCBmb3Iga2V5OiBcIiR7dXJsfVwiYCk7XG4gICAgICByZXR1cm4gY2FjaGVFbnRyeS5kYXRhO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGNhY2hlZCBlbnRyeSBmb3IgdGhlIHNwZWNpZmllZCByZXF1ZXN0LlxuICAgKiBAcGFyYW0geyFzdHJpbmd9IHVybCBUaGUgcmVxdWVzdCBVUkwuXG4gICAqIEByZXR1cm4gez9IdHRwQ2FjaGVFbnRyeX0gVGhlIGNhY2hlIGVudHJ5IG9yIG51bGwgaWYgbm8gY2FjaGUgZW50cnkgZXhpc3RzIGZvciB0aGlzIHJlcXVlc3QuXG4gICAqL1xuICBnZXRIdHRwQ2FjaGVFbnRyeSh1cmw6IHN0cmluZyk6IEh0dHBDYWNoZUVudHJ5IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkRGF0YVt1cmxdIHx8IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBjYWNoZWQgZW50cnkgKGlmIGV4aXN0cykgZm9yIHRoZSBzcGVjaWZpZWQgcmVxdWVzdC5cbiAgICogQHBhcmFtIHshc3RyaW5nfSB1cmwgVGhlIHJlcXVlc3QgVVJMLlxuICAgKi9cbiAgY2xlYXJDYWNoZSh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGRlbGV0ZSB0aGlzLmNhY2hlZERhdGFbdXJsXTtcbiAgICBsb2cuZGVidWcoYENhY2hlIGNsZWFyZWQgZm9yIGtleTogXCIke3VybH1cImApO1xuICAgIHRoaXMuc2F2ZUNhY2hlRGF0YSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFucyBjYWNoZSBlbnRyaWVzIG9sZGVyIHRoYW4gdGhlIHNwZWNpZmllZCBkYXRlLlxuICAgKiBAcGFyYW0ge2RhdGU9fSBleHBpcmF0aW9uRGF0ZSBUaGUgY2FjaGUgZXhwaXJhdGlvbiBkYXRlLiBJZiBubyBkYXRlIGlzIHNwZWNpZmllZCwgYWxsIGNhY2hlIGlzIGNsZWFyZWQuXG4gICAqL1xuICBjbGVhbkNhY2hlKGV4cGlyYXRpb25EYXRlPzogRGF0ZSkge1xuICAgIGlmIChleHBpcmF0aW9uRGF0ZSkge1xuICAgICAgT2JqZWN0KHRoaXMuY2FjaGVkRGF0YSkua2V5cy5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoZXhwaXJhdGlvbkRhdGUgPj0gdGhpcy5jYWNoZWREYXRhW2tleV0/Lmxhc3RVcGRhdGVkKSB7XG4gICAgICAgICAgZGVsZXRlIHRoaXMuY2FjaGVkRGF0YVtrZXldO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYWNoZWREYXRhID0ge307XG4gICAgfVxuICAgIHRoaXMuc2F2ZUNhY2hlRGF0YSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNhY2hlIHBlcnNpc3RlbmNlIHBvbGljeS5cbiAgICogTm90ZSB0aGF0IGNoYW5naW5nIHRoZSBjYWNoZSBwZXJzaXN0ZW5jZSB3aWxsIGFsc28gY2xlYXIgdGhlIGNhY2hlIGZyb20gaXRzIHByZXZpb3VzIHN0b3JhZ2UuXG4gICAqIEBwYXJhbSB7J2xvY2FsJ3wnc2Vzc2lvbic9fSBwZXJzaXN0ZW5jZSBIb3cgdGhlIGNhY2hlIHNob3VsZCBiZSBwZXJzaXN0ZWQsIGl0IGNhbiBiZSBlaXRoZXIgbG9jYWwgb3Igc2Vzc2lvblxuICAgKiAgIHN0b3JhZ2UsIG9yIGlmIG5vIHZhbHVlIGlzIHByb3ZpZGVkIGl0IHdpbGwgYmUgb25seSBpbi1tZW1vcnkgKGRlZmF1bHQpLlxuICAgKi9cbiAgc2V0UGVyc2lzdGVuY2UocGVyc2lzdGVuY2U/OiAnbG9jYWwnIHwgJ3Nlc3Npb24nKSB7XG4gICAgdGhpcy5jbGVhbkNhY2hlKCk7XG4gICAgdGhpcy5zdG9yYWdlID0gcGVyc2lzdGVuY2UgPT09ICdsb2NhbCcgPyBsb2NhbFN0b3JhZ2UgOiBwZXJzaXN0ZW5jZSA9PT0gJ3Nlc3Npb24nID8gc2Vzc2lvblN0b3JhZ2UgOiBudWxsO1xuICAgIHRoaXMubG9hZENhY2hlRGF0YSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlQ2FjaGVEYXRhKCkge1xuICAgIGlmICh0aGlzLnN0b3JhZ2UpIHtcbiAgICAgIHRoaXMuc3RvcmFnZVt0aGlzLmNhY2hlUGVyc2lzdGVuY2VLZXldID0gSlNPTi5zdHJpbmdpZnkodGhpcy5jYWNoZWREYXRhKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRDYWNoZURhdGEoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuc3RvcmFnZSA/IHRoaXMuc3RvcmFnZVt0aGlzLmNhY2hlUGVyc2lzdGVuY2VLZXldIDogbnVsbDtcbiAgICB0aGlzLmNhY2hlZERhdGEgPSBkYXRhID8gSlNPTi5wYXJzZShkYXRhKSA6IHt9O1xuICB9XG5cbn1cbiJdfQ==
1
+ import { Injectable } from '@angular/core';
2
+ import { ConfigService } from './config.service';
3
+ import { Logger } from './logger.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./config.service";
6
+ const log = new Logger('HttpCacheService');
7
+ /**
8
+ * Provides a cache facility for HTTP requests with configurable persistence policy.
9
+ */
10
+ export class HttpCacheService {
11
+ constructor(configService) {
12
+ this.configService = configService;
13
+ this.cachedData = {};
14
+ this.storage = this.configService.getStorage();
15
+ this.cachePersistenceKey = this.configService.getProjectKey() + '_HTTP_CACHE';
16
+ this.loadCacheData();
17
+ }
18
+ /**
19
+ * Sets the cache data for the specified request.
20
+ * @param {!string} url The request URL.
21
+ * @param {ResponseOptions} data The received data.
22
+ * @param {Date=} lastUpdated The cache last update, current date is used if not specified.
23
+ */
24
+ setCacheData(url, data, lastUpdated) {
25
+ this.cachedData[url] = {
26
+ lastUpdated: lastUpdated || new Date(),
27
+ data: data
28
+ };
29
+ log.debug(`Cache set for key: "${url}"`);
30
+ this.saveCacheData();
31
+ }
32
+ /**
33
+ * Gets the cached data for the specified request.
34
+ * @param {!string} url The request URL.
35
+ * @return {?ResponseOptions} The cached data or null if no cached data exists for this request.
36
+ */
37
+ getCacheData(url) {
38
+ const cacheEntry = this.cachedData[url];
39
+ if (cacheEntry) {
40
+ log.debug(`Cache hit for key: "${url}"`);
41
+ return cacheEntry.data;
42
+ }
43
+ return null;
44
+ }
45
+ /**
46
+ * Gets the cached entry for the specified request.
47
+ * @param {!string} url The request URL.
48
+ * @return {?HttpCacheEntry} The cache entry or null if no cache entry exists for this request.
49
+ */
50
+ getHttpCacheEntry(url) {
51
+ return this.cachedData[url] || null;
52
+ }
53
+ /**
54
+ * Clears the cached entry (if exists) for the specified request.
55
+ * @param {!string} url The request URL.
56
+ */
57
+ clearCache(url) {
58
+ delete this.cachedData[url];
59
+ log.debug(`Cache cleared for key: "${url}"`);
60
+ this.saveCacheData();
61
+ }
62
+ /**
63
+ * Cleans cache entries older than the specified date.
64
+ * @param {date=} expirationDate The cache expiration date. If no date is specified, all cache is cleared.
65
+ */
66
+ cleanCache(expirationDate) {
67
+ if (expirationDate) {
68
+ Object(this.cachedData).keys.forEach((key) => {
69
+ var _a;
70
+ if (expirationDate >= ((_a = this.cachedData[key]) === null || _a === void 0 ? void 0 : _a.lastUpdated)) {
71
+ delete this.cachedData[key];
72
+ }
73
+ });
74
+ }
75
+ else {
76
+ this.cachedData = {};
77
+ }
78
+ this.saveCacheData();
79
+ }
80
+ /**
81
+ * Sets the cache persistence policy.
82
+ * Note that changing the cache persistence will also clear the cache from its previous storage.
83
+ * @param {'local'|'session'=} persistence How the cache should be persisted, it can be either local or session
84
+ * storage, or if no value is provided it will be only in-memory (default).
85
+ */
86
+ setPersistence(persistence) {
87
+ this.cleanCache();
88
+ this.storage = persistence === 'local' ? localStorage : persistence === 'session' ? sessionStorage : null;
89
+ this.loadCacheData();
90
+ }
91
+ saveCacheData() {
92
+ if (this.storage) {
93
+ this.storage[this.cachePersistenceKey] = JSON.stringify(this.cachedData);
94
+ }
95
+ }
96
+ loadCacheData() {
97
+ const data = this.storage ? this.storage[this.cachePersistenceKey] : null;
98
+ this.cachedData = data ? JSON.parse(data) : {};
99
+ }
100
+ }
101
+ HttpCacheService.ɵprov = i0.ɵɵdefineInjectable({ factory: function HttpCacheService_Factory() { return new HttpCacheService(i0.ɵɵinject(i1.ConfigService)); }, token: HttpCacheService, providedIn: "root" });
102
+ HttpCacheService.decorators = [
103
+ { type: Injectable, args: [{
104
+ providedIn: 'root'
105
+ },] }
106
+ ];
107
+ HttpCacheService.ctorParameters = () => [
108
+ { type: ConfigService }
109
+ ];
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jYWNoZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb3JlL2h0dHAtY2FjaGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUUxQyxNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBUTNDOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUp4QyxlQUFVLEdBQXVDLEVBQUUsQ0FBQztRQUsxRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLEdBQUcsYUFBYSxDQUFDO1FBQzlFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxZQUFZLENBQUMsR0FBVyxFQUFFLElBQXVCLEVBQUUsV0FBa0I7UUFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRztZQUNyQixXQUFXLEVBQUUsV0FBVyxJQUFJLElBQUksSUFBSSxFQUFFO1lBQ3RDLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQztRQUNGLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLEdBQVc7UUFDdEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4QyxJQUFJLFVBQVUsRUFBRTtZQUNkLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDekMsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQ3hCO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLEdBQVc7UUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLEdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLEdBQUcsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsY0FBcUI7UUFDOUIsSUFBSSxjQUFjLEVBQUU7WUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7O2dCQUNuRCxJQUFJLGNBQWMsV0FBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQywwQ0FBRSxXQUFXLENBQUEsRUFBRTtvQkFDdkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUM3QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxXQUFpQztRQUM5QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMxRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2pELENBQUM7Ozs7WUF2R0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFoQlEsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJy4vbG9nZ2VyLnNlcnZpY2UnO1xyXG5cclxuY29uc3QgbG9nID0gbmV3IExvZ2dlcignSHR0cENhY2hlU2VydmljZScpO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENhY2hlRW50cnkge1xyXG4gIGxhc3RVcGRhdGVkOiBEYXRlO1xyXG4gIGRhdGE6IEh0dHBSZXNwb25zZTxhbnk+O1xyXG59XHJcblxyXG4vKipcclxuICogUHJvdmlkZXMgYSBjYWNoZSBmYWNpbGl0eSBmb3IgSFRUUCByZXF1ZXN0cyB3aXRoIGNvbmZpZ3VyYWJsZSBwZXJzaXN0ZW5jZSBwb2xpY3kuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIdHRwQ2FjaGVTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBjYWNoZWREYXRhOiB7IFtrZXk6IHN0cmluZ106IEh0dHBDYWNoZUVudHJ5OyB9ID0ge307XHJcbiAgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlIHwgYW55IHwgbnVsbDtcclxuICBwcml2YXRlIGNhY2hlUGVyc2lzdGVuY2VLZXk6IFN0cmluZyB8IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2UgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0U3RvcmFnZSgpO1xyXG4gICAgdGhpcy5jYWNoZVBlcnNpc3RlbmNlS2V5ID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldFByb2plY3RLZXkoKSArICdfSFRUUF9DQUNIRSc7XHJcbiAgICB0aGlzLmxvYWRDYWNoZURhdGEoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGNhY2hlIGRhdGEgZm9yIHRoZSBzcGVjaWZpZWQgcmVxdWVzdC5cclxuICAgKiBAcGFyYW0geyFzdHJpbmd9IHVybCBUaGUgcmVxdWVzdCBVUkwuXHJcbiAgICogQHBhcmFtIHtSZXNwb25zZU9wdGlvbnN9IGRhdGEgVGhlIHJlY2VpdmVkIGRhdGEuXHJcbiAgICogQHBhcmFtIHtEYXRlPX0gbGFzdFVwZGF0ZWQgVGhlIGNhY2hlIGxhc3QgdXBkYXRlLCBjdXJyZW50IGRhdGUgaXMgdXNlZCBpZiBub3Qgc3BlY2lmaWVkLlxyXG4gICAqL1xyXG4gIHNldENhY2hlRGF0YSh1cmw6IHN0cmluZywgZGF0YTogSHR0cFJlc3BvbnNlPGFueT4sIGxhc3RVcGRhdGVkPzogRGF0ZSkge1xyXG4gICAgdGhpcy5jYWNoZWREYXRhW3VybF0gPSB7XHJcbiAgICAgIGxhc3RVcGRhdGVkOiBsYXN0VXBkYXRlZCB8fCBuZXcgRGF0ZSgpLFxyXG4gICAgICBkYXRhOiBkYXRhXHJcbiAgICB9O1xyXG4gICAgbG9nLmRlYnVnKGBDYWNoZSBzZXQgZm9yIGtleTogXCIke3VybH1cImApO1xyXG4gICAgdGhpcy5zYXZlQ2FjaGVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBjYWNoZWQgZGF0YSBmb3IgdGhlIHNwZWNpZmllZCByZXF1ZXN0LlxyXG4gICAqIEBwYXJhbSB7IXN0cmluZ30gdXJsIFRoZSByZXF1ZXN0IFVSTC5cclxuICAgKiBAcmV0dXJuIHs/UmVzcG9uc2VPcHRpb25zfSBUaGUgY2FjaGVkIGRhdGEgb3IgbnVsbCBpZiBubyBjYWNoZWQgZGF0YSBleGlzdHMgZm9yIHRoaXMgcmVxdWVzdC5cclxuICAgKi9cclxuICBnZXRDYWNoZURhdGEodXJsOiBzdHJpbmcpOiBIdHRwUmVzcG9uc2U8YW55PiB8IG51bGwge1xyXG4gICAgY29uc3QgY2FjaGVFbnRyeSA9IHRoaXMuY2FjaGVkRGF0YVt1cmxdO1xyXG5cclxuICAgIGlmIChjYWNoZUVudHJ5KSB7XHJcbiAgICAgIGxvZy5kZWJ1ZyhgQ2FjaGUgaGl0IGZvciBrZXk6IFwiJHt1cmx9XCJgKTtcclxuICAgICAgcmV0dXJuIGNhY2hlRW50cnkuZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGNhY2hlZCBlbnRyeSBmb3IgdGhlIHNwZWNpZmllZCByZXF1ZXN0LlxyXG4gICAqIEBwYXJhbSB7IXN0cmluZ30gdXJsIFRoZSByZXF1ZXN0IFVSTC5cclxuICAgKiBAcmV0dXJuIHs/SHR0cENhY2hlRW50cnl9IFRoZSBjYWNoZSBlbnRyeSBvciBudWxsIGlmIG5vIGNhY2hlIGVudHJ5IGV4aXN0cyBmb3IgdGhpcyByZXF1ZXN0LlxyXG4gICAqL1xyXG4gIGdldEh0dHBDYWNoZUVudHJ5KHVybDogc3RyaW5nKTogSHR0cENhY2hlRW50cnkgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmNhY2hlZERhdGFbdXJsXSB8fCBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXJzIHRoZSBjYWNoZWQgZW50cnkgKGlmIGV4aXN0cykgZm9yIHRoZSBzcGVjaWZpZWQgcmVxdWVzdC5cclxuICAgKiBAcGFyYW0geyFzdHJpbmd9IHVybCBUaGUgcmVxdWVzdCBVUkwuXHJcbiAgICovXHJcbiAgY2xlYXJDYWNoZSh1cmw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgZGVsZXRlIHRoaXMuY2FjaGVkRGF0YVt1cmxdO1xyXG4gICAgbG9nLmRlYnVnKGBDYWNoZSBjbGVhcmVkIGZvciBrZXk6IFwiJHt1cmx9XCJgKTtcclxuICAgIHRoaXMuc2F2ZUNhY2hlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYW5zIGNhY2hlIGVudHJpZXMgb2xkZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGRhdGUuXHJcbiAgICogQHBhcmFtIHtkYXRlPX0gZXhwaXJhdGlvbkRhdGUgVGhlIGNhY2hlIGV4cGlyYXRpb24gZGF0ZS4gSWYgbm8gZGF0ZSBpcyBzcGVjaWZpZWQsIGFsbCBjYWNoZSBpcyBjbGVhcmVkLlxyXG4gICAqL1xyXG4gIGNsZWFuQ2FjaGUoZXhwaXJhdGlvbkRhdGU/OiBEYXRlKSB7XHJcbiAgICBpZiAoZXhwaXJhdGlvbkRhdGUpIHtcclxuICAgICAgT2JqZWN0KHRoaXMuY2FjaGVkRGF0YSkua2V5cy5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmIChleHBpcmF0aW9uRGF0ZSA+PSB0aGlzLmNhY2hlZERhdGFba2V5XT8ubGFzdFVwZGF0ZWQpIHtcclxuICAgICAgICAgIGRlbGV0ZSB0aGlzLmNhY2hlZERhdGFba2V5XTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jYWNoZWREYXRhID0ge307XHJcbiAgICB9XHJcbiAgICB0aGlzLnNhdmVDYWNoZURhdGEoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGNhY2hlIHBlcnNpc3RlbmNlIHBvbGljeS5cclxuICAgKiBOb3RlIHRoYXQgY2hhbmdpbmcgdGhlIGNhY2hlIHBlcnNpc3RlbmNlIHdpbGwgYWxzbyBjbGVhciB0aGUgY2FjaGUgZnJvbSBpdHMgcHJldmlvdXMgc3RvcmFnZS5cclxuICAgKiBAcGFyYW0geydsb2NhbCd8J3Nlc3Npb24nPX0gcGVyc2lzdGVuY2UgSG93IHRoZSBjYWNoZSBzaG91bGQgYmUgcGVyc2lzdGVkLCBpdCBjYW4gYmUgZWl0aGVyIGxvY2FsIG9yIHNlc3Npb25cclxuICAgKiAgIHN0b3JhZ2UsIG9yIGlmIG5vIHZhbHVlIGlzIHByb3ZpZGVkIGl0IHdpbGwgYmUgb25seSBpbi1tZW1vcnkgKGRlZmF1bHQpLlxyXG4gICAqL1xyXG4gIHNldFBlcnNpc3RlbmNlKHBlcnNpc3RlbmNlPzogJ2xvY2FsJyB8ICdzZXNzaW9uJykge1xyXG4gICAgdGhpcy5jbGVhbkNhY2hlKCk7XHJcbiAgICB0aGlzLnN0b3JhZ2UgPSBwZXJzaXN0ZW5jZSA9PT0gJ2xvY2FsJyA/IGxvY2FsU3RvcmFnZSA6IHBlcnNpc3RlbmNlID09PSAnc2Vzc2lvbicgPyBzZXNzaW9uU3RvcmFnZSA6IG51bGw7XHJcbiAgICB0aGlzLmxvYWRDYWNoZURhdGEoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2F2ZUNhY2hlRGF0YSgpIHtcclxuICAgIGlmICh0aGlzLnN0b3JhZ2UpIHtcclxuICAgICAgdGhpcy5zdG9yYWdlW3RoaXMuY2FjaGVQZXJzaXN0ZW5jZUtleV0gPSBKU09OLnN0cmluZ2lmeSh0aGlzLmNhY2hlZERhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkQ2FjaGVEYXRhKCkge1xyXG4gICAgY29uc3QgZGF0YSA9IHRoaXMuc3RvcmFnZSA/IHRoaXMuc3RvcmFnZVt0aGlzLmNhY2hlUGVyc2lzdGVuY2VLZXldIDogbnVsbDtcclxuICAgIHRoaXMuY2FjaGVkRGF0YSA9IGRhdGEgPyBKU09OLnBhcnNlKGRhdGEpIDoge307XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,82 +1,82 @@
1
- import { Inject, Injectable, InjectionToken, Injector, Optional } from '@angular/core';
2
- import { HttpClient, HttpHandler } from '@angular/common/http';
3
- import { ErrorHandlerInterceptor } from './error-handler.interceptor';
4
- import { CacheInterceptor } from './cache.interceptor';
5
- import { ApiPrefixInterceptor } from './api-prefix.interceptor';
6
- import { TokenInterceptor } from './token.interceptor';
7
- import { HeaderInterceptor } from './header.interceptor';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common/http";
10
- // From @angular/common/http/src/interceptor: allows to chain interceptors
11
- class HttpInterceptorHandler {
12
- constructor(next, interceptor) {
13
- this.next = next;
14
- this.interceptor = interceptor;
15
- }
16
- handle(request) {
17
- return this.interceptor.intercept(request, this.next);
18
- }
19
- }
20
- /**
21
- * Allows to override default dynamic interceptors that can be disabled with the HttpService extension.
22
- * Except for very specific needs, you should better configure these interceptors directly in the constructor below
23
- * for better readability.
24
- *
25
- * For static interceptors that should always be enabled (like ApiPrefixInterceptor), use the standard
26
- * HTTP_INTERCEPTORS token.
27
- */
28
- export const HTTP_DYNAMIC_INTERCEPTORS = new InjectionToken('HTTP_DYNAMIC_INTERCEPTORS');
29
- /**
30
- * Extends HttpClient with per request configuration using dynamic interceptors.
31
- */
32
- export class HttpService extends HttpClient {
33
- constructor(httpHandler, injector, interceptors = []) {
34
- super(httpHandler);
35
- this.httpHandler = httpHandler;
36
- this.injector = injector;
37
- this.interceptors = interceptors;
38
- if (!this.interceptors) {
39
- // Configure default interceptors that can be disabled here
40
- this.interceptors = [this.injector.get(ApiPrefixInterceptor), this.injector.get(HeaderInterceptor), this.injector.get(TokenInterceptor), this.injector.get(ErrorHandlerInterceptor)];
41
- }
42
- }
43
- cache(forceUpdate) {
44
- const cacheInterceptor = this.injector.get(CacheInterceptor).configure({ update: forceUpdate });
45
- return this.addInterceptor(cacheInterceptor);
46
- }
47
- skipErrorHandler() {
48
- return this.removeInterceptor(ErrorHandlerInterceptor);
49
- }
50
- skipApiPrefix() {
51
- return this.removeInterceptor(ApiPrefixInterceptor);
52
- }
53
- skipToken() {
54
- return this.removeInterceptor(TokenInterceptor);
55
- }
56
- skipHeader() {
57
- return this.removeInterceptor(HeaderInterceptor);
58
- }
59
- // Override the original method to wire interceptors when triggering the request.
60
- request(method, url, options) {
61
- const handler = this.interceptors.reduceRight((next, interceptor) => new HttpInterceptorHandler(next, interceptor), this.httpHandler);
62
- return new HttpClient(handler).request(method, url, options);
63
- }
64
- removeInterceptor(interceptorType) {
65
- return new HttpService(this.httpHandler, this.injector, this.interceptors.filter(i => !(i instanceof interceptorType)));
66
- }
67
- addInterceptor(interceptor) {
68
- return new HttpService(this.httpHandler, this.injector, this.interceptors.concat([interceptor]));
69
- }
70
- }
71
- HttpService.ɵprov = i0.ɵɵdefineInjectable({ factory: function HttpService_Factory() { return new HttpService(i0.ɵɵinject(i1.HttpHandler), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(HTTP_DYNAMIC_INTERCEPTORS, 8)); }, token: HttpService, providedIn: "root" });
72
- HttpService.decorators = [
73
- { type: Injectable, args: [{
74
- providedIn: 'root'
75
- },] }
76
- ];
77
- HttpService.ctorParameters = () => [
78
- { type: HttpHandler },
79
- { type: Injector },
80
- { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [HTTP_DYNAMIC_INTERCEPTORS,] }] }
81
- ];
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb3JlL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsVUFBVSxFQUE4QixXQUFXLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBMEN6RCwwRUFBMEU7QUFDMUUsTUFBTSxzQkFBc0I7SUFFMUIsWUFBb0IsSUFBaUIsRUFBVSxXQUE0QjtRQUF2RCxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO0lBQUksQ0FBQztJQUVoRixNQUFNLENBQUMsT0FBeUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FFRjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsMkJBQTJCLENBQUMsQ0FBQztBQUUxRzs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFZLFNBQVEsVUFBVTtJQUV6QyxZQUFvQixXQUF3QixFQUNsQyxRQUFrQixFQUM2QixlQUFrQyxFQUFFO1FBQzNGLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUhELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDNkIsaUJBQVksR0FBWixZQUFZLENBQXdCO1FBRzNGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLDJEQUEyRDtZQUMzRCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1NBQ3RMO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFxQjtRQUN6QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDaEcsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGlGQUFpRjtJQUNqRixPQUFPLENBQUMsTUFBWSxFQUFFLEdBQVMsRUFBRSxPQUFhO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUMzQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksc0JBQXNCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxFQUNwRSxJQUFJLENBQUMsV0FBVyxDQUNqQixDQUFDO1FBQ0YsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8saUJBQWlCLENBQUMsZUFBeUI7UUFDakQsT0FBTyxJQUFJLFdBQVcsQ0FDcEIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksZUFBZSxDQUFDLENBQUMsQ0FDL0QsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjLENBQUMsV0FBNEI7UUFDakQsT0FBTyxJQUFJLFdBQVcsQ0FDcEIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQ3hDLENBQUM7SUFDSixDQUFDOzs7O1lBNURGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBM0VnRCxXQUFXO1lBRGYsUUFBUTt3Q0FpRmhELFFBQVEsWUFBSSxNQUFNLFNBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXZlbnQsIEh0dHBJbnRlcmNlcHRvciwgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFcnJvckhhbmRsZXJJbnRlcmNlcHRvciB9IGZyb20gJy4vZXJyb3ItaGFuZGxlci5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBDYWNoZUludGVyY2VwdG9yIH0gZnJvbSAnLi9jYWNoZS5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBBcGlQcmVmaXhJbnRlcmNlcHRvciB9IGZyb20gJy4vYXBpLXByZWZpeC5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBUb2tlbkludGVyY2VwdG9yIH0gZnJvbSAnLi90b2tlbi5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBIZWFkZXJJbnRlcmNlcHRvciB9IGZyb20gJy4vaGVhZGVyLmludGVyY2VwdG9yJztcblxuXG4vLyBBdWdtZW50IEh0dHBDbGllbnQgd2l0aCB0aGUgYWRkZWQgY29uZmlndXJhdGlvbiBtZXRob2RzIGZyb20gSHR0cFNlcnZpY2UsIHRvIGFsbG93IGluLXBsYWNlIHJlcGxhY2VtZW50IG9mXG4vLyBIdHRwQ2xpZW50IHdpdGggSHR0cFNlcnZpY2UgdXNpbmcgZGVwZW5kZW5jeSBpbmplY3Rpb25cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEN1c3RvbUNsaWVudCB7XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgY2FjaGluZyBmb3IgdGhpcyByZXF1ZXN0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGZvcmNlVXBkYXRlIEZvcmNlcyByZXF1ZXN0IHRvIGJlIG1hZGUgYW5kIHVwZGF0ZXMgY2FjaGUgZW50cnkuXG4gICAqIEByZXR1cm4ge0h0dHBDdXN0b21DbGllbnR9IFRoZSBuZXcgaW5zdGFuY2UuXG4gICAqL1xuICBjYWNoZShmb3JjZVVwZGF0ZT86IGJvb2xlYW4pOiBIdHRwQ3VzdG9tQ2xpZW50O1xuXG4gIC8qKlxuICAgKiBTa2lwcyBkZWZhdWx0IGVycm9yIGhhbmRsZXIgZm9yIHRoaXMgcmVxdWVzdC5cbiAgICogQHJldHVybiB7SHR0cEN1c3RvbUNsaWVudH0gVGhlIG5ldyBpbnN0YW5jZS5cbiAgICovXG4gIHNraXBFcnJvckhhbmRsZXIoKTogSHR0cEN1c3RvbUNsaWVudDtcblxuICAvKipcbiAgKiBTa2lwcyBkZWZhdWx0IEFQSSBQcmVmaXggZm9yIHRoaXMgcmVxdWVzdC5cbiAgKiBAcmV0dXJuIHtIdHRwQ3VzdG9tQ2xpZW50fSBUaGUgbmV3IGluc3RhbmNlLlxuICAqL1xuICBza2lwQXBpUHJlZml4KCk6IEh0dHBDdXN0b21DbGllbnQ7XG5cblxuICAvKipcbiAqIFNraXBzIGRlZmF1bHQgVG9rZW4gSW50ZXJjZXB0b3IgZm9yIHRoaXMgcmVxdWVzdC5cbiAqIEByZXR1cm4ge0h0dHBDdXN0b21DbGllbnR9IFRoZSBuZXcgaW5zdGFuY2UuXG4gKi9cbiAgc2tpcFRva2VuKCk6IEh0dHBDdXN0b21DbGllbnQ7XG5cbiAgLyoqXG4qIFNraXBzIGRlZmF1bHQgSGVhZGVyIEludGVyY2VwdG9yIGZvciB0aGlzIHJlcXVlc3QuXG4qIEByZXR1cm4ge0h0dHBDdXN0b21DbGllbnR9IFRoZSBuZXcgaW5zdGFuY2UuXG4qL1xuICBza2lwSGVhZGVyKCk6IEh0dHBDdXN0b21DbGllbnQ7XG5cbn1cblxuXG4vLyBGcm9tIEBhbmd1bGFyL2NvbW1vbi9odHRwL3NyYy9pbnRlcmNlcHRvcjogYWxsb3dzIHRvIGNoYWluIGludGVyY2VwdG9yc1xuY2xhc3MgSHR0cEludGVyY2VwdG9ySGFuZGxlciBpbXBsZW1lbnRzIEh0dHBIYW5kbGVyIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5leHQ6IEh0dHBIYW5kbGVyLCBwcml2YXRlIGludGVyY2VwdG9yOiBIdHRwSW50ZXJjZXB0b3IpIHsgfVxuXG4gIGhhbmRsZShyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIHJldHVybiB0aGlzLmludGVyY2VwdG9yLmludGVyY2VwdChyZXF1ZXN0LCB0aGlzLm5leHQpO1xuICB9XG5cbn1cblxuLyoqXG4gKiBBbGxvd3MgdG8gb3ZlcnJpZGUgZGVmYXVsdCBkeW5hbWljIGludGVyY2VwdG9ycyB0aGF0IGNhbiBiZSBkaXNhYmxlZCB3aXRoIHRoZSBIdHRwU2VydmljZSBleHRlbnNpb24uXG4gKiBFeGNlcHQgZm9yIHZlcnkgc3BlY2lmaWMgbmVlZHMsIHlvdSBzaG91bGQgYmV0dGVyIGNvbmZpZ3VyZSB0aGVzZSBpbnRlcmNlcHRvcnMgZGlyZWN0bHkgaW4gdGhlIGNvbnN0cnVjdG9yIGJlbG93XG4gKiBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5LlxuICpcbiAqIEZvciBzdGF0aWMgaW50ZXJjZXB0b3JzIHRoYXQgc2hvdWxkIGFsd2F5cyBiZSBlbmFibGVkIChsaWtlIEFwaVByZWZpeEludGVyY2VwdG9yKSwgdXNlIHRoZSBzdGFuZGFyZFxuICogSFRUUF9JTlRFUkNFUFRPUlMgdG9rZW4uXG4gKi9cbmV4cG9ydCBjb25zdCBIVFRQX0RZTkFNSUNfSU5URVJDRVBUT1JTID0gbmV3IEluamVjdGlvblRva2VuPEh0dHBJbnRlcmNlcHRvcj4oJ0hUVFBfRFlOQU1JQ19JTlRFUkNFUFRPUlMnKTtcblxuLyoqXG4gKiBFeHRlbmRzIEh0dHBDbGllbnQgd2l0aCBwZXIgcmVxdWVzdCBjb25maWd1cmF0aW9uIHVzaW5nIGR5bmFtaWMgaW50ZXJjZXB0b3JzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIdHRwU2VydmljZSBleHRlbmRzIEh0dHBDbGllbnQgaW1wbGVtZW50cyBIdHRwQ3VzdG9tQ2xpZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBIYW5kbGVyOiBIdHRwSGFuZGxlcixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEhUVFBfRFlOQU1JQ19JTlRFUkNFUFRPUlMpIHByaXZhdGUgaW50ZXJjZXB0b3JzOiBIdHRwSW50ZXJjZXB0b3JbXSA9IFtdKSB7XG4gICAgc3VwZXIoaHR0cEhhbmRsZXIpO1xuXG4gICAgaWYgKCF0aGlzLmludGVyY2VwdG9ycykge1xuICAgICAgLy8gQ29uZmlndXJlIGRlZmF1bHQgaW50ZXJjZXB0b3JzIHRoYXQgY2FuIGJlIGRpc2FibGVkIGhlcmVcbiAgICAgIHRoaXMuaW50ZXJjZXB0b3JzID0gW3RoaXMuaW5qZWN0b3IuZ2V0KEFwaVByZWZpeEludGVyY2VwdG9yKSwgdGhpcy5pbmplY3Rvci5nZXQoSGVhZGVySW50ZXJjZXB0b3IpLCB0aGlzLmluamVjdG9yLmdldChUb2tlbkludGVyY2VwdG9yKSwgdGhpcy5pbmplY3Rvci5nZXQoRXJyb3JIYW5kbGVySW50ZXJjZXB0b3IpXTtcbiAgICB9XG4gIH1cblxuICBjYWNoZShmb3JjZVVwZGF0ZT86IGJvb2xlYW4pOiBIdHRwU2VydmljZSB7XG4gICAgY29uc3QgY2FjaGVJbnRlcmNlcHRvciA9IHRoaXMuaW5qZWN0b3IuZ2V0KENhY2hlSW50ZXJjZXB0b3IpLmNvbmZpZ3VyZSh7IHVwZGF0ZTogZm9yY2VVcGRhdGUgfSk7XG4gICAgcmV0dXJuIHRoaXMuYWRkSW50ZXJjZXB0b3IoY2FjaGVJbnRlcmNlcHRvcik7XG4gIH1cblxuICBza2lwRXJyb3JIYW5kbGVyKCk6IEh0dHBTZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVJbnRlcmNlcHRvcihFcnJvckhhbmRsZXJJbnRlcmNlcHRvcik7XG4gIH1cblxuICBza2lwQXBpUHJlZml4KCk6IEh0dHBTZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVJbnRlcmNlcHRvcihBcGlQcmVmaXhJbnRlcmNlcHRvcik7XG4gIH1cblxuICBza2lwVG9rZW4oKTogSHR0cFNlcnZpY2Uge1xuICAgIHJldHVybiB0aGlzLnJlbW92ZUludGVyY2VwdG9yKFRva2VuSW50ZXJjZXB0b3IpO1xuICB9XG5cbiAgc2tpcEhlYWRlcigpOiBIdHRwU2VydmljZSB7XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlSW50ZXJjZXB0b3IoSGVhZGVySW50ZXJjZXB0b3IpO1xuICB9XG5cbiAgLy8gT3ZlcnJpZGUgdGhlIG9yaWdpbmFsIG1ldGhvZCB0byB3aXJlIGludGVyY2VwdG9ycyB3aGVuIHRyaWdnZXJpbmcgdGhlIHJlcXVlc3QuXG4gIHJlcXVlc3QobWV0aG9kPzogYW55LCB1cmw/OiBhbnksIG9wdGlvbnM/OiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IGhhbmRsZXIgPSB0aGlzLmludGVyY2VwdG9ycy5yZWR1Y2VSaWdodChcbiAgICAgIChuZXh0LCBpbnRlcmNlcHRvcikgPT4gbmV3IEh0dHBJbnRlcmNlcHRvckhhbmRsZXIobmV4dCwgaW50ZXJjZXB0b3IpLFxuICAgICAgdGhpcy5odHRwSGFuZGxlclxuICAgICk7XG4gICAgcmV0dXJuIG5ldyBIdHRwQ2xpZW50KGhhbmRsZXIpLnJlcXVlc3QobWV0aG9kLCB1cmwsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVJbnRlcmNlcHRvcihpbnRlcmNlcHRvclR5cGU6IEZ1bmN0aW9uKTogSHR0cFNlcnZpY2Uge1xuICAgIHJldHVybiBuZXcgSHR0cFNlcnZpY2UoXG4gICAgICB0aGlzLmh0dHBIYW5kbGVyLFxuICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgIHRoaXMuaW50ZXJjZXB0b3JzLmZpbHRlcihpID0+ICEoaSBpbnN0YW5jZW9mIGludGVyY2VwdG9yVHlwZSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkSW50ZXJjZXB0b3IoaW50ZXJjZXB0b3I6IEh0dHBJbnRlcmNlcHRvcik6IEh0dHBTZXJ2aWNlIHtcbiAgICByZXR1cm4gbmV3IEh0dHBTZXJ2aWNlKFxuICAgICAgdGhpcy5odHRwSGFuZGxlcixcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICB0aGlzLmludGVyY2VwdG9ycy5jb25jYXQoW2ludGVyY2VwdG9yXSlcbiAgICApO1xuICB9XG5cbn1cbiJdfQ==
1
+ import { Inject, Injectable, InjectionToken, Injector, Optional } from '@angular/core';
2
+ import { HttpClient, HttpHandler } from '@angular/common/http';
3
+ import { ErrorHandlerInterceptor } from './error-handler.interceptor';
4
+ import { CacheInterceptor } from './cache.interceptor';
5
+ import { ApiPrefixInterceptor } from './api-prefix.interceptor';
6
+ import { TokenInterceptor } from './token.interceptor';
7
+ import { HeaderInterceptor } from './header.interceptor';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common/http";
10
+ // From @angular/common/http/src/interceptor: allows to chain interceptors
11
+ class HttpInterceptorHandler {
12
+ constructor(next, interceptor) {
13
+ this.next = next;
14
+ this.interceptor = interceptor;
15
+ }
16
+ handle(request) {
17
+ return this.interceptor.intercept(request, this.next);
18
+ }
19
+ }
20
+ /**
21
+ * Allows to override default dynamic interceptors that can be disabled with the HttpService extension.
22
+ * Except for very specific needs, you should better configure these interceptors directly in the constructor below
23
+ * for better readability.
24
+ *
25
+ * For static interceptors that should always be enabled (like ApiPrefixInterceptor), use the standard
26
+ * HTTP_INTERCEPTORS token.
27
+ */
28
+ export const HTTP_DYNAMIC_INTERCEPTORS = new InjectionToken('HTTP_DYNAMIC_INTERCEPTORS');
29
+ /**
30
+ * Extends HttpClient with per request configuration using dynamic interceptors.
31
+ */
32
+ export class HttpService extends HttpClient {
33
+ constructor(httpHandler, injector, interceptors = []) {
34
+ super(httpHandler);
35
+ this.httpHandler = httpHandler;
36
+ this.injector = injector;
37
+ this.interceptors = interceptors;
38
+ if (!this.interceptors) {
39
+ // Configure default interceptors that can be disabled here
40
+ this.interceptors = [this.injector.get(ApiPrefixInterceptor), this.injector.get(HeaderInterceptor), this.injector.get(TokenInterceptor), this.injector.get(ErrorHandlerInterceptor)];
41
+ }
42
+ }
43
+ cache(forceUpdate) {
44
+ const cacheInterceptor = this.injector.get(CacheInterceptor).configure({ update: forceUpdate });
45
+ return this.addInterceptor(cacheInterceptor);
46
+ }
47
+ skipErrorHandler() {
48
+ return this.removeInterceptor(ErrorHandlerInterceptor);
49
+ }
50
+ skipApiPrefix() {
51
+ return this.removeInterceptor(ApiPrefixInterceptor);
52
+ }
53
+ skipToken() {
54
+ return this.removeInterceptor(TokenInterceptor);
55
+ }
56
+ skipHeader() {
57
+ return this.removeInterceptor(HeaderInterceptor);
58
+ }
59
+ // Override the original method to wire interceptors when triggering the request.
60
+ request(method, url, options) {
61
+ const handler = this.interceptors.reduceRight((next, interceptor) => new HttpInterceptorHandler(next, interceptor), this.httpHandler);
62
+ return new HttpClient(handler).request(method, url, options);
63
+ }
64
+ removeInterceptor(interceptorType) {
65
+ return new HttpService(this.httpHandler, this.injector, this.interceptors.filter(i => !(i instanceof interceptorType)));
66
+ }
67
+ addInterceptor(interceptor) {
68
+ return new HttpService(this.httpHandler, this.injector, this.interceptors.concat([interceptor]));
69
+ }
70
+ }
71
+ HttpService.ɵprov = i0.ɵɵdefineInjectable({ factory: function HttpService_Factory() { return new HttpService(i0.ɵɵinject(i1.HttpHandler), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(HTTP_DYNAMIC_INTERCEPTORS, 8)); }, token: HttpService, providedIn: "root" });
72
+ HttpService.decorators = [
73
+ { type: Injectable, args: [{
74
+ providedIn: 'root'
75
+ },] }
76
+ ];
77
+ HttpService.ctorParameters = () => [
78
+ { type: HttpHandler },
79
+ { type: Injector },
80
+ { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [HTTP_DYNAMIC_INTERCEPTORS,] }] }
81
+ ];
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb3JlL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsVUFBVSxFQUE4QixXQUFXLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBMEN6RCwwRUFBMEU7QUFDMUUsTUFBTSxzQkFBc0I7SUFFMUIsWUFBb0IsSUFBaUIsRUFBVSxXQUE0QjtRQUF2RCxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO0lBQUksQ0FBQztJQUVoRixNQUFNLENBQUMsT0FBeUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FFRjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsMkJBQTJCLENBQUMsQ0FBQztBQUUxRzs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFZLFNBQVEsVUFBVTtJQUV6QyxZQUFvQixXQUF3QixFQUNsQyxRQUFrQixFQUM2QixlQUFrQyxFQUFFO1FBQzNGLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUhELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDNkIsaUJBQVksR0FBWixZQUFZLENBQXdCO1FBRzNGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLDJEQUEyRDtZQUMzRCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1NBQ3RMO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFxQjtRQUN6QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDaEcsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGlGQUFpRjtJQUNqRixPQUFPLENBQUMsTUFBWSxFQUFFLEdBQVMsRUFBRSxPQUFhO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUMzQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksc0JBQXNCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxFQUNwRSxJQUFJLENBQUMsV0FBVyxDQUNqQixDQUFDO1FBQ0YsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8saUJBQWlCLENBQUMsZUFBeUI7UUFDakQsT0FBTyxJQUFJLFdBQVcsQ0FDcEIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksZUFBZSxDQUFDLENBQUMsQ0FDL0QsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjLENBQUMsV0FBNEI7UUFDakQsT0FBTyxJQUFJLFdBQVcsQ0FDcEIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQ3hDLENBQUM7SUFDSixDQUFDOzs7O1lBNURGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBM0VnRCxXQUFXO1lBRGYsUUFBUTt3Q0FpRmhELFFBQVEsWUFBSSxNQUFNLFNBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cEludGVyY2VwdG9yLCBIdHRwSGFuZGxlciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEVycm9ySGFuZGxlckludGVyY2VwdG9yIH0gZnJvbSAnLi9lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgQ2FjaGVJbnRlcmNlcHRvciB9IGZyb20gJy4vY2FjaGUuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBBcGlQcmVmaXhJbnRlcmNlcHRvciB9IGZyb20gJy4vYXBpLXByZWZpeC5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IFRva2VuSW50ZXJjZXB0b3IgfSBmcm9tICcuL3Rva2VuLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgSGVhZGVySW50ZXJjZXB0b3IgfSBmcm9tICcuL2hlYWRlci5pbnRlcmNlcHRvcic7XHJcblxyXG5cclxuLy8gQXVnbWVudCBIdHRwQ2xpZW50IHdpdGggdGhlIGFkZGVkIGNvbmZpZ3VyYXRpb24gbWV0aG9kcyBmcm9tIEh0dHBTZXJ2aWNlLCB0byBhbGxvdyBpbi1wbGFjZSByZXBsYWNlbWVudCBvZlxyXG4vLyBIdHRwQ2xpZW50IHdpdGggSHR0cFNlcnZpY2UgdXNpbmcgZGVwZW5kZW5jeSBpbmplY3Rpb25cclxuZXhwb3J0IGludGVyZmFjZSBIdHRwQ3VzdG9tQ2xpZW50IHtcclxuXHJcbiAgLyoqXHJcbiAgICogRW5hYmxlcyBjYWNoaW5nIGZvciB0aGlzIHJlcXVlc3QuXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBmb3JjZVVwZGF0ZSBGb3JjZXMgcmVxdWVzdCB0byBiZSBtYWRlIGFuZCB1cGRhdGVzIGNhY2hlIGVudHJ5LlxyXG4gICAqIEByZXR1cm4ge0h0dHBDdXN0b21DbGllbnR9IFRoZSBuZXcgaW5zdGFuY2UuXHJcbiAgICovXHJcbiAgY2FjaGUoZm9yY2VVcGRhdGU/OiBib29sZWFuKTogSHR0cEN1c3RvbUNsaWVudDtcclxuXHJcbiAgLyoqXHJcbiAgICogU2tpcHMgZGVmYXVsdCBlcnJvciBoYW5kbGVyIGZvciB0aGlzIHJlcXVlc3QuXHJcbiAgICogQHJldHVybiB7SHR0cEN1c3RvbUNsaWVudH0gVGhlIG5ldyBpbnN0YW5jZS5cclxuICAgKi9cclxuICBza2lwRXJyb3JIYW5kbGVyKCk6IEh0dHBDdXN0b21DbGllbnQ7XHJcblxyXG4gIC8qKlxyXG4gICogU2tpcHMgZGVmYXVsdCBBUEkgUHJlZml4IGZvciB0aGlzIHJlcXVlc3QuXHJcbiAgKiBAcmV0dXJuIHtIdHRwQ3VzdG9tQ2xpZW50fSBUaGUgbmV3IGluc3RhbmNlLlxyXG4gICovXHJcbiAgc2tpcEFwaVByZWZpeCgpOiBIdHRwQ3VzdG9tQ2xpZW50O1xyXG5cclxuXHJcbiAgLyoqXHJcbiAqIFNraXBzIGRlZmF1bHQgVG9rZW4gSW50ZXJjZXB0b3IgZm9yIHRoaXMgcmVxdWVzdC5cclxuICogQHJldHVybiB7SHR0cEN1c3RvbUNsaWVudH0gVGhlIG5ldyBpbnN0YW5jZS5cclxuICovXHJcbiAgc2tpcFRva2VuKCk6IEh0dHBDdXN0b21DbGllbnQ7XHJcblxyXG4gIC8qKlxyXG4qIFNraXBzIGRlZmF1bHQgSGVhZGVyIEludGVyY2VwdG9yIGZvciB0aGlzIHJlcXVlc3QuXHJcbiogQHJldHVybiB7SHR0cEN1c3RvbUNsaWVudH0gVGhlIG5ldyBpbnN0YW5jZS5cclxuKi9cclxuICBza2lwSGVhZGVyKCk6IEh0dHBDdXN0b21DbGllbnQ7XHJcblxyXG59XHJcblxyXG5cclxuLy8gRnJvbSBAYW5ndWxhci9jb21tb24vaHR0cC9zcmMvaW50ZXJjZXB0b3I6IGFsbG93cyB0byBjaGFpbiBpbnRlcmNlcHRvcnNcclxuY2xhc3MgSHR0cEludGVyY2VwdG9ySGFuZGxlciBpbXBsZW1lbnRzIEh0dHBIYW5kbGVyIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuZXh0OiBIdHRwSGFuZGxlciwgcHJpdmF0ZSBpbnRlcmNlcHRvcjogSHR0cEludGVyY2VwdG9yKSB7IH1cclxuXHJcbiAgaGFuZGxlKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbnRlcmNlcHRvci5pbnRlcmNlcHQocmVxdWVzdCwgdGhpcy5uZXh0KTtcclxuICB9XHJcblxyXG59XHJcblxyXG4vKipcclxuICogQWxsb3dzIHRvIG92ZXJyaWRlIGRlZmF1bHQgZHluYW1pYyBpbnRlcmNlcHRvcnMgdGhhdCBjYW4gYmUgZGlzYWJsZWQgd2l0aCB0aGUgSHR0cFNlcnZpY2UgZXh0ZW5zaW9uLlxyXG4gKiBFeGNlcHQgZm9yIHZlcnkgc3BlY2lmaWMgbmVlZHMsIHlvdSBzaG91bGQgYmV0dGVyIGNvbmZpZ3VyZSB0aGVzZSBpbnRlcmNlcHRvcnMgZGlyZWN0bHkgaW4gdGhlIGNvbnN0cnVjdG9yIGJlbG93XHJcbiAqIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkuXHJcbiAqXHJcbiAqIEZvciBzdGF0aWMgaW50ZXJjZXB0b3JzIHRoYXQgc2hvdWxkIGFsd2F5cyBiZSBlbmFibGVkIChsaWtlIEFwaVByZWZpeEludGVyY2VwdG9yKSwgdXNlIHRoZSBzdGFuZGFyZFxyXG4gKiBIVFRQX0lOVEVSQ0VQVE9SUyB0b2tlbi5cclxuICovXHJcbmV4cG9ydCBjb25zdCBIVFRQX0RZTkFNSUNfSU5URVJDRVBUT1JTID0gbmV3IEluamVjdGlvblRva2VuPEh0dHBJbnRlcmNlcHRvcj4oJ0hUVFBfRFlOQU1JQ19JTlRFUkNFUFRPUlMnKTtcclxuXHJcbi8qKlxyXG4gKiBFeHRlbmRzIEh0dHBDbGllbnQgd2l0aCBwZXIgcmVxdWVzdCBjb25maWd1cmF0aW9uIHVzaW5nIGR5bmFtaWMgaW50ZXJjZXB0b3JzLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSHR0cFNlcnZpY2UgZXh0ZW5kcyBIdHRwQ2xpZW50IGltcGxlbWVudHMgSHR0cEN1c3RvbUNsaWVudCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cEhhbmRsZXI6IEh0dHBIYW5kbGVyLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEhUVFBfRFlOQU1JQ19JTlRFUkNFUFRPUlMpIHByaXZhdGUgaW50ZXJjZXB0b3JzOiBIdHRwSW50ZXJjZXB0b3JbXSA9IFtdKSB7XHJcbiAgICBzdXBlcihodHRwSGFuZGxlcik7XHJcblxyXG4gICAgaWYgKCF0aGlzLmludGVyY2VwdG9ycykge1xyXG4gICAgICAvLyBDb25maWd1cmUgZGVmYXVsdCBpbnRlcmNlcHRvcnMgdGhhdCBjYW4gYmUgZGlzYWJsZWQgaGVyZVxyXG4gICAgICB0aGlzLmludGVyY2VwdG9ycyA9IFt0aGlzLmluamVjdG9yLmdldChBcGlQcmVmaXhJbnRlcmNlcHRvciksIHRoaXMuaW5qZWN0b3IuZ2V0KEhlYWRlckludGVyY2VwdG9yKSwgdGhpcy5pbmplY3Rvci5nZXQoVG9rZW5JbnRlcmNlcHRvciksIHRoaXMuaW5qZWN0b3IuZ2V0KEVycm9ySGFuZGxlckludGVyY2VwdG9yKV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYWNoZShmb3JjZVVwZGF0ZT86IGJvb2xlYW4pOiBIdHRwU2VydmljZSB7XHJcbiAgICBjb25zdCBjYWNoZUludGVyY2VwdG9yID0gdGhpcy5pbmplY3Rvci5nZXQoQ2FjaGVJbnRlcmNlcHRvcikuY29uZmlndXJlKHsgdXBkYXRlOiBmb3JjZVVwZGF0ZSB9KTtcclxuICAgIHJldHVybiB0aGlzLmFkZEludGVyY2VwdG9yKGNhY2hlSW50ZXJjZXB0b3IpO1xyXG4gIH1cclxuXHJcbiAgc2tpcEVycm9ySGFuZGxlcigpOiBIdHRwU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVJbnRlcmNlcHRvcihFcnJvckhhbmRsZXJJbnRlcmNlcHRvcik7XHJcbiAgfVxyXG5cclxuICBza2lwQXBpUHJlZml4KCk6IEh0dHBTZXJ2aWNlIHtcclxuICAgIHJldHVybiB0aGlzLnJlbW92ZUludGVyY2VwdG9yKEFwaVByZWZpeEludGVyY2VwdG9yKTtcclxuICB9XHJcblxyXG4gIHNraXBUb2tlbigpOiBIdHRwU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVJbnRlcmNlcHRvcihUb2tlbkludGVyY2VwdG9yKTtcclxuICB9XHJcblxyXG4gIHNraXBIZWFkZXIoKTogSHR0cFNlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlSW50ZXJjZXB0b3IoSGVhZGVySW50ZXJjZXB0b3IpO1xyXG4gIH1cclxuXHJcbiAgLy8gT3ZlcnJpZGUgdGhlIG9yaWdpbmFsIG1ldGhvZCB0byB3aXJlIGludGVyY2VwdG9ycyB3aGVuIHRyaWdnZXJpbmcgdGhlIHJlcXVlc3QuXHJcbiAgcmVxdWVzdChtZXRob2Q/OiBhbnksIHVybD86IGFueSwgb3B0aW9ucz86IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5pbnRlcmNlcHRvcnMucmVkdWNlUmlnaHQoXHJcbiAgICAgIChuZXh0LCBpbnRlcmNlcHRvcikgPT4gbmV3IEh0dHBJbnRlcmNlcHRvckhhbmRsZXIobmV4dCwgaW50ZXJjZXB0b3IpLFxyXG4gICAgICB0aGlzLmh0dHBIYW5kbGVyXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwQ2xpZW50KGhhbmRsZXIpLnJlcXVlc3QobWV0aG9kLCB1cmwsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVJbnRlcmNlcHRvcihpbnRlcmNlcHRvclR5cGU6IEZ1bmN0aW9uKTogSHR0cFNlcnZpY2Uge1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwU2VydmljZShcclxuICAgICAgdGhpcy5odHRwSGFuZGxlcixcclxuICAgICAgdGhpcy5pbmplY3RvcixcclxuICAgICAgdGhpcy5pbnRlcmNlcHRvcnMuZmlsdGVyKGkgPT4gIShpIGluc3RhbmNlb2YgaW50ZXJjZXB0b3JUeXBlKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZEludGVyY2VwdG9yKGludGVyY2VwdG9yOiBIdHRwSW50ZXJjZXB0b3IpOiBIdHRwU2VydmljZSB7XHJcbiAgICByZXR1cm4gbmV3IEh0dHBTZXJ2aWNlKFxyXG4gICAgICB0aGlzLmh0dHBIYW5kbGVyLFxyXG4gICAgICB0aGlzLmluamVjdG9yLFxyXG4gICAgICB0aGlzLmludGVyY2VwdG9ycy5jb25jYXQoW2ludGVyY2VwdG9yXSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -1,21 +1,21 @@
1
- export * from './snack/snack.component';
2
- export * from './snack/snack.module';
3
- export * from './alert.service';
4
- export * from './api-prefix.interceptor';
5
- export * from './authentication.guard';
6
- export * from './authentication.service';
7
- export * from './cache.interceptor';
8
- export * from './config.service';
9
- export * from './credentials.service';
10
- export * from './error-handler.interceptor';
11
- export * from './error-handler.service';
12
- export * from './form-validator.service';
13
- export * from './http-cache.service';
14
- export * from './http.service';
15
- export * from './logger.service';
16
- export * from './route-reusable-strategy';
17
- export * from './storage.service';
18
- export * from './techlify-config.model';
19
- export * from './token.interceptor';
20
- export * from './dataManager.service';
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zbmFjay9zbmFjay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zbmFjay9zbmFjay5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGktcHJlZml4LmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aGVudGljYXRpb24uZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FjaGUuaW50ZXJjZXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWRlbnRpYWxzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS12YWxpZGF0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2h0dHAtY2FjaGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2h0dHAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ2dlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGUtcmV1c2FibGUtc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90ZWNobGlmeS1jb25maWcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbi5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2RhdGFNYW5hZ2VyLnNlcnZpY2UnO1xuIl19
1
+ export * from './snack/snack.component';
2
+ export * from './snack/snack.module';
3
+ export * from './alert.service';
4
+ export * from './api-prefix.interceptor';
5
+ export * from './authentication.guard';
6
+ export * from './authentication.service';
7
+ export * from './cache.interceptor';
8
+ export * from './config.service';
9
+ export * from './credentials.service';
10
+ export * from './error-handler.interceptor';
11
+ export * from './error-handler.service';
12
+ export * from './form-validator.service';
13
+ export * from './http-cache.service';
14
+ export * from './http.service';
15
+ export * from './logger.service';
16
+ export * from './route-reusable-strategy';
17
+ export * from './storage.service';
18
+ export * from './techlify-config.model';
19
+ export * from './token.interceptor';
20
+ export * from './dataManager.service';
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zbmFjay9zbmFjay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NuYWNrL3NuYWNrLm1vZHVsZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FwaS1wcmVmaXguaW50ZXJjZXB0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLmd1YXJkJztcclxuZXhwb3J0ICogZnJvbSAnLi9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jYWNoZS5pbnRlcmNlcHRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NyZWRlbnRpYWxzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vycm9yLWhhbmRsZXIuaW50ZXJjZXB0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS12YWxpZGF0b3Iuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1jYWNoZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvZ2dlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS1yZXVzYWJsZS1zdHJhdGVneSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi90ZWNobGlmeS1jb25maWcubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2VuLmludGVyY2VwdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9kYXRhTWFuYWdlci5zZXJ2aWNlJztcclxuIl19