monkey-front-core 0.0.35 → 0.0.39

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 (257) hide show
  1. package/README.md +24 -24
  2. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +29 -0
  3. 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
  4. package/{esm2015/lib/components/closed-to-maintenance/index.js → esm2020/lib/components/closed-to-maintenance/index.mjs} +1 -1
  5. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  6. package/{esm2015/lib/components/progress-bar/index.js → esm2020/lib/components/progress-bar/index.mjs} +1 -1
  7. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +23 -0
  8. package/{esm2015/lib/components/progress-bar/progress-bar.module.js → esm2020/lib/components/progress-bar/progress-bar.module.mjs} +5 -5
  9. package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +50 -0
  10. package/{esm2015/lib/components/version-changed/index.js → esm2020/lib/components/version-changed/index.mjs} +1 -1
  11. package/esm2020/lib/components/version-changed/version-changed.component.mjs +24 -0
  12. package/{esm2015/lib/components/version-changed/version-changed.module.js → esm2020/lib/components/version-changed/version-changed.module.mjs} +5 -5
  13. package/esm2020/lib/core/decorators/index.mjs +5 -0
  14. package/esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs +40 -0
  15. package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +113 -0
  16. package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +26 -0
  17. package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +26 -0
  18. package/{esm2015/lib/core/directives/index.js → esm2020/lib/core/directives/index.mjs} +1 -1
  19. package/{esm2015/lib/core/directives/monkeyecx-directives-module.js → esm2020/lib/core/directives/monkeyecx-directives-module.mjs} +10 -10
  20. package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +57 -0
  21. package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +68 -0
  22. package/{esm2015/lib/core/directives/monkeyecx-format-currency.js → esm2020/lib/core/directives/monkeyecx-format-currency.mjs} +4 -4
  23. package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +67 -0
  24. package/{esm2015/lib/core/directives/monkeyecx-only-alpha-numeric-directive.js → esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs} +4 -4
  25. package/{esm2015/lib/core/directives/monkeyecx-only-number-directive.js → esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs} +4 -4
  26. package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +69 -0
  27. package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +123 -0
  28. package/{esm2015/lib/core/index.js → esm2020/lib/core/index.mjs} +1 -1
  29. package/{esm2015/lib/core/interceptors/index.js → esm2020/lib/core/interceptors/index.mjs} +1 -1
  30. package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +39 -0
  31. package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +32 -0
  32. package/{esm2015/lib/core/interceptors/monkeyecx-http-config-interceptor.module.js → esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs} +5 -5
  33. package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +43 -0
  34. package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +37 -0
  35. package/{esm2015/lib/core/interfaces/index.js → esm2020/lib/core/interfaces/index.mjs} +1 -1
  36. package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +2 -0
  37. package/{esm2015/lib/core/interfaces/monkeyecx-company.js → esm2020/lib/core/interfaces/monkeyecx-company.mjs} +1 -1
  38. package/esm2020/lib/core/interfaces/monkeyecx-config-boostrap.mjs +2 -0
  39. package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +2 -0
  40. package/{esm2015/lib/core/interfaces/monkeyecx-error-response.js → esm2020/lib/core/interfaces/monkeyecx-error-response.mjs} +1 -1
  41. package/{esm2015/lib/core/interfaces/monkeyecx-handled-error-response.js → esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs} +1 -1
  42. package/{esm2015/lib/core/interfaces/monkeyecx-header-credentials.js → esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs} +1 -1
  43. package/{esm2015/lib/core/interfaces/monkeyecx-intercom-options.js → esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs} +1 -1
  44. package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +2 -0
  45. package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +2 -0
  46. package/{esm2015/lib/core/interfaces/monkeyecx-program.js → esm2020/lib/core/interfaces/monkeyecx-program.mjs} +1 -1
  47. package/{esm2015/lib/core/interfaces/monkeyecx-releases.js → esm2020/lib/core/interfaces/monkeyecx-releases.mjs} +1 -1
  48. package/{esm2015/lib/core/interfaces/monkeyecx-request-in-progress.js → esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs} +1 -1
  49. package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +2 -0
  50. package/{esm2015/lib/core/interfaces/monkeyecx-response-paged.js → esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs} +1 -1
  51. package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +2 -0
  52. package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +2 -0
  53. package/{esm2015/lib/core/interfaces/monkeyecx-translate-options.js → esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs} +1 -1
  54. package/{esm2015/lib/core/interfaces/request-download/index.js → esm2020/lib/core/interfaces/request-download/index.mjs} +1 -1
  55. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs +2 -0
  56. package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-downloaded.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs} +1 -1
  57. 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
  58. package/{esm2015/lib/core/interfaces/request-queue/index.js → esm2020/lib/core/interfaces/request-queue/index.mjs} +1 -1
  59. package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs} +1 -1
  60. package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs} +1 -1
  61. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs +2 -0
  62. package/{esm2015/lib/core/interfaces/request-upload/index.js → esm2020/lib/core/interfaces/request-upload/index.mjs} +1 -1
  63. 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
  64. package/{esm2015/lib/core/interfaces/request-upload/monkeyecx-request-upload.js → esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs} +1 -1
  65. package/{esm2015/lib/core/interfaces/schedules/index.js → esm2020/lib/core/interfaces/schedules/index.mjs} +1 -1
  66. package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +2 -0
  67. package/{esm2015/lib/core/model/index.js → esm2020/lib/core/model/index.mjs} +1 -1
  68. package/{esm2015/lib/core/model/monkeyecx-model.js → esm2020/lib/core/model/monkeyecx-model.mjs} +1 -1
  69. package/esm2020/lib/core/pipes/index.mjs +16 -0
  70. package/esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs +19 -0
  71. package/esm2020/lib/core/pipes/monkeyecx-format-address.mjs +20 -0
  72. package/esm2020/lib/core/pipes/monkeyecx-format-currency.mjs +27 -0
  73. package/esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs +31 -0
  74. package/esm2020/lib/core/pipes/monkeyecx-format-date.mjs +29 -0
  75. package/esm2020/lib/core/pipes/monkeyecx-format-document.mjs +19 -0
  76. package/esm2020/lib/core/pipes/monkeyecx-format-number.mjs +20 -0
  77. package/esm2020/lib/core/pipes/monkeyecx-format-phone.mjs +42 -0
  78. package/esm2020/lib/core/pipes/monkeyecx-format-size.mjs +20 -0
  79. package/esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs +19 -0
  80. package/esm2020/lib/core/pipes/monkeyecx-format-value.mjs +19 -0
  81. package/esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs +19 -0
  82. package/esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs +87 -0
  83. package/esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs +23 -0
  84. package/{esm2015/lib/core/pipes/monkeyecx-truncate-qtd.js → esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs} +4 -4
  85. package/{esm2015/lib/core/services/auth/index.js → esm2020/lib/core/services/auth/index.mjs} +1 -1
  86. 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
  87. package/{esm2015/lib/core/services/auth/monkeyecx-auth-guard.service.js → esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs} +4 -4
  88. package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +61 -0
  89. package/{esm2015/lib/core/services/commons/index.js → esm2020/lib/core/services/commons/index.mjs} +1 -1
  90. package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +269 -0
  91. package/{esm2015/lib/core/services/config/monkeyecx-config.module.js → esm2020/lib/core/services/config/monkeyecx-config.module.mjs} +5 -5
  92. package/esm2020/lib/core/services/config/monkeyecx-config.service.mjs +104 -0
  93. package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +85 -0
  94. package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +65 -0
  95. package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +66 -0
  96. package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +34 -0
  97. package/{esm2015/lib/core/services/config/monkeyecx-maintenance-config.service.js → esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs} +5 -5
  98. package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +42 -0
  99. package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +53 -0
  100. package/{esm2015/lib/core/services/error/index.js → esm2020/lib/core/services/error/index.mjs} +1 -1
  101. package/{esm2015/lib/core/services/error/monkeyecx-error-handling.module.js → esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs} +5 -5
  102. package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +43 -0
  103. package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +127 -0
  104. 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
  105. package/esm2020/lib/core/services/index.mjs +24 -0
  106. package/{esm2015/lib/core/services/logged/index.js → esm2020/lib/core/services/logged/index.mjs} +1 -1
  107. package/{esm2015/lib/core/services/logged/monkeyecx-logged-handling.service.js → esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs} +4 -4
  108. package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +50 -0
  109. package/esm2020/lib/core/services/monkeyecx-service.service.mjs +104 -0
  110. package/{esm2015/lib/core/services/request-download/index.js → esm2020/lib/core/services/request-download/index.mjs} +1 -1
  111. package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +93 -0
  112. package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +61 -0
  113. package/{esm2015/lib/core/services/request-paged/index.js → esm2020/lib/core/services/request-paged/index.mjs} +1 -1
  114. package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +30 -0
  115. package/{esm2015/lib/core/services/request-queue/index.js → esm2020/lib/core/services/request-queue/index.mjs} +1 -1
  116. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +114 -0
  117. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +119 -0
  118. package/{esm2015/lib/core/services/routes/index.js → esm2020/lib/core/services/routes/index.mjs} +1 -1
  119. package/{esm2015/lib/core/services/routes/monkeyecx-dicovery-params.service.js → esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs} +6 -6
  120. package/{esm2015/lib/core/services/schedules/index.js → esm2020/lib/core/services/schedules/index.mjs} +1 -1
  121. package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +127 -0
  122. package/{esm2015/lib/core/services/storage/index.js → esm2020/lib/core/services/storage/index.mjs} +1 -1
  123. package/{esm2015/lib/core/services/storage/monkeyecx-cookie-storage.service.js → esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs} +5 -5
  124. package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +125 -0
  125. package/{esm2015/lib/core/specification-search/index.js → esm2020/lib/core/specification-search/index.mjs} +1 -1
  126. package/esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs +97 -0
  127. package/esm2020/lib/core/utils/decorators-utils.mjs +40 -0
  128. package/{esm2015/lib/core/utils/index.js → esm2020/lib/core/utils/index.mjs} +1 -1
  129. package/{esm2015/lib/core/utils/statics.js → esm2020/lib/core/utils/statics.mjs} +1 -1
  130. package/esm2020/lib/core/utils/utils.mjs +218 -0
  131. package/esm2020/lib/core/utils/validate-utils.mjs +204 -0
  132. package/esm2020/lib/core/utils/validators.mjs +193 -0
  133. package/esm2020/lib/monkey-front-core.module.mjs +62 -0
  134. package/{esm2015/monkey-front-core.js → esm2020/monkey-front-core.mjs} +0 -0
  135. package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
  136. package/fesm2015/{monkey-front-core.js → monkey-front-core.mjs} +708 -517
  137. package/fesm2015/monkey-front-core.mjs.map +1 -0
  138. package/fesm2020/monkey-front-core.mjs +4219 -0
  139. package/fesm2020/monkey-front-core.mjs.map +1 -0
  140. package/lib/components/closed-to-maintenance/closed-to-maintenance.component.d.ts +2 -2
  141. package/lib/components/progress-bar/progress-bar.service.d.ts +1 -1
  142. package/lib/components/version-changed/version-changed.component.d.ts +1 -1
  143. package/lib/core/decorators/index.d.ts +1 -0
  144. package/lib/core/decorators/monkeyecx-charts-decorators.d.ts +1 -0
  145. package/lib/core/directives/monkeyecx-directives-module.d.ts +1 -1
  146. package/lib/core/directives/monkeyecx-feature-directive.d.ts +4 -4
  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 +5 -5
  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 +1 -1
  175. package/lib/core/services/config/monkeyecx-i18n-config.service.d.ts +0 -1
  176. package/lib/core/services/config/monkeyecx-maintenance-config.service.d.ts +1 -1
  177. package/lib/core/services/index.d.ts +13 -3
  178. package/lib/core/services/monkeyecx-handling.service.d.ts +8 -5
  179. package/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.d.ts +1 -1
  180. package/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.d.ts +2 -2
  181. package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +2 -2
  182. package/lib/core/utils/validate-utils.d.ts +13 -13
  183. package/monkey-front-core-0.0.39.tgz +0 -0
  184. package/package.json +22 -9
  185. package/bundles/monkey-front-core.umd.js +0 -4638
  186. package/bundles/monkey-front-core.umd.js.map +0 -1
  187. package/esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.component.js +0 -32
  188. package/esm2015/lib/components/progress-bar/progress-bar.component.js +0 -28
  189. package/esm2015/lib/components/progress-bar/progress-bar.service.js +0 -49
  190. package/esm2015/lib/components/version-changed/version-changed.component.js +0 -25
  191. package/esm2015/lib/core/decorators/index.js +0 -4
  192. package/esm2015/lib/core/decorators/monkeyecx-decorators.js +0 -108
  193. package/esm2015/lib/core/decorators/monkeyecx-download-decorators.js +0 -24
  194. package/esm2015/lib/core/decorators/monkeyecx-upload-decorators.js +0 -24
  195. package/esm2015/lib/core/directives/monkeyecx-drag-drop.js +0 -57
  196. package/esm2015/lib/core/directives/monkeyecx-feature-directive.js +0 -66
  197. package/esm2015/lib/core/directives/monkeyecx-format-upper.js +0 -67
  198. package/esm2015/lib/core/directives/monkeyecx-security-directive.js +0 -67
  199. package/esm2015/lib/core/directives/monkeyecx-tooltip-directive.js +0 -120
  200. package/esm2015/lib/core/interceptors/monkeyecx-http-config-error.interceptor.js +0 -39
  201. package/esm2015/lib/core/interceptors/monkeyecx-http-config-header.interceptor.js +0 -32
  202. package/esm2015/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.js +0 -41
  203. package/esm2015/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.js +0 -37
  204. package/esm2015/lib/core/interfaces/monkeyecx-auth-credentials.js +0 -2
  205. package/esm2015/lib/core/interfaces/monkeyecx-config-boostrap.js +0 -2
  206. package/esm2015/lib/core/interfaces/monkeyecx-config.js +0 -2
  207. package/esm2015/lib/core/interfaces/monkeyecx-me-credentials.js +0 -2
  208. package/esm2015/lib/core/interfaces/monkeyecx-navigation.js +0 -2
  209. package/esm2015/lib/core/interfaces/monkeyecx-request-paged.js +0 -2
  210. package/esm2015/lib/core/interfaces/monkeyecx-service-credentials.js +0 -2
  211. package/esm2015/lib/core/interfaces/monkeyecx-token-credentials.js +0 -2
  212. package/esm2015/lib/core/interfaces/request-download/monkeyecx-request-download.js +0 -2
  213. package/esm2015/lib/core/interfaces/request-queue/monkeyecx-request-queue.js +0 -2
  214. package/esm2015/lib/core/interfaces/schedules/monkeyecx-request-schedule.js +0 -2
  215. package/esm2015/lib/core/pipes/index.js +0 -13
  216. package/esm2015/lib/core/pipes/monkeyecx-display-first-name.js +0 -22
  217. package/esm2015/lib/core/pipes/monkeyecx-format-currency.js +0 -30
  218. package/esm2015/lib/core/pipes/monkeyecx-format-date-timelapse.js +0 -37
  219. package/esm2015/lib/core/pipes/monkeyecx-format-document.js +0 -22
  220. package/esm2015/lib/core/pipes/monkeyecx-format-number.js +0 -23
  221. package/esm2015/lib/core/pipes/monkeyecx-format-size.js +0 -23
  222. package/esm2015/lib/core/pipes/monkeyecx-format-type-document.js +0 -22
  223. package/esm2015/lib/core/pipes/monkeyecx-format-value.js +0 -22
  224. package/esm2015/lib/core/pipes/monkeyecx-format-zipcode.js +0 -22
  225. package/esm2015/lib/core/pipes/monkeyecx-pipes.module.js +0 -72
  226. package/esm2015/lib/core/pipes/monkeyecx-text-truncate.js +0 -26
  227. package/esm2015/lib/core/services/auth/monkeyecx-authentication.service.js +0 -61
  228. package/esm2015/lib/core/services/commons/monkeyecx-commons.service.js +0 -242
  229. package/esm2015/lib/core/services/config/index.js +0 -9
  230. package/esm2015/lib/core/services/config/monkeyecx-config.service.js +0 -104
  231. package/esm2015/lib/core/services/config/monkeyecx-error-config.service.js +0 -85
  232. package/esm2015/lib/core/services/config/monkeyecx-feature-toggle.service.js +0 -65
  233. package/esm2015/lib/core/services/config/monkeyecx-i18n-config.service.js +0 -72
  234. package/esm2015/lib/core/services/config/monkeyecx-logs-config.service.js +0 -34
  235. package/esm2015/lib/core/services/config/monkeyecx-security-console-config.service.js +0 -42
  236. package/esm2015/lib/core/services/config/monkeyecx-service-worker-config.service.js +0 -54
  237. package/esm2015/lib/core/services/error/monkeyecx-error-handling.service.js +0 -39
  238. package/esm2015/lib/core/services/error/monkeyecx-http-error-handling.service.js +0 -131
  239. package/esm2015/lib/core/services/index.js +0 -14
  240. package/esm2015/lib/core/services/monkeyecx-handling.service.js +0 -44
  241. package/esm2015/lib/core/services/monkeyecx-service.service.js +0 -102
  242. package/esm2015/lib/core/services/request-download/monkeyecx-request-download-handling.service.js +0 -81
  243. package/esm2015/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.js +0 -55
  244. package/esm2015/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.js +0 -30
  245. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.js +0 -97
  246. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.js +0 -106
  247. package/esm2015/lib/core/services/schedules/monkeyecx-request-schedule.service.js +0 -99
  248. package/esm2015/lib/core/services/storage/monkeyecx-token-storage.service.js +0 -117
  249. package/esm2015/lib/core/specification-search/monkeyecx-specification-search.js +0 -97
  250. package/esm2015/lib/core/utils/decorators-utils.js +0 -37
  251. package/esm2015/lib/core/utils/utils.js +0 -219
  252. package/esm2015/lib/core/utils/validate-utils.js +0 -204
  253. package/esm2015/lib/core/utils/validators.js +0 -193
  254. package/esm2015/lib/monkey-front-core.module.js +0 -60
  255. package/fesm2015/monkey-front-core.js.map +0 -1
  256. package/lib/core/services/config/index.d.ts +0 -8
  257. package/monkey-front-core-0.0.35.tgz +0 -0
