monkey-front-core 0.0.604 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/README.md +3 -4
  2. package/fesm2022/monkey-front-core.mjs +5727 -0
  3. package/fesm2022/monkey-front-core.mjs.map +1 -0
  4. package/monkey-front-core-21.0.0.tgz +0 -0
  5. package/package.json +26 -39
  6. package/types/monkey-front-core.d.ts +1763 -0
  7. package/esm2020/lib/components/alerts/alerts.component.mjs +0 -45
  8. package/esm2020/lib/components/alerts/alerts.module.mjs +0 -21
  9. package/esm2020/lib/components/alerts/index.mjs +0 -3
  10. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +0 -29
  11. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs +0 -43
  12. package/esm2020/lib/components/closed-to-maintenance/index.mjs +0 -3
  13. package/esm2020/lib/components/currency-config/currency-config.component.mjs +0 -39
  14. package/esm2020/lib/components/currency-config/currency-config.module.mjs +0 -39
  15. package/esm2020/lib/components/currency-config/index.mjs +0 -3
  16. package/esm2020/lib/components/index.mjs +0 -6
  17. package/esm2020/lib/components/progress-bar/index.mjs +0 -4
  18. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +0 -23
  19. package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +0 -18
  20. package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +0 -50
  21. package/esm2020/lib/components/version-changed/index.mjs +0 -3
  22. package/esm2020/lib/components/version-changed/version-changed.component.mjs +0 -24
  23. package/esm2020/lib/components/version-changed/version-changed.module.mjs +0 -39
  24. package/esm2020/lib/core/decorators/index.mjs +0 -5
  25. package/esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs +0 -40
  26. package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +0 -111
  27. package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +0 -26
  28. package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +0 -26
  29. package/esm2020/lib/core/directives/index.mjs +0 -14
  30. package/esm2020/lib/core/directives/monkeyecx-directives-module.mjs +0 -78
  31. package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +0 -57
  32. package/esm2020/lib/core/directives/monkeyecx-feature-by-program-directive.mjs +0 -54
  33. package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +0 -68
  34. package/esm2020/lib/core/directives/monkeyecx-format-currency.mjs +0 -44
  35. package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +0 -67
  36. package/esm2020/lib/core/directives/monkeyecx-loading.mjs +0 -48
  37. package/esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs +0 -28
  38. package/esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs +0 -28
  39. package/esm2020/lib/core/directives/monkeyecx-popover-options.directive.mjs +0 -39
  40. package/esm2020/lib/core/directives/monkeyecx-popover.directive.mjs +0 -212
  41. package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +0 -75
  42. package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +0 -123
  43. package/esm2020/lib/core/index.mjs +0 -11
  44. package/esm2020/lib/core/injectors/index.mjs +0 -8
  45. package/esm2020/lib/core/interceptors/index.mjs +0 -6
  46. package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +0 -49
  47. package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +0 -59
  48. package/esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs +0 -47
  49. package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +0 -43
  50. package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +0 -37
  51. package/esm2020/lib/core/interfaces/index.mjs +0 -37
  52. package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +0 -2
  53. package/esm2020/lib/core/interfaces/monkeyecx-company-pendencies.mjs +0 -2
  54. package/esm2020/lib/core/interfaces/monkeyecx-company.mjs +0 -2
  55. package/esm2020/lib/core/interfaces/monkeyecx-config-bootstrap.mjs +0 -2
  56. package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +0 -2
  57. package/esm2020/lib/core/interfaces/monkeyecx-country-security.mjs +0 -2
  58. package/esm2020/lib/core/interfaces/monkeyecx-embedded.mjs +0 -2
  59. package/esm2020/lib/core/interfaces/monkeyecx-error-response.mjs +0 -2
  60. package/esm2020/lib/core/interfaces/monkeyecx-filter.mjs +0 -2
  61. package/esm2020/lib/core/interfaces/monkeyecx-group.mjs +0 -2
  62. package/esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs +0 -2
  63. package/esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs +0 -2
  64. package/esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs +0 -2
  65. package/esm2020/lib/core/interfaces/monkeyecx-interface.mjs +0 -2
  66. package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +0 -2
  67. package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +0 -2
  68. package/esm2020/lib/core/interfaces/monkeyecx-pagination.mjs +0 -2
  69. package/esm2020/lib/core/interfaces/monkeyecx-program.mjs +0 -2
  70. package/esm2020/lib/core/interfaces/monkeyecx-releases.mjs +0 -2
  71. package/esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs +0 -2
  72. package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +0 -2
  73. package/esm2020/lib/core/interfaces/monkeyecx-resolver.mjs +0 -2
  74. package/esm2020/lib/core/interfaces/monkeyecx-response-links.mjs +0 -2
  75. package/esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs +0 -2
  76. package/esm2020/lib/core/interfaces/monkeyecx-saved-state.mjs +0 -2
  77. package/esm2020/lib/core/interfaces/monkeyecx-scroll-options.mjs +0 -2
  78. package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +0 -2
  79. package/esm2020/lib/core/interfaces/monkeyecx-storage.mjs +0 -2
  80. package/esm2020/lib/core/interfaces/monkeyecx-store.mjs +0 -2
  81. package/esm2020/lib/core/interfaces/monkeyecx-support-options.mjs +0 -2
  82. package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +0 -2
  83. package/esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs +0 -2
  84. package/esm2020/lib/core/interfaces/request-download/index.mjs +0 -4
  85. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs +0 -2
  86. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs +0 -2
  87. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs +0 -2
  88. package/esm2020/lib/core/interfaces/request-queue/index.mjs +0 -4
  89. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs +0 -2
  90. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs +0 -2
  91. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs +0 -2
  92. package/esm2020/lib/core/interfaces/request-upload/index.mjs +0 -3
  93. package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs +0 -2
  94. package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs +0 -2
  95. package/esm2020/lib/core/interfaces/schedules/index.mjs +0 -2
  96. package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +0 -2
  97. package/esm2020/lib/core/model/index.mjs +0 -3
  98. package/esm2020/lib/core/model/monkeyecx-links.model.mjs +0 -8
  99. package/esm2020/lib/core/model/monkeyecx-model.mjs +0 -26
  100. package/esm2020/lib/core/pipes/index.mjs +0 -24
  101. package/esm2020/lib/core/pipes/monkeyecx-blob-secure.mjs +0 -26
  102. package/esm2020/lib/core/pipes/monkeyecx-currency-code.mjs +0 -30
  103. package/esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs +0 -19
  104. package/esm2020/lib/core/pipes/monkeyecx-display-initials.mjs +0 -21
  105. package/esm2020/lib/core/pipes/monkeyecx-display-support-phone.mjs +0 -33
  106. package/esm2020/lib/core/pipes/monkeyecx-format-address.mjs +0 -20
  107. package/esm2020/lib/core/pipes/monkeyecx-format-beautify-json.mjs +0 -38
  108. package/esm2020/lib/core/pipes/monkeyecx-format-currency.mjs +0 -48
  109. package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +0 -45
  110. package/esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs +0 -32
  111. package/esm2020/lib/core/pipes/monkeyecx-format-date-unix-timelapse.mjs +0 -36
  112. package/esm2020/lib/core/pipes/monkeyecx-format-date.mjs +0 -30
  113. package/esm2020/lib/core/pipes/monkeyecx-format-document.mjs +0 -20
  114. package/esm2020/lib/core/pipes/monkeyecx-format-number.mjs +0 -20
  115. package/esm2020/lib/core/pipes/monkeyecx-format-phone.mjs +0 -42
  116. package/esm2020/lib/core/pipes/monkeyecx-format-size.mjs +0 -20
  117. package/esm2020/lib/core/pipes/monkeyecx-format-tax.mjs +0 -23
  118. package/esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs +0 -19
  119. package/esm2020/lib/core/pipes/monkeyecx-format-value.mjs +0 -19
  120. package/esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs +0 -19
  121. package/esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs +0 -127
  122. package/esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs +0 -23
  123. package/esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs +0 -16
  124. package/esm2020/lib/core/services/alerts/index.mjs +0 -2
  125. package/esm2020/lib/core/services/alerts/monkeyecx-alerts.service.mjs +0 -88
  126. package/esm2020/lib/core/services/auth/index.mjs +0 -6
  127. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-company.service.mjs +0 -28
  128. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs +0 -27
  129. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-role.service.mjs +0 -77
  130. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs +0 -26
  131. package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +0 -79
  132. package/esm2020/lib/core/services/commons/index.mjs +0 -4
  133. package/esm2020/lib/core/services/commons/monkeyecx-commons-resolve-base.service.mjs +0 -109
  134. package/esm2020/lib/core/services/commons/monkeyecx-commons-resolve.service.mjs +0 -127
  135. package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +0 -362
  136. package/esm2020/lib/core/services/config/monkeyecx-alerts-config.service.mjs +0 -43
  137. package/esm2020/lib/core/services/config/monkeyecx-config.module.mjs +0 -28
  138. package/esm2020/lib/core/services/config/monkeyecx-config.service.mjs +0 -107
  139. package/esm2020/lib/core/services/config/monkeyecx-currency-config.service.mjs +0 -84
  140. package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +0 -85
  141. package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +0 -77
  142. package/esm2020/lib/core/services/config/monkeyecx-gtm-config.service.mjs +0 -47
  143. package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +0 -162
  144. package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +0 -84
  145. package/esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs +0 -37
  146. package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +0 -48
  147. package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +0 -55
  148. package/esm2020/lib/core/services/error/index.mjs +0 -5
  149. package/esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs +0 -27
  150. package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +0 -37
  151. package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +0 -149
  152. package/esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs +0 -49
  153. package/esm2020/lib/core/services/index.mjs +0 -27
  154. package/esm2020/lib/core/services/l/index.mjs +0 -2
  155. package/esm2020/lib/core/services/l/l.service.mjs +0 -45
  156. package/esm2020/lib/core/services/logged/index.mjs +0 -2
  157. package/esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs +0 -40
  158. package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +0 -50
  159. package/esm2020/lib/core/services/monkeyecx-service.service.mjs +0 -109
  160. package/esm2020/lib/core/services/pagination/index.mjs +0 -2
  161. package/esm2020/lib/core/services/pagination/monkeyecx-pagination.service.mjs +0 -29
  162. package/esm2020/lib/core/services/request-download/index.mjs +0 -3
  163. package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +0 -93
  164. package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +0 -61
  165. package/esm2020/lib/core/services/request-paged/index.mjs +0 -2
  166. package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +0 -42
  167. package/esm2020/lib/core/services/request-queue/index.mjs +0 -3
  168. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +0 -114
  169. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +0 -119
  170. package/esm2020/lib/core/services/routes/index.mjs +0 -2
  171. package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +0 -54
  172. package/esm2020/lib/core/services/schedules/index.mjs +0 -2
  173. package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +0 -188
  174. package/esm2020/lib/core/services/storage/index.mjs +0 -3
  175. package/esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs +0 -32
  176. package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +0 -237
  177. package/esm2020/lib/core/services/store/index.mjs +0 -5
  178. package/esm2020/lib/core/services/store/monkeyecx-store-base.service.mjs +0 -174
  179. package/esm2020/lib/core/services/store/monkeyecx-store.actions.mjs +0 -26
  180. package/esm2020/lib/core/services/store/monkeyecx-store.selector.mjs +0 -87
  181. package/esm2020/lib/core/services/store/monkeyecx-store.service.mjs +0 -195
  182. package/esm2020/lib/core/specification-search/index.mjs +0 -2
  183. package/esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs +0 -108
  184. package/esm2020/lib/core/utils/decorators-utils.mjs +0 -40
  185. package/esm2020/lib/core/utils/index.mjs +0 -8
  186. package/esm2020/lib/core/utils/statics.mjs +0 -47
  187. package/esm2020/lib/core/utils/utils.mjs +0 -469
  188. package/esm2020/lib/core/utils/validate-utils.mjs +0 -219
  189. package/esm2020/lib/core/utils/validators.mjs +0 -327
  190. package/esm2020/lib/monkey-front-core.module.mjs +0 -71
  191. package/esm2020/lib/store/actions/index.mjs +0 -2
  192. package/esm2020/lib/store/actions/monkeyecx-storage.actions.mjs +0 -8
  193. package/esm2020/lib/store/index.mjs +0 -4
  194. package/esm2020/lib/store/reducers/index.mjs +0 -3
  195. package/esm2020/lib/store/reducers/monkeyecx-seeder.reducer.mjs +0 -53
  196. package/esm2020/lib/store/reducers/monkeyecx-storage.reducer.mjs +0 -40
  197. package/esm2020/lib/store/selectors/index.mjs +0 -2
  198. package/esm2020/lib/store/selectors/monkeyecx-storage.selector.mjs +0 -17
  199. package/esm2020/monkey-front-core.mjs +0 -5
  200. package/esm2020/public-api.mjs +0 -8
  201. package/fesm2015/monkey-front-core.mjs +0 -7239
  202. package/fesm2015/monkey-front-core.mjs.map +0 -1
  203. package/fesm2020/monkey-front-core.mjs +0 -7249
  204. package/fesm2020/monkey-front-core.mjs.map +0 -1
  205. package/lib/components/alerts/alerts.component.d.ts +0 -22
  206. package/lib/components/alerts/alerts.module.d.ts +0 -10
  207. package/lib/components/alerts/index.d.ts +0 -2
  208. package/lib/components/closed-to-maintenance/closed-to-maintenance.component.d.ts +0 -13
  209. package/lib/components/closed-to-maintenance/closed-to-maintenance.module.d.ts +0 -11
  210. package/lib/components/closed-to-maintenance/index.d.ts +0 -2
  211. package/lib/components/currency-config/currency-config.component.d.ts +0 -17
  212. package/lib/components/currency-config/currency-config.module.d.ts +0 -10
  213. package/lib/components/currency-config/index.d.ts +0 -2
  214. package/lib/components/index.d.ts +0 -5
  215. package/lib/components/progress-bar/index.d.ts +0 -3
  216. package/lib/components/progress-bar/progress-bar.component.d.ts +0 -11
  217. package/lib/components/progress-bar/progress-bar.module.d.ts +0 -8
  218. package/lib/components/progress-bar/progress-bar.service.d.ts +0 -14
  219. package/lib/components/version-changed/index.d.ts +0 -2
  220. package/lib/components/version-changed/version-changed.component.d.ts +0 -9
  221. package/lib/components/version-changed/version-changed.module.d.ts +0 -10
  222. package/lib/core/decorators/index.d.ts +0 -4
  223. package/lib/core/decorators/monkeyecx-charts-decorators.d.ts +0 -1
  224. package/lib/core/decorators/monkeyecx-decorators.d.ts +0 -7
  225. package/lib/core/decorators/monkeyecx-download-decorators.d.ts +0 -2
  226. package/lib/core/decorators/monkeyecx-upload-decorators.d.ts +0 -2
  227. package/lib/core/directives/index.d.ts +0 -13
  228. package/lib/core/directives/monkeyecx-directives-module.d.ts +0 -20
  229. package/lib/core/directives/monkeyecx-drag-drop.d.ts +0 -12
  230. package/lib/core/directives/monkeyecx-feature-by-program-directive.d.ts +0 -16
  231. package/lib/core/directives/monkeyecx-feature-directive.d.ts +0 -17
  232. package/lib/core/directives/monkeyecx-format-currency.d.ts +0 -16
  233. package/lib/core/directives/monkeyecx-format-upper.d.ts +0 -18
  234. package/lib/core/directives/monkeyecx-loading.d.ts +0 -16
  235. package/lib/core/directives/monkeyecx-only-alpha-numeric-directive.d.ts +0 -9
  236. package/lib/core/directives/monkeyecx-only-number-directive.d.ts +0 -9
  237. package/lib/core/directives/monkeyecx-popover-options.directive.d.ts +0 -19
  238. package/lib/core/directives/monkeyecx-popover.directive.d.ts +0 -43
  239. package/lib/core/directives/monkeyecx-security-directive.d.ts +0 -18
  240. package/lib/core/directives/monkeyecx-tooltip-directive.d.ts +0 -23
  241. package/lib/core/index.d.ts +0 -10
  242. package/lib/core/injectors/index.d.ts +0 -7
  243. package/lib/core/interceptors/index.d.ts +0 -5
  244. package/lib/core/interceptors/monkeyecx-http-config-error.interceptor.d.ts +0 -18
  245. package/lib/core/interceptors/monkeyecx-http-config-header.interceptor.d.ts +0 -16
  246. package/lib/core/interceptors/monkeyecx-http-config-interceptor.module.d.ts +0 -9
  247. package/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.d.ts +0 -12
  248. package/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.d.ts +0 -14
  249. package/lib/core/interfaces/index.d.ts +0 -36
  250. package/lib/core/interfaces/monkeyecx-auth-credentials.d.ts +0 -15
  251. package/lib/core/interfaces/monkeyecx-company-pendencies.d.ts +0 -14
  252. package/lib/core/interfaces/monkeyecx-company.d.ts +0 -10
  253. package/lib/core/interfaces/monkeyecx-config-bootstrap.d.ts +0 -14
  254. package/lib/core/interfaces/monkeyecx-config.d.ts +0 -132
  255. package/lib/core/interfaces/monkeyecx-country-security.d.ts +0 -4
  256. package/lib/core/interfaces/monkeyecx-embedded.d.ts +0 -7
  257. package/lib/core/interfaces/monkeyecx-error-response.d.ts +0 -5
  258. package/lib/core/interfaces/monkeyecx-filter.d.ts +0 -42
  259. package/lib/core/interfaces/monkeyecx-group.d.ts +0 -13
  260. package/lib/core/interfaces/monkeyecx-handled-error-response.d.ts +0 -10
  261. package/lib/core/interfaces/monkeyecx-header-credentials.d.ts +0 -4
  262. package/lib/core/interfaces/monkeyecx-intercom-options.d.ts +0 -4
  263. package/lib/core/interfaces/monkeyecx-interface.d.ts +0 -11
  264. package/lib/core/interfaces/monkeyecx-me-credentials.d.ts +0 -20
  265. package/lib/core/interfaces/monkeyecx-navigation.d.ts +0 -30
  266. package/lib/core/interfaces/monkeyecx-pagination.d.ts +0 -26
  267. package/lib/core/interfaces/monkeyecx-program.d.ts +0 -10
  268. package/lib/core/interfaces/monkeyecx-releases.d.ts +0 -9
  269. package/lib/core/interfaces/monkeyecx-request-in-progress.d.ts +0 -3
  270. package/lib/core/interfaces/monkeyecx-request-paged.d.ts +0 -23
  271. package/lib/core/interfaces/monkeyecx-resolver.d.ts +0 -39
  272. package/lib/core/interfaces/monkeyecx-response-links.d.ts +0 -11
  273. package/lib/core/interfaces/monkeyecx-response-paged.d.ts +0 -6
  274. package/lib/core/interfaces/monkeyecx-saved-state.d.ts +0 -5
  275. package/lib/core/interfaces/monkeyecx-scroll-options.d.ts +0 -5
  276. package/lib/core/interfaces/monkeyecx-service-credentials.d.ts +0 -12
  277. package/lib/core/interfaces/monkeyecx-storage.d.ts +0 -35
  278. package/lib/core/interfaces/monkeyecx-store.d.ts +0 -45
  279. package/lib/core/interfaces/monkeyecx-support-options.d.ts +0 -4
  280. package/lib/core/interfaces/monkeyecx-token-credentials.d.ts +0 -30
  281. package/lib/core/interfaces/monkeyecx-translate-options.d.ts +0 -4
  282. package/lib/core/interfaces/request-download/index.d.ts +0 -3
  283. package/lib/core/interfaces/request-download/monkeyecx-request-download.d.ts +0 -10
  284. package/lib/core/interfaces/request-download/monkeyecx-request-downloaded.d.ts +0 -7
  285. package/lib/core/interfaces/request-download/monkeyecx-request-item-download.d.ts +0 -7
  286. package/lib/core/interfaces/request-queue/index.d.ts +0 -3
  287. package/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.d.ts +0 -7
  288. package/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.d.ts +0 -6
  289. package/lib/core/interfaces/request-queue/monkeyecx-request-queue.d.ts +0 -8
  290. package/lib/core/interfaces/request-upload/index.d.ts +0 -2
  291. package/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.d.ts +0 -5
  292. package/lib/core/interfaces/request-upload/monkeyecx-request-upload.d.ts +0 -10
  293. package/lib/core/interfaces/schedules/index.d.ts +0 -1
  294. package/lib/core/interfaces/schedules/monkeyecx-request-schedule.d.ts +0 -13
  295. package/lib/core/model/index.d.ts +0 -2
  296. package/lib/core/model/monkeyecx-links.model.d.ts +0 -4
  297. package/lib/core/model/monkeyecx-model.d.ts +0 -14
  298. package/lib/core/pipes/index.d.ts +0 -23
  299. package/lib/core/pipes/monkeyecx-blob-secure.d.ts +0 -13
  300. package/lib/core/pipes/monkeyecx-currency-code.d.ts +0 -9
  301. package/lib/core/pipes/monkeyecx-display-first-name.d.ts +0 -7
  302. package/lib/core/pipes/monkeyecx-display-initials.d.ts +0 -7
  303. package/lib/core/pipes/monkeyecx-display-support-phone.d.ts +0 -18
  304. package/lib/core/pipes/monkeyecx-format-address.d.ts +0 -14
  305. package/lib/core/pipes/monkeyecx-format-beautify-json.d.ts +0 -8
  306. package/lib/core/pipes/monkeyecx-format-currency.d.ts +0 -12
  307. package/lib/core/pipes/monkeyecx-format-date-group.d.ts +0 -11
  308. package/lib/core/pipes/monkeyecx-format-date-timelapse.d.ts +0 -7
  309. package/lib/core/pipes/monkeyecx-format-date-unix-timelapse.d.ts +0 -7
  310. package/lib/core/pipes/monkeyecx-format-date.d.ts +0 -12
  311. package/lib/core/pipes/monkeyecx-format-document.d.ts +0 -7
  312. package/lib/core/pipes/monkeyecx-format-number.d.ts +0 -7
  313. package/lib/core/pipes/monkeyecx-format-phone.d.ts +0 -7
  314. package/lib/core/pipes/monkeyecx-format-size.d.ts +0 -7
  315. package/lib/core/pipes/monkeyecx-format-tax.d.ts +0 -7
  316. package/lib/core/pipes/monkeyecx-format-type-document.d.ts +0 -7
  317. package/lib/core/pipes/monkeyecx-format-value.d.ts +0 -7
  318. package/lib/core/pipes/monkeyecx-format-zipcode.d.ts +0 -7
  319. package/lib/core/pipes/monkeyecx-pipes.module.d.ts +0 -28
  320. package/lib/core/pipes/monkeyecx-text-truncate.d.ts +0 -7
  321. package/lib/core/pipes/monkeyecx-truncate-qtd.d.ts +0 -7
  322. package/lib/core/services/alerts/index.d.ts +0 -1
  323. package/lib/core/services/alerts/monkeyecx-alerts.service.d.ts +0 -49
  324. package/lib/core/services/auth/index.d.ts +0 -5
  325. package/lib/core/services/auth/monkeyecx-auth-guard-company.service.d.ts +0 -10
  326. package/lib/core/services/auth/monkeyecx-auth-guard-login.service.d.ts +0 -10
  327. package/lib/core/services/auth/monkeyecx-auth-guard-role.service.d.ts +0 -16
  328. package/lib/core/services/auth/monkeyecx-auth-guard.service.d.ts +0 -10
  329. package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +0 -35
  330. package/lib/core/services/commons/index.d.ts +0 -3
  331. package/lib/core/services/commons/monkeyecx-commons-resolve-base.service.d.ts +0 -46
  332. package/lib/core/services/commons/monkeyecx-commons-resolve.service.d.ts +0 -60
  333. package/lib/core/services/commons/monkeyecx-commons.service.d.ts +0 -120
  334. package/lib/core/services/config/monkeyecx-alerts-config.service.d.ts +0 -11
  335. package/lib/core/services/config/monkeyecx-config.module.d.ts +0 -9
  336. package/lib/core/services/config/monkeyecx-config.service.d.ts +0 -36
  337. package/lib/core/services/config/monkeyecx-currency-config.service.d.ts +0 -15
  338. package/lib/core/services/config/monkeyecx-error-config.service.d.ts +0 -8
  339. package/lib/core/services/config/monkeyecx-feature-toggle.service.d.ts +0 -17
  340. package/lib/core/services/config/monkeyecx-gtm-config.service.d.ts +0 -8
  341. package/lib/core/services/config/monkeyecx-i18n-config.service.d.ts +0 -24
  342. package/lib/core/services/config/monkeyecx-logs-config.service.d.ts +0 -14
  343. package/lib/core/services/config/monkeyecx-maintenance-config.service.d.ts +0 -13
  344. package/lib/core/services/config/monkeyecx-security-console-config.service.d.ts +0 -12
  345. package/lib/core/services/config/monkeyecx-service-worker-config.service.d.ts +0 -16
  346. package/lib/core/services/error/index.d.ts +0 -4
  347. package/lib/core/services/error/monkeyecx-error-handling.module.d.ts +0 -9
  348. package/lib/core/services/error/monkeyecx-error-handling.service.d.ts +0 -9
  349. package/lib/core/services/error/monkeyecx-http-error-handling.service.d.ts +0 -26
  350. package/lib/core/services/error/monkeyecx-others-errors-handling.service.d.ts +0 -11
  351. package/lib/core/services/index.d.ts +0 -26
  352. package/lib/core/services/l/index.d.ts +0 -1
  353. package/lib/core/services/l/l.service.d.ts +0 -11
  354. package/lib/core/services/logged/index.d.ts +0 -1
  355. package/lib/core/services/logged/monkeyecx-logged-handling.service.d.ts +0 -14
  356. package/lib/core/services/monkeyecx-handling.service.d.ts +0 -22
  357. package/lib/core/services/monkeyecx-service.service.d.ts +0 -19
  358. package/lib/core/services/pagination/index.d.ts +0 -1
  359. package/lib/core/services/pagination/monkeyecx-pagination.service.d.ts +0 -9
  360. package/lib/core/services/request-download/index.d.ts +0 -2
  361. package/lib/core/services/request-download/monkeyecx-request-download-handling.service.d.ts +0 -18
  362. package/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.d.ts +0 -16
  363. package/lib/core/services/request-paged/index.d.ts +0 -1
  364. package/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.d.ts +0 -11
  365. package/lib/core/services/request-queue/index.d.ts +0 -2
  366. package/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.d.ts +0 -21
  367. package/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.d.ts +0 -23
  368. package/lib/core/services/routes/index.d.ts +0 -1
  369. package/lib/core/services/routes/monkeyecx-dicovery-params.service.d.ts +0 -13
  370. package/lib/core/services/schedules/index.d.ts +0 -1
  371. package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +0 -47
  372. package/lib/core/services/storage/index.d.ts +0 -2
  373. package/lib/core/services/storage/monkeyecx-cookie-storage.service.d.ts +0 -11
  374. package/lib/core/services/storage/monkeyecx-token-storage.service.d.ts +0 -30
  375. package/lib/core/services/store/index.d.ts +0 -4
  376. package/lib/core/services/store/monkeyecx-store-base.service.d.ts +0 -47
  377. package/lib/core/services/store/monkeyecx-store.actions.d.ts +0 -42
  378. package/lib/core/services/store/monkeyecx-store.selector.d.ts +0 -32
  379. package/lib/core/services/store/monkeyecx-store.service.d.ts +0 -50
  380. package/lib/core/specification-search/index.d.ts +0 -1
  381. package/lib/core/specification-search/monkeyecx-specification-search.d.ts +0 -20
  382. package/lib/core/utils/decorators-utils.d.ts +0 -5
  383. package/lib/core/utils/index.d.ts +0 -6
  384. package/lib/core/utils/statics.d.ts +0 -36
  385. package/lib/core/utils/utils.d.ts +0 -39
  386. package/lib/core/utils/validate-utils.d.ts +0 -71
  387. package/lib/core/utils/validators.d.ts +0 -43
  388. package/lib/monkey-front-core.module.d.ts +0 -19
  389. package/lib/store/actions/index.d.ts +0 -1
  390. package/lib/store/actions/monkeyecx-storage.actions.d.ts +0 -23
  391. package/lib/store/index.d.ts +0 -3
  392. package/lib/store/reducers/index.d.ts +0 -2
  393. package/lib/store/reducers/monkeyecx-seeder.reducer.d.ts +0 -2
  394. package/lib/store/reducers/monkeyecx-storage.reducer.d.ts +0 -13
  395. package/lib/store/selectors/index.d.ts +0 -1
  396. package/lib/store/selectors/monkeyecx-storage.selector.d.ts +0 -8
  397. package/monkey-front-core-0.0.604.tgz +0 -0
  398. package/monkey-front-core.d.ts +0 -5
  399. package/public-api.d.ts +0 -4
