monkey-front-core 0.0.33 → 0.0.37

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 (250) hide show
  1. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +29 -0
  2. package/{esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.module.js → esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs} +5 -5
  3. package/{esm2015/lib/components/closed-to-maintenance/index.js → esm2020/lib/components/closed-to-maintenance/index.mjs} +0 -0
  4. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  5. package/{esm2015/lib/components/progress-bar/index.js → esm2020/lib/components/progress-bar/index.mjs} +0 -0
  6. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +23 -0
  7. package/{esm2015/lib/components/progress-bar/progress-bar.module.js → esm2020/lib/components/progress-bar/progress-bar.module.mjs} +5 -5
  8. package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +50 -0
  9. package/{esm2015/lib/components/version-changed/index.js → esm2020/lib/components/version-changed/index.mjs} +0 -0
  10. package/esm2020/lib/components/version-changed/version-changed.component.mjs +24 -0
  11. package/{esm2015/lib/components/version-changed/version-changed.module.js → esm2020/lib/components/version-changed/version-changed.module.mjs} +5 -5
  12. package/esm2020/lib/core/decorators/index.mjs +5 -0
  13. package/esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs +40 -0
  14. package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +111 -0
  15. package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +26 -0
  16. package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +26 -0
  17. package/{esm2015/lib/core/directives/index.js → esm2020/lib/core/directives/index.mjs} +2 -1
  18. package/esm2020/lib/core/directives/monkeyecx-directives-module.mjs +55 -0
  19. package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +57 -0
  20. package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +68 -0
  21. package/{esm2015/lib/core/directives/monkeyecx-format-currency.js → esm2020/lib/core/directives/monkeyecx-format-currency.mjs} +4 -4
  22. package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +67 -0
  23. package/{esm2015/lib/core/directives/monkeyecx-only-alpha-numeric-directive.js → esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs} +4 -4
  24. package/{esm2015/lib/core/directives/monkeyecx-only-number-directive.js → esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs} +4 -4
  25. package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +69 -0
  26. package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +123 -0
  27. package/{esm2015/lib/core/index.js → esm2020/lib/core/index.mjs} +0 -0
  28. package/{esm2015/lib/core/interceptors/index.js → esm2020/lib/core/interceptors/index.mjs} +0 -0
  29. package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +39 -0
  30. package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +32 -0
  31. package/{esm2015/lib/core/interceptors/monkeyecx-http-config-interceptor.module.js → esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs} +5 -5
  32. package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +43 -0
  33. package/{esm2015/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.js → esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs} +6 -6
  34. package/{esm2015/lib/core/interfaces/index.js → esm2020/lib/core/interfaces/index.mjs} +0 -0
  35. package/{esm2015/lib/core/interfaces/monkeyecx-auth-credentials.js → esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs} +0 -0
  36. package/{esm2015/lib/core/interfaces/monkeyecx-company.js → esm2020/lib/core/interfaces/monkeyecx-company.mjs} +0 -0
  37. package/{esm2015/lib/core/interfaces/monkeyecx-config-boostrap.js → esm2020/lib/core/interfaces/monkeyecx-config-boostrap.mjs} +0 -0
  38. package/{esm2015/lib/core/interfaces/monkeyecx-config.js → esm2020/lib/core/interfaces/monkeyecx-config.mjs} +0 -0
  39. package/{esm2015/lib/core/interfaces/monkeyecx-error-response.js → esm2020/lib/core/interfaces/monkeyecx-error-response.mjs} +0 -0
  40. package/{esm2015/lib/core/interfaces/monkeyecx-handled-error-response.js → esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs} +0 -0
  41. package/{esm2015/lib/core/interfaces/monkeyecx-header-credentials.js → esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs} +0 -0
  42. package/{esm2015/lib/core/interfaces/monkeyecx-intercom-options.js → esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs} +0 -0
  43. package/{esm2015/lib/core/interfaces/monkeyecx-me-credentials.js → esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs} +0 -0
  44. package/{esm2015/lib/core/interfaces/monkeyecx-navigation.js → esm2020/lib/core/interfaces/monkeyecx-navigation.mjs} +0 -0
  45. package/{esm2015/lib/core/interfaces/monkeyecx-program.js → esm2020/lib/core/interfaces/monkeyecx-program.mjs} +0 -0
  46. package/{esm2015/lib/core/interfaces/monkeyecx-releases.js → esm2020/lib/core/interfaces/monkeyecx-releases.mjs} +0 -0
  47. package/{esm2015/lib/core/interfaces/monkeyecx-request-in-progress.js → esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs} +0 -0
  48. package/{esm2015/lib/core/interfaces/monkeyecx-request-paged.js → esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs} +0 -0
  49. package/{esm2015/lib/core/interfaces/monkeyecx-response-paged.js → esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs} +0 -0
  50. package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +2 -0
  51. package/{esm2015/lib/core/interfaces/monkeyecx-token-credentials.js → esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs} +0 -0
  52. package/{esm2015/lib/core/interfaces/monkeyecx-translate-options.js → esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs} +0 -0
  53. package/{esm2015/lib/core/interfaces/request-download/index.js → esm2020/lib/core/interfaces/request-download/index.mjs} +0 -0
  54. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs +2 -0
  55. package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-downloaded.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs} +0 -0
  56. package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-item-download.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs} +1 -1
  57. package/{esm2015/lib/core/interfaces/request-queue/index.js → esm2020/lib/core/interfaces/request-queue/index.mjs} +0 -0
  58. package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs} +0 -0
  59. package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs} +0 -0
  60. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs +2 -0
  61. package/{esm2015/lib/core/interfaces/request-upload/index.js → esm2020/lib/core/interfaces/request-upload/index.mjs} +0 -0
  62. package/{esm2015/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.js → esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs} +1 -1
  63. package/{esm2015/lib/core/interfaces/request-upload/monkeyecx-request-upload.js → esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs} +1 -1
  64. package/{esm2015/lib/core/interfaces/schedules/index.js → esm2020/lib/core/interfaces/schedules/index.mjs} +0 -0
  65. package/{esm2015/lib/core/interfaces/schedules/monkeyecx-request-schedule.js → esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs} +0 -0
  66. package/{esm2015/lib/core/model/index.js → esm2020/lib/core/model/index.mjs} +0 -0
  67. package/{esm2015/lib/core/model/monkeyecx-model.js → esm2020/lib/core/model/monkeyecx-model.mjs} +1 -1
  68. package/esm2020/lib/core/pipes/index.mjs +16 -0
  69. package/esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs +19 -0
  70. package/esm2020/lib/core/pipes/monkeyecx-format-address.mjs +20 -0
  71. package/esm2020/lib/core/pipes/monkeyecx-format-currency.mjs +27 -0
  72. package/esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs +31 -0
  73. package/esm2020/lib/core/pipes/monkeyecx-format-date.mjs +29 -0
  74. package/esm2020/lib/core/pipes/monkeyecx-format-document.mjs +19 -0
  75. package/esm2020/lib/core/pipes/monkeyecx-format-number.mjs +20 -0
  76. package/esm2020/lib/core/pipes/monkeyecx-format-phone.mjs +42 -0
  77. package/esm2020/lib/core/pipes/monkeyecx-format-size.mjs +20 -0
  78. package/esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs +19 -0
  79. package/esm2020/lib/core/pipes/monkeyecx-format-value.mjs +19 -0
  80. package/esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs +19 -0
  81. package/esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs +87 -0
  82. package/esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs +23 -0
  83. package/{esm2015/lib/core/pipes/monkeyecx-truncate-qtd.js → esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs} +4 -4
  84. package/{esm2015/lib/core/services/auth/index.js → esm2020/lib/core/services/auth/index.mjs} +0 -0
  85. package/{esm2015/lib/core/services/auth/monkeyecx-auth-guard-login.service.js → esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs} +4 -4
  86. package/{esm2015/lib/core/services/auth/monkeyecx-auth-guard.service.js → esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs} +4 -4
  87. package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +61 -0
  88. package/{esm2015/lib/core/services/commons/index.js → esm2020/lib/core/services/commons/index.mjs} +0 -0
  89. package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +269 -0
  90. package/{esm2015/lib/core/services/config/monkeyecx-config.module.js → esm2020/lib/core/services/config/monkeyecx-config.module.mjs} +5 -5
  91. package/esm2020/lib/core/services/config/monkeyecx-config.service.mjs +108 -0
  92. package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +85 -0
  93. package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +65 -0
  94. package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +66 -0
  95. package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +34 -0
  96. package/{esm2015/lib/core/services/config/monkeyecx-maintenance-config.service.js → esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs} +5 -5
  97. package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +42 -0
  98. package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +53 -0
  99. package/{esm2015/lib/core/services/error/index.js → esm2020/lib/core/services/error/index.mjs} +0 -0
  100. package/{esm2015/lib/core/services/error/monkeyecx-error-handling.module.js → esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs} +5 -5
  101. package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +41 -0
  102. package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +128 -0
  103. package/{esm2015/lib/core/services/error/monkeyecx-others-errors-handling.service.js → esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs} +4 -4
  104. package/esm2020/lib/core/services/index.mjs +24 -0
  105. package/{esm2015/lib/core/services/logged/index.js → esm2020/lib/core/services/logged/index.mjs} +0 -0
  106. package/{esm2015/lib/core/services/logged/monkeyecx-logged-handling.service.js → esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs} +4 -4
  107. package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +50 -0
  108. package/esm2020/lib/core/services/monkeyecx-service.service.mjs +104 -0
  109. package/{esm2015/lib/core/services/request-download/index.js → esm2020/lib/core/services/request-download/index.mjs} +0 -0
  110. package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +93 -0
  111. package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +61 -0
  112. package/{esm2015/lib/core/services/request-paged/index.js → esm2020/lib/core/services/request-paged/index.mjs} +0 -0
  113. package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +30 -0
  114. package/{esm2015/lib/core/services/request-queue/index.js → esm2020/lib/core/services/request-queue/index.mjs} +0 -0
  115. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +114 -0
  116. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +119 -0
  117. package/{esm2015/lib/core/services/routes/index.js → esm2020/lib/core/services/routes/index.mjs} +0 -0
  118. package/{esm2015/lib/core/services/routes/monkeyecx-dicovery-params.service.js → esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs} +6 -6
  119. package/{esm2015/lib/core/services/schedules/index.js → esm2020/lib/core/services/schedules/index.mjs} +0 -0
  120. package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +127 -0
  121. package/{esm2015/lib/core/services/storage/index.js → esm2020/lib/core/services/storage/index.mjs} +0 -0
  122. package/esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs +29 -0
  123. package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +122 -0
  124. package/{esm2015/lib/core/specification-search/index.js → esm2020/lib/core/specification-search/index.mjs} +0 -0
  125. package/esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs +97 -0
  126. package/esm2020/lib/core/utils/decorators-utils.mjs +40 -0
  127. package/{esm2015/lib/core/utils/index.js → esm2020/lib/core/utils/index.mjs} +0 -0
  128. package/{esm2015/lib/core/utils/statics.js → esm2020/lib/core/utils/statics.mjs} +0 -0
  129. package/esm2020/lib/core/utils/utils.mjs +218 -0
  130. package/{esm2015/lib/core/utils/validate-utils.js → esm2020/lib/core/utils/validate-utils.mjs} +12 -12
  131. package/esm2020/lib/core/utils/validators.mjs +193 -0
  132. package/esm2020/lib/monkey-front-core.module.mjs +62 -0
  133. package/{esm2015/monkey-front-core.js → esm2020/monkey-front-core.mjs} +0 -0
  134. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  135. package/fesm2015/{monkey-front-core.js → monkey-front-core.mjs} +921 -630
  136. package/fesm2015/monkey-front-core.mjs.map +1 -0
  137. package/fesm2020/monkey-front-core.mjs +4217 -0
  138. package/fesm2020/monkey-front-core.mjs.map +1 -0
  139. package/lib/components/closed-to-maintenance/closed-to-maintenance.component.d.ts +2 -2
  140. package/lib/components/progress-bar/progress-bar.service.d.ts +1 -1
  141. package/lib/components/version-changed/version-changed.component.d.ts +1 -1
  142. package/lib/core/decorators/index.d.ts +1 -0
  143. package/lib/core/decorators/monkeyecx-charts-decorators.d.ts +1 -0
  144. package/lib/core/directives/index.d.ts +1 -0
  145. package/lib/core/directives/monkeyecx-directives-module.d.ts +7 -6
  146. package/lib/core/directives/monkeyecx-feature-directive.d.ts +17 -0
  147. package/lib/core/directives/monkeyecx-format-upper.d.ts +2 -2
  148. package/lib/core/directives/monkeyecx-security-directive.d.ts +1 -1
  149. package/lib/core/directives/monkeyecx-tooltip-directive.d.ts +7 -6
  150. package/lib/core/interfaces/monkeyecx-service-credentials.d.ts +2 -1
  151. package/lib/core/interfaces/request-download/monkeyecx-request-download.d.ts +1 -1
  152. package/lib/core/interfaces/request-download/monkeyecx-request-item-download.d.ts +1 -1
  153. package/lib/core/interfaces/request-queue/monkeyecx-request-queue.d.ts +1 -1
  154. package/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.d.ts +1 -1
  155. package/lib/core/interfaces/request-upload/monkeyecx-request-upload.d.ts +1 -1
  156. package/lib/core/model/monkeyecx-model.d.ts +1 -1
  157. package/lib/core/pipes/index.d.ts +3 -0
  158. package/lib/core/pipes/monkeyecx-display-first-name.d.ts +0 -1
  159. package/lib/core/pipes/monkeyecx-format-address.d.ts +14 -0
  160. package/lib/core/pipes/monkeyecx-format-currency.d.ts +1 -3
  161. package/lib/core/pipes/monkeyecx-format-date-timelapse.d.ts +1 -2
  162. package/lib/core/pipes/monkeyecx-format-date.d.ts +7 -0
  163. package/lib/core/pipes/monkeyecx-format-document.d.ts +0 -1
  164. package/lib/core/pipes/monkeyecx-format-number.d.ts +3 -4
  165. package/lib/core/pipes/monkeyecx-format-phone.d.ts +7 -0
  166. package/lib/core/pipes/monkeyecx-format-size.d.ts +0 -1
  167. package/lib/core/pipes/monkeyecx-format-type-document.d.ts +3 -4
  168. package/lib/core/pipes/monkeyecx-format-value.d.ts +0 -1
  169. package/lib/core/pipes/monkeyecx-format-zipcode.d.ts +0 -1
  170. package/lib/core/pipes/monkeyecx-pipes.module.d.ts +14 -11
  171. package/lib/core/pipes/monkeyecx-text-truncate.d.ts +0 -1
  172. package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +6 -6
  173. package/lib/core/services/commons/monkeyecx-commons.service.d.ts +27 -27
  174. package/lib/core/services/config/monkeyecx-config.service.d.ts +6 -2
  175. package/lib/core/services/config/monkeyecx-error-config.service.d.ts +8 -0
  176. package/lib/core/services/config/monkeyecx-feature-toggle.service.d.ts +4 -6
  177. package/lib/core/services/config/monkeyecx-i18n-config.service.d.ts +3 -2
  178. package/lib/core/services/config/monkeyecx-maintenance-config.service.d.ts +1 -1
  179. package/lib/core/services/index.d.ts +13 -3
  180. package/lib/core/services/monkeyecx-handling.service.d.ts +8 -5
  181. package/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.d.ts +1 -1
  182. package/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.d.ts +2 -2
  183. package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +2 -2
  184. package/lib/core/services/storage/monkeyecx-cookie-storage.service.d.ts +6 -8
  185. package/lib/core/utils/validate-utils.d.ts +13 -13
  186. package/monkey-front-core-0.0.37.tgz +0 -0
  187. package/package.json +23 -9
  188. package/bundles/monkey-front-core.umd.js +0 -4533
  189. package/bundles/monkey-front-core.umd.js.map +0 -1
  190. package/esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.component.js +0 -32
  191. package/esm2015/lib/components/progress-bar/progress-bar.component.js +0 -28
  192. package/esm2015/lib/components/progress-bar/progress-bar.service.js +0 -49
  193. package/esm2015/lib/components/version-changed/version-changed.component.js +0 -25
  194. package/esm2015/lib/core/decorators/index.js +0 -4
  195. package/esm2015/lib/core/decorators/monkeyecx-decorators.js +0 -108
  196. package/esm2015/lib/core/decorators/monkeyecx-download-decorators.js +0 -24
  197. package/esm2015/lib/core/decorators/monkeyecx-upload-decorators.js +0 -24
  198. package/esm2015/lib/core/directives/monkeyecx-directives-module.js +0 -50
  199. package/esm2015/lib/core/directives/monkeyecx-drag-drop.js +0 -57
  200. package/esm2015/lib/core/directives/monkeyecx-format-upper.js +0 -67
  201. package/esm2015/lib/core/directives/monkeyecx-security-directive.js +0 -67
  202. package/esm2015/lib/core/directives/monkeyecx-tooltip-directive.js +0 -110
  203. package/esm2015/lib/core/interceptors/monkeyecx-http-config-error.interceptor.js +0 -39
  204. package/esm2015/lib/core/interceptors/monkeyecx-http-config-header.interceptor.js +0 -32
  205. package/esm2015/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.js +0 -41
  206. package/esm2015/lib/core/interfaces/monkeyecx-service-credentials.js +0 -2
  207. package/esm2015/lib/core/interfaces/request-download/monkeyecx-request-download.js +0 -2
  208. package/esm2015/lib/core/interfaces/request-queue/monkeyecx-request-queue.js +0 -2
  209. package/esm2015/lib/core/pipes/index.js +0 -13
  210. package/esm2015/lib/core/pipes/monkeyecx-display-first-name.js +0 -22
  211. package/esm2015/lib/core/pipes/monkeyecx-format-currency.js +0 -30
  212. package/esm2015/lib/core/pipes/monkeyecx-format-date-timelapse.js +0 -37
  213. package/esm2015/lib/core/pipes/monkeyecx-format-document.js +0 -22
  214. package/esm2015/lib/core/pipes/monkeyecx-format-number.js +0 -23
  215. package/esm2015/lib/core/pipes/monkeyecx-format-size.js +0 -23
  216. package/esm2015/lib/core/pipes/monkeyecx-format-type-document.js +0 -22
  217. package/esm2015/lib/core/pipes/monkeyecx-format-value.js +0 -22
  218. package/esm2015/lib/core/pipes/monkeyecx-format-zipcode.js +0 -22
  219. package/esm2015/lib/core/pipes/monkeyecx-pipes.module.js +0 -72
  220. package/esm2015/lib/core/pipes/monkeyecx-text-truncate.js +0 -26
  221. package/esm2015/lib/core/services/auth/monkeyecx-authentication.service.js +0 -61
  222. package/esm2015/lib/core/services/commons/monkeyecx-commons.service.js +0 -242
  223. package/esm2015/lib/core/services/config/index.js +0 -9
  224. package/esm2015/lib/core/services/config/monkeyecx-config.service.js +0 -99
  225. package/esm2015/lib/core/services/config/monkeyecx-feature-toggle.service.js +0 -62
  226. package/esm2015/lib/core/services/config/monkeyecx-i18n-config.service.js +0 -66
  227. package/esm2015/lib/core/services/config/monkeyecx-logs-config.service.js +0 -32
  228. package/esm2015/lib/core/services/config/monkeyecx-security-console-config.service.js +0 -42
  229. package/esm2015/lib/core/services/config/monkeyecx-service-worker-config.service.js +0 -54
  230. package/esm2015/lib/core/services/error/monkeyecx-error-handling.service.js +0 -39
  231. package/esm2015/lib/core/services/error/monkeyecx-http-error-handling.service.js +0 -131
  232. package/esm2015/lib/core/services/index.js +0 -14
  233. package/esm2015/lib/core/services/monkeyecx-handling.service.js +0 -44
  234. package/esm2015/lib/core/services/monkeyecx-service.service.js +0 -102
  235. package/esm2015/lib/core/services/request-download/monkeyecx-request-download-handling.service.js +0 -81
  236. package/esm2015/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.js +0 -55
  237. package/esm2015/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.js +0 -30
  238. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.js +0 -97
  239. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.js +0 -106
  240. package/esm2015/lib/core/services/schedules/monkeyecx-request-schedule.service.js +0 -99
  241. package/esm2015/lib/core/services/storage/monkeyecx-cookie-storage.service.js +0 -98
  242. package/esm2015/lib/core/services/storage/monkeyecx-token-storage.service.js +0 -117
  243. package/esm2015/lib/core/specification-search/monkeyecx-specification-search.js +0 -97
  244. package/esm2015/lib/core/utils/decorators-utils.js +0 -37
  245. package/esm2015/lib/core/utils/utils.js +0 -219
  246. package/esm2015/lib/core/utils/validators.js +0 -193
  247. package/esm2015/lib/monkey-front-core.module.js +0 -60
  248. package/fesm2015/monkey-front-core.js.map +0 -1
  249. package/lib/core/services/config/index.d.ts +0 -8
  250. package/monkey-front-core-0.0.33.tgz +0 -0