@@ -0,0 +1,125 @@
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, config } = this;
43
+ const handledToken = {
44
+ ...token
45
+ };
46
+ Object.entries(token || {}).forEach(([key, value]) => {
47
+ handledToken[key] = localStorage.getItem(key);
48
+ });
49
+ if (config?.program) {
50
+ handledToken.program = config?.program?.token;
51
+ }
52
+ return handledToken;
53
+ }
54
+ setAllMe(me) {
55
+ const { me$ } = this;
56
+ let previousMe = JSON.parse(localStorage?.getItem('me') || '');
57
+ Object.entries(me).forEach(([key, value]) => {
58
+ if (MonkeyEcxUtils.persistNullEmptyUndefined(value)) {
59
+ previousMe = {
60
+ ...previousMe,
61
+ [key]: value
62
+ };
63
+ }
64
+ });
65
+ localStorage.setItem('me', JSON.stringify(previousMe));
66
+ me$.next(previousMe);
67
+ }
68
+ getAllMe() {
69
+ const me = localStorage.getItem('me');
70
+ return JSON.parse(me || '');
71
+ }
72
+ tokenHasChanged() {
73
+ return this.token$.asObservable();
74
+ }
75
+ meHasChanged() {
76
+ return this.me$.asObservable() || null;
77
+ }
78
+ getToken() {
79
+ return this.getAllTokens();
80
+ }
81
+ getMe() {
82
+ return this.getAllMe();
83
+ }
84
+ setToken(token) {
85
+ this.setAllTokens(token);
86
+ }
87
+ setMe(me) {
88
+ this.setAllMe(me);
89
+ }
90
+ clear(force) {
91
+ const { token } = this;
92
+ try {
93
+ Object.entries(token || {}).forEach(([key, value]) => {
94
+ if ((token?._clearIgnore?.ignore || []).filter((val) => {
95
+ return val === key;
96
+ }).length <= 0 ||
97
+ force === true) {
98
+ localStorage.removeItem(key);
99
+ }
100
+ });
101
+ localStorage.removeItem('me');
102
+ }
103
+ catch (error) {
104
+ return of(false);
105
+ }
106
+ return of(true);
107
+ }
108
+ /**
109
+ * @param fields (the name of fields you want to clear. ie: ['companyId', 'role', ...])
110
+ */
111
+ clearCredentials(fields = ['companyId', 'governmentId', 'companyType', 'programAdmin', 'role']) {
112
+ fields?.forEach((key) => {
113
+ localStorage.removeItem(key);
114
+ });
115
+ }
116
+ }
117
+ MonkeyEcxTokenStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxTokenStorageService, deps: [{ token: i1.MonkeyEcxConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
118
+ MonkeyEcxTokenStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxTokenStorageService, providedIn: 'root' });
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxTokenStorageService, decorators: [{
120
+ type: Injectable,
121
+ args: [{
122
+ providedIn: 'root'
123
+ }]
124
+ }], ctorParameters: function () { return [{ type: i1.MonkeyEcxConfigService }]; } });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zdG9yYWdlL21vbmtleWVjeC10b2tlbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQU1uRCxNQUFNLE9BQU8sNEJBQTRCO0lBU3ZDLFlBQW9CLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBRjFELFdBQU0sR0FBMkIsSUFBSSxDQUFDO1FBRzVDLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLEVBQUU7WUFDZixJQUFJLEVBQUUsRUFBRTtZQUNSLFlBQVksRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO2FBQ2hDO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxJ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QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3lIQXBJVSw0QkFBNEI7NkhBQTVCLDRCQUE0QixjQUYzQixNQUFNOzJGQUVQLDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29uZmlnL21vbmtleWVjeC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZywgTW9ua2V5RWN4TWVDcmVkZW50aWFscywgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB0b2tlbjogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IG51bGw7XG5cbiAgcHJpdmF0ZSB0b2tlbiQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHwgYW55PjtcblxuICBwcml2YXRlIG1lJDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeE1lQ3JlZGVudGlhbHMgfCBhbnk+O1xuXG4gIHByaXZhdGUgY29uZmlnOiBNb25rZXlFY3hDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vbmtleWVjeENvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLnRva2VuID0ge1xuICAgICAgdXNlcm5hbWU6ICcnLFxuICAgICAgcHJvZ3JhbTogJycsXG4gICAgICBhY2Nlc3NUb2tlbjogJycsXG4gICAgICByZWZyZXNoVG9rZW46ICcnLFxuICAgICAgY29tcGFueUlkOiAnJyxcbiAgICAgIGdvdmVybm1lbnRJZDogJycsXG4gICAgICBjb21wYW55VHlwZVVybDogJycsXG4gICAgICBjb21wYW55VHlwZTogJycsXG4gICAgICBwcm9ncmFtQWRtaW46IGZhbHNlLFxuICAgICAgcHJvZ3JhbVR5cGU6ICcnLFxuICAgICAgcm9sZTogJycsXG4gICAgICBfY2xlYXJJZ25vcmU6IHtcbiAgICAgICAgaWdub3JlOiBbJ3VzZXJuYW1lJywgJ3Byb2dyYW0nXVxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy50b2tlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICAgIHRoaXMubWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICAgIHRoaXMubW9ua2V5ZWN4Q29uZmlnU2VydmljZS5jb25maWcoKS5zdWJzY3JpYmUoKF86IE1vbmtleUVjeENvbmZpZykgPT4ge1xuICAgICAgdGhpcy5jb25maWcgPSBfO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBbGxUb2tlbnModG9rZW46IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMpIHtcbiAgICBjb25zdCB7IHRva2VuJCB9ID0gdGhpcztcbiAgICBPYmplY3QuZW50cmllcyh0b2tlbikuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdG9rZW4kLm5leHQodG9rZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxUb2tlbnMoKTogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB7XG4gICAgY29uc3QgeyB0b2tlbiwgY29uZmlnIH0gPSB0aGlzO1xuICAgIGNvbnN0IGhhbmRsZWRUb2tlbjogYW55ID0ge1xuICAgICAgLi4udG9rZW5cbiAgICB9O1xuICAgIE9iamVjdC5lbnRyaWVzKHRva2VuIHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGhhbmRsZWRUb2tlbltrZXldID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICB9KTtcblxuICAgIGlmIChjb25maWc/LnByb2dyYW0pIHtcbiAgICAgIGhhbmRsZWRUb2tlbi5wcm9ncmFtID0gY29uZmlnPy5wcm9ncmFtPy50b2tlbjtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlZFRva2VuO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBbGxNZShtZTogTW9ua2V5RWN4TWVDcmVkZW50aWFscykge1xuICAgIGNvbnN0IHsgbWUkIH0gPSB0aGlzO1xuICAgIGxldCBwcmV2aW91c01lID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2U/LmdldEl0ZW0oJ21lJykgfHwgJycpO1xuICAgIE9iamVjdC5lbnRyaWVzKG1lKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgICBwcmV2aW91c01lID0ge1xuICAgICAgICAgIC4uLnByZXZpb3VzTWUsXG4gICAgICAgICAgW2tleV06IHZhbHVlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbWUnLCBKU09OLnN0cmluZ2lmeShwcmV2aW91c01lKSk7XG4gICAgbWUkLm5leHQocHJldmlvdXNNZSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbE1lKCk6IE1vbmtleUVjeE1lQ3JlZGVudGlhbHMge1xuICAgIGNvbnN0IG1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ21lJyk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UobWUgfHwgJycpIGFzIE1vbmtleUVjeE1lQ3JlZGVudGlhbHM7XG4gIH1cblxuICBwdWJsaWMgdG9rZW5IYXNDaGFuZ2VkKCk6IE9ic2VydmFibGU8TW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscz4ge1xuICAgIHJldHVybiB0aGlzLnRva2VuJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBtZUhhc0NoYW5nZWQoKTogT2JzZXJ2YWJsZTxNb25rZXlFY3hNZUNyZWRlbnRpYWxzPiB7XG4gICAgcmV0dXJuIHRoaXMubWUkLmFzT2JzZXJ2YWJsZSgpIHx8IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9rZW4oKTogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsVG9rZW5zKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWUoKTogTW9ua2V5RWN4TWVDcmVkZW50aWFscyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsTWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUb2tlbih0b2tlbjogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscykge1xuICAgIHRoaXMuc2V0QWxsVG9rZW5zKHRva2VuKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNZShtZTogTW9ua2V5RWN4TWVDcmVkZW50aWFscykge1xuICAgIHRoaXMuc2V0QWxsTWUobWUpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKGZvcmNlPzogYm9vbGVhbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgdG9rZW4gfSA9IHRoaXM7XG4gICAgdHJ5IHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRva2VuIHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0b2tlbj8uX2NsZWFySWdub3JlPy5pZ25vcmUgfHwgW10pLmZpbHRlcigodmFsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtleTtcbiAgICAgICAgICB9KS5sZW5ndGggPD0gMCB8fFxuICAgICAgICAgIGZvcmNlID09PSB0cnVlXG4gICAgICAgICkge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ21lJyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZmllbGRzICh0aGUgbmFtZSBvZiBmaWVsZHMgeW91IHdhbnQgdG8gY2xlYXIuIGllOiBbJ2NvbXBhbnlJZCcsICdyb2xlJywgLi4uXSlcbiAgICovXG4gIHB1YmxpYyBjbGVhckNyZWRlbnRpYWxzKGZpZWxkcyA9IFsnY29tcGFueUlkJywgJ2dvdmVybm1lbnRJZCcsICdjb21wYW55VHlwZScsICdwcm9ncmFtQWRtaW4nLCAncm9sZSddKSB7XG4gICAgZmllbGRzPy5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export * from './monkeyecx-specification-search';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc3BlY2lmaWNhdGlvbi1zZWFyY2gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXNwZWNpZmljYXRpb24tc2VhcmNoJztcclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc3BlY2lmaWNhdGlvbi1zZWFyY2gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXNwZWNpZmljYXRpb24tc2VhcmNoJztcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNwZWNpZmljYXRpb24tc2VhcmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NwZWNpZmljYXRpb24tc2VhcmNoL21vbmtleWVjeC1zcGVjaWZpY2F0aW9uLXNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBTixJQUFZLFFBUVg7QUFSRCxXQUFZLFFBQVE7SUFDbEIsOEJBQWtCLENBQUE7SUFDbEIsd0NBQTRCLENBQUE7SUFDNUIscUJBQVMsQ0FBQTtJQUNULHVCQUFXLENBQUE7SUFDWCwwQkFBYyxDQUFBO0lBQ2QsMEJBQWMsQ0FBQTtJQUNkLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQUVELE1BQU0sT0FBTyw0QkFBNEI7SUFDdkM7UUFDRSxZQUFZO0lBQ2QsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFVO1FBQzVCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3JELE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksR0FBRyxLQUFLLFFBQVEsQ0FBQyxPQUFPLEVBQUU7b0JBQzVCLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFP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R0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO2dCQUM5RCxJQUFJLENBQUMsTUFBTTtvQkFBRSxPQUFPLElBQUksQ0FBQztnQkFDekIsT0FBTztvQkFDTCxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUNQLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUU7cUJBQ2xCO2lCQUNGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekMsT0FBTyxPQUFPLElBQUksRUFBRSxDQUFDO1NBQ3RCO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG5leHBvcnQgZW51bSBPcFNlYXJjaCB7XG4gIExJS0UgPSAnOio6dmFsdWUqJyxcbiAgQkVUV0VFTiA9ICc6Zmlyc3QgQU5EIDpsYXN0JyxcbiAgT1IgPSAnT1InLFxuICBBTkQgPSAnQU5EJyxcbiAgR1QgPSAnPjp2YWx1ZScsXG4gIExUID0gJzw6dmFsdWUnLFxuICBFUVVBTCA9ICc6OnZhbHVlJ1xufVxuXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4U3BlY2lmaWNhdGlvblNlYXJjaCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHZhbHVlKS5tYXAoKFtrZXksIHZhbHVlMV0pID0+IHtcbiAgICAgIGlmICghTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZTEpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUxKSkge1xuICAgICAgICBpZiAoa2V5ID09PSBPcFNlYXJjaC5CRVRXRUVOKSB7XG4gICAgICAgICAgcmV0dXJuIGAke2tleX1gLnJlcGxhY2UoJzpmaXJzdCcsIHZhbHVlMVswXSkucmVwbGFjZSgnOmxhc3QnLCB2YWx1ZTFbMV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYCR7a2V5fWAucmVwbGFjZSgnOnZhbHVlJywgYCR7dmFsdWUxfWApO1xuICAgIH0pWzBdO1xuICB9XG5cbiAgcHJpdmF0ZSBxdWVyeVZpc2l0b3IodmFsdWU6IGFueSk6IGFueSB7XG4gICAgY29uc3Qgb2theSA9IE9iamVjdC5lbnRyaWVzKHZhbHVlKS5tYXAoKFtrZXkxLCB2YWx1ZTFdKSA9PiB7XG4gICAgICBpZiAoa2V5MSA9PT0gT3BTZWFyY2guT1IgfHwga2V5MSA9PT0gT3BTZWFyY2guQU5EKSB7XG4gICAgICAgIGNvbnN0IGpvaW4gPSAodmFsdWUxIGFzIGFueVtdKVxuICAgICAgICAgIC5tYXAoKF86IGFueSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKF8pLm1hcCgoW2tleTIsIHZhbHVlMl0pID0+IHtcbiAgICAgICAgICAgICAgaWYgKHZhbHVlMiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICAgICAgICAgIHZhbHVlMiA9IHRoaXMuaGFuZGxlVmFsdWUodmFsdWUyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcml0ZXJpYVBhcnNlcihrZXkyLCB2YWx1ZTIpO1xuICAgICAgICAgICAgfSlbMF07XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmlsdGVyKChfOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBfO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmpvaW4oYCAke2tleTF9IGApO1xuICAgICAgICByZXR1cm4gYCR7am9pbiA/IGAoJHtqb2lufSlgIDogJyd9YDtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZTEgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgdmFsdWUxID0gdGhpcy5oYW5kbGVWYWx1ZSh2YWx1ZTEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuY3JpdGVyaWFQYXJzZXIoa2V5MSwgdmFsdWUxKTtcbiAgICB9KTtcbiAgICByZXR1cm4gb2theVxuICAgICAgLmZpbHRlcigoXzogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBfO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcgQU5EICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcml0ZXJpYVBhcnNlcihrZXk6IHN0cmluZywgdmFsdWU6IGFueSB8IGFueVtdKSB7XG4gICAgaWYgKCFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXJ5VmlzaXRvcih2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBgJHtrZXl9JHt2YWx1ZX1gO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkKHNwZWM6IGFueSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXJ5VmlzaXRvcihzcGVjKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vbmtleUVjeFNwZWNpZmljYXRpb25TZWFyY2ggRXJyb3IgJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBidWlsZE1vcmVUaGFuT25lKGZpZWxkOiBzdHJpbmcsIG9wID0gT3BTZWFyY2guRVFVQUwpIHtcbiAgICBsZXQgc2VsZjogYW55ID0gdGhpcztcbiAgICB0cnkge1xuICAgICAgaWYgKCFzZWxmW2ZpZWxkXSkgcmV0dXJuIFtdO1xuXG4gICAgICBjb25zdCBmaWx0ZXJzID0gc2VsZltmaWVsZF0/LnNwbGl0KCcsJyk/Lm1hcCgoZmlsdGVyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKCFmaWx0ZXIpIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFtmaWVsZF06IHtcbiAgICAgICAgICAgIFtvcF06IGAke2ZpbHRlcn1gXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfSkuZmlsdGVyKCh2YWw6IGFueSkgPT4geyByZXR1cm4gdmFsOyB9KTtcbiAgICAgIHJldHVybiBmaWx0ZXJzIHx8IFtdO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTW9ua2V5RWN4U3BlY2lmaWNhdGlvblNlYXJjaCBFcnJvciAke2V9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import * as Statics from './statics';
2
+ import { MonkeyEcxUtils } from './utils';
3
+ export function buildQueuePropertys(queue) {
4
+ const params = {
5
+ item: {
6
+ ...queue,
7
+ id: MonkeyEcxUtils.getRandomString(40)
8
+ },
9
+ status: Statics.MonkeyEcxQueueEvents.OnGoing
10
+ };
11
+ return params;
12
+ }
13
+ export function buildDownloadPropertys(name, description, size) {
14
+ const params = {
15
+ item: {
16
+ name,
17
+ description,
18
+ id: `${MonkeyEcxUtils.getRandomString(40)}`,
19
+ size,
20
+ createdAt: new Date()
21
+ },
22
+ status: Statics.MonkeyEcxQueueEvents.OnGoing
23
+ };
24
+ return params;
25
+ }
26
+ export function buildUploadPropertys(name, description) {
27
+ const params = {
28
+ item: {
29
+ name,
30
+ description,
31
+ id: `${MonkeyEcxUtils.getRandomString(40)}`
32
+ },
33
+ status: Statics.MonkeyEcxUploadEvents.OnGoing
34
+ };
35
+ return params;
36
+ }
37
+ export function hasMonkeyEcxServiceAndHandlingProperties(context) {
38
+ return Object.prototype.hasOwnProperty.call(context, 'monkeyecxService');
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS91dGlscy9kZWNvcmF0b3JzLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sS0FBSyxPQUFPLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEtBQWdDO0lBQ2xFLE1BQU0sTUFBTSxHQUEwQjtRQUNwQyxJQUFJLEVBQUU7WUFDSixHQUFHLEtBQUs7WUFDUixFQUFFLEVBQUUsY0FBYyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7U0FDdkM7UUFDRCxNQUFNLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixDQUFDLE9BQU87S0FDN0MsQ0FBQztJQUVGLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLElBQVksRUFDWixXQUFvQixFQUNwQixJQUFhO0lBRWIsTUFBTSxNQUFNLEdBQTZCO1FBQ3ZDLElBQUksRUFBRTtZQUNKLElBQUk7WUFDSixXQUFXO1lBQ1gsRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMzQyxJQUFJO1lBQ0osU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFO1NBQ3RCO1FBQ0QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPO0tBQzdDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLElBQVksRUFBRSxXQUFvQjtJQUNyRSxNQUFNLE1BQU0sR0FBMkI7UUFDckMsSUFBSSxFQUFFO1lBQ0osSUFBSTtZQUNKLFdBQVc7WUFDWCxFQUFFLEVBQUUsR0FBRyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1NBQzVDO1FBQ0QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPO0tBQzlDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLHdDQUF3QyxDQUFDLE9BQVk7SUFDbkUsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vbmtleUVjeFJlcXVlc3REb3dubG9hZCxcbiAgTW9ua2V5RWN4UmVxdWVzdEl0ZW1RdWV1ZSxcbiAgTW9ua2V5RWN4UmVxdWVzdFF1ZXVlLFxuICBNb25rZXlFY3hSZXF1ZXN0VXBsb2FkXG59IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgU3RhdGljcyBmcm9tICcuL3N0YXRpY3MnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUXVldWVQcm9wZXJ0eXMocXVldWU6IE1vbmtleUVjeFJlcXVlc3RJdGVtUXVldWUpOiBNb25rZXlFY3hSZXF1ZXN0UXVldWUge1xuICBjb25zdCBwYXJhbXM6IE1vbmtleUVjeFJlcXVlc3RRdWV1ZSA9IHtcbiAgICBpdGVtOiB7XG4gICAgICAuLi5xdWV1ZSxcbiAgICAgIGlkOiBNb25rZXlFY3hVdGlscy5nZXRSYW5kb21TdHJpbmcoNDApXG4gICAgfSxcbiAgICBzdGF0dXM6IFN0YXRpY3MuTW9ua2V5RWN4UXVldWVFdmVudHMuT25Hb2luZ1xuICB9O1xuXG4gIHJldHVybiBwYXJhbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZERvd25sb2FkUHJvcGVydHlzKFxuICBuYW1lOiBzdHJpbmcsXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nLFxuICBzaXplPzogbnVtYmVyXG4pOiBNb25rZXlFY3hSZXF1ZXN0RG93bmxvYWQge1xuICBjb25zdCBwYXJhbXM6IE1vbmtleUVjeFJlcXVlc3REb3dubG9hZCA9IHtcbiAgICBpdGVtOiB7XG4gICAgICBuYW1lLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBpZDogYCR7TW9ua2V5RWN4VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDQwKX1gLFxuICAgICAgc2l6ZSxcbiAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKVxuICAgIH0sXG4gICAgc3RhdHVzOiBTdGF0aWNzLk1vbmtleUVjeFF1ZXVlRXZlbnRzLk9uR29pbmdcbiAgfTtcblxuICByZXR1cm4gcGFyYW1zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRVcGxvYWRQcm9wZXJ0eXMobmFtZTogc3RyaW5nLCBkZXNjcmlwdGlvbj86IHN0cmluZyk6IE1vbmtleUVjeFJlcXVlc3RVcGxvYWQge1xuICBjb25zdCBwYXJhbXM6IE1vbmtleUVjeFJlcXVlc3RVcGxvYWQgPSB7XG4gICAgaXRlbToge1xuICAgICAgbmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgaWQ6IGAke01vbmtleUVjeFV0aWxzLmdldFJhbmRvbVN0cmluZyg0MCl9YFxuICAgIH0sXG4gICAgc3RhdHVzOiBTdGF0aWNzLk1vbmtleUVjeFVwbG9hZEV2ZW50cy5PbkdvaW5nXG4gIH07XG5cbiAgcmV0dXJuIHBhcmFtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc01vbmtleUVjeFNlcnZpY2VBbmRIYW5kbGluZ1Byb3BlcnRpZXMoY29udGV4dDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoY29udGV4dCwgJ21vbmtleWVjeFNlcnZpY2UnKTtcbn1cbiJdfQ==
@@ -5,4 +5,4 @@ import * as DecoratorsUtils from './decorators-utils';
5
5
  import * as Statics from './statics';
6
6
  export { MonkeyEcxUtils, ValidateUtils, DecoratorsUtils, Statics };
7
7
  export * from './validators';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssZUFBZSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxPQUFPLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUNuRSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG9iamVjdC1jdXJseS1uZXdsaW5lICovXHJcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCAqIGFzIFZhbGlkYXRlVXRpbHMgZnJvbSAnLi92YWxpZGF0ZS11dGlscyc7XHJcbmltcG9ydCAqIGFzIERlY29yYXRvcnNVdGlscyBmcm9tICcuL2RlY29yYXRvcnMtdXRpbHMnO1xyXG5pbXBvcnQgKiBhcyBTdGF0aWNzIGZyb20gJy4vc3RhdGljcyc7XHJcblxyXG5leHBvcnQgeyBNb25rZXlFY3hVdGlscywgVmFsaWRhdGVVdGlscywgRGVjb3JhdG9yc1V0aWxzLCBTdGF0aWNzIH07XHJcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9ycyc7XHJcbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssZUFBZSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxPQUFPLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUNuRSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG9iamVjdC1jdXJseS1uZXdsaW5lICovXG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgVmFsaWRhdGVVdGlscyBmcm9tICcuL3ZhbGlkYXRlLXV0aWxzJztcbmltcG9ydCAqIGFzIERlY29yYXRvcnNVdGlscyBmcm9tICcuL2RlY29yYXRvcnMtdXRpbHMnO1xuaW1wb3J0ICogYXMgU3RhdGljcyBmcm9tICcuL3N0YXRpY3MnO1xuXG5leHBvcnQgeyBNb25rZXlFY3hVdGlscywgVmFsaWRhdGVVdGlscywgRGVjb3JhdG9yc1V0aWxzLCBTdGF0aWNzIH07XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvcnMnO1xuIl19
@@ -35,4 +35,4 @@ export var ApiEndPointsHeaderNotMandatory;
35
35
  ApiEndPointsHeaderNotMandatory["BuyerTaxFile"] = "/buyer-tax-file";
36
36
  ApiEndPointsHeaderNotMandatory["ViaCep"] = "viacep.com.br/";
37
37
  })(ApiEndPointsHeaderNotMandatory || (ApiEndPointsHeaderNotMandatory = {}));
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS91dGlscy9zdGF0aWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1DQUFtQztBQUNuQyw4QkFBOEI7QUFDOUIsTUFBTSxDQUFOLElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM5QixxRUFBTyxDQUFBO0lBQ1AsdUVBQVEsQ0FBQTtJQUNSLHlGQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSS9CO0FBRUQsTUFBTSxDQUFOLElBQVksdUJBSVg7QUFKRCxXQUFZLHVCQUF1QjtJQUNqQywyRUFBTyxDQUFBO0lBQ1AsNkVBQVEsQ0FBQTtJQUNSLCtGQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBSWxDO0FBRUQsTUFBTSxDQUFOLElBQVkscUJBSVg7QUFKRCxXQUFZLHFCQUFxQjtJQUMvQix1RUFBTyxDQUFBO0lBQ1AseUVBQVEsQ0FBQTtJQUNSLDJGQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBSWhDO0FBRUQsK0JBQStCO0FBQy9CLE1BQU0sQ0FBTixJQUFZLDZCQUlYO0FBSkQsV0FBWSw2QkFBNkI7SUFDdkMsbURBQWtCLENBQUE7SUFDbEIseURBQXdCLENBQUE7SUFDeEIsMERBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUpXLDZCQUE2QixLQUE3Qiw2QkFBNkIsUUFJeEM7QUFFRCwrQkFBK0I7QUFDL0IsTUFBTSxDQUFOLElBQVksOEJBT1g7QUFQRCxXQUFZLDhCQUE4QjtJQUN4QyxvREFBa0IsQ0FBQTtJQUNsQixvRUFBa0MsQ0FBQTtJQUNsQyxnRUFBOEIsQ0FBQTtJQUM5QiwwREFBd0IsQ0FBQTtJQUN4QixrRUFBZ0MsQ0FBQTtJQUNoQywyREFBeUIsQ0FBQTtBQUMzQixDQUFDLEVBUFcsOEJBQThCLEtBQTlCLDhCQUE4QixRQU96QyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXHJcbi8qIGVzbGludC1kaXNhYmxlIG5vLXNoYWRvdyAqL1xyXG5leHBvcnQgZW51bSBNb25rZXlFY3hRdWV1ZUV2ZW50cyB7XHJcbiAgT25Hb2luZyxcclxuICBGaW5pc2hlZCxcclxuICBGaW5pc2hlZFdpdGhFcnJvclxyXG59XHJcblxyXG5leHBvcnQgZW51bSBNb25rZXlFY3hEb3dubG9hZEV2ZW50cyB7XHJcbiAgT25Hb2luZyxcclxuICBGaW5pc2hlZCxcclxuICBGaW5pc2hlZFdpdGhFcnJvclxyXG59XHJcblxyXG5leHBvcnQgZW51bSBNb25rZXlFY3hVcGxvYWRFdmVudHMge1xyXG4gIE9uR29pbmcsXHJcbiAgRmluaXNoZWQsXHJcbiAgRmluaXNoZWRXaXRoRXJyb3JcclxufVxyXG5cclxuLy8gVE9ETyBwZWdhciBkbyBqc29uIGRlIGNvbmZpZ1xyXG5leHBvcnQgZW51bSBBcGlFbmRQb2ludHNUb2tlbk5vdE1hbmRhdG9yeSB7XHJcbiAgQXNzZXRzID0gJ2Fzc2V0cy8nLFxyXG4gIE1vbmtleUVjeCA9ICcvbW9ua2V5ZWN4JyxcclxuICBWaWFDZXAgPSAndmlhY2VwLmNvbS5ici8nXHJcbn1cclxuXHJcbi8vIFRPRE8gcGVnYXIgZG8ganNvbiBkZSBjb25maWdcclxuZXhwb3J0IGVudW0gQXBpRW5kUG9pbnRzSGVhZGVyTm90TWFuZGF0b3J5IHtcclxuICBBc3NldHMgPSAnL2Fzc2V0cycsXHJcbiAgUGF5YWJsZXNVcGxvYWQgPSAncGF5YWJsZXMtdXBsb2FkJyxcclxuICBQaWN0dXJlVXNlciA9ICcvdXNlci1waWN0dXJlcycsXHJcbiAgRG9jdW1lbnRzID0gJ2RvY3VtZW50cy8nLFxyXG4gIEJ1eWVyVGF4RmlsZSA9ICcvYnV5ZXItdGF4LWZpbGUnLFxyXG4gIFZpYUNlcCA9ICd2aWFjZXAuY29tLmJyLydcclxufVxyXG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS91dGlscy9zdGF0aWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1DQUFtQztBQUNuQyw4QkFBOEI7QUFDOUIsTUFBTSxDQUFOLElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM5QixxRUFBTyxDQUFBO0lBQ1AsdUVBQVEsQ0FBQTtJQUNSLHlGQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSS9CO0FBRUQsTUFBTSxDQUFOLElBQVksdUJBSVg7QUFKRCxXQUFZLHVCQUF1QjtJQUNqQywyRUFBTyxDQUFBO0lBQ1AsNkVBQVEsQ0FBQTtJQUNSLCtGQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBSWxDO0FBRUQsTUFBTSxDQUFOLElBQVkscUJBSVg7QUFKRCxXQUFZLHFCQUFxQjtJQUMvQix1RUFBTyxDQUFBO0lBQ1AseUVBQVEsQ0FBQTtJQUNSLDJGQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBSWhDO0FBRUQsK0JBQStCO0FBQy9CLE1BQU0sQ0FBTixJQUFZLDZCQUlYO0FBSkQsV0FBWSw2QkFBNkI7SUFDdkMsbURBQWtCLENBQUE7SUFDbEIseURBQXdCLENBQUE7SUFDeEIsMERBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUpXLDZCQUE2QixLQUE3Qiw2QkFBNkIsUUFJeEM7QUFFRCwrQkFBK0I7QUFDL0IsTUFBTSxDQUFOLElBQVksOEJBT1g7QUFQRCxXQUFZLDhCQUE4QjtJQUN4QyxvREFBa0IsQ0FBQTtJQUNsQixvRUFBa0MsQ0FBQTtJQUNsQyxnRUFBOEIsQ0FBQTtJQUM5QiwwREFBd0IsQ0FBQTtJQUN4QixrRUFBZ0MsQ0FBQTtJQUNoQywyREFBeUIsQ0FBQTtBQUMzQixDQUFDLEVBUFcsOEJBQThCLEtBQTlCLDhCQUE4QixRQU96QyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1zaGFkb3cgKi9cbmV4cG9ydCBlbnVtIE1vbmtleUVjeFF1ZXVlRXZlbnRzIHtcbiAgT25Hb2luZyxcbiAgRmluaXNoZWQsXG4gIEZpbmlzaGVkV2l0aEVycm9yXG59XG5cbmV4cG9ydCBlbnVtIE1vbmtleUVjeERvd25sb2FkRXZlbnRzIHtcbiAgT25Hb2luZyxcbiAgRmluaXNoZWQsXG4gIEZpbmlzaGVkV2l0aEVycm9yXG59XG5cbmV4cG9ydCBlbnVtIE1vbmtleUVjeFVwbG9hZEV2ZW50cyB7XG4gIE9uR29pbmcsXG4gIEZpbmlzaGVkLFxuICBGaW5pc2hlZFdpdGhFcnJvclxufVxuXG4vLyBUT0RPIHBlZ2FyIGRvIGpzb24gZGUgY29uZmlnXG5leHBvcnQgZW51bSBBcGlFbmRQb2ludHNUb2tlbk5vdE1hbmRhdG9yeSB7XG4gIEFzc2V0cyA9ICdhc3NldHMvJyxcbiAgTW9ua2V5RWN4ID0gJy9tb25rZXllY3gnLFxuICBWaWFDZXAgPSAndmlhY2VwLmNvbS5ici8nXG59XG5cbi8vIFRPRE8gcGVnYXIgZG8ganNvbiBkZSBjb25maWdcbmV4cG9ydCBlbnVtIEFwaUVuZFBvaW50c0hlYWRlck5vdE1hbmRhdG9yeSB7XG4gIEFzc2V0cyA9ICcvYXNzZXRzJyxcbiAgUGF5YWJsZXNVcGxvYWQgPSAncGF5YWJsZXMtdXBsb2FkJyxcbiAgUGljdHVyZVVzZXIgPSAnL3VzZXItcGljdHVyZXMnLFxuICBEb2N1bWVudHMgPSAnZG9jdW1lbnRzLycsXG4gIEJ1eWVyVGF4RmlsZSA9ICcvYnV5ZXItdGF4LWZpbGUnLFxuICBWaWFDZXAgPSAndmlhY2VwLmNvbS5ici8nXG59XG4iXX0=
@@ -0,0 +1,218 @@
1
+ /* eslint-disable comma-dangle */
2
+ /* eslint-disable max-len */
3
+ /* eslint-disable no-useless-escape */
4
+ /* eslint-disable no-plusplus */
5
+ /* eslint-disable no-cond-assign */
6
+ /* eslint-disable eqeqeq */
7
+ /* eslint-disable no-redeclare */
8
+ /* eslint-disable vars-on-top */
9
+ /* eslint-disable no-var */
10
+ /* eslint-disable block-scoped-var */
11
+ export class MonkeyEcxUtils {
12
+ static persistNullEmptyUndefined(tp) {
13
+ return tp !== null && tp !== undefined && tp !== '';
14
+ }
15
+ static getDocumentType(doc, country) {
16
+ if (!doc)
17
+ return '';
18
+ if (country === 'cl')
19
+ return 'RUT';
20
+ return doc.length <= 11 ? 'CPF' : 'CNPJ';
21
+ }
22
+ static getDocumentMask(type) {
23
+ if (type === 'CPF')
24
+ return '000.000.000-00';
25
+ return '00.000.000/0000-00';
26
+ }
27
+ static formatDocumentWithMask(doc, withType, country) {
28
+ if (!doc)
29
+ return doc;
30
+ let formated = '';
31
+ if (country === 'cl') {
32
+ formated = doc.replace(/^(\d{1,2})(\d{3})(\d{3})(\w{1})$/, '$1.$2.$3-$4');
33
+ return `${formated}`;
34
+ }
35
+ if (doc.length === 14) {
36
+ formated = doc
37
+ .replace(/^(\d{2})(\d)/, '$1.$2')
38
+ .replace(/^(\d{2})\.(\d{3})(\d)/, '$1.$2.$3')
39
+ .replace(/\.(\d{3})(\d)/, '.$1/$2')
40
+ .replace(/(\d{4})(\d)/, '$1-$2');
41
+ }
42
+ else {
43
+ formated = doc
44
+ .replace(/^(\d{3})(\d)/, '$1.$2')
45
+ .replace(/^(\d{3})\.(\d{3})(\d)/, '$1.$2.$3')
46
+ .replace(/\.(\d{3})(\d)/, '.$1-$2');
47
+ }
48
+ return `${withType ? `${this.getDocumentType(doc)}:` : ''} ${formated}`;
49
+ }
50
+ static cutFirstLastName(value, tp = 'first') {
51
+ const split = value?.trim()?.split(' ');
52
+ if (tp === 'first')
53
+ return split[0];
54
+ return split?.splice(1, split.length)?.join(' ');
55
+ }
56
+ static isCPFCNPJValid(document) {
57
+ document = document.replace(/[^\d]/g, '');
58
+ if (document.length === 11) {
59
+ let base = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];
60
+ for (var i = 0, n = 0; i < 9; n += document[i] * base[i++])
61
+ ;
62
+ if (document[9] != ((n %= 11) <= 1 ? 0 : 11 - n)) {
63
+ return false;
64
+ }
65
+ base = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];
66
+ for (var i = 0, n = 0; i <= 9; n += document[i] * base[i++])
67
+ ;
68
+ if (document[10] != ((n %= 11) <= 1 ? 0 : 11 - n)) {
69
+ return false;
70
+ }
71
+ return true;
72
+ }
73
+ if (document.length === 14 || /0{14}/.test(document)) {
74
+ const base = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
75
+ for (var i = 0, n = 0; i < 12; n += document[i] * base[++i])
76
+ ;
77
+ if (document[12] != ((n %= 11) < 2 ? 0 : 11 - n)) {
78
+ return false;
79
+ }
80
+ for (var i = 0, n = 0; i <= 12; n += document[i] * base[i++])
81
+ ;
82
+ if (document[13] != ((n %= 11) < 2 ? 0 : 11 - n)) {
83
+ return false;
84
+ }
85
+ return true;
86
+ }
87
+ return false;
88
+ }
89
+ static isValidRUT(document) {
90
+ if (!document || document.trim().length < 3)
91
+ return false;
92
+ const documentHandled = document.replace(/[^0-9kK]/g, '');
93
+ if (documentHandled.length < 3)
94
+ return false;
95
+ const calcDv = (rut) => {
96
+ const value = `${rut}`;
97
+ let sum = 0;
98
+ let mult = 2;
99
+ for (let i = 1; i <= value.length; i++) {
100
+ const index = mult * Number(value.charAt(value.length - i));
101
+ sum += index;
102
+ if (mult < 7) {
103
+ mult += 1;
104
+ }
105
+ else {
106
+ mult = 2;
107
+ }
108
+ }
109
+ const dvEsperado = 11 - (sum % 11);
110
+ if (dvEsperado === 10)
111
+ return 'K';
112
+ if (dvEsperado === 11)
113
+ return '0';
114
+ return `${dvEsperado}`;
115
+ };
116
+ const num = documentHandled.slice(0, -1);
117
+ const dgv = documentHandled.slice(-1).toUpperCase();
118
+ const dvCalc = calcDv(num);
119
+ return dvCalc === dgv;
120
+ }
121
+ static isValidUrl(txt) {
122
+ const regex = new RegExp(/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)+[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,10}(:[0-9]{1,5})?(\/.*)?$/gm);
123
+ return regex.test(txt);
124
+ }
125
+ static isValidZipCode(zipCode) {
126
+ return `${this.handleOnlyNumbers(zipCode)}`.length === 8;
127
+ }
128
+ static getRandomString(len, charSet) {
129
+ charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
130
+ const randomString = new Array(len)
131
+ .fill('1')
132
+ .map(() => {
133
+ return charSet?.charAt(Math.floor(Math.random() * charSet?.length));
134
+ })
135
+ .join('');
136
+ return randomString;
137
+ }
138
+ static handleOnlyNumbers(value) {
139
+ if (!value)
140
+ return null;
141
+ return value.replace(new RegExp(/[^0-9]/g), '');
142
+ }
143
+ static handleOnlyAlphaNumeric(value) {
144
+ if (!value)
145
+ return '';
146
+ return value.replace(new RegExp(/[^0-9A-Za-z]/, 'g'), '');
147
+ }
148
+ static capitalize(value) {
149
+ return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;
150
+ }
151
+ static formatZipCode(zipCode) {
152
+ if (!zipCode)
153
+ return zipCode;
154
+ const formated = zipCode
155
+ .replace(/^(\d{5})(\d)/, '$1-$2')
156
+ .replace(/\.(\d{3})(\d)/, '.$1-$2');
157
+ return `${formated}`;
158
+ }
159
+ static formatFileSize(size) {
160
+ const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
161
+ let l = 0;
162
+ while (size >= 1024 && ++l) {
163
+ size /= 1024;
164
+ }
165
+ return `${size.toFixed(size < 10 && l > 0 ? 1 : 0)} ${units[l]}`;
166
+ }
167
+ static sufflue(data) {
168
+ for (let i = data.length - 1; i > 0; i--) {
169
+ const j = Math.floor(Math.random() * i);
170
+ const temp = data[i];
171
+ data[i] = data[j];
172
+ data[j] = temp;
173
+ }
174
+ return data;
175
+ }
176
+ static handleBlobFile(theBlob, fileName, fileType) {
177
+ function blobToFile(theBlob, fileName) {
178
+ const b = theBlob;
179
+ b.lastModifiedDate = new Date();
180
+ b.name = fileName;
181
+ return b;
182
+ }
183
+ let file;
184
+ if (!navigator.msSaveBlob) {
185
+ file = new File([theBlob], fileName, {
186
+ type: fileType,
187
+ });
188
+ }
189
+ else {
190
+ file = new Blob([theBlob], {
191
+ type: fileType,
192
+ });
193
+ file = blobToFile(file, fileName);
194
+ }
195
+ return file;
196
+ }
197
+ static truncate(text, maxLength = 25) {
198
+ const midChar = '...';
199
+ if (!text)
200
+ return midChar;
201
+ if (text && text.length <= maxLength)
202
+ return text;
203
+ const left = Math.ceil(maxLength / 2);
204
+ const right = text.length - left + 1;
205
+ return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;
206
+ }
207
+ static isLocalhost() {
208
+ const { href } = window?.location;
209
+ if (!href)
210
+ return false;
211
+ return href?.search('localhost') >= 0;
212
+ }
213
+ static isSameOrigin(frontend) {
214
+ const initialPath = window.location.origin;
215
+ return (initialPath || '') === frontend;
216
+ }
217
+ }
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLDRCQUE0QjtBQUM1QixzQ0FBc0M7QUFDdEMsZ0NBQWdDO0FBQ2hDLG1DQUFtQztBQUNuQywyQkFBMkI7QUFDM0IsaUNBQWlDO0FBQ2pDLGdDQUFnQztBQUNoQywyQkFBMkI7QUFDM0IscUNBQXFDO0FBQ3JDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxFQUFPO1FBQ3RDLE9BQU8sRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLEtBQUssU0FBUyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBVyxFQUFFLE9BQWdCO1FBQ2xELElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDcEIsSUFBSSxPQUFPLEtBQUssSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ25DLE9BQU8sR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVk7UUFDakMsSUFBSSxJQUFJLEtBQUssS0FBSztZQUFFLE9BQU8sZ0JBQWdCLENBQUM7UUFDNUMsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLEdBQVcsRUFBRSxRQUFrQixFQUFFLE9BQWdCO1FBQzdFLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDckIsSUFBSSxRQUFRLEdBQVcsRUFBRSxDQUFDO1FBQzFCLElBQUksT0FBTyxLQUFL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WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN4QixPQUFPLElBQUksRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWdCO1FBQ2xDLE1BQU0sV0FBVyxHQUFXLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ25ELE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEtBQUssUUFBUSxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNvbW1hLWRhbmdsZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdXNlbGVzcy1lc2NhcGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXBsdXNwbHVzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1jb25kLWFzc2lnbiAqL1xuLyogZXNsaW50LWRpc2FibGUgZXFlcWVxICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1yZWRlY2xhcmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIHZhcnMtb24tdG9wICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby12YXIgKi9cbi8qIGVzbGludC1kaXNhYmxlIGJsb2NrLXNjb3BlZC12YXIgKi9cbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hVdGlscyB7XG4gIHN0YXRpYyBwZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHRwOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHAgIT09IG51bGwgJiYgdHAgIT09IHVuZGVmaW5lZCAmJiB0cCAhPT0gJyc7XG4gIH1cblxuICBzdGF0aWMgZ2V0RG9jdW1lbnRUeXBlKGRvYzogc3RyaW5nLCBjb3VudHJ5Pzogc3RyaW5nKSB7XG4gICAgaWYgKCFkb2MpIHJldHVybiAnJztcbiAgICBpZiAoY291bnRyeSA9PT0gJ2NsJykgcmV0dXJuICdSVVQnO1xuICAgIHJldHVybiBkb2MubGVuZ3RoIDw9IDExID8gJ0NQRicgOiAnQ05QSic7XG4gIH1cblxuICBzdGF0aWMgZ2V0RG9jdW1lbnRNYXNrKHR5cGU6IHN0cmluZykge1xuICAgIGlmICh0eXBlID09PSAnQ1BGJykgcmV0dXJuICcwMDAuMDAwLjAwMC0wMCc7XG4gICAgcmV0dXJuICcwMC4wMDAuMDAwLzAwMDAtMDAnO1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdERvY3VtZW50V2l0aE1hc2soZG9jOiBzdHJpbmcsIHdpdGhUeXBlPzogYm9vbGVhbiwgY291bnRyeT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFkb2MpIHJldHVybiBkb2M7XG4gICAgbGV0IGZvcm1hdGVkOiBzdHJpbmcgPSAnJztcbiAgICBpZiAoY291bnRyeSA9PT0gJ2NsJykge1xuICAgICAgZm9ybWF0ZWQgPSBkb2MucmVwbGFjZSgvXihcXGR7MSwyfSkoXFxkezN9KShcXGR7M30pKFxcd3sxfSkkLywgJyQxLiQyLiQzLSQ0Jyk7XG4gICAgICByZXR1cm4gYCR7Zm9ybWF0ZWR9YDtcbiAgICB9XG4gICAgaWYgKGRvYy5sZW5ndGggPT09IDE0KSB7XG4gICAgICBmb3JtYXRlZCA9IGRvY1xuICAgICAgICAucmVwbGFjZSgvXihcXGR7Mn0pKFxcZCkvLCAnJDEuJDInKVxuICAgICAgICAucmVwbGFjZSgvXihcXGR7Mn0pXFwuKFxcZHszfSkoXFxkKS8sICckMS4kMi4kMycpXG4gICAgICAgIC5yZXBsYWNlKC9cXC4oXFxkezN9KShcXGQpLywgJy4kMS8kMicpXG4gICAgICAgIC5yZXBsYWNlKC8oXFxkezR9KShcXGQpLywgJyQxLSQyJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1hdGVkID0gZG9jXG4gICAgICAgIC5yZXBsYWNlKC9eKFxcZHszfSkoXFxkKS8sICckMS4kMicpXG4gICAgICAgIC5yZXBsYWNlKC9eKFxcZHszfSlcXC4oXFxkezN9KShcXGQpLywgJyQxLiQyLiQzJylcbiAgICAgICAgLnJlcGxhY2UoL1xcLihcXGR7M30pKFxcZCkvLCAnLiQxLSQyJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3dpdGhUeXBlID8gYCR7dGhpcy5nZXREb2N1bWVudFR5cGUoZG9jKX06YCA6ICcnfSAke2Zvcm1hdGVkfWA7XG4gIH1cblxuICBzdGF0aWMgY3V0Rmlyc3RMYXN0TmFtZSh2YWx1ZTogc3RyaW5nLCB0cDogc3RyaW5nID0gJ2ZpcnN0Jykge1xuICAgIGNvbnN0IHNwbGl0ID0gdmFsdWU/LnRyaW0oKT8uc3BsaXQoJyAnKTtcblxuICAgIGlmICh0cCA9PT0gJ2ZpcnN0JykgcmV0dXJuIHNwbGl0WzBdO1xuICAgIHJldHVybiBzcGxpdD8uc3BsaWNlKDEsIHNwbGl0Lmxlbmd0aCk/LmpvaW4oJyAnKTtcbiAgfVxuXG4gIHN0YXRpYyBpc0NQRkNOUEpWYWxpZChkb2N1bWVudDogYW55KTogYm9vbGVhbiB7XG4gICAgZG9jdW1lbnQgPSBkb2N1bWVudC5yZXBsYWNlKC9bXlxcZF0vZywgJycpO1xuICAgIGlmIChkb2N1bWVudC5sZW5ndGggPT09IDExKSB7XG4gICAgICBsZXQgYmFzZSA9IFsxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMiwgMSwgMF07XG4gICAgICBmb3IgKHZhciBpID0gMCwgbiA9IDA7IGkgPCA5OyBuICs9IGRvY3VtZW50W2ldICogYmFzZVtpKytdKTtcbiAgICAgIGlmIChkb2N1bWVudFs5XSAhPSAoKG4gJT0gMTEpIDw9IDEgPyAwIDogMTEgLSBuKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBiYXNlID0gWzExLCAxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMiwgMSwgMF07XG4gICAgICBmb3IgKHZhciBpID0gMCwgbiA9IDA7IGkgPD0gOTsgbiArPSBkb2N1bWVudFtpXSAqIGJhc2VbaSsrXSk7XG4gICAgICBpZiAoZG9jdW1lbnRbMTBdICE9ICgobiAlPSAxMSkgPD0gMSA/IDAgOiAxMSAtIG4pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoZG9jdW1lbnQubGVuZ3RoID09PSAxNCB8fCAvMHsxNH0vLnRlc3QoZG9jdW1lbnQpKSB7XG4gICAgICBjb25zdCBiYXNlID0gWzYsIDUsIDQsIDMsIDIsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDJdO1xuICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSAwOyBpIDwgMTI7IG4gKz0gZG9jdW1lbnRbaV0gKiBiYXNlWysraV0pO1xuICAgICAgaWYgKGRvY3VtZW50WzEyXSAhPSAoKG4gJT0gMTEpIDwgMiA/IDAgOiAxMSAtIG4pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSAwOyBpIDw9IDEyOyBuICs9IGRvY3VtZW50W2ldICogYmFzZVtpKytdKTtcbiAgICAgIGlmIChkb2N1bWVudFsxM10gIT0gKChuICU9IDExKSA8IDIgPyAwIDogMTEgLSBuKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVmFsaWRSVVQoZG9jdW1lbnQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghZG9jdW1lbnQgfHwgZG9jdW1lbnQudHJpbSgpLmxlbmd0aCA8IDMpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBkb2N1bWVudEhhbmRsZWQgPSBkb2N1bWVudC5yZXBsYWNlKC9bXjAtOWtLXS9nLCAnJyk7XG5cbiAgICBpZiAoZG9jdW1lbnRIYW5kbGVkLmxlbmd0aCA8IDMpIHJldHVybiBmYWxzZTtcblxuICAgIGNvbnN0IGNhbGNEdiA9IChydXQ6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IGAke3J1dH1gO1xuICAgICAgbGV0IHN1bSA9IDA7XG4gICAgICBsZXQgbXVsdCA9IDI7XG5cbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gbXVsdCAqIE51bWJlcih2YWx1ZS5jaGFyQXQodmFsdWUubGVuZ3RoIC0gaSkpO1xuXG4gICAgICAgIHN1bSArPSBpbmRleDtcblxuICAgICAgICBpZiAobXVsdCA8IDcpIHtcbiAgICAgICAgICBtdWx0ICs9IDE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbXVsdCA9IDI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgZHZFc3BlcmFkbyA9IDExIC0gKHN1bSAlIDExKTtcbiAgICAgIGlmIChkdkVzcGVyYWRvID09PSAxMCkgcmV0dXJuICdLJztcbiAgICAgIGlmIChkdkVzcGVyYWRvID09PSAxMSkgcmV0dXJuICcwJztcbiAgICAgIHJldHVybiBgJHtkdkVzcGVyYWRvfWA7XG4gICAgfTtcblxuICAgIGNvbnN0IG51bSA9IGRvY3VtZW50SGFuZGxlZC5zbGljZSgwLCAtMSk7XG4gICAgY29uc3QgZGd2ID0gZG9jdW1lbnRIYW5kbGVkLnNsaWNlKC0xKS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgY29uc3QgZHZDYWxjID0gY2FsY0R2KG51bSk7XG4gICAgcmV0dXJuIGR2Q2FsYyA9PT0gZGd2O1xuICB9XG5cbiAgc3RhdGljIGlzVmFsaWRVcmwodHh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoXG4gICAgICAvXihodHRwOlxcL1xcL3d3d1xcLnxodHRwczpcXC9cXC93d3dcXC58aHR0cDpcXC9cXC98aHR0cHM6XFwvXFwvKStbYS16MC05XSsoW1xcLVxcLl17MX1bYS16MC05XSspKlxcLlthLXpdezIsMTB9KDpbMC05XXsxLDV9KT8oXFwvLiopPyQvZ21cbiAgICApO1xuICAgIHJldHVybiByZWdleC50ZXN0KHR4dCk7XG4gIH1cblxuICBzdGF0aWMgaXNWYWxpZFppcENvZGUoemlwQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGAke3RoaXMuaGFuZGxlT25seU51bWJlcnMoemlwQ29kZSl9YC5sZW5ndGggPT09IDg7XG4gIH1cblxuICBzdGF0aWMgZ2V0UmFuZG9tU3RyaW5nKGxlbjogbnVtYmVyLCBjaGFyU2V0Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjaGFyU2V0ID0gY2hhclNldCB8fCAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xuXG4gICAgY29uc3QgcmFuZG9tU3RyaW5nOiBzdHJpbmcgPSBuZXcgQXJyYXkobGVuKVxuICAgICAgLmZpbGwoJzEnKVxuICAgICAgLm1hcCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBjaGFyU2V0Py5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhclNldD8ubGVuZ3RoKSk7XG4gICAgICB9KVxuICAgICAgLmpvaW4oJycpO1xuICAgIHJldHVybiByYW5kb21TdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgaGFuZGxlT25seU51bWJlcnModmFsdWU6IGFueSkge1xuICAgIGlmICghdmFsdWUpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoL1teMC05XS9nKSwgJycpO1xuICB9XG5cbiAgc3RhdGljIGhhbmRsZU9ubHlBbHBoYU51bWVyaWModmFsdWU6IGFueSkge1xuICAgIGlmICghdmFsdWUpIHJldHVybiAnJztcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKC9bXjAtOUEtWmEtel0vLCAnZycpLCAnJyk7XG4gIH1cblxuICBzdGF0aWMgY2FwaXRhbGl6ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke3ZhbHVlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7dmFsdWUuc2xpY2UoMSl9YDtcbiAgfVxuXG4gIHN0YXRpYyBmb3JtYXRaaXBDb2RlKHppcENvZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF6aXBDb2RlKSByZXR1cm4gemlwQ29kZTtcbiAgICBjb25zdCBmb3JtYXRlZDogc3RyaW5nID0gemlwQ29kZVxuICAgICAgLnJlcGxhY2UoL14oXFxkezV9KShcXGQpLywgJyQxLSQyJylcbiAgICAgIC5yZXBsYWNlKC9cXC4oXFxkezN9KShcXGQpLywgJy4kMS0kMicpO1xuXG4gICAgcmV0dXJuIGAke2Zvcm1hdGVkfWA7XG4gIH1cblxuICBzdGF0aWMgZm9ybWF0RmlsZVNpemUoc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCB1bml0cyA9IFsnQicsICdLQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddO1xuICAgIGxldCBsID0gMDtcbiAgICB3aGlsZSAoc2l6ZSA+PSAxMDI0ICYmICsrbCkge1xuICAgICAgc2l6ZSAvPSAxMDI0O1xuICAgIH1cbiAgICByZXR1cm4gYCR7c2l6ZS50b0ZpeGVkKHNpemUgPCAxMCAmJiBsID4gMCA/IDEgOiAwKX0gJHt1bml0c1tsXX1gO1xuICB9XG5cbiAgc3RhdGljIHN1ZmZsdWUoZGF0YTogYW55W10pOiBhbnlbXSB7XG4gICAgZm9yIChsZXQgaSA9IGRhdGEubGVuZ3RoIC0gMTsgaSA+IDA7IGktLSkge1xuICAgICAgY29uc3QgaiA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGkpO1xuICAgICAgY29uc3QgdGVtcCA9IGRhdGFbaV07XG4gICAgICBkYXRhW2ldID0gZGF0YVtqXTtcbiAgICAgIGRhdGFbal0gPSB0ZW1wO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHN0YXRpYyBoYW5kbGVCbG9iRmlsZSh0aGVCbG9iOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcsIGZpbGVUeXBlOiBzdHJpbmcpIHtcbiAgICBmdW5jdGlvbiBibG9iVG9GaWxlKHRoZUJsb2I6IGFueSwgZmlsZU5hbWU6IHN0cmluZykge1xuICAgICAgY29uc3QgYiA9IHRoZUJsb2I7XG4gICAgICBiLmxhc3RNb2RpZmllZERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgYi5uYW1lID0gZmlsZU5hbWU7XG4gICAgICByZXR1cm4gYjtcbiAgICB9XG5cbiAgICBsZXQgZmlsZTogYW55O1xuICAgIGlmICghKG5hdmlnYXRvciBhcyBhbnkpLm1zU2F2ZUJsb2IpIHtcbiAgICAgIGZpbGUgPSBuZXcgRmlsZShbdGhlQmxvYl0sIGZpbGVOYW1lLCB7XG4gICAgICAgIHR5cGU6IGZpbGVUeXBlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbGUgPSBuZXcgQmxvYihbdGhlQmxvYl0sIHtcbiAgICAgICAgdHlwZTogZmlsZVR5cGUsXG4gICAgICB9KTtcbiAgICAgIGZpbGUgPSBibG9iVG9GaWxlKGZpbGUsIGZpbGVOYW1lKTtcbiAgICB9XG4gICAgcmV0dXJuIGZpbGU7XG4gIH1cblxuICBzdGF0aWMgdHJ1bmNhdGUodGV4dDogc3RyaW5nLCBtYXhMZW5ndGg6IG51bWJlciA9IDI1KTogc3RyaW5nIHtcbiAgICBjb25zdCBtaWRDaGFyID0gJy4uLic7XG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gbWlkQ2hhcjtcbiAgICBpZiAodGV4dCAmJiB0ZXh0Lmxlbmd0aCA8PSBtYXhMZW5ndGgpIHJldHVybiB0ZXh0O1xuXG4gICAgY29uc3QgbGVmdCA9IE1hdGguY2VpbChtYXhMZW5ndGggLyAyKTtcbiAgICBjb25zdCByaWdodCA9IHRleHQubGVuZ3RoIC0gbGVmdCArIDE7XG5cbiAgICByZXR1cm4gYCR7dGV4dC5zdWJzdHIoMCwgbGVmdCl9ICR7bWlkQ2hhcn0gJHt0ZXh0LnN1YnN0cmluZyhyaWdodCl9YDtcbiAgfVxuXG4gIHN0YXRpYyBpc0xvY2FsaG9zdCgpIHtcbiAgICBjb25zdCB7IGhyZWYgfSA9IHdpbmRvdz8ubG9jYXRpb247XG4gICAgaWYgKCFocmVmKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIGhyZWY/LnNlYXJjaCgnbG9jYWxob3N0JykgPj0gMDtcbiAgfVxuXG4gIHN0YXRpYyBpc1NhbWVPcmlnaW4oZnJvbnRlbmQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGluaXRpYWxQYXRoOiBzdHJpbmcgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luO1xuICAgIHJldHVybiAoaW5pdGlhbFBhdGggfHwgJycpID09PSBmcm9udGVuZDtcbiAgfVxufVxuIl19