@@ -1,188 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';
4
- import { MonkeyEcxUtils } from '../../utils/utils';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../monkeyecx-service.service";
7
- import * as i2 from "../logged";
8
- export class MonkeyEcxRequestScheduleService {
9
- constructor(monkeyecxService, monkeyLoggedHandlingService) {
10
- this.monkeyecxService = monkeyecxService;
11
- this.monkeyLoggedHandlingService = monkeyLoggedHandlingService;
12
- this.schedule = [];
13
- this.genericSchedule = [];
14
- // not to do
15
- }
16
- addToSchedule(q) {
17
- this.schedule.push(q);
18
- this.monkeyLoggedHandlingService.addSchedule(this.schedule);
19
- }
20
- addToGenericSchedule(q) {
21
- this.genericSchedule.push(q);
22
- this.monkeyLoggedHandlingService.addGenericSchedule(this.genericSchedule);
23
- }
24
- removeFromSchedule(q) {
25
- clearInterval(q.interval);
26
- const saved = [...this.schedule];
27
- this.schedule = [
28
- ...saved.map((sch) => {
29
- const savedLocal = {
30
- ...sch
31
- };
32
- if (sch.id === q.id) {
33
- return null;
34
- }
35
- return savedLocal;
36
- })
37
- ].filter((_) => {
38
- return _;
39
- });
40
- this.monkeyLoggedHandlingService.addSchedule(this.schedule);
41
- }
42
- removeFromGenericSchedule(q) {
43
- clearInterval(q.interval);
44
- const saved = [...this.genericSchedule];
45
- this.genericSchedule = [
46
- ...saved.map((sch) => {
47
- const savedLocal = {
48
- ...sch
49
- };
50
- if (sch.id === q.id) {
51
- return null;
52
- }
53
- return savedLocal;
54
- })
55
- ].filter((_) => {
56
- return _;
57
- });
58
- this.monkeyLoggedHandlingService.addGenericSchedule(this.genericSchedule);
59
- }
60
- removeFromScheduleById(id) {
61
- const q = this.getScheduleById(id);
62
- clearInterval(q?.interval);
63
- const saved = [...this.schedule];
64
- this.schedule = [
65
- ...saved.map((sch) => {
66
- const savedLocal = {
67
- ...sch
68
- };
69
- if (sch.id === q?.id) {
70
- return null;
71
- }
72
- return savedLocal;
73
- })
74
- ].filter((_) => {
75
- return _;
76
- });
77
- this.monkeyLoggedHandlingService.addSchedule(this.schedule);
78
- }
79
- doCall(sch) {
80
- const { url, method, params, data, action, errorAction } = sch;
81
- const errAction = errorAction || ((...args) => { });
82
- this.monkeyecxService[method.toLowerCase()](`${url}`, params).subscribe((resp) => {
83
- action({
84
- ...data,
85
- ...resp
86
- }, sch);
87
- }, (err) => {
88
- this.removeFromSchedule(sch);
89
- errAction({
90
- ...data
91
- }, sch, err);
92
- });
93
- }
94
- doGenericCall(sch) {
95
- const { url, method, params, data, action, errorAction } = sch;
96
- const errAction = errorAction || ((...args) => { });
97
- this.monkeyecxService[method.toLowerCase()](`${url}`, params).subscribe((resp) => {
98
- action({
99
- ...data,
100
- ...resp
101
- }, sch);
102
- }, (err) => {
103
- this.removeFromGenericSchedule(sch);
104
- errAction({
105
- ...data
106
- }, sch, err);
107
- });
108
- }
109
- setSchedule(q, delay = 3000) {
110
- const id = q?.id || `${MonkeyEcxUtils.getRandomString(40)}`;
111
- const obj = {
112
- ...q,
113
- id
114
- };
115
- const interval = setInterval(() => {
116
- this.doCall({
117
- ...obj,
118
- interval
119
- });
120
- }, delay);
121
- const sch = {
122
- ...obj,
123
- interval
124
- };
125
- this.addToSchedule(sch);
126
- return sch;
127
- }
128
- setGenericSchedule(q, delay = 3000) {
129
- const interval = setInterval(() => {
130
- this.doGenericCall({
131
- ...q,
132
- interval
133
- });
134
- }, delay);
135
- const sch = {
136
- ...q,
137
- id: `${MonkeyEcxUtils.getRandomString(40)}`,
138
- interval
139
- };
140
- this.addToGenericSchedule(sch);
141
- return sch;
142
- }
143
- removeSchedule(q) {
144
- this.removeFromSchedule(q);
145
- }
146
- removeGenericSchedule(q) {
147
- this.removeFromGenericSchedule(q);
148
- }
149
- removeScheduleById(id) {
150
- this.removeFromScheduleById(id);
151
- }
152
- getScheduleById(id) {
153
- const q = this.schedule.find((sch) => {
154
- return sch.id === id;
155
- });
156
- return q;
157
- }
158
- }
159
- MonkeyEcxRequestScheduleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestScheduleService, deps: [{ token: i1.MonkeyEcxService }, { token: i2.MonkeyEcxLoggedHandlingService }], target: i0.ɵɵFactoryTarget.Injectable });
160
- MonkeyEcxRequestScheduleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestScheduleService, providedIn: 'root' });
161
- __decorate([
162
- MonkeyEcxCoreService({
163
- httpResponse: {
164
- httpCodeIgnore: [400, 403, 404, 500, 503]
165
- },
166
- requestInProgress: {
167
- showProgress: false
168
- }
169
- })
170
- ], MonkeyEcxRequestScheduleService.prototype, "doCall", null);
171
- __decorate([
172
- MonkeyEcxCoreService({
173
- httpResponse: {
174
- httpCodeIgnore: [400, 401, 403, 404, 500, 503],
175
- httpCodeIgnoreRedirect: [503]
176
- },
177
- requestInProgress: {
178
- showProgress: false
179
- }
180
- })
181
- ], MonkeyEcxRequestScheduleService.prototype, "doGenericCall", null);
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestScheduleService, decorators: [{
183
- type: Injectable,
184
- args: [{
185
- providedIn: 'root'
186
- }]
187
- }], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.MonkeyEcxLoggedHandlingService }]; }, propDecorators: { doCall: [], doGenericCall: [] } });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFRbkQsTUFBTSxPQUFPLCtCQUErQjtJQUsxQyxZQUNTLGdCQUFrQyxFQUNqQywyQkFBMkQ7UUFENUQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQWdDO1FBTjdELGFBQVEsR0FBdUMsRUFBRSxDQUFDO1FBRWxELG9CQUFlLEdBQXVDLEVBQUUsQ0FBQztRQU0vRCxZQUFZO0lBQ2QsQ0FBQztJQUVPLGFBQWEsQ0FBQyxDQUEyQjtRQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsQ0FBMkI7UUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLDJCQUEyQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU8sa0JBQWtCLENBQUMsQ0FBMkI7UUFDcEQsYUFBYSxDQUFDLENBQUMsQ0FB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RCxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLEVBQVU7UUFDbEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxlQUFlLENBQUMsRUFBVTtRQUMvQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQTZCLEVBQUUsRUFBRTtZQUM3RCxPQUFPLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDOzs0SEFuTlUsK0JBQStCO2dJQUEvQiwrQkFBK0IsY0FGOUIsTUFBTTtBQTBGbEI7SUFSQyxvQkFBb0IsQ0FBQztRQUNwQixZQUFZLEVBQUU7WUFDWixjQUFjLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1NBQzFDO1FBQ0QsaUJBQWlCLEVBQUU7WUFDakIsWUFBWSxFQUFFLEtBQUs7U0FDcEI7S0FDRixDQUFDOzZEQTJCRDtBQVdEO0lBVEMsb0JBQW9CLENBQUM7UUFDcEIsWUFBWSxFQUFFO1lBQ1osY0FBYyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7WUFDOUMsc0JBQXNCLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDOUI7UUFDRCxpQkFBaUIsRUFBRTtZQUNqQixZQUFZLEVBQUUsS0FBSztTQUNwQjtLQUNGLENBQUM7b0VBMkJEOzJGQXZKVSwrQkFBK0I7a0JBSDNDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CO29KQXlGUyxNQUFNLE1BcUNOLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1vbmtleUVjeENvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycy9tb25rZXllY3gtZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZSB9IGZyb20gJy4uL21vbmtleWVjeC1zZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4TG9nZ2VkSGFuZGxpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nZ2VkJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlU2VydmljZSB7XG4gIHByaXZhdGUgc2NoZWR1bGU6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZVtdIHwgYW55W10gPSBbXTtcblxuICBwcml2YXRlIGdlbmVyaWNTY2hlZHVsZTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlW10gfCBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBtb25rZXllY3hTZXJ2aWNlOiBNb25rZXlFY3hTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9ua2V5TG9nZ2VkSGFuZGxpbmdTZXJ2aWNlOiBNb25rZXlFY3hMb2dnZWRIYW5kbGluZ1NlcnZpY2VcbiAgKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBwcml2YXRlIGFkZFRvU2NoZWR1bGUocTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlKSB7XG4gICAgdGhpcy5zY2hlZHVsZS5wdXNoKHEpO1xuICAgIHRoaXMubW9ua2V5TG9nZ2VkSGFuZGxpbmdTZXJ2aWNlLmFkZFNjaGVkdWxlKHRoaXMuc2NoZWR1bGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUb0dlbmVyaWNTY2hlZHVsZShxOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpIHtcbiAgICB0aGlzLmdlbmVyaWNTY2hlZHVsZS5wdXNoKHEpO1xuICAgIHRoaXMubW9ua2V5TG9nZ2VkSGFuZGxpbmdTZXJ2aWNlLmFkZEdlbmVyaWNTY2hlZHVsZSh0aGlzLmdlbmVyaWNTY2hlZHVsZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUZyb21TY2hlZHVsZShxOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpIHtcbiAgICBjbGVhckludGVydmFsKHEuaW50ZXJ2YWwpO1xuICAgIGNvbnN0IHNhdmVkID0gWy4uLnRoaXMuc2NoZWR1bGVdO1xuICAgIHRoaXMuc2NoZWR1bGUgPSBbXG4gICAgICAuLi5zYXZlZC5tYXAoKHNjaDogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlKSA9PiB7XG4gICAgICAgIGNvbnN0IHNhdmVkTG9jYWwgPSB7XG4gICAgICAgICAgLi4uc2NoXG4gICAgICAgIH07XG4gICAgICAgIGlmIChzY2guaWQgPT09IHEuaWQpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2F2ZWRMb2NhbDtcbiAgICAgIH0pXG4gICAgXS5maWx0ZXIoKF86IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIF87XG4gICAgfSk7XG4gICAgdGhpcy5tb25rZXlMb2dnZWRIYW5kbGluZ1NlcnZpY2UuYWRkU2NoZWR1bGUodGhpcy5zY2hlZHVsZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUZyb21HZW5lcmljU2NoZWR1bGUocTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlKSB7XG4gICAgY2xlYXJJbnRlcnZhbChxLmludGVydmFsKTtcbiAgICBjb25zdCBzYXZlZCA9IFsuLi50aGlzLmdlbmVyaWNTY2hlZHVsZV07XG4gICAgdGhpcy5nZW5lcmljU2NoZWR1bGUgPSBbXG4gICAgICAuLi5zYXZlZC5tYXAoKHNjaDogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlKSA9PiB7XG4gICAgICAgIGNvbnN0IHNhdmVkTG9jYWwgPSB7XG4gICAgICAgICAgLi4uc2NoXG4gICAgICAgIH07XG4gICAgICAgIGlmIChzY2guaWQgPT09IHEuaWQpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2F2ZWRMb2NhbDtcbiAgICAgIH0pXG4gICAgXS5maWx0ZXIoKF86IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIF87XG4gICAgfSk7XG4gICAgdGhpcy5tb25rZXlMb2dnZWRIYW5kbGluZ1NlcnZpY2UuYWRkR2VuZXJpY1NjaGVkdWxlKHRoaXMuZ2VuZXJpY1NjaGVkdWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRnJvbVNjaGVkdWxlQnlJZChpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcSA9IHRoaXMuZ2V0U2NoZWR1bGVCeUlkKGlkKTtcbiAgICBjbGVhckludGVydmFsKHE/LmludGVydmFsKTtcbiAgICBjb25zdCBzYXZlZCA9IFsuLi50aGlzLnNjaGVkdWxlXTtcbiAgICB0aGlzLnNjaGVkdWxlID0gW1xuICAgICAgLi4uc2F2ZWQubWFwKChzY2g6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSkgPT4ge1xuICAgICAgICBjb25zdCBzYXZlZExvY2FsID0ge1xuICAgICAgICAgIC4uLnNjaFxuICAgICAgICB9O1xuICAgICAgICBpZiAoc2NoLmlkID09PSBxPy5pZCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzYXZlZExvY2FsO1xuICAgICAgfSlcbiAgICBdLmZpbHRlcigoXzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gXztcbiAgICB9KTtcbiAgICB0aGlzLm1vbmtleUxvZ2dlZEhhbmRsaW5nU2VydmljZS5hZGRTY2hlZHVsZSh0aGlzLnNjaGVkdWxlKTtcbiAgfVxuXG4gIEBNb25rZXlFY3hDb3JlU2VydmljZSh7XG4gICAgaHR0cFJlc3BvbnNlOiB7XG4gICAgICBodHRwQ29kZUlnbm9yZTogWzQwMCwgNDAzLCA0MDQsIDUwMCwgNTAzXVxuICAgIH0sXG4gICAgcmVxdWVzdEluUHJvZ3Jlc3M6IHtcbiAgICAgIHNob3dQcm9ncmVzczogZmFsc2VcbiAgICB9XG4gIH0pXG4gIHByaXZhdGUgZG9DYWxsKHNjaDogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlKSB7XG4gICAgY29uc3QgeyB1cmwsIG1ldGhvZCwgcGFyYW1zLCBkYXRhLCBhY3Rpb24sIGVycm9yQWN0aW9uIH0gPSBzY2g7XG5cbiAgICBjb25zdCBlcnJBY3Rpb24gPSBlcnJvckFjdGlvbiB8fCAoKC4uLmFyZ3MpID0+IHt9KTtcblxuICAgIHRoaXMubW9ua2V5ZWN4U2VydmljZVttZXRob2QudG9Mb3dlckNhc2UoKV08YW55PihgJHt1cmx9YCwgcGFyYW1zKS5zdWJzY3JpYmUoXG4gICAgICAocmVzcDogYW55KSA9PiB7XG4gICAgICAgIGFjdGlvbihcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgICAgLi4ucmVzcFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2NoXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5yZW1vdmVGcm9tU2NoZWR1bGUoc2NoKTtcbiAgICAgICAgZXJyQWN0aW9uKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLmRhdGFcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNjaCxcbiAgICAgICAgICBlcnJcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgQE1vbmtleUVjeENvcmVTZXJ2aWNlKHtcbiAgICBodHRwUmVzcG9uc2U6IHtcbiAgICAgIGh0dHBDb2RlSWdub3JlOiBbNDAwLCA0MDEsIDQwMywgNDA0LCA1MDAsIDUwM10sXG4gICAgICBodHRwQ29kZUlnbm9yZVJlZGlyZWN0OiBbNTAzXVxuICAgIH0sXG4gICAgcmVxdWVzdEluUHJvZ3Jlc3M6IHtcbiAgICAgIHNob3dQcm9ncmVzczogZmFsc2VcbiAgICB9XG4gIH0pXG4gIHByaXZhdGUgZG9HZW5lcmljQ2FsbChzY2g6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSkge1xuICAgIGNvbnN0IHsgdXJsLCBtZXRob2QsIHBhcmFtcywgZGF0YSwgYWN0aW9uLCBlcnJvckFjdGlvbiB9ID0gc2NoO1xuXG4gICAgY29uc3QgZXJyQWN0aW9uID0gZXJyb3JBY3Rpb24gfHwgKCguLi5hcmdzKSA9PiB7fSk7XG5cbiAgICB0aGlzLm1vbmtleWVjeFNlcnZpY2VbbWV0aG9kLnRvTG93ZXJDYXNlKCldPGFueT4oYCR7dXJsfWAsIHBhcmFtcykuc3Vic2NyaWJlKFxuICAgICAgKHJlc3A6IGFueSkgPT4ge1xuICAgICAgICBhY3Rpb24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAgIC4uLnJlc3BcbiAgICAgICAgICB9LFxuICAgICAgICAgIHNjaFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMucmVtb3ZlRnJvbUdlbmVyaWNTY2hlZHVsZShzY2gpO1xuICAgICAgICBlcnJBY3Rpb24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4uZGF0YVxuICAgICAgICAgIH0sXG4gICAgICAgICAgc2NoLFxuICAgICAgICAgIGVyclxuICAgICAgICApO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2NoZWR1bGUocTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlLCBkZWxheTogbnVtYmVyID0gMzAwMCkge1xuICAgIGNvbnN0IGlkID0gcT8uaWQgfHwgYCR7TW9ua2V5RWN4VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDQwKX1gO1xuICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgIC4uLnEsXG4gICAgICBpZFxuICAgIH07XG5cbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuZG9DYWxsKHtcbiAgICAgICAgLi4ub2JqLFxuICAgICAgICBpbnRlcnZhbFxuICAgICAgfSk7XG4gICAgfSwgZGVsYXkpO1xuXG4gICAgY29uc3Qgc2NoID0ge1xuICAgICAgLi4ub2JqLFxuICAgICAgaW50ZXJ2YWxcbiAgICB9O1xuXG4gICAgdGhpcy5hZGRUb1NjaGVkdWxlKHNjaCk7XG4gICAgcmV0dXJuIHNjaDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRHZW5lcmljU2NoZWR1bGUocTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlLCBkZWxheTogbnVtYmVyID0gMzAwMCkge1xuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5kb0dlbmVyaWNDYWxsKHtcbiAgICAgICAgLi4ucSxcbiAgICAgICAgaW50ZXJ2YWxcbiAgICAgIH0pO1xuICAgIH0sIGRlbGF5KTtcblxuICAgIGNvbnN0IHNjaCA9IHtcbiAgICAgIC4uLnEsXG4gICAgICBpZDogYCR7TW9ua2V5RWN4VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDQwKX1gLFxuICAgICAgaW50ZXJ2YWxcbiAgICB9O1xuXG4gICAgdGhpcy5hZGRUb0dlbmVyaWNTY2hlZHVsZShzY2gpO1xuICAgIHJldHVybiBzY2g7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlU2NoZWR1bGUocTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlKSB7XG4gICAgdGhpcy5yZW1vdmVGcm9tU2NoZWR1bGUocSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlR2VuZXJpY1NjaGVkdWxlKHE6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSkge1xuICAgIHRoaXMucmVtb3ZlRnJvbUdlbmVyaWNTY2hlZHVsZShxKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVTY2hlZHVsZUJ5SWQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMucmVtb3ZlRnJvbVNjaGVkdWxlQnlJZChpZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2NoZWR1bGVCeUlkKGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBxID0gdGhpcy5zY2hlZHVsZS5maW5kKChzY2g6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSkgPT4ge1xuICAgICAgcmV0dXJuIHNjaC5pZCA9PT0gaWQ7XG4gICAgfSk7XG4gICAgcmV0dXJuIHE7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './monkeyecx-token-storage.service';
2
- export * from './monkeyecx-cookie-storage.service';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC10b2tlbi1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtY29va2llLXN0b3JhZ2Uuc2VydmljZSc7XG4iXX0=
@@ -1,32 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "ngx-cookie-service";
4
- export class MonkeyEcxCookieStorageService {
5
- constructor(cookieService) {
6
- this.cookieService = cookieService;
7
- // not to do
8
- }
9
- setCookie(name, value, environment) {
10
- this.removeCookie(name, environment);
11
- const { urlDomain } = environment;
12
- const handledDomain = urlDomain ? `.${urlDomain}` : '';
13
- this.cookieService.set(name, value, undefined, '/', handledDomain, true, 'None');
14
- }
15
- getCookie(name) {
16
- return this.cookieService.get(name);
17
- }
18
- removeCookie(name, environment) {
19
- const { urlDomain } = environment;
20
- const handledDomain = urlDomain ? `.${urlDomain}` : '';
21
- this.cookieService.delete(name, '/', handledDomain, true, 'None');
22
- }
23
- }
24
- MonkeyEcxCookieStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxCookieStorageService, deps: [{ token: i1.CookieService }], target: i0.ɵɵFactoryTarget.Injectable });
25
- MonkeyEcxCookieStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxCookieStorageService, providedIn: 'root' });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxCookieStorageService, decorators: [{
27
- type: Injectable,
28
- args: [{
29
- providedIn: 'root'
30
- }]
31
- }], ctorParameters: function () { return [{ type: i1.CookieService }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvb2tpZS1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc3RvcmFnZS9tb25rZXllY3gtY29va2llLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLDZCQUE2QjtJQUN4QyxZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM5QyxZQUFZO0lBQ2QsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFZLEVBQUUsS0FBVSxFQUFFLFdBQWdCO1FBQ3pELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFDbEMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFZO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFZLEVBQUUsV0FBZ0I7UUFDaEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFdBQVcsQ0FBQztRQUNsQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs7MEhBcEJVLDZCQUE2Qjs4SEFBN0IsNkJBQTZCLGNBRjVCLE1BQU07MkZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hDb29raWVTdG9yYWdlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgcHVibGljIHNldENvb2tpZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnksIGVudmlyb25tZW50OiBhbnkpIHtcbiAgICB0aGlzLnJlbW92ZUNvb2tpZShuYW1lLCBlbnZpcm9ubWVudCk7XG4gICAgY29uc3QgeyB1cmxEb21haW4gfSA9IGVudmlyb25tZW50O1xuICAgIGNvbnN0IGhhbmRsZWREb21haW4gPSB1cmxEb21haW4gPyBgLiR7dXJsRG9tYWlufWAgOiAnJztcbiAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KG5hbWUsIHZhbHVlLCB1bmRlZmluZWQsICcvJywgaGFuZGxlZERvbWFpbiwgdHJ1ZSwgJ05vbmUnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb29raWUobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuY29va2llU2VydmljZS5nZXQobmFtZSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQ29va2llKG5hbWU6IHN0cmluZywgZW52aXJvbm1lbnQ6IGFueSkge1xuICAgIGNvbnN0IHsgdXJsRG9tYWluIH0gPSBlbnZpcm9ubWVudDtcbiAgICBjb25zdCBoYW5kbGVkRG9tYWluID0gdXJsRG9tYWluID8gYC4ke3VybERvbWFpbn1gIDogJyc7XG4gICAgdGhpcy5jb29raWVTZXJ2aWNlLmRlbGV0ZShuYW1lLCAnLycsIGhhbmRsZWREb21haW4sIHRydWUsICdOb25lJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,237 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject, of } from 'rxjs';
3
- import { take } from 'rxjs/operators';
4
- import { actions, selectors } from '../../../store';
5
- import { MonkeyEcxUtils } from '../../utils/utils';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../config/monkeyecx-config.service";
8
- import * as i2 from "@ngrx/store";
9
- export class MonkeyEcxTokenStorageService {
10
- constructor(monkeyecxConfigService, store) {
11
- this.monkeyecxConfigService = monkeyecxConfigService;
12
- this.store = store;
13
- this.token = {
14
- username: '',
15
- program: '',
16
- accessToken: '',
17
- refreshToken: '',
18
- companyId: '',
19
- governmentId: '',
20
- companyTypeUrl: '',
21
- companyType: '',
22
- programAdmin: false,
23
- programType: '',
24
- accessType: '',
25
- role: '',
26
- ownerGovernmentId: '',
27
- name: '',
28
- _clearIgnore: {
29
- ignore: ['username', 'program', 'accessType']
30
- }
31
- };
32
- this.token$ = new BehaviorSubject(null);
33
- this.me$ = new BehaviorSubject(null);
34
- }
35
- setAllTokens(token) {
36
- const { token$, store } = this;
37
- // #TODO - Remover esse código e apenas deixar o username
38
- // todo o restante ficou salvo na store com a keu sendo o username
39
- Object.entries(token).forEach(([key, value]) => {
40
- if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {
41
- localStorage.setItem(key, value);
42
- }
43
- });
44
- const username = token.username || localStorage.getItem('username');
45
- if (username) {
46
- store.dispatch(actions.monkeyecxStorage.create({
47
- data: [
48
- {
49
- username,
50
- ...token
51
- }
52
- ]
53
- }));
54
- }
55
- token$.next(token);
56
- }
57
- async getAllTokens() {
58
- try {
59
- const { store, monkeyecxConfigService } = this;
60
- const username = localStorage.getItem('username');
61
- let data = {
62
- username: username || '',
63
- program: '',
64
- accessToken: ''
65
- };
66
- if (username) {
67
- data = await store.select(selectors.monkeyecxStorage.select({ username })).pipe(take(1)).toPromise();
68
- if (!data?.program) {
69
- const program = localStorage.getItem('program');
70
- data = {
71
- ...data,
72
- program
73
- };
74
- }
75
- }
76
- const config = await monkeyecxConfigService.config()
77
- .pipe(take(1)).toPromise();
78
- const accessType = localStorage.getItem('accessType');
79
- const companyType = localStorage.getItem('companyType');
80
- if (!data.accessToken) {
81
- const accessToken = localStorage.getItem('accessToken');
82
- const refreshToken = localStorage.getItem('refreshToken');
83
- data = {
84
- ...data,
85
- accessToken,
86
- refreshToken
87
- };
88
- }
89
- if (!data.role) {
90
- const role = localStorage.getItem('role');
91
- data = {
92
- ...data,
93
- role
94
- };
95
- }
96
- const handledData = {
97
- ...data,
98
- accessType,
99
- companyType
100
- };
101
- if (!data?.program && config?.program) {
102
- handledData.program = config?.program?.token;
103
- }
104
- delete handledData?.me;
105
- return handledData;
106
- }
107
- catch (e) {
108
- // not to do
109
- }
110
- return null;
111
- }
112
- setAllMe(me) {
113
- const { me$, store } = this;
114
- let previousMe = JSON.parse(localStorage?.getItem('me') || '{}');
115
- Object.entries(me).forEach(([key, value]) => {
116
- if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {
117
- previousMe = {
118
- ...previousMe,
119
- [key]: value
120
- };
121
- }
122
- });
123
- const username = me.username || localStorage.getItem('username');
124
- if (username) {
125
- store.dispatch(actions.monkeyecxStorage.create({
126
- data: [
127
- {
128
- username,
129
- me
130
- }
131
- ]
132
- }));
133
- }
134
- localStorage.setItem('me', JSON.stringify(previousMe));
135
- me$.next(previousMe);
136
- }
137
- async getAllMe() {
138
- const { store } = this;
139
- const username = localStorage.getItem('username');
140
- let data = {
141
- username: username || '',
142
- program: ''
143
- };
144
- if (username) {
145
- data = await store.select(selectors.monkeyecxStorage.select({ username })).pipe(take(1)).toPromise();
146
- }
147
- let handledData = {
148
- ...data
149
- };
150
- if (!handledData.me) {
151
- try {
152
- handledData = {
153
- me: JSON.parse(localStorage.getItem('me') || '{}')
154
- };
155
- }
156
- catch (e) {
157
- // not to do
158
- }
159
- }
160
- return handledData?.me;
161
- }
162
- tokenHasChanged() {
163
- return this.token$.asObservable();
164
- }
165
- meHasChanged() {
166
- return this.me$.asObservable() || null;
167
- }
168
- async getToken() {
169
- return this.getAllTokens();
170
- }
171
- async getMe() {
172
- return this.getAllMe();
173
- }
174
- setToken(token) {
175
- this.setAllTokens(token);
176
- }
177
- setMe(me) {
178
- this.setAllMe(me);
179
- }
180
- clear(force) {
181
- const { token, store } = this;
182
- try {
183
- Object.entries(token || {}).forEach(([key, value]) => {
184
- if ((token?._clearIgnore?.ignore || []).filter((val) => {
185
- return val === key;
186
- }).length <= 0 ||
187
- force === true) {
188
- localStorage.removeItem(key);
189
- }
190
- });
191
- localStorage.removeItem('me');
192
- localStorage.removeItem('mecx-store');
193
- const username = localStorage.getItem('username');
194
- if (username) {
195
- store.dispatch(actions.monkeyecxStorage.deleteOne({ data: { username } }));
196
- }
197
- }
198
- catch (error) {
199
- return of(false);
200
- }
201
- return of(true);
202
- }
203
- /**
204
- * @param fields (the name of fields you want to clear. ie: ['companyId', 'role', ...])
205
- */
206
- clearCredentials(fields = ['companyId', 'governmentId', 'companyType', 'programAdmin', 'role']) {
207
- const { store } = this;
208
- let obj = null;
209
- fields?.forEach((key) => {
210
- obj = {
211
- ...obj,
212
- [key]: null
213
- };
214
- localStorage.removeItem(key);
215
- });
216
- const username = localStorage.getItem('username');
217
- if (username) {
218
- store.dispatch(actions.monkeyecxStorage.create({
219
- data: [
220
- {
221
- username,
222
- ...obj
223
- }
224
- ]
225
- }));
226
- }
227
- }
228
- }
229
- MonkeyEcxTokenStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxTokenStorageService, deps: [{ token: i1.MonkeyEcxConfigService }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable });
230
- MonkeyEcxTokenStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxTokenStorageService, providedIn: 'root' });
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxTokenStorageService, decorators: [{
232
- type: Injectable,
233
- args: [{
234
- providedIn: 'root'
235
- }]
236
- }], ctorParameters: function () { return [{ type: i1.MonkeyEcxConfigService }, { type: i2.Store }]; } });
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zdG9yYWdlL21vbmtleWVjeC10b2tlbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1wRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFNbkQsTUFBTSxPQUFPLDRCQUE0QjtJQU92QyxZQUNVLHNCQUE4QyxFQUM5QyxLQUFZO1FBRFosMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBRXBCLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLEVBQUU7WUFDZixVQUFVLEVBQUUsRUFBRTtZQUNkLElBQUksRUFBRSxFQUFFO1lBQ1IsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixJQUFJLEVBQUUsRUFBRTtZQUNSLFlBQVksRUFBRTtnQkFDWixN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Q0FDWixPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO2dCQUM5QixJQUFJLEVBQUU7b0JBQ0o7d0JBQ0UsUUFBUTt3QkFDUixHQUFHLEdBQUc7cUJBQ1A7aUJBQ0Y7YUFDRixDQUFDLENBQ0gsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7eUhBMVFVLDRCQUE0Qjs2SEFBNUIsNEJBQTRCLGNBRjNCLE1BQU07MkZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGFjdGlvbnMsIHNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcbmltcG9ydCB7XG4gIE1vbmtleUVjeE1lQ3JlZGVudGlhbHMsXG4gIE1vbmtleUVjeFN0b3JhZ2UsXG4gIE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHNcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvbW9ua2V5ZWN4LWNvbmZpZy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSB7XG4gIHByaXZhdGUgdG9rZW46IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMgfCBudWxsO1xuXG4gIHByaXZhdGUgdG9rZW4kOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IGFueT47XG5cbiAgcHJpdmF0ZSBtZSQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hNZUNyZWRlbnRpYWxzIHwgYW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vbmtleWVjeENvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmVcbiAgKSB7XG4gICAgdGhpcy50b2tlbiA9IHtcbiAgICAgIHVzZXJuYW1lOiAnJyxcbiAgICAgIHByb2dyYW06ICcnLFxuICAgICAgYWNjZXNzVG9rZW46ICcnLFxuICAgICAgcmVmcmVzaFRva2VuOiAnJyxcbiAgICAgIGNvbXBhbnlJZDogJycsXG4gICAgICBnb3Zlcm5tZW50SWQ6ICcnLFxuICAgICAgY29tcGFueVR5cGVVcmw6ICcnLFxuICAgICAgY29tcGFueVR5cGU6ICcnLFxuICAgICAgcHJvZ3JhbUFkbWluOiBmYWxzZSxcbiAgICAgIHByb2dyYW1UeXBlOiAnJyxcbiAgICAgIGFjY2Vzc1R5cGU6ICcnLFxuICAgICAgcm9sZTogJycsXG4gICAgICBvd25lckdvdmVybm1lbnRJZDogJycsXG4gICAgICBuYW1lOiAnJyxcbiAgICAgIF9jbGVhcklnbm9yZToge1xuICAgICAgICBpZ25vcmU6IFsndXNlcm5hbWUnLCAncHJvZ3JhbScsICdhY2Nlc3NUeXBlJ11cbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMudG9rZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgICB0aGlzLm1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIH1cblxuICBwcml2YXRlIHNldEFsbFRva2Vucyh0b2tlbjogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscykge1xuICAgIGNvbnN0IHsgdG9rZW4kLCBzdG9yZSB9ID0gdGhpcztcbiAgICAvLyAjVE9ETyAtIFJlbW92ZXIgZXNzZSBjw7NkaWdvIGUgYXBlbmFzIGRlaXhhciBvIHVzZXJuYW1lXG4gICAgLy8gdG9kbyBvIHJlc3RhbnRlIGZpY291IHNhbHZvIG5hIHN0b3JlIGNvbSBhIGtldSBzZW5kbyBvIHVzZXJuYW1lXG4gICAgT2JqZWN0LmVudHJpZXModG9rZW4pLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgaWYgKE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodmFsdWUpKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgdXNlcm5hbWUgPSB0b2tlbi51c2VybmFtZSB8fCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKTtcbiAgICBpZiAodXNlcm5hbWUpIHtcbiAgICAgIHN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBhY3Rpb25zLm1vbmtleWVjeFN0b3JhZ2UuY3JlYXRlKHtcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHVzZXJuYW1lLFxuICAgICAgICAgICAgICAuLi50b2tlblxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdG9rZW4kLm5leHQodG9rZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRBbGxUb2tlbnMoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgc3RvcmUsIG1vbmtleWVjeENvbmZpZ1NlcnZpY2UgfSA9IHRoaXM7XG4gICAgICBjb25zdCB1c2VybmFtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpO1xuXG4gICAgICBsZXQgZGF0YTogYW55ID0ge1xuICAgICAgICB1c2VybmFtZTogdXNlcm5hbWUgfHwgJycsXG4gICAgICAgIHByb2dyYW06ICcnLFxuICAgICAgICBhY2Nlc3NUb2tlbjogJydcbiAgICAgIH07XG5cbiAgICAgIGlmICh1c2VybmFtZSkge1xuICAgICAgICBkYXRhID0gYXdhaXQgc3RvcmUuc2VsZWN0KFxuICAgICAgICAgIHNlbGVjdG9ycy5tb25rZXllY3hTdG9yYWdlLnNlbGVjdCh7IHVzZXJuYW1lIH0pXG4gICAgICAgICkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgICAgICAgaWYgKCFkYXRhPy5wcm9ncmFtKSB7XG4gICAgICAgICAgY29uc3QgcHJvZ3JhbSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdwcm9ncmFtJyk7XG4gICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICBwcm9ncmFtXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBjb25maWcgPSBhd2FpdCBtb25rZXllY3hDb25maWdTZXJ2aWNlLmNvbmZpZygpXG4gICAgICAgIC5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuXG4gICAgICBjb25zdCBhY2Nlc3NUeXBlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2FjY2Vzc1R5cGUnKTtcbiAgICAgIGNvbnN0IGNvbXBhbnlUeXBlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NvbXBhbnlUeXBlJyk7XG5cbiAgICAgIGlmICghZGF0YS5hY2Nlc3NUb2tlbikge1xuICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhY2Nlc3NUb2tlbicpO1xuICAgICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncmVmcmVzaFRva2VuJyk7XG4gICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICBhY2Nlc3NUb2tlbixcbiAgICAgICAgICByZWZyZXNoVG9rZW5cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFkYXRhLnJvbGUpIHtcbiAgICAgICAgY29uc3Qgcm9sZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdyb2xlJyk7XG4gICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICByb2xlXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhhbmRsZWREYXRhID0ge1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBhY2Nlc3NUeXBlLFxuICAgICAgICBjb21wYW55VHlwZVxuICAgICAgfTtcbiAgICAgIGlmICghZGF0YT8ucHJvZ3JhbSAmJiBjb25maWc/LnByb2dyYW0pIHtcbiAgICAgICAgaGFuZGxlZERhdGEucHJvZ3JhbSA9IGNvbmZpZz8ucHJvZ3JhbT8udG9rZW47XG4gICAgICB9XG4gICAgICBkZWxldGUgaGFuZGxlZERhdGE/Lm1lO1xuXG4gICAgICByZXR1cm4gaGFuZGxlZERhdGE7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gbm90IHRvIGRvXG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBbGxNZShtZTogTW9ua2V5RWN4TWVDcmVkZW50aWFscykge1xuICAgIGNvbnN0IHsgbWUkLCBzdG9yZSB9ID0gdGhpcztcbiAgICBsZXQgcHJldmlvdXNNZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlPy5nZXRJdGVtKCdtZScpIHx8ICd7fScpO1xuICAgIE9iamVjdC5lbnRyaWVzKG1lKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgICBwcmV2aW91c01lID0ge1xuICAgICAgICAgIC4uLnByZXZpb3VzTWUsXG4gICAgICAgICAgW2tleV06IHZhbHVlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCB1c2VybmFtZSA9IG1lLnVzZXJuYW1lIHx8IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpO1xuICAgIGlmICh1c2VybmFtZSkge1xuICAgICAgc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIGFjdGlvbnMubW9ua2V5ZWN4U3RvcmFnZS5jcmVhdGUoe1xuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdXNlcm5hbWUsXG4gICAgICAgICAgICAgIG1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbWUnLCBKU09OLnN0cmluZ2lmeShwcmV2aW91c01lKSk7XG4gICAgbWUkLm5leHQocHJldmlvdXNNZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEFsbE1lKCkge1xuICAgIGNvbnN0IHsgc3RvcmUgfSA9IHRoaXM7XG4gICAgY29uc3QgdXNlcm5hbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKTtcbiAgICBsZXQgZGF0YTogTW9ua2V5RWN4U3RvcmFnZSB8IHVuZGVmaW5lZCA9IHtcbiAgICAgIHVzZXJuYW1lOiB1c2VybmFtZSB8fCAnJyxcbiAgICAgIHByb2dyYW06ICcnXG4gICAgfTtcblxuICAgIGlmICh1c2VybmFtZSkge1xuICAgICAgZGF0YSA9IGF3YWl0IHN0b3JlLnNlbGVjdChcbiAgICAgICAgc2VsZWN0b3JzLm1vbmtleWVjeFN0b3JhZ2Uuc2VsZWN0KHsgdXNlcm5hbWUgfSlcbiAgICAgICkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgICB9XG5cbiAgICBsZXQgaGFuZGxlZERhdGE6IGFueSA9IHtcbiAgICAgIC4uLmRhdGFcbiAgICB9O1xuXG4gICAgaWYgKCFoYW5kbGVkRGF0YS5tZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaGFuZGxlZERhdGEgPSB7XG4gICAgICAgICAgbWU6IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ21lJykgfHwgJ3t9JylcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gbm90IHRvIGRvXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhbmRsZWREYXRhPy5tZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2tlbkhhc0NoYW5nZWQoKTogT2JzZXJ2YWJsZTxNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzPiB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW4kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG1lSGFzQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPE1vbmtleUVjeE1lQ3JlZGVudGlhbHM+IHtcbiAgICByZXR1cm4gdGhpcy5tZSQuYXNPYnNlcnZhYmxlKCkgfHwgbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRUb2tlbigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxUb2tlbnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRNZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxNZSgpO1xuICB9XG5cbiAgcHVibGljIHNldFRva2VuKHRva2VuOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzKSB7XG4gICAgdGhpcy5zZXRBbGxUb2tlbnModG9rZW4pO1xuICB9XG5cbiAgcHVibGljIHNldE1lKG1lOiBNb25rZXlFY3hNZUNyZWRlbnRpYWxzKSB7XG4gICAgdGhpcy5zZXRBbGxNZShtZSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoZm9yY2U/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB0b2tlbiwgc3RvcmUgfSA9IHRoaXM7XG4gICAgdHJ5IHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRva2VuIHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0b2tlbj8uX2NsZWFySWdub3JlPy5pZ25vcmUgfHwgW10pLmZpbHRlcigodmFsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtleTtcbiAgICAgICAgICB9KS5sZW5ndGggPD0gMCB8fFxuICAgICAgICAgIGZvcmNlID09PSB0cnVlXG4gICAgICAgICkge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbWUnKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdtZWN4LXN0b3JlJyk7XG4gICAgICBjb25zdCB1c2VybmFtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpO1xuICAgICAgaWYgKHVzZXJuYW1lKSB7XG4gICAgICAgIHN0b3JlLmRpc3BhdGNoKGFjdGlvbnMubW9ua2V5ZWN4U3RvcmFnZS5kZWxldGVPbmUoeyBkYXRhOiB7IHVzZXJuYW1lIH0gfSkpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgIH1cbiAgICByZXR1cm4gb2YodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGZpZWxkcyAodGhlIG5hbWUgb2YgZmllbGRzIHlvdSB3YW50IHRvIGNsZWFyLiBpZTogWydjb21wYW55SWQnLCAncm9sZScsIC4uLl0pXG4gICAqL1xuICBwdWJsaWMgY2xlYXJDcmVkZW50aWFscyhcbiAgICBmaWVsZHMgPSBbJ2NvbXBhbnlJZCcsICdnb3Zlcm5tZW50SWQnLCAnY29tcGFueVR5cGUnLCAncHJvZ3JhbUFkbWluJywgJ3JvbGUnXVxuICApIHtcbiAgICBjb25zdCB7IHN0b3JlIH0gPSB0aGlzO1xuICAgIGxldCBvYmo6IGFueSA9IG51bGw7XG4gICAgZmllbGRzPy5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgb2JqID0ge1xuICAgICAgICAuLi5vYmosXG4gICAgICAgIFtrZXldOiBudWxsXG4gICAgICB9O1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHVzZXJuYW1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJyk7XG4gICAgaWYgKHVzZXJuYW1lKSB7XG4gICAgICBzdG9yZS5kaXNwYXRjaChcbiAgICAgICAgYWN0aW9ucy5tb25rZXllY3hTdG9yYWdlLmNyZWF0ZSh7XG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB1c2VybmFtZSxcbiAgICAgICAgICAgICAgLi4ub2JqXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- export * from './monkeyecx-store-base.service';
2
- export * from './monkeyecx-store.actions';
3
- export * from './monkeyecx-store.selector';
4
- export * from './monkeyecx-store.service';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc3RvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXN0b3JlLWJhc2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1zdG9yZS5hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXN0b3JlLnNlbGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXN0b3JlLnNlcnZpY2UnO1xuIl19