@@ -0,0 +1,119 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { map } from 'rxjs/operators';
4
+ import { Statics } from '../../utils';
5
+ import * as i0 from "@angular/core";
6
+ export class MonkeyEcxRequestQueueModalHandlingService {
7
+ constructor() {
8
+ this.queue = [];
9
+ this.newQueue$ = new BehaviorSubject(false);
10
+ this.allQueueFinished$ = new BehaviorSubject(false);
11
+ this.queues$ = new BehaviorSubject([]);
12
+ }
13
+ addToQueue(q) {
14
+ this.queue.push(q);
15
+ this.queues$.next(this.queue);
16
+ this.newQueue$.next(true);
17
+ }
18
+ markQueueItemAsFinish(q, status, action) {
19
+ const saved = [...this.queue];
20
+ this.queue = [
21
+ ...saved.map((val) => {
22
+ const valSaved = {
23
+ ...val
24
+ };
25
+ if (val.status === Statics.MonkeyEcxQueueEvents.OnGoing) {
26
+ if (valSaved.item.id === q.item.id) {
27
+ return {
28
+ ...valSaved,
29
+ status: status || Statics.MonkeyEcxQueueEvents.Finished,
30
+ action
31
+ };
32
+ }
33
+ }
34
+ return valSaved;
35
+ })
36
+ ];
37
+ this.queues$.next(this.queue);
38
+ }
39
+ updateQueue(q, progress) {
40
+ const saved = [...this.queue];
41
+ this.queue = [
42
+ ...saved.map((val) => {
43
+ const valSaved = {
44
+ ...val
45
+ };
46
+ const { total, loaded } = progress;
47
+ const currentPecentage = Math.floor(((loaded || 0) / (total || 0)) * 100);
48
+ const totalPercentage = 100;
49
+ if (valSaved.item.id === q.item.id) {
50
+ return {
51
+ ...valSaved,
52
+ progress: {
53
+ loaded,
54
+ total,
55
+ currentPercentage: currentPecentage,
56
+ totalPercentage
57
+ }
58
+ };
59
+ }
60
+ return valSaved;
61
+ })
62
+ ];
63
+ this.queues$.next(this.queue);
64
+ }
65
+ deleteQueue(q) {
66
+ const saved = [...this.queue];
67
+ this.queue = [
68
+ ...saved.map((val) => {
69
+ const valSaved = {
70
+ ...val
71
+ };
72
+ if (valSaved.item.id === q.item.id) {
73
+ return null;
74
+ }
75
+ return valSaved;
76
+ })
77
+ ].filter((_) => {
78
+ return _;
79
+ });
80
+ this.queues$.next(this.queue);
81
+ if (this.queue.length <= 0) {
82
+ this.allQueueFinished$.next(true);
83
+ }
84
+ }
85
+ setQueue(q) {
86
+ this.addToQueue(q);
87
+ }
88
+ getQueue() {
89
+ return this.queues$.asObservable();
90
+ }
91
+ finishQueueItem(q, action, status) {
92
+ this.markQueueItemAsFinish(q, status, action);
93
+ }
94
+ removeQueueItem(q) {
95
+ this.deleteQueue(q);
96
+ }
97
+ updateQueueItem(q, progress) {
98
+ this.updateQueue(q, progress);
99
+ }
100
+ hasNewQueue() {
101
+ return this.newQueue$.pipe(map((_) => {
102
+ return _;
103
+ }));
104
+ }
105
+ hasAllQueueFinished() {
106
+ return this.allQueueFinished$.pipe(map((_) => {
107
+ return _;
108
+ }));
109
+ }
110
+ }
111
+ MonkeyEcxRequestQueueModalHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestQueueModalHandlingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
112
+ MonkeyEcxRequestQueueModalHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestQueueModalHandlingService, providedIn: 'root' });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestQueueModalHandlingService, decorators: [{
114
+ type: Injectable,
115
+ args: [{
116
+ providedIn: 'root'
117
+ }]
118
+ }], ctorParameters: function () { return []; } });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXJlcXVlc3QtcXVldWUtbW9kYWwtaGFuZGxpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9yZXF1ZXN0LXF1ZXVlL21vbmtleWVjeC1yZXF1ZXN0LXF1ZXVlLW1vZGFsLWhhbmRsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUt0QyxNQUFNLE9BQU8seUNBQXlDO0lBU3BEO1FBUlEsVUFBSyxHQUE0QixFQUFFLENBQUM7UUFJcEMsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXZDLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBR3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLFVBQVUsQ0FBQyxDQUF3QjtRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVPLHFCQUFxQixDQUFDLENBQXdCLEVBQUUsTUFBZSxFQUFFLE1BQWlCO1FBQ3hGLE1BQU0sS0FBSyxHQUFH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bmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3RQcm9ncmVzc1F1ZXVlLCBNb25rZXlFY3hSZXF1ZXN0UXVldWUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFN0YXRpY3MgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeFJlcXVlc3RRdWV1ZU1vZGFsSGFuZGxpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBxdWV1ZTogTW9ua2V5RWN4UmVxdWVzdFF1ZXVlW10gPSBbXTtcblxuICBwcml2YXRlIHF1ZXVlcyQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hSZXF1ZXN0UXVldWVbXSB8IGFueT47XG5cbiAgcHJpdmF0ZSBuZXdRdWV1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwcml2YXRlIGFsbFF1ZXVlRmluaXNoZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5xdWV1ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG4gIH1cblxuICBwcml2YXRlIGFkZFRvUXVldWUocTogTW9ua2V5RWN4UmVxdWVzdFF1ZXVlKSB7XG4gICAgdGhpcy5xdWV1ZS5wdXNoKHEpO1xuICAgIHRoaXMucXVldWVzJC5uZXh0KHRoaXMucXVldWUpO1xuICAgIHRoaXMubmV3UXVldWUkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIG1hcmtRdWV1ZUl0ZW1Bc0ZpbmlzaChxOiBNb25rZXlFY3hSZXF1ZXN0UXVldWUsIHN0YXR1cz86IG51bWJlciwgYWN0aW9uPzogRnVuY3Rpb24pIHtcbiAgICBjb25zdCBzYXZlZCA9IFsuLi50aGlzLnF1ZXVlXTtcbiAgICB0aGlzLnF1ZXVlID0gW1xuICAgICAgLi4uc2F2ZWQubWFwKCh2YWw6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB2YWxTYXZlZCA9IHtcbiAgICAgICAgICAuLi52YWxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHZhbC5zdGF0dXMgPT09IFN0YXRpY3MuTW9ua2V5RWN4UXVldWVFdmVudHMuT25Hb2luZykge1xuICAgICAgICAgIGlmICh2YWxTYXZlZC5pdGVtLmlkID09PSBxLml0ZW0uaWQpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnZhbFNhdmVkLFxuICAgICAgICAgICAgICBzdGF0dXM6IHN0YXR1cyB8fCBTdGF0aWNzLk1vbmtleUVjeFF1ZXVlRXZlbnRzLkZpbmlzaGVkLFxuICAgICAgICAgICAgICBhY3Rpb25cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWxTYXZlZDtcbiAgICAgIH0pXG4gICAgXTtcbiAgICB0aGlzLnF1ZXVlcyQubmV4dCh0aGlzLnF1ZXVlKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUXVldWUocTogTW9ua2V5RWN4UmVxdWVzdFF1ZXVlLCBwcm9ncmVzczogTW9ua2V5RWN4UmVxdWVzdFByb2dyZXNzUXVldWUpIHtcbiAgICBjb25zdCBzYXZlZCA9IFsuLi50aGlzLnF1ZXVlXTtcbiAgICB0aGlzLnF1ZXVlID0gW1xuICAgICAgLi4uc2F2ZWQubWFwKCh2YWw6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB2YWxTYXZlZCA9IHtcbiAgICAgICAgICAuLi52YWxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgeyB0b3RhbCwgbG9hZGVkIH0gPSBwcm9ncmVzcztcbiAgICAgICAgY29uc3QgY3VycmVudFBlY2VudGFnZSA9IE1hdGguZmxvb3IoKChsb2FkZWR8fDApIC8gKHRvdGFsfHwwKSkgKiAxMDApO1xuICAgICAgICBjb25zdCB0b3RhbFBlcmNlbnRhZ2UgPSAxMDA7XG4gICAgICAgIGlmICh2YWxTYXZlZC5pdGVtLmlkID09PSBxLml0ZW0uaWQpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udmFsU2F2ZWQsXG4gICAgICAgICAgICBwcm9ncmVzczoge1xuICAgICAgICAgICAgICBsb2FkZWQsXG4gICAgICAgICAgICAgIHRvdGFsLFxuICAgICAgICAgICAgICBjdXJyZW50UGVyY2VudGFnZTogY3VycmVudFBlY2VudGFnZSxcbiAgICAgICAgICAgICAgdG90YWxQZXJjZW50YWdlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsU2F2ZWQ7XG4gICAgICB9KVxuICAgIF07XG5cbiAgICB0aGlzLnF1ZXVlcyQubmV4dCh0aGlzLnF1ZXVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVsZXRlUXVldWUocTogTW9ua2V5RWN4UmVxdWVzdFF1ZXVlKSB7XG4gICAgY29uc3Qgc2F2ZWQgPSBbLi4udGhpcy5xdWV1ZV07XG4gICAgdGhpcy5xdWV1ZSA9IFtcbiAgICAgIC4uLnNhdmVkLm1hcCgodmFsOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgdmFsU2F2ZWQgPSB7XG4gICAgICAgICAgLi4udmFsXG4gICAgICAgIH07XG4gICAgICAgIGlmICh2YWxTYXZlZC5pdGVtLmlkID09PSBxLml0ZW0uaWQpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsU2F2ZWQ7XG4gICAgICB9KVxuICAgIF0uZmlsdGVyKChfOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBfO1xuICAgIH0pO1xuXG4gICAgdGhpcy5xdWV1ZXMkLm5leHQodGhpcy5xdWV1ZSk7XG4gICAgaWYgKHRoaXMucXVldWUubGVuZ3RoIDw9IDApIHtcbiAgICAgIHRoaXMuYWxsUXVldWVGaW5pc2hlZCQubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0UXVldWUocTogTW9ua2V5RWN4UmVxdWVzdFF1ZXVlKSB7XG4gICAgdGhpcy5hZGRUb1F1ZXVlKHEpO1xuICB9XG5cbiAgcHVibGljIGdldFF1ZXVlKCk6IE9ic2VydmFibGU8TW9ua2V5RWN4UmVxdWVzdFF1ZXVlW10+IHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGZpbmlzaFF1ZXVlSXRlbShxOiBNb25rZXlFY3hSZXF1ZXN0UXVldWUsIGFjdGlvbj86IEZ1bmN0aW9uLCBzdGF0dXM/OiBudW1iZXIpIHtcbiAgICB0aGlzLm1hcmtRdWV1ZUl0ZW1Bc0ZpbmlzaChxLCBzdGF0dXMsIGFjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlUXVldWVJdGVtKHE6IE1vbmtleUVjeFJlcXVlc3RRdWV1ZSkge1xuICAgIHRoaXMuZGVsZXRlUXVldWUocSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUXVldWVJdGVtKHE6IE1vbmtleUVjeFJlcXVlc3RRdWV1ZSwgcHJvZ3Jlc3M6IE1vbmtleUVjeFJlcXVlc3RQcm9ncmVzc1F1ZXVlKSB7XG4gICAgdGhpcy51cGRhdGVRdWV1ZShxLCBwcm9ncmVzcyk7XG4gIH1cblxuICBwdWJsaWMgaGFzTmV3UXVldWUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubmV3UXVldWUkLnBpcGUoXG4gICAgICBtYXAoKF86IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gXztcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNBbGxRdWV1ZUZpbmlzaGVkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmFsbFF1ZXVlRmluaXNoZWQkLnBpcGUoXG4gICAgICBtYXAoKF86IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gXztcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -28,7 +28,7 @@ export class MonkeyEcxDiscoveryParamsService {
28
28
  const navigation = this.router.getCurrentNavigation();
29
29
  let state = null;
30
30
  if (MonkeyEcxUtils.persistNullEmptyUndefined(navigation)) {
31
- state = navigation.extras.state;
31
+ state = navigation?.extras.state;
32
32
  }
33
33
  return state ? state[field] : null;
34
34
  }
@@ -36,19 +36,19 @@ export class MonkeyEcxDiscoveryParamsService {
36
36
  const { root } = this.router.routerState.snapshot;
37
37
  const route = this.getLastChild(root);
38
38
  let found = MonkeyEcxUtils.persistNullEmptyUndefined(route)
39
- ? route.paramMap.get(param)
39
+ ? route?.paramMap?.get(param) || ''
40
40
  : '';
41
41
  if (!MonkeyEcxUtils.persistNullEmptyUndefined(found))
42
42
  found = this.getData(param);
43
43
  return found;
44
44
  }
45
45
  }
46
- MonkeyEcxDiscoveryParamsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyEcxDiscoveryParamsService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
47
- MonkeyEcxDiscoveryParamsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyEcxDiscoveryParamsService, providedIn: 'root' });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyEcxDiscoveryParamsService, decorators: [{
46
+ MonkeyEcxDiscoveryParamsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDiscoveryParamsService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
47
+ MonkeyEcxDiscoveryParamsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDiscoveryParamsService, providedIn: 'root' });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxDiscoveryParamsService, decorators: [{
49
49
  type: Injectable,
50
50
  args: [{
51
51
  providedIn: 'root'
52
52
  }]
53
53
  }], ctorParameters: function () { return [{ type: i1.Router }]; } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWRpY292ZXJ5LXBhcmFtcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3JvdXRlcy9tb25rZXllY3gtZGljb3ZlcnktcGFyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUtuRCxNQUFNLE9BQU8sK0JBQStCO0lBQzFDLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2hDLFlBQVk7SUFDZCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQTZCO1FBQ2hELElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQWEsRUFBRSxLQUFVO1FBQ3RDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7UUFDbEQsTUFBTSxLQUFLLEdBQTJCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUQsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUFhO1FBQzFCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7UUFDbEQsTUFBTSxLQUFLLEdBQTJCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUQsTUFBTSxLQUFLLEdBQVEsY0FBYyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUYsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sNEJBQTRCLENBQUMsS0FBYTtRQUMvQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdEQsSUFBSSxLQUFLLEdBQVEsSUFBSSxDQUFDO1FBQ3RCLElBQUksY0FBYyxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3hELEtBQUssR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUNqQztRQUVELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDM0IsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUNsRCxNQUFNLEtBQUssR0FBMkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RCxJQUFJLEtBQUssR0FBVyxjQUFjLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDO1lBQ2pFLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDM0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDO1lBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEYsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs2SEE3Q1UsK0JBQStCO2lJQUEvQiwrQkFBK0IsY0FGOUIsTUFBTTs0RkFFUCwrQkFBK0I7a0JBSDNDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hEaXNjb3ZlcnlQYXJhbXNTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYXN0Q2hpbGQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHtcbiAgICBpZiAocm91dGUuZmlyc3RDaGlsZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TGFzdENoaWxkKHJvdXRlLmZpcnN0Q2hpbGQpO1xuICAgIH1cblxuICAgIHJldHVybiByb3V0ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREYXRhKGZpZWxkOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Q7XG4gICAgY29uc3Qgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZChyb290KTtcbiAgICByb3V0ZS5kYXRhW2ZpZWxkXSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldERhdGEoZmllbGQ6IHN0cmluZyk6IGFueSB7XG4gICAgY29uc3QgeyByb290IH0gPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdDtcbiAgICBjb25zdCByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9IHRoaXMuZ2V0TGFzdENoaWxkKHJvb3QpO1xuXG4gICAgY29uc3QgZm91bmQ6IGFueSA9IE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQocm91dGUpID8gcm91dGUuZGF0YVtmaWVsZF0gOiBudWxsO1xuICAgIHJldHVybiBmb3VuZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXREYXRhRnJvbUN1cnJlbnROYXZpZ2F0aW9uKGZpZWxkOiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IG5hdmlnYXRpb24gPSB0aGlzLnJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpO1xuICAgIGxldCBzdGF0ZTogYW55ID0gbnVsbDtcbiAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChuYXZpZ2F0aW9uKSkge1xuICAgICAgc3RhdGUgPSBuYXZpZ2F0aW9uLmV4dHJhcy5zdGF0ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGUgPyBzdGF0ZVtmaWVsZF0gOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldFBhcmFtKHBhcmFtOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90O1xuICAgIGNvbnN0IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90ID0gdGhpcy5nZXRMYXN0Q2hpbGQocm9vdCk7XG4gICAgbGV0IGZvdW5kOiBzdHJpbmcgPSBNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHJvdXRlKVxuICAgICAgPyByb3V0ZS5wYXJhbU1hcC5nZXQocGFyYW0pXG4gICAgICA6ICcnO1xuICAgIGlmICghTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChmb3VuZCkpIGZvdW5kID0gdGhpcy5nZXREYXRhKHBhcmFtKTtcbiAgICByZXR1cm4gZm91bmQ7XG4gIH1cbn1cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWRpY292ZXJ5LXBhcmFtcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3JvdXRlcy9tb25rZXllY3gtZGljb3ZlcnktcGFyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUtuRCxNQUFNLE9BQU8sK0JBQStCO0lBQzFDLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2hDLFlBQVk7SUFDZCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQTZCO1FBQ2hELElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQWEsRUFBRSxLQUFVO1FBQ3RDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7UUFDbEQsTUFBTSxLQUFLLEdBQTJCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUQsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUFhO1FBQzFCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7UUFDbEQsTUFBTSxLQUFLLEdBQTJCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUQsTUFBTSxLQUFLLEdBQVEsY0FBYyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUYsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sNEJBQTRCLENBQUMsS0FBYTtRQUMvQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdEQsSUFBSSxLQUFLLEdBQVEsSUFBSSxDQUFDO1FBQ3RCLElBQUksY0FBYyxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3hELEtBQUssR0FBRyxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUNsQztRQUVELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDM0IsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUNsRCxNQUFNLEtBQUssR0FBMkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RCxJQUFJLEtBQUssR0FBVyxjQUFjLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDO1lBQ2pFLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ25DLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQztZQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NEhBN0NVLCtCQUErQjtnSUFBL0IsK0JBQStCLGNBRjlCLE1BQU07MkZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4RGlzY292ZXJ5UGFyYW1zU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGFzdENoaWxkKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB7XG4gICAgaWYgKHJvdXRlLmZpcnN0Q2hpbGQpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldExhc3RDaGlsZChyb3V0ZS5maXJzdENoaWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm91dGU7XG4gIH1cblxuICBwdWJsaWMgc2V0RGF0YShmaWVsZDogc3RyaW5nLCB2YWx1ZTogYW55KTogYW55IHtcbiAgICBjb25zdCB7IHJvb3QgfSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90O1xuICAgIGNvbnN0IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90ID0gdGhpcy5nZXRMYXN0Q2hpbGQocm9vdCk7XG4gICAgcm91dGUuZGF0YVtmaWVsZF0gPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREYXRhKGZpZWxkOiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Q7XG4gICAgY29uc3Qgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZChyb290KTtcblxuICAgIGNvbnN0IGZvdW5kOiBhbnkgPSBNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHJvdXRlKSA/IHJvdXRlLmRhdGFbZmllbGRdIDogbnVsbDtcbiAgICByZXR1cm4gZm91bmQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGF0YUZyb21DdXJyZW50TmF2aWdhdGlvbihmaWVsZDogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCBuYXZpZ2F0aW9uID0gdGhpcy5yb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKTtcbiAgICBsZXQgc3RhdGU6IGFueSA9IG51bGw7XG4gICAgaWYgKE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQobmF2aWdhdGlvbikpIHtcbiAgICAgIHN0YXRlID0gbmF2aWdhdGlvbj8uZXh0cmFzLnN0YXRlO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZSA/IHN0YXRlW2ZpZWxkXSA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0UGFyYW0ocGFyYW06IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IHsgcm9vdCB9ID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Q7XG4gICAgY29uc3Qgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgPSB0aGlzLmdldExhc3RDaGlsZChyb290KTtcbiAgICBsZXQgZm91bmQ6IHN0cmluZyA9IE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQocm91dGUpXG4gICAgICA/IHJvdXRlPy5wYXJhbU1hcD8uZ2V0KHBhcmFtKSB8fCAnJ1xuICAgICAgOiAnJztcbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoZm91bmQpKSBmb3VuZCA9IHRoaXMuZ2V0RGF0YShwYXJhbSk7XG4gICAgcmV0dXJuIGZvdW5kO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,127 @@
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, monkeyecxLoggedHandlingService) {
10
+ this.monkeyecxService = monkeyecxService;
11
+ this.monkeyecxLoggedHandlingService = monkeyecxLoggedHandlingService;
12
+ this.schedule = [];
13
+ // not to do
14
+ }
15
+ addToSchedule(q) {
16
+ this.schedule.push(q);
17
+ this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);
18
+ }
19
+ removeFromSchedule(q) {
20
+ clearInterval(q.interval);
21
+ const saved = [...this.schedule];
22
+ this.schedule = [
23
+ ...saved.map((sch) => {
24
+ const savedLocal = {
25
+ ...sch
26
+ };
27
+ if (sch.id === q.id) {
28
+ return null;
29
+ }
30
+ return savedLocal;
31
+ })
32
+ ].filter((_) => {
33
+ return _;
34
+ });
35
+ this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);
36
+ }
37
+ removeFromScheduleById(id) {
38
+ const q = this.getScheduleById(id);
39
+ clearInterval(q.interval);
40
+ const saved = [...this.schedule];
41
+ this.schedule = [
42
+ ...saved.map((sch) => {
43
+ const savedLocal = {
44
+ ...sch
45
+ };
46
+ if (sch.id === q.id) {
47
+ return null;
48
+ }
49
+ return savedLocal;
50
+ })
51
+ ].filter((_) => {
52
+ return _;
53
+ });
54
+ this.monkeyecxLoggedHandlingService.addSchedule(this.schedule);
55
+ }
56
+ doCall(sch) {
57
+ const { url, method, params, data, action } = sch;
58
+ let func = null;
59
+ const tp = `${method}`.toLowerCase();
60
+ if (tp === 'get') {
61
+ func = this.monkeyecxService?.get;
62
+ }
63
+ else if (tp === 'post') {
64
+ func = this.monkeyecxService?.post;
65
+ }
66
+ else if (tp === 'put') {
67
+ func = this.monkeyecxService?.put;
68
+ }
69
+ else if (tp === 'delete') {
70
+ func = this.monkeyecxService?.delete;
71
+ }
72
+ func?.(`${url}`, params)?.subscribe((resp) => {
73
+ action({
74
+ ...data,
75
+ ...resp
76
+ }, sch);
77
+ }, () => {
78
+ this.removeFromSchedule(sch);
79
+ });
80
+ }
81
+ setSchedule(q, delay = 3000) {
82
+ const interval = setInterval(() => {
83
+ this.doCall({
84
+ ...q,
85
+ interval
86
+ });
87
+ }, delay);
88
+ const sch = {
89
+ ...q,
90
+ id: `${MonkeyEcxUtils.getRandomString(40)}`,
91
+ interval
92
+ };
93
+ this.addToSchedule(sch);
94
+ return sch;
95
+ }
96
+ removeSchedule(q) {
97
+ this.removeFromSchedule(q);
98
+ }
99
+ removeScheduleById(id) {
100
+ this.removeFromScheduleById(id);
101
+ }
102
+ getScheduleById(id) {
103
+ const q = this.schedule.find((sch) => {
104
+ return sch.id === id;
105
+ });
106
+ return q;
107
+ }
108
+ }
109
+ 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 });
110
+ MonkeyEcxRequestScheduleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestScheduleService, providedIn: 'root' });
111
+ __decorate([
112
+ MonkeyEcxCoreService({
113
+ httpResponse: {
114
+ httpCodeIgnore: [400, 403, 404, 500, 503]
115
+ },
116
+ requestInProgress: {
117
+ showProgress: false
118
+ }
119
+ })
120
+ ], MonkeyEcxRequestScheduleService.prototype, "doCall", null);
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxRequestScheduleService, decorators: [{
122
+ type: Injectable,
123
+ args: [{
124
+ providedIn: 'root'
125
+ }]
126
+ }], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.MonkeyEcxLoggedHandlingService }]; }, propDecorators: { doCall: [] } });
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFNbkQsTUFBTSxPQUFPLCtCQUErQjtJQUcxQyxZQUNTLGdCQUFrQyxFQUNqQyw4QkFBOEQ7UUFEL0QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO1FBSmhFLGFBQVEsR0FBdUMsRUFBRSxDQUFDO1FBTXhELFlBQVk7SUFDZCxDQUFDO0lBRU8sYUFBYSxDQUFDLENBQTJCO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxDQUEyQjtRQUNwRCxhQUFhLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQTZCLEVBQUUsRUFBRTtnQkFDN0MsTUFBTSxVQUFVLEdBQUc7b0JBQ2pC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QyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRVYsTUFBTSxHQUFHLEdBQUc7WUFDVixHQUFHLENBQUM7WUFDSixFQUFFLEVBQUUsR0FBRyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzNDLFFBQVE7U0FDVCxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxjQUFjLENBQUMsQ0FBMkI7UUFDL0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxFQUFVO1FBQ2xDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sZUFBZSxDQUFDLEVBQVU7UUFDL0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUE2QixFQUFFLEVBQUU7WUFDN0QsT0FBTyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7NEhBNUhVLCtCQUErQjtnSUFBL0IsK0JBQStCLGNBRjlCLE1BQU07QUFnRWxCO0lBUkMsb0JBQW9CLENBQUM7UUFDcEIsWUFBWSxFQUFFO1lBQ1osY0FBYyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztTQUMxQztRQUNELGlCQUFpQixFQUFFO1lBQ2pCLFlBQVksRUFBRSxLQUFLO1NBQ3BCO0tBQ0YsQ0FBQzs2REE4QkQ7MkZBM0ZVLCtCQUErQjtrQkFIM0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7b0pBK0RTLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlIH0gZnJvbSAnLi4vbW9ua2V5ZWN4LXNlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb3JlU2VydmljZSB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvbW9ua2V5ZWN4LWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4TG9nZ2VkSGFuZGxpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nZ2VkJztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZVNlcnZpY2Uge1xuICBwcml2YXRlIHNjaGVkdWxlOiAoTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlIHwgYW55KVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1vbmtleWVjeFNlcnZpY2U6IE1vbmtleUVjeFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb25rZXllY3hMb2dnZWRIYW5kbGluZ1NlcnZpY2U6IE1vbmtleUVjeExvZ2dlZEhhbmRsaW5nU2VydmljZVxuICApIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIHByaXZhdGUgYWRkVG9TY2hlZHVsZShxOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpIHtcbiAgICB0aGlzLnNjaGVkdWxlLnB1c2gocSk7XG4gICAgdGhpcy5tb25rZXllY3hMb2dnZWRIYW5kbGluZ1NlcnZpY2UuYWRkU2NoZWR1bGUodGhpcy5zY2hlZHVsZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUZyb21TY2hlZHVsZShxOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpIHtcbiAgICBjbGVhckludGVydmFsKHEuaW50ZXJ2YWwpO1xuICAgIGNvbnN0IHNhdmVkID0gWy4uLnRoaXMuc2NoZWR1bGVdO1xuICAgIHRoaXMuc2NoZWR1bGUgPSBbXG4gICAgICAuLi5zYXZlZC5tYXAoKHNjaDogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlKSA9PiB7XG4gICAgICAgIGNvbnN0IHNhdmVkTG9jYWwgPSB7XG4gICAgICAgICAgLi4uc2NoXG4gICAgICAgIH07XG4gICAgICAgIGlmIChzY2guaWQgPT09IHEuaWQpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2F2ZWRMb2NhbDtcbiAgICAgIH0pXG4gICAgXS5maWx0ZXIoKF86IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIF87XG4gICAgfSk7XG4gICAgdGhpcy5tb25rZXllY3hMb2dnZWRIYW5kbGluZ1NlcnZpY2UuYWRkU2NoZWR1bGUodGhpcy5zY2hlZHVsZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUZyb21TY2hlZHVsZUJ5SWQoaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHEgPSB0aGlzLmdldFNjaGVkdWxlQnlJZChpZCk7XG4gICAgY2xlYXJJbnRlcnZhbChxLmludGVydmFsKTtcbiAgICBjb25zdCBzYXZlZCA9IFsuLi50aGlzLnNjaGVkdWxlXTtcbiAgICB0aGlzLnNjaGVkdWxlID0gW1xuICAgICAgLi4uc2F2ZWQubWFwKChzY2g6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSkgPT4ge1xuICAgICAgICBjb25zdCBzYXZlZExvY2FsID0ge1xuICAgICAgICAgIC4uLnNjaFxuICAgICAgICB9O1xuICAgICAgICBpZiAoc2NoLmlkID09PSBxLmlkKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNhdmVkTG9jYWw7XG4gICAgICB9KVxuICAgIF0uZmlsdGVyKChfOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBfO1xuICAgIH0pO1xuICAgIHRoaXMubW9ua2V5ZWN4TG9nZ2VkSGFuZGxpbmdTZXJ2aWNlLmFkZFNjaGVkdWxlKHRoaXMuc2NoZWR1bGUpO1xuICB9XG5cbiAgQE1vbmtleUVjeENvcmVTZXJ2aWNlKHtcbiAgICBodHRwUmVzcG9uc2U6IHtcbiAgICAgIGh0dHBDb2RlSWdub3JlOiBbNDAwLCA0MDMsIDQwNCwgNTAwLCA1MDNdXG4gICAgfSxcbiAgICByZXF1ZXN0SW5Qcm9ncmVzczoge1xuICAgICAgc2hvd1Byb2dyZXNzOiBmYWxzZVxuICAgIH1cbiAgfSlcbiAgcHJpdmF0ZSBkb0NhbGwoc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpIHtcbiAgICBjb25zdCB7IHVybCwgbWV0aG9kLCBwYXJhbXMsIGRhdGEsIGFjdGlvbiB9ID0gc2NoO1xuXG4gICAgbGV0IGZ1bmMgPSBudWxsO1xuICAgIGNvbnN0IHRwID0gYCR7bWV0aG9kfWAudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAodHAgPT09ICdnZXQnKSB7XG4gICAgICBmdW5jID0gdGhpcy5tb25rZXllY3hTZXJ2aWNlPy5nZXQ7XG4gICAgfWVsc2UgaWYgKHRwID09PSAncG9zdCcpIHtcbiAgICAgIGZ1bmMgPSB0aGlzLm1vbmtleWVjeFNlcnZpY2U/LnBvc3Q7XG4gICAgfWVsc2UgaWYgKHRwID09PSAncHV0Jykge1xuICAgICAgZnVuYyA9IHRoaXMubW9ua2V5ZWN4U2VydmljZT8ucHV0O1xuICAgIH1lbHNlIGlmICh0cCA9PT0gJ2RlbGV0ZScpIHtcbiAgICAgIGZ1bmMgPSB0aGlzLm1vbmtleWVjeFNlcnZpY2U/LmRlbGV0ZTtcbiAgICB9XG5cbiAgICBmdW5jPy4oYCR7dXJsfWAsIHBhcmFtcyk/LnN1YnNjcmliZShcbiAgICAgIChyZXNwOiBhbnkpID0+IHtcbiAgICAgICAgYWN0aW9uKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICAuLi5yZXNwXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzY2hcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVtb3ZlRnJvbVNjaGVkdWxlKHNjaCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTY2hlZHVsZShxOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUsIGRlbGF5OiBudW1iZXIgPSAzMDAwKSB7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLmRvQ2FsbCh7XG4gICAgICAgIC4uLnEsXG4gICAgICAgIGludGVydmFsXG4gICAgICB9KTtcbiAgICB9LCBkZWxheSk7XG5cbiAgICBjb25zdCBzY2ggPSB7XG4gICAgICAuLi5xLFxuICAgICAgaWQ6IGAke01vbmtleUVjeFV0aWxzLmdldFJhbmRvbVN0cmluZyg0MCl9YCxcbiAgICAgIGludGVydmFsXG4gICAgfTtcblxuICAgIHRoaXMuYWRkVG9TY2hlZHVsZShzY2gpO1xuICAgIHJldHVybiBzY2g7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlU2NoZWR1bGUocTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlKSB7XG4gICAgdGhpcy5yZW1vdmVGcm9tU2NoZWR1bGUocSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlU2NoZWR1bGVCeUlkKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlbW92ZUZyb21TY2hlZHVsZUJ5SWQoaWQpO1xuICB9XG5cbiAgcHVibGljIGdldFNjaGVkdWxlQnlJZChpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcSA9IHRoaXMuc2NoZWR1bGUuZmluZCgoc2NoOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUpID0+IHtcbiAgICAgIHJldHVybiBzY2guaWQgPT09IGlkO1xuICAgIH0pO1xuICAgIHJldHVybiBxO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,29 @@
1
+ /* eslint-disable object-curly-newline */
2
+ import { Injectable } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "ngx-cookie-service";
5
+ export class MonkeyEcxCookieStorageService {
6
+ constructor(cookieService) {
7
+ this.cookieService = cookieService;
8
+ // not to do
9
+ }
10
+ setCookie(name, value) {
11
+ this.removeCookie(name);
12
+ this.cookieService.set(name, value, undefined, '/', '', true, 'None');
13
+ }
14
+ getCookie(name) {
15
+ return this.cookieService.get(name);
16
+ }
17
+ removeCookie(name) {
18
+ this.cookieService.delete(name, '/');
19
+ }
20
+ }
21
+ MonkeyEcxCookieStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxCookieStorageService, deps: [{ token: i1.CookieService }], target: i0.ɵɵFactoryTarget.Injectable });
22
+ MonkeyEcxCookieStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxCookieStorageService, providedIn: 'root' });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxCookieStorageService, decorators: [{
24
+ type: Injectable,
25
+ args: [{
26
+ providedIn: 'root'
27
+ }]
28
+ }], ctorParameters: function () { return [{ type: i1.CookieService }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvb2tpZS1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc3RvcmFnZS9tb25rZXllY3gtY29va2llLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTTNDLE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDOUMsWUFBWTtJQUNkLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBWSxFQUFFLEtBQVU7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sU0FBUyxDQUFDLElBQVk7UUFDM0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OzBIQWhCVSw2QkFBNkI7OEhBQTdCLDZCQUE2QixjQUY1QixNQUFNOzJGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBvYmplY3QtY3VybHktbmV3bGluZSAqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4Q29va2llU3RvcmFnZVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSkge1xyXG4gICAgLy8gbm90IHRvIGRvXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q29va2llKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5yZW1vdmVDb29raWUobmFtZSk7XHJcbiAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KG5hbWUsIHZhbHVlLCB1bmRlZmluZWQsICcvJywgJycsIHRydWUsICdOb25lJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q29va2llKG5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuY29va2llU2VydmljZS5nZXQobmFtZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlQ29va2llKG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb29raWVTZXJ2aWNlLmRlbGV0ZShuYW1lLCAnLycpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,122 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { of, BehaviorSubject } from 'rxjs';
3
+ import { MonkeyEcxUtils } from '../../utils/utils';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../config/monkeyecx-config.service";
6
+ export class MonkeyEcxTokenStorageService {
7
+ constructor(monkeyecxConfigService) {
8
+ this.monkeyecxConfigService = monkeyecxConfigService;
9
+ this.config = null;
10
+ this.token = {
11
+ username: '',
12
+ program: '',
13
+ accessToken: '',
14
+ refreshToken: '',
15
+ companyId: '',
16
+ governmentId: '',
17
+ companyTypeUrl: '',
18
+ companyType: '',
19
+ programAdmin: false,
20
+ programType: '',
21
+ role: '',
22
+ _clearIgnore: {
23
+ ignore: ['username', 'program']
24
+ }
25
+ };
26
+ this.token$ = new BehaviorSubject(null);
27
+ this.me$ = new BehaviorSubject(null);
28
+ this.monkeyecxConfigService.config().subscribe((_) => {
29
+ this.config = _;
30
+ });
31
+ }
32
+ setAllTokens(token) {
33
+ const { token$ } = this;
34
+ Object.entries(token).forEach(([key, value]) => {
35
+ if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {
36
+ localStorage.setItem(key, value);
37
+ }
38
+ });
39
+ token$.next(token);
40
+ }
41
+ getAllTokens() {
42
+ const { token } = this;
43
+ const handledToken = {
44
+ ...token
45
+ };
46
+ Object.entries(token || {}).forEach(([key, value]) => {
47
+ handledToken[key] = localStorage.getItem(key);
48
+ });
49
+ return handledToken;
50
+ }
51
+ setAllMe(me) {
52
+ const { me$ } = this;
53
+ let previousMe = JSON.parse(localStorage?.getItem('me') || '');
54
+ Object.entries(me).forEach(([key, value]) => {
55
+ if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {
56
+ previousMe = {
57
+ ...previousMe,
58
+ [key]: value
59
+ };
60
+ }
61
+ });
62
+ localStorage.setItem('me', JSON.stringify(previousMe));
63
+ me$.next(previousMe);
64
+ }
65
+ getAllMe() {
66
+ const me = localStorage.getItem('me');
67
+ return JSON.parse(me || '');
68
+ }
69
+ tokenHasChanged() {
70
+ return this.token$.asObservable();
71
+ }
72
+ meHasChanged() {
73
+ return this.me$.asObservable() || null;
74
+ }
75
+ getToken() {
76
+ return this.getAllTokens();
77
+ }
78
+ getMe() {
79
+ return this.getAllMe();
80
+ }
81
+ setToken(token) {
82
+ this.setAllTokens(token);
83
+ }
84
+ setMe(me) {
85
+ this.setAllMe(me);
86
+ }
87
+ clear(force) {
88
+ const { token } = this;
89
+ try {
90
+ Object.entries(token || {}).forEach(([key, value]) => {
91
+ if ((token?._clearIgnore?.ignore || []).filter((val) => {
92
+ return val === key;
93
+ }).length <= 0 ||
94
+ force === true) {
95
+ localStorage.removeItem(key);
96
+ }
97
+ });
98
+ localStorage.removeItem('me');
99
+ }
100
+ catch (error) {
101
+ return of(false);
102
+ }
103
+ return of(true);
104
+ }
105
+ /**
106
+ * @param fields (the name of fields you want to clear. ie: ['companyId', 'role', ...])
107
+ */
108
+ clearCredentials(fields = ['companyId', 'governmentId', 'companyType', 'programAdmin', 'role']) {
109
+ fields?.forEach((key) => {
110
+ localStorage.removeItem(key);
111
+ });
112
+ }
113
+ }
114
+ MonkeyEcxTokenStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxTokenStorageService, deps: [{ token: i1.MonkeyEcxConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
115
+ MonkeyEcxTokenStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxTokenStorageService, providedIn: 'root' });
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxTokenStorageService, decorators: [{
117
+ type: Injectable,
118
+ args: [{
119
+ providedIn: 'root'
120
+ }]
121
+ }], ctorParameters: function () { return [{ type: i1.MonkeyEcxConfigService }]; } });
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zdG9yYWdlL21vbmtleWVjeC10b2tlbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQU1uRCxNQUFNLE9BQU8sNEJBQTRCO0lBU3ZDLFlBQW9CLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBRjFELFdBQU0sR0FBMkIsSUFBSSxDQUFDO1FBRzVDLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLEVBQUU7WUFDZixJQUFJLEVBQUUsRUFBRTtZQUNSLFlBQVksRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO2FBQ2hDO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxJ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VixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29uZmlnL21vbmtleWVjeC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZywgTW9ua2V5RWN4TWVDcmVkZW50aWFscywgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB0b2tlbjogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IG51bGw7XG5cbiAgcHJpdmF0ZSB0b2tlbiQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHwgYW55PjtcblxuICBwcml2YXRlIG1lJDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeE1lQ3JlZGVudGlhbHMgfCBhbnk+O1xuXG4gIHByaXZhdGUgY29uZmlnOiBNb25rZXlFY3hDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vbmtleWVjeENvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLnRva2VuID0ge1xuICAgICAgdXNlcm5hbWU6ICcnLFxuICAgICAgcHJvZ3JhbTogJycsXG4gICAgICBhY2Nlc3NUb2tlbjogJycsXG4gICAgICByZWZyZXNoVG9rZW46ICcnLFxuICAgICAgY29tcGFueUlkOiAnJyxcbiAgICAgIGdvdmVybm1lbnRJZDogJycsXG4gICAgICBjb21wYW55VHlwZVVybDogJycsXG4gICAgICBjb21wYW55VHlwZTogJycsXG4gICAgICBwcm9ncmFtQWRtaW46IGZhbHNlLFxuICAgICAgcHJvZ3JhbVR5cGU6ICcnLFxuICAgICAgcm9sZTogJycsXG4gICAgICBfY2xlYXJJZ25vcmU6IHtcbiAgICAgICAgaWdub3JlOiBbJ3VzZXJuYW1lJywgJ3Byb2dyYW0nXVxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy50b2tlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICAgIHRoaXMubWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICAgIHRoaXMubW9ua2V5ZWN4Q29uZmlnU2VydmljZS5jb25maWcoKS5zdWJzY3JpYmUoKF86IE1vbmtleUVjeENvbmZpZykgPT4ge1xuICAgICAgdGhpcy5jb25maWcgPSBfO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBbGxUb2tlbnModG9rZW46IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMpIHtcbiAgICBjb25zdCB7IHRva2VuJCB9ID0gdGhpcztcbiAgICBPYmplY3QuZW50cmllcyh0b2tlbikuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdG9rZW4kLm5leHQodG9rZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxUb2tlbnMoKTogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB7XG4gICAgY29uc3QgeyB0b2tlbiB9ID0gdGhpcztcbiAgICBjb25zdCBoYW5kbGVkVG9rZW46IGFueSA9IHtcbiAgICAgIC4uLnRva2VuXG4gICAgfTtcbiAgICBPYmplY3QuZW50cmllcyh0b2tlbiB8fCB7fSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBoYW5kbGVkVG9rZW5ba2V5XSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaGFuZGxlZFRva2VuO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBbGxNZShtZTogTW9ua2V5RWN4TWVDcmVkZW50aWFscykge1xuICAgIGNvbnN0IHsgbWUkIH0gPSB0aGlzO1xuICAgIGxldCBwcmV2aW91c01lID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2U/LmdldEl0ZW0oJ21lJykgfHwgJycpO1xuICAgIE9iamVjdC5lbnRyaWVzKG1lKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgICBwcmV2aW91c01lID0ge1xuICAgICAgICAgIC4uLnByZXZpb3VzTWUsXG4gICAgICAgICAgW2tleV06IHZhbHVlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbWUnLCBKU09OLnN0cmluZ2lmeShwcmV2aW91c01lKSk7XG4gICAgbWUkLm5leHQocHJldmlvdXNNZSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbE1lKCk6IE1vbmtleUVjeE1lQ3JlZGVudGlhbHMge1xuICAgIGNvbnN0IG1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ21lJyk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UobWUgfHwgJycpIGFzIE1vbmtleUVjeE1lQ3JlZGVudGlhbHM7XG4gIH1cblxuICBwdWJsaWMgdG9rZW5IYXNDaGFuZ2VkKCk6IE9ic2VydmFibGU8TW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscz4ge1xuICAgIHJldHVybiB0aGlzLnRva2VuJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBtZUhhc0NoYW5nZWQoKTogT2JzZXJ2YWJsZTxNb25rZXlFY3hNZUNyZWRlbnRpYWxzPiB7XG4gICAgcmV0dXJuIHRoaXMubWUkLmFzT2JzZXJ2YWJsZSgpIHx8IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9rZW4oKTogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsVG9rZW5zKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWUoKTogTW9ua2V5RWN4TWVDcmVkZW50aWFscyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsTWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUb2tlbih0b2tlbjogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscykge1xuICAgIHRoaXMuc2V0QWxsVG9rZW5zKHRva2VuKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNZShtZTogTW9ua2V5RWN4TWVDcmVkZW50aWFscykge1xuICAgIHRoaXMuc2V0QWxsTWUobWUpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKGZvcmNlPzogYm9vbGVhbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgdG9rZW4gfSA9IHRoaXM7XG4gICAgdHJ5IHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRva2VuIHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0b2tlbj8uX2NsZWFySWdub3JlPy5pZ25vcmUgfHwgW10pLmZpbHRlcigodmFsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtleTtcbiAgICAgICAgICB9KS5sZW5ndGggPD0gMCB8fFxuICAgICAgICAgIGZvcmNlID09PSB0cnVlXG4gICAgICAgICkge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ21lJyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZmllbGRzICh0aGUgbmFtZSBvZiBmaWVsZHMgeW91IHdhbnQgdG8gY2xlYXIuIGllOiBbJ2NvbXBhbnlJZCcsICdyb2xlJywgLi4uXSlcbiAgICovXG4gIHB1YmxpYyBjbGVhckNyZWRlbnRpYWxzKGZpZWxkcyA9IFsnY29tcGFueUlkJywgJ2dvdmVybm1lbnRJZCcsICdjb21wYW55VHlwZScsICdwcm9ncmFtQWRtaW4nLCAncm9sZSddKSB7XG4gICAgZmllbGRzPy5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,97 @@
1
+ import { MonkeyEcxUtils } from '../utils/utils';
2
+ /* eslint-disable no-unused-vars */
3
+ export var OpSearch;
4
+ (function (OpSearch) {
5
+ OpSearch["LIKE"] = ":*:value*";
6
+ OpSearch["BETWEEN"] = ":first AND :last";
7
+ OpSearch["OR"] = "OR";
8
+ OpSearch["AND"] = "AND";
9
+ OpSearch["GT"] = ">:value";
10
+ OpSearch["LT"] = "<:value";
11
+ OpSearch["EQUAL"] = "::value";
12
+ })(OpSearch || (OpSearch = {}));
13
+ export class MonkeyEcxSpecificationSearch {
14
+ constructor() {
15
+ // not to do
16
+ }
17
+ handleValue(value) {
18
+ return Object.entries(value).map(([key, value1]) => {
19
+ if (!MonkeyEcxUtils.persistNullEmptyUndefined(value1)) {
20
+ return null;
21
+ }
22
+ if (Array.isArray(value1)) {
23
+ if (key === OpSearch.BETWEEN) {
24
+ return `${key}`.replace(':first', value1[0]).replace(':last', value1[1]);
25
+ }
26
+ }
27
+ return `${key}`.replace(':value', `${value1}`);
28
+ })[0];
29
+ }
30
+ queryVisitor(value) {
31
+ const okay = Object.entries(value).map(([key1, value1]) => {
32
+ if (key1 === OpSearch.OR || key1 === OpSearch.AND) {
33
+ const join = value1
34
+ .map((_) => {
35
+ return Object.entries(_).map(([key2, value2]) => {
36
+ if (value2 instanceof Object) {
37
+ value2 = this.handleValue(value2);
38
+ }
39
+ return this.criteriaParser(key2, value2);
40
+ })[0];
41
+ })
42
+ .filter((_) => {
43
+ return _;
44
+ })
45
+ .join(` ${key1} `);
46
+ return `${join ? `(${join})` : ''}`;
47
+ }
48
+ if (value1 instanceof Object) {
49
+ value1 = this.handleValue(value1);
50
+ }
51
+ return this.criteriaParser(key1, value1);
52
+ });
53
+ return okay
54
+ .filter((_) => {
55
+ return _;
56
+ })
57
+ .join(' AND ');
58
+ }
59
+ criteriaParser(key, value) {
60
+ if (!MonkeyEcxUtils.persistNullEmptyUndefined(value)) {
61
+ return '';
62
+ }
63
+ if (value instanceof Object) {
64
+ return this.queryVisitor(value);
65
+ }
66
+ return `${key}${value}`;
67
+ }
68
+ build(spec) {
69
+ try {
70
+ return this.queryVisitor(spec);
71
+ }
72
+ catch (e) {
73
+ throw new Error(`MonkeyEcxSpecificationSearch Error ${e}`);
74
+ }
75
+ }
76
+ buildMoreThanOne(field, op = OpSearch.EQUAL) {
77
+ let self = this;
78
+ try {
79
+ if (!self[field])
80
+ return [];
81
+ const filters = self[field]?.split(',')?.map((filter) => {
82
+ if (!filter)
83
+ return null;
84
+ return {
85
+ [field]: {
86
+ [op]: `${filter}`
87
+ }
88
+ };
89
+ }).filter((val) => { return val; });
90
+ return filters || [];
91
+ }
92
+ catch (e) {
93
+ throw new Error(`MonkeyEcxSpecificationSearch Error ${e}`);
94
+ }
95
+ }
96
+ }
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNwZWNpZmljYXRpb24tc2VhcmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NwZWNpZmljYXRpb24tc2VhcmNoL21vbmtleWVjeC1zcGVjaWZpY2F0aW9uLXNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBTixJQUFZLFFBUVg7QUFSRCxXQUFZLFFBQVE7SUFDbEIsOEJBQWtCLENBQUE7SUFDbEIsd0NBQTRCLENBQUE7SUFDNUIscUJBQVMsQ0FBQTtJQUNULHVCQUFXLENBQUE7SUFDWCwwQkFBYyxDQUFBO0lBQ2QsMEJBQWMsQ0FBQTtJQUNkLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQUVELE1BQU0sT0FBTyw0QkFBNEI7SUFDdkM7UUFDRSxZQUFZO0lBQ2QsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFVO1FBQzVCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3JELE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksR0FBRyxLQUFLLFFBQVEsQ0FBQyxPQUFPLEVBQUU7b0JBQzVCLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzFFO2FBQ0Y7WUFDRCxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQVU7UUFDN0IsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ3hELElBQUksSUFBSSxLQUFLLFFBQVEsQ0FBQyxFQUFFLElBQUksSUFBSSxLQUFLLFFBQVEsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pELE1BQU0sSUFBSSxHQUFJLE1BQWdCO3FCQUMzQixHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtvQkFDZCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTt3QkFDOUMsSUFBSSxNQUFNLFlBQVksTUFBTSxFQUFFOzRCQUM1QixNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQzt5QkFDbkM7d0JBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ1IsQ0FBQyxDQUFDO3FCQUNELE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO29CQUNqQixPQUFPLENBQUMsQ0FBQztnQkFDWCxDQUFDLENBQUM7cUJBQ0QsSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztnQkFDckIsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7YUFDckM7WUFDRCxJQUFJLE1BQU0sWUFBWSxNQUFNLEVBQUU7Z0JBQzVCLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25DO1lBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSTthQUNSLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFTyxjQUFjLENBQUMsR0FBVyxFQUFFLEtBQWtCO1FBQ3BELElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEQsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELElBQUksS0FBSyxZQUFZLE1BQU0sRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakM7UUFDRCxPQUFPLEdBQUcsR0FBRyxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBUztRQUNwQixJQUFJO1lBQ0YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEtBQWEsRUFBRSxFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUs7UUFDeEQsSUFBSSxJQUFJLEdBQVEsSUFBSSxDQUFDO1FBQ3JCLElBQUk7WUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFBRSxPQUFPLEVBQUUsQ0FBQztZQUU1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO2dCQUM5RCxJQUFJLENBQUMsTUFBTTtvQkFBRSxPQUFPLElBQUksQ0FBQztnQkFDekIsT0FBTztvQkFDTCxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUNQLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUU7cUJBQ2xCO2lCQUNGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekMsT0FBTyxPQUFPLElBQUksRUFBRSxDQUFDO1NBQ3RCO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG5leHBvcnQgZW51bSBPcFNlYXJjaCB7XG4gIExJS0UgPSAnOio6dmFsdWUqJyxcbiAgQkVUV0VFTiA9ICc6Zmlyc3QgQU5EIDpsYXN0JyxcbiAgT1IgPSAnT1InLFxuICBBTkQgPSAnQU5EJyxcbiAgR1QgPSAnPjp2YWx1ZScsXG4gIExUID0gJzw6dmFsdWUnLFxuICBFUVVBTCA9ICc6OnZhbHVlJ1xufVxuXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4U3BlY2lmaWNhdGlvblNlYXJjaCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHZhbHVlKS5tYXAoKFtrZXksIHZhbHVlMV0pID0+IHtcbiAgICAgIGlmICghTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZTEpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUxKSkge1xuICAgICAgICBpZiAoa2V5ID09PSBPcFNlYXJjaC5CRVRXRUVOKSB7XG4gICAgICAgICAgcmV0dXJuIGAke2tleX1gLnJlcGxhY2UoJzpmaXJzdCcsIHZhbHVlMVswXSkucmVwbGFjZSgnOmxhc3QnLCB2YWx1ZTFbMV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYCR7a2V5fWAucmVwbGFjZSgnOnZhbHVlJywgYCR7dmFsdWUxfWApO1xuICAgIH0pWzBdO1xuICB9XG5cbiAgcHJpdmF0ZSBxdWVyeVZpc2l0b3IodmFsdWU6IGFueSk6IGFueSB7XG4gICAgY29uc3Qgb2theSA9IE9iamVjdC5lbnRyaWVzKHZhbHVlKS5tYXAoKFtrZXkxLCB2YWx1ZTFdKSA9PiB7XG4gICAgICBpZiAoa2V5MSA9PT0gT3BTZWFyY2guT1IgfHwga2V5MSA9PT0gT3BTZWFyY2guQU5EKSB7XG4gICAgICAgIGNvbnN0IGpvaW4gPSAodmFsdWUxIGFzIGFueVtdKVxuICAgICAgICAgIC5tYXAoKF86IGFueSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKF8pLm1hcCgoW2tleTIsIHZhbHVlMl0pID0+IHtcbiAgICAgICAgICAgICAgaWYgKHZhbHVlMiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICAgICAgICAgIHZhbHVlMiA9IHRoaXMuaGFuZGxlVmFsdWUodmFsdWUyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcml0ZXJpYVBhcnNlcihrZXkyLCB2YWx1ZTIpO1xuICAgICAgICAgICAgfSlbMF07XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmlsdGVyKChfOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBfO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmpvaW4oYCAke2tleTF9IGApO1xuICAgICAgICByZXR1cm4gYCR7am9pbiA/IGAoJHtqb2lufSlgIDogJyd9YDtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZTEgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgdmFsdWUxID0gdGhpcy5oYW5kbGVWYWx1ZSh2YWx1ZTEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuY3JpdGVyaWFQYXJzZXIoa2V5MSwgdmFsdWUxKTtcbiAgICB9KTtcbiAgICByZXR1cm4gb2theVxuICAgICAgLmZpbHRlcigoXzogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBfO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcgQU5EICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcml0ZXJpYVBhcnNlcihrZXk6IHN0cmluZywgdmFsdWU6IGFueSB8IGFueVtdKSB7XG4gICAgaWYgKCFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXJ5VmlzaXRvcih2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBgJHtrZXl9JHt2YWx1ZX1gO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkKHNwZWM6IGFueSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXJ5VmlzaXRvcihzcGVjKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vbmtleUVjeFNwZWNpZmljYXRpb25TZWFyY2ggRXJyb3IgJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBidWlsZE1vcmVUaGFuT25lKGZpZWxkOiBzdHJpbmcsIG9wID0gT3BTZWFyY2guRVFVQUwpIHtcbiAgICBsZXQgc2VsZjogYW55ID0gdGhpcztcbiAgICB0cnkge1xuICAgICAgaWYgKCFzZWxmW2ZpZWxkXSkgcmV0dXJuIFtdO1xuXG4gICAgICBjb25zdCBmaWx0ZXJzID0gc2VsZltmaWVsZF0/LnNwbGl0KCcsJyk/Lm1hcCgoZmlsdGVyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKCFmaWx0ZXIpIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFtmaWVsZF06IHtcbiAgICAgICAgICAgIFtvcF06IGAke2ZpbHRlcn1gXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfSkuZmlsdGVyKCh2YWw6IGFueSkgPT4geyByZXR1cm4gdmFsOyB9KTtcbiAgICAgIHJldHVybiBmaWx0ZXJzIHx8IFtdO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTW9ua2V5RWN4U3BlY2lmaWNhdGlvblNlYXJjaCBFcnJvciAke2V9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=