monkey-front-core 0.0.500 → 0.0.501

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 (384) hide show
  1. package/README.md +24 -24
  2. package/esm2020/lib/components/alerts/alerts.component.mjs +45 -45
  3. package/esm2020/lib/components/alerts/alerts.module.mjs +21 -21
  4. package/esm2020/lib/components/alerts/index.mjs +3 -3
  5. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +29 -29
  6. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs +43 -43
  7. package/esm2020/lib/components/closed-to-maintenance/index.mjs +3 -3
  8. package/esm2020/lib/components/currency-config/currency-config.component.mjs +39 -39
  9. package/esm2020/lib/components/currency-config/currency-config.module.mjs +39 -39
  10. package/esm2020/lib/components/currency-config/index.mjs +3 -3
  11. package/esm2020/lib/components/index.mjs +6 -6
  12. package/esm2020/lib/components/progress-bar/index.mjs +4 -4
  13. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +23 -23
  14. package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +18 -18
  15. package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +50 -50
  16. package/esm2020/lib/components/version-changed/index.mjs +3 -3
  17. package/esm2020/lib/components/version-changed/version-changed.component.mjs +24 -24
  18. package/esm2020/lib/components/version-changed/version-changed.module.mjs +39 -39
  19. package/esm2020/lib/core/decorators/index.mjs +5 -5
  20. package/esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs +40 -40
  21. package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +111 -111
  22. package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +26 -26
  23. package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +26 -26
  24. package/esm2020/lib/core/directives/index.mjs +13 -13
  25. package/esm2020/lib/core/directives/monkeyecx-directives-module.mjs +73 -73
  26. package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +57 -57
  27. package/esm2020/lib/core/directives/monkeyecx-feature-by-program-directive.mjs +54 -54
  28. package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +68 -68
  29. package/esm2020/lib/core/directives/monkeyecx-format-currency.mjs +44 -44
  30. package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +67 -67
  31. package/esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs +28 -28
  32. package/esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs +28 -28
  33. package/esm2020/lib/core/directives/monkeyecx-popover-options.directive.mjs +39 -39
  34. package/esm2020/lib/core/directives/monkeyecx-popover.directive.mjs +212 -212
  35. package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +75 -75
  36. package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +123 -123
  37. package/esm2020/lib/core/index.mjs +10 -10
  38. package/esm2020/lib/core/injectors/index.mjs +4 -4
  39. package/esm2020/lib/core/interceptors/index.mjs +6 -6
  40. package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +49 -49
  41. package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +59 -59
  42. package/esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs +47 -47
  43. package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +43 -43
  44. package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +37 -37
  45. package/esm2020/lib/core/interfaces/index.mjs +35 -35
  46. package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +2 -2
  47. package/esm2020/lib/core/interfaces/monkeyecx-company-pendencies.mjs +2 -2
  48. package/esm2020/lib/core/interfaces/monkeyecx-company.mjs +2 -2
  49. package/esm2020/lib/core/interfaces/monkeyecx-config-bootstrap.mjs +1 -1
  50. package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +2 -2
  51. package/esm2020/lib/core/interfaces/monkeyecx-country-security.mjs +2 -2
  52. package/esm2020/lib/core/interfaces/monkeyecx-error-response.mjs +2 -2
  53. package/esm2020/lib/core/interfaces/monkeyecx-filter.mjs +2 -2
  54. package/esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs +2 -2
  55. package/esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs +2 -2
  56. package/esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs +2 -2
  57. package/esm2020/lib/core/interfaces/monkeyecx-interface.mjs +1 -1
  58. package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +2 -2
  59. package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +2 -2
  60. package/esm2020/lib/core/interfaces/monkeyecx-pagination.mjs +2 -2
  61. package/esm2020/lib/core/interfaces/monkeyecx-program.mjs +2 -2
  62. package/esm2020/lib/core/interfaces/monkeyecx-releases.mjs +2 -2
  63. package/esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs +2 -2
  64. package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +2 -2
  65. package/esm2020/lib/core/interfaces/monkeyecx-resolver.mjs +2 -2
  66. package/esm2020/lib/core/interfaces/monkeyecx-response-links.mjs +2 -2
  67. package/esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs +2 -2
  68. package/esm2020/lib/core/interfaces/monkeyecx-saved-state.mjs +2 -2
  69. package/esm2020/lib/core/interfaces/monkeyecx-scroll-options.mjs +2 -2
  70. package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +2 -2
  71. package/esm2020/lib/core/interfaces/monkeyecx-storage.mjs +2 -2
  72. package/esm2020/lib/core/interfaces/monkeyecx-store.mjs +2 -2
  73. package/esm2020/lib/core/interfaces/monkeyecx-support-options.mjs +2 -2
  74. package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +1 -1
  75. package/esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs +2 -2
  76. package/esm2020/lib/core/interfaces/request-download/index.mjs +4 -4
  77. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs +2 -2
  78. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs +2 -2
  79. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs +2 -2
  80. package/esm2020/lib/core/interfaces/request-queue/index.mjs +4 -4
  81. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs +2 -2
  82. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs +2 -2
  83. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs +2 -2
  84. package/esm2020/lib/core/interfaces/request-upload/index.mjs +3 -3
  85. package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs +2 -2
  86. package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs +2 -2
  87. package/esm2020/lib/core/interfaces/schedules/index.mjs +2 -2
  88. package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +2 -2
  89. package/esm2020/lib/core/model/index.mjs +3 -3
  90. package/esm2020/lib/core/model/monkeyecx-links.model.mjs +8 -8
  91. package/esm2020/lib/core/model/monkeyecx-model.mjs +26 -26
  92. package/esm2020/lib/core/pipes/index.mjs +22 -22
  93. package/esm2020/lib/core/pipes/monkeyecx-blob-secure.mjs +26 -26
  94. package/esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs +19 -19
  95. package/esm2020/lib/core/pipes/monkeyecx-display-initials.mjs +21 -21
  96. package/esm2020/lib/core/pipes/monkeyecx-display-support-phone.mjs +33 -33
  97. package/esm2020/lib/core/pipes/monkeyecx-format-address.mjs +20 -20
  98. package/esm2020/lib/core/pipes/monkeyecx-format-beautify-json.mjs +38 -38
  99. package/esm2020/lib/core/pipes/monkeyecx-format-currency.mjs +42 -42
  100. package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +45 -45
  101. package/esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs +32 -32
  102. package/esm2020/lib/core/pipes/monkeyecx-format-date-unix-timelapse.mjs +36 -36
  103. package/esm2020/lib/core/pipes/monkeyecx-format-date.mjs +29 -29
  104. package/esm2020/lib/core/pipes/monkeyecx-format-document.mjs +20 -20
  105. package/esm2020/lib/core/pipes/monkeyecx-format-number.mjs +20 -20
  106. package/esm2020/lib/core/pipes/monkeyecx-format-phone.mjs +42 -42
  107. package/esm2020/lib/core/pipes/monkeyecx-format-size.mjs +20 -20
  108. package/esm2020/lib/core/pipes/monkeyecx-format-tax.mjs +23 -23
  109. package/esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs +19 -19
  110. package/esm2020/lib/core/pipes/monkeyecx-format-value.mjs +19 -19
  111. package/esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs +19 -19
  112. package/esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs +121 -121
  113. package/esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs +23 -23
  114. package/esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs +16 -16
  115. package/esm2020/lib/core/services/alerts/index.mjs +2 -2
  116. package/esm2020/lib/core/services/alerts/monkeyecx-alerts.service.mjs +42 -42
  117. package/esm2020/lib/core/services/auth/index.mjs +6 -6
  118. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-company.service.mjs +28 -28
  119. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs +27 -27
  120. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-role.service.mjs +79 -79
  121. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs +26 -26
  122. package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +78 -78
  123. package/esm2020/lib/core/services/commons/index.mjs +3 -3
  124. package/esm2020/lib/core/services/commons/monkeyecx-commons-resolve-base.service.mjs +108 -108
  125. package/esm2020/lib/core/services/commons/monkeyecx-commons-resolve.service.mjs +126 -126
  126. package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +362 -362
  127. package/esm2020/lib/core/services/config/monkeyecx-alerts-config.service.mjs +42 -42
  128. package/esm2020/lib/core/services/config/monkeyecx-config.module.mjs +28 -28
  129. package/esm2020/lib/core/services/config/monkeyecx-config.service.mjs +106 -106
  130. package/esm2020/lib/core/services/config/monkeyecx-currency-config.service.mjs +84 -84
  131. package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +85 -85
  132. package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +76 -76
  133. package/esm2020/lib/core/services/config/monkeyecx-gtm-config.service.mjs +50 -50
  134. package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +138 -138
  135. package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +34 -34
  136. package/esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs +37 -37
  137. package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +47 -47
  138. package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +53 -53
  139. package/esm2020/lib/core/services/error/index.mjs +5 -5
  140. package/esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs +27 -27
  141. package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +37 -37
  142. package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +138 -138
  143. package/esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs +29 -29
  144. package/esm2020/lib/core/services/index.mjs +26 -26
  145. package/esm2020/lib/core/services/logged/index.mjs +2 -2
  146. package/esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs +40 -40
  147. package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +50 -50
  148. package/esm2020/lib/core/services/monkeyecx-service.service.mjs +104 -104
  149. package/esm2020/lib/core/services/pagination/index.mjs +2 -2
  150. package/esm2020/lib/core/services/pagination/monkeyecx-pagination.service.mjs +29 -29
  151. package/esm2020/lib/core/services/request-download/index.mjs +3 -3
  152. package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +93 -93
  153. package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +61 -61
  154. package/esm2020/lib/core/services/request-paged/index.mjs +2 -2
  155. package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +42 -42
  156. package/esm2020/lib/core/services/request-queue/index.mjs +3 -3
  157. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +114 -114
  158. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +119 -119
  159. package/esm2020/lib/core/services/routes/index.mjs +2 -2
  160. package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +54 -54
  161. package/esm2020/lib/core/services/schedules/index.mjs +2 -2
  162. package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +188 -188
  163. package/esm2020/lib/core/services/storage/index.mjs +3 -3
  164. package/esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs +32 -32
  165. package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +236 -236
  166. package/esm2020/lib/core/services/store/index.mjs +4 -4
  167. package/esm2020/lib/core/services/store/monkeyecx-store-base.service.mjs +170 -170
  168. package/esm2020/lib/core/services/store/monkeyecx-store.actions.mjs +25 -25
  169. package/esm2020/lib/core/services/store/monkeyecx-store.selector.mjs +80 -80
  170. package/esm2020/lib/core/services/store/monkeyecx-store.service.mjs +189 -189
  171. package/esm2020/lib/core/specification-search/index.mjs +2 -2
  172. package/esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs +108 -108
  173. package/esm2020/lib/core/utils/decorators-utils.mjs +40 -40
  174. package/esm2020/lib/core/utils/index.mjs +8 -8
  175. package/esm2020/lib/core/utils/statics.mjs +45 -45
  176. package/esm2020/lib/core/utils/utils.mjs +267 -267
  177. package/esm2020/lib/core/utils/validate-utils.mjs +205 -205
  178. package/esm2020/lib/core/utils/validators.mjs +268 -268
  179. package/esm2020/lib/monkey-front-core.module.mjs +71 -71
  180. package/esm2020/lib/store/actions/index.mjs +2 -2
  181. package/esm2020/lib/store/actions/monkeyecx-storage.actions.mjs +8 -8
  182. package/esm2020/lib/store/index.mjs +4 -4
  183. package/esm2020/lib/store/reducers/index.mjs +3 -3
  184. package/esm2020/lib/store/reducers/monkeyecx-seeder.reducer.mjs +53 -53
  185. package/esm2020/lib/store/reducers/monkeyecx-storage.reducer.mjs +40 -40
  186. package/esm2020/lib/store/selectors/index.mjs +2 -2
  187. package/esm2020/lib/store/selectors/monkeyecx-storage.selector.mjs +17 -17
  188. package/esm2020/monkey-front-core.mjs +4 -4
  189. package/esm2020/public-api.mjs +8 -8
  190. package/fesm2015/monkey-front-core.mjs +6296 -6296
  191. package/fesm2015/monkey-front-core.mjs.map +1 -1
  192. package/fesm2020/monkey-front-core.mjs +6324 -6324
  193. package/fesm2020/monkey-front-core.mjs.map +1 -1
  194. package/lib/components/alerts/alerts.component.d.ts +22 -22
  195. package/lib/components/alerts/alerts.module.d.ts +10 -10
  196. package/lib/components/alerts/index.d.ts +2 -2
  197. package/lib/components/closed-to-maintenance/closed-to-maintenance.component.d.ts +13 -13
  198. package/lib/components/closed-to-maintenance/closed-to-maintenance.module.d.ts +11 -11
  199. package/lib/components/closed-to-maintenance/index.d.ts +2 -2
  200. package/lib/components/currency-config/currency-config.component.d.ts +17 -17
  201. package/lib/components/currency-config/currency-config.module.d.ts +10 -10
  202. package/lib/components/currency-config/index.d.ts +2 -2
  203. package/lib/components/index.d.ts +5 -5
  204. package/lib/components/progress-bar/index.d.ts +3 -3
  205. package/lib/components/progress-bar/progress-bar.component.d.ts +11 -11
  206. package/lib/components/progress-bar/progress-bar.module.d.ts +8 -8
  207. package/lib/components/progress-bar/progress-bar.service.d.ts +14 -14
  208. package/lib/components/version-changed/index.d.ts +2 -2
  209. package/lib/components/version-changed/version-changed.component.d.ts +9 -9
  210. package/lib/components/version-changed/version-changed.module.d.ts +10 -10
  211. package/lib/core/decorators/index.d.ts +4 -4
  212. package/lib/core/decorators/monkeyecx-charts-decorators.d.ts +1 -1
  213. package/lib/core/decorators/monkeyecx-decorators.d.ts +7 -7
  214. package/lib/core/decorators/monkeyecx-download-decorators.d.ts +2 -2
  215. package/lib/core/decorators/monkeyecx-upload-decorators.d.ts +2 -2
  216. package/lib/core/directives/index.d.ts +12 -12
  217. package/lib/core/directives/monkeyecx-directives-module.d.ts +19 -19
  218. package/lib/core/directives/monkeyecx-drag-drop.d.ts +12 -12
  219. package/lib/core/directives/monkeyecx-feature-by-program-directive.d.ts +16 -16
  220. package/lib/core/directives/monkeyecx-feature-directive.d.ts +17 -17
  221. package/lib/core/directives/monkeyecx-format-currency.d.ts +16 -16
  222. package/lib/core/directives/monkeyecx-format-upper.d.ts +18 -18
  223. package/lib/core/directives/monkeyecx-only-alpha-numeric-directive.d.ts +9 -9
  224. package/lib/core/directives/monkeyecx-only-number-directive.d.ts +9 -9
  225. package/lib/core/directives/monkeyecx-popover-options.directive.d.ts +19 -19
  226. package/lib/core/directives/monkeyecx-popover.directive.d.ts +43 -43
  227. package/lib/core/directives/monkeyecx-security-directive.d.ts +18 -18
  228. package/lib/core/directives/monkeyecx-tooltip-directive.d.ts +23 -23
  229. package/lib/core/index.d.ts +10 -10
  230. package/lib/core/injectors/index.d.ts +4 -4
  231. package/lib/core/interceptors/index.d.ts +5 -5
  232. package/lib/core/interceptors/monkeyecx-http-config-error.interceptor.d.ts +18 -18
  233. package/lib/core/interceptors/monkeyecx-http-config-header.interceptor.d.ts +16 -16
  234. package/lib/core/interceptors/monkeyecx-http-config-interceptor.module.d.ts +9 -9
  235. package/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.d.ts +12 -12
  236. package/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.d.ts +14 -14
  237. package/lib/core/interfaces/index.d.ts +34 -34
  238. package/lib/core/interfaces/monkeyecx-auth-credentials.d.ts +15 -15
  239. package/lib/core/interfaces/monkeyecx-company-pendencies.d.ts +14 -14
  240. package/lib/core/interfaces/monkeyecx-company.d.ts +10 -10
  241. package/lib/core/interfaces/monkeyecx-config-bootstrap.d.ts +14 -14
  242. package/lib/core/interfaces/monkeyecx-config.d.ts +132 -132
  243. package/lib/core/interfaces/monkeyecx-country-security.d.ts +4 -4
  244. package/lib/core/interfaces/monkeyecx-error-response.d.ts +5 -5
  245. package/lib/core/interfaces/monkeyecx-filter.d.ts +42 -42
  246. package/lib/core/interfaces/monkeyecx-handled-error-response.d.ts +10 -10
  247. package/lib/core/interfaces/monkeyecx-header-credentials.d.ts +4 -4
  248. package/lib/core/interfaces/monkeyecx-intercom-options.d.ts +4 -4
  249. package/lib/core/interfaces/monkeyecx-interface.d.ts +11 -11
  250. package/lib/core/interfaces/monkeyecx-me-credentials.d.ts +22 -22
  251. package/lib/core/interfaces/monkeyecx-navigation.d.ts +27 -27
  252. package/lib/core/interfaces/monkeyecx-pagination.d.ts +26 -26
  253. package/lib/core/interfaces/monkeyecx-program.d.ts +10 -10
  254. package/lib/core/interfaces/monkeyecx-releases.d.ts +9 -9
  255. package/lib/core/interfaces/monkeyecx-request-in-progress.d.ts +3 -3
  256. package/lib/core/interfaces/monkeyecx-request-paged.d.ts +23 -23
  257. package/lib/core/interfaces/monkeyecx-resolver.d.ts +39 -39
  258. package/lib/core/interfaces/monkeyecx-response-links.d.ts +11 -11
  259. package/lib/core/interfaces/monkeyecx-response-paged.d.ts +6 -6
  260. package/lib/core/interfaces/monkeyecx-saved-state.d.ts +5 -5
  261. package/lib/core/interfaces/monkeyecx-scroll-options.d.ts +5 -5
  262. package/lib/core/interfaces/monkeyecx-service-credentials.d.ts +12 -12
  263. package/lib/core/interfaces/monkeyecx-storage.d.ts +38 -38
  264. package/lib/core/interfaces/monkeyecx-store.d.ts +35 -35
  265. package/lib/core/interfaces/monkeyecx-support-options.d.ts +4 -4
  266. package/lib/core/interfaces/monkeyecx-token-credentials.d.ts +21 -21
  267. package/lib/core/interfaces/monkeyecx-translate-options.d.ts +4 -4
  268. package/lib/core/interfaces/request-download/index.d.ts +3 -3
  269. package/lib/core/interfaces/request-download/monkeyecx-request-download.d.ts +10 -10
  270. package/lib/core/interfaces/request-download/monkeyecx-request-downloaded.d.ts +7 -7
  271. package/lib/core/interfaces/request-download/monkeyecx-request-item-download.d.ts +7 -7
  272. package/lib/core/interfaces/request-queue/index.d.ts +3 -3
  273. package/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.d.ts +7 -7
  274. package/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.d.ts +6 -6
  275. package/lib/core/interfaces/request-queue/monkeyecx-request-queue.d.ts +8 -8
  276. package/lib/core/interfaces/request-upload/index.d.ts +2 -2
  277. package/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.d.ts +5 -5
  278. package/lib/core/interfaces/request-upload/monkeyecx-request-upload.d.ts +10 -10
  279. package/lib/core/interfaces/schedules/index.d.ts +1 -1
  280. package/lib/core/interfaces/schedules/monkeyecx-request-schedule.d.ts +13 -13
  281. package/lib/core/model/index.d.ts +2 -2
  282. package/lib/core/model/monkeyecx-links.model.d.ts +4 -4
  283. package/lib/core/model/monkeyecx-model.d.ts +14 -14
  284. package/lib/core/pipes/index.d.ts +22 -22
  285. package/lib/core/pipes/monkeyecx-blob-secure.d.ts +13 -13
  286. package/lib/core/pipes/monkeyecx-display-first-name.d.ts +7 -7
  287. package/lib/core/pipes/monkeyecx-display-initials.d.ts +7 -7
  288. package/lib/core/pipes/monkeyecx-display-support-phone.d.ts +18 -18
  289. package/lib/core/pipes/monkeyecx-format-address.d.ts +14 -14
  290. package/lib/core/pipes/monkeyecx-format-beautify-json.d.ts +8 -8
  291. package/lib/core/pipes/monkeyecx-format-currency.d.ts +12 -12
  292. package/lib/core/pipes/monkeyecx-format-date-group.d.ts +11 -11
  293. package/lib/core/pipes/monkeyecx-format-date-timelapse.d.ts +7 -7
  294. package/lib/core/pipes/monkeyecx-format-date-unix-timelapse.d.ts +7 -7
  295. package/lib/core/pipes/monkeyecx-format-date.d.ts +12 -12
  296. package/lib/core/pipes/monkeyecx-format-document.d.ts +7 -7
  297. package/lib/core/pipes/monkeyecx-format-number.d.ts +7 -7
  298. package/lib/core/pipes/monkeyecx-format-phone.d.ts +7 -7
  299. package/lib/core/pipes/monkeyecx-format-size.d.ts +7 -7
  300. package/lib/core/pipes/monkeyecx-format-tax.d.ts +7 -7
  301. package/lib/core/pipes/monkeyecx-format-type-document.d.ts +7 -7
  302. package/lib/core/pipes/monkeyecx-format-value.d.ts +7 -7
  303. package/lib/core/pipes/monkeyecx-format-zipcode.d.ts +7 -7
  304. package/lib/core/pipes/monkeyecx-pipes.module.d.ts +27 -27
  305. package/lib/core/pipes/monkeyecx-text-truncate.d.ts +7 -7
  306. package/lib/core/pipes/monkeyecx-truncate-qtd.d.ts +7 -7
  307. package/lib/core/services/alerts/index.d.ts +1 -1
  308. package/lib/core/services/alerts/monkeyecx-alerts.service.d.ts +21 -21
  309. package/lib/core/services/auth/index.d.ts +5 -5
  310. package/lib/core/services/auth/monkeyecx-auth-guard-company.service.d.ts +10 -10
  311. package/lib/core/services/auth/monkeyecx-auth-guard-login.service.d.ts +10 -10
  312. package/lib/core/services/auth/monkeyecx-auth-guard-role.service.d.ts +16 -16
  313. package/lib/core/services/auth/monkeyecx-auth-guard.service.d.ts +10 -10
  314. package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +35 -35
  315. package/lib/core/services/commons/index.d.ts +3 -3
  316. package/lib/core/services/commons/monkeyecx-commons-resolve-base.service.d.ts +46 -46
  317. package/lib/core/services/commons/monkeyecx-commons-resolve.service.d.ts +60 -60
  318. package/lib/core/services/commons/monkeyecx-commons.service.d.ts +120 -120
  319. package/lib/core/services/config/monkeyecx-alerts-config.service.d.ts +11 -11
  320. package/lib/core/services/config/monkeyecx-config.module.d.ts +9 -9
  321. package/lib/core/services/config/monkeyecx-config.service.d.ts +36 -36
  322. package/lib/core/services/config/monkeyecx-currency-config.service.d.ts +15 -15
  323. package/lib/core/services/config/monkeyecx-error-config.service.d.ts +8 -8
  324. package/lib/core/services/config/monkeyecx-feature-toggle.service.d.ts +16 -16
  325. package/lib/core/services/config/monkeyecx-gtm-config.service.d.ts +8 -8
  326. package/lib/core/services/config/monkeyecx-i18n-config.service.d.ts +21 -21
  327. package/lib/core/services/config/monkeyecx-logs-config.service.d.ts +7 -7
  328. package/lib/core/services/config/monkeyecx-maintenance-config.service.d.ts +13 -13
  329. package/lib/core/services/config/monkeyecx-security-console-config.service.d.ts +12 -12
  330. package/lib/core/services/config/monkeyecx-service-worker-config.service.d.ts +16 -16
  331. package/lib/core/services/error/index.d.ts +4 -4
  332. package/lib/core/services/error/monkeyecx-error-handling.module.d.ts +9 -9
  333. package/lib/core/services/error/monkeyecx-error-handling.service.d.ts +9 -9
  334. package/lib/core/services/error/monkeyecx-http-error-handling.service.d.ts +26 -26
  335. package/lib/core/services/error/monkeyecx-others-errors-handling.service.d.ts +9 -9
  336. package/lib/core/services/index.d.ts +25 -25
  337. package/lib/core/services/logged/index.d.ts +1 -1
  338. package/lib/core/services/logged/monkeyecx-logged-handling.service.d.ts +14 -14
  339. package/lib/core/services/monkeyecx-handling.service.d.ts +22 -22
  340. package/lib/core/services/monkeyecx-service.service.d.ts +18 -18
  341. package/lib/core/services/pagination/index.d.ts +1 -1
  342. package/lib/core/services/pagination/monkeyecx-pagination.service.d.ts +9 -9
  343. package/lib/core/services/request-download/index.d.ts +2 -2
  344. package/lib/core/services/request-download/monkeyecx-request-download-handling.service.d.ts +18 -18
  345. package/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.d.ts +16 -16
  346. package/lib/core/services/request-paged/index.d.ts +1 -1
  347. package/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.d.ts +11 -11
  348. package/lib/core/services/request-queue/index.d.ts +2 -2
  349. package/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.d.ts +21 -21
  350. package/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.d.ts +23 -23
  351. package/lib/core/services/routes/index.d.ts +1 -1
  352. package/lib/core/services/routes/monkeyecx-dicovery-params.service.d.ts +13 -13
  353. package/lib/core/services/schedules/index.d.ts +1 -1
  354. package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +47 -47
  355. package/lib/core/services/storage/index.d.ts +2 -2
  356. package/lib/core/services/storage/monkeyecx-cookie-storage.service.d.ts +11 -11
  357. package/lib/core/services/storage/monkeyecx-token-storage.service.d.ts +30 -30
  358. package/lib/core/services/store/index.d.ts +4 -4
  359. package/lib/core/services/store/monkeyecx-store-base.service.d.ts +47 -47
  360. package/lib/core/services/store/monkeyecx-store.actions.d.ts +56 -56
  361. package/lib/core/services/store/monkeyecx-store.selector.d.ts +31 -31
  362. package/lib/core/services/store/monkeyecx-store.service.d.ts +50 -50
  363. package/lib/core/specification-search/index.d.ts +1 -1
  364. package/lib/core/specification-search/monkeyecx-specification-search.d.ts +20 -20
  365. package/lib/core/utils/decorators-utils.d.ts +5 -5
  366. package/lib/core/utils/index.d.ts +6 -6
  367. package/lib/core/utils/statics.d.ts +34 -34
  368. package/lib/core/utils/utils.d.ts +26 -26
  369. package/lib/core/utils/validate-utils.d.ts +66 -66
  370. package/lib/core/utils/validators.d.ts +36 -36
  371. package/lib/monkey-front-core.module.d.ts +19 -19
  372. package/lib/store/actions/index.d.ts +1 -1
  373. package/lib/store/actions/monkeyecx-storage.actions.d.ts +23 -23
  374. package/lib/store/index.d.ts +3 -3
  375. package/lib/store/reducers/index.d.ts +2 -2
  376. package/lib/store/reducers/monkeyecx-seeder.reducer.d.ts +2 -2
  377. package/lib/store/reducers/monkeyecx-storage.reducer.d.ts +13 -13
  378. package/lib/store/selectors/index.d.ts +1 -1
  379. package/lib/store/selectors/monkeyecx-storage.selector.d.ts +8 -8
  380. package/monkey-front-core-0.0.501.tgz +0 -0
  381. package/monkey-front-core.d.ts +5 -5
  382. package/package.json +3 -3
  383. package/public-api.d.ts +4 -4
  384. package/monkey-front-core-0.0.500.tgz +0 -0
@@ -1,269 +1,269 @@
1
- import * as moment_ from 'moment';
2
- import { MonkeyEcxUtils } from './utils';
3
- const moment = moment_;
4
- const EMAIL_REGEXP = /^[\w-.]+@([\w-]+\.)+[\w-]{1,64}$/;
5
- function isEmptyInputValue(value) {
6
- return value == null || value.length === 0;
7
- }
8
- export function emailValidator(control) {
9
- if (!control.parent || !control || isEmptyInputValue(control.value)) {
10
- return null;
11
- }
12
- const test = EMAIL_REGEXP.test(control.value);
13
- if (test)
14
- return null;
15
- return {
16
- email: true
17
- };
18
- }
19
- export function dateRangeValidator(control) {
20
- if (!control.parent || !control || isEmptyInputValue(control.value)) {
21
- return null;
22
- }
23
- const dates = control?.parent?.get('dates')?.value;
24
- if (dates &&
25
- (!MonkeyEcxUtils.persistNullEmptyUndefined(dates?.startDate) ||
26
- !MonkeyEcxUtils.persistNullEmptyUndefined(dates?.endDate))) {
27
- return {
28
- dateRange: true
29
- };
30
- }
31
- return null;
32
- }
33
- export function registerValidator(control, type) {
34
- if (!control.parent || !control || isEmptyInputValue(control.value)) {
35
- return null;
36
- }
37
- if (control && control.value !== `#MONKEY${type}`.toUpperCase()) {
38
- return {
39
- invalidUnlockRegister: true
40
- };
41
- }
42
- return null;
43
- }
44
- export function dateStartEndValidator(control) {
45
- if (!control.parent || !control) {
46
- return null;
47
- }
48
- const { parent } = control;
49
- const valueStart = parent?.get('dateStart')?.value;
50
- const valueEnd = parent?.get('dateEnd')?.value;
51
- let dateStart = null;
52
- let dateEnd = null;
53
- if (valueStart) {
54
- dateStart = new Date(valueStart);
55
- }
56
- if (valueEnd) {
57
- dateEnd = new Date(valueEnd);
58
- }
59
- if (!dateEnd || !dateStart)
60
- return null;
61
- if (dateStart > dateEnd) {
62
- return {
63
- dateStartMustBeLessThanAnd: true
64
- };
65
- }
66
- return null;
67
- }
68
- export function urlValidator(control) {
69
- if (!control.parent || !control || isEmptyInputValue(control.value))
70
- return null;
71
- if (!MonkeyEcxUtils.isValidUrl(control.value)) {
72
- return {
73
- url: true
74
- };
75
- }
76
- return null;
77
- }
78
- export function passwordConfirmValidator(control) {
79
- if (!control.parent || !control || isEmptyInputValue(control.value))
80
- return null;
81
- const { parent } = control;
82
- const password = parent?.get('password')?.value;
83
- const passwordConfirm = parent?.get('passwordConfirm')?.value;
84
- if (!password || !passwordConfirm)
85
- return null;
86
- if (password === passwordConfirm)
87
- return null;
88
- return {
89
- passwordsNotMatching: true
90
- };
91
- }
92
- export function trueValidator(control) {
93
- if (!control.parent || !control)
94
- return null;
95
- if (control && control.value !== false)
96
- return null;
97
- return {
98
- invalidTrue: true
99
- };
100
- }
101
- export function comboValidator(control) {
102
- if (!control.parent || !control)
103
- return null;
104
- if (control && control.value !== '0')
105
- return null;
106
- return {
107
- invalidCombo: true
108
- };
109
- }
110
- export function zipCodeValidator(control, country) {
111
- if (!control.parent || !control || isEmptyInputValue(control.value))
112
- return null;
113
- if (control && control.value) {
114
- if (!MonkeyEcxUtils.isValidZipCode(control.value, country)) {
115
- return {
116
- invalidZipCode: true
117
- };
118
- }
119
- }
120
- return null;
121
- }
122
- export function documentValidator(control, country) {
123
- if (!control.parent || !control || isEmptyInputValue(control.value))
124
- return null;
125
- if (country === 'BR') {
126
- if (!MonkeyEcxUtils.isCPFCNPJValid(control.value)) {
127
- return {
128
- invalidCpfCnpj: true
129
- };
130
- }
131
- }
132
- else if (country === 'CL') {
133
- if (!MonkeyEcxUtils.isValidRUT(control.value)) {
134
- return {
135
- invalidCpfCnpj: true
136
- };
137
- }
138
- }
139
- return null;
140
- }
141
- export function dateValidator(control) {
142
- if (!control.parent || !control || isEmptyInputValue(control.value))
143
- return null;
144
- const dateFormat = 'MM-DD-YYYY';
145
- if (!moment
146
- .default(moment.default(control.value).format(dateFormat), ['DD/MM/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD'], true)
147
- .isValid()) {
148
- return {
149
- invalidDate: true
150
- };
151
- }
152
- return null;
153
- }
154
- export function valueGreaterThanZero(control) {
155
- if (!control.parent || !control || isEmptyInputValue(control.value))
156
- return null;
157
- if (control && `${control?.value}` === '0') {
158
- return {
159
- invalidValueGreaterThanZero: true
160
- };
161
- }
162
- return null;
163
- }
164
- export function requiredWithTrimValidator(control) {
165
- if (!control.parent || !control)
166
- return null;
167
- if (control && !`${control?.value}`.trim()) {
168
- return {
169
- required: true
170
- };
171
- }
172
- return null;
173
- }
174
- export function differentFromZero(control) {
175
- if (!control.parent || !control)
176
- return null;
177
- const handled = `${control?.value}`.trim().replace(/0/g, '');
178
- if (control && !handled) {
179
- return {
180
- differentFromZero: true
181
- };
182
- }
183
- return null;
184
- }
185
- export function documentValidatorByType(type, control) {
186
- if (!control.parent || !control || isEmptyInputValue(control.value))
187
- return null;
188
- const handle = MonkeyEcxUtils.handleOnlyNumbers(control.value);
189
- let valid = false;
190
- if (type === 'CPF' || type === 'CNPJ') {
191
- if ((type === 'CNPJ' && `${handle}`.length !== 14) ||
192
- (type === 'CPF' && `${handle}`.length !== 11)) {
193
- valid = false;
194
- }
195
- else {
196
- valid = MonkeyEcxUtils.isCPFCNPJValid(control.value);
197
- }
198
- }
199
- else if (type === 'RUT') {
200
- valid = MonkeyEcxUtils.isValidRUT(control.value);
201
- }
202
- if (!valid) {
203
- return {
204
- [`invalid${MonkeyEcxUtils.capitalize(type.toLowerCase())}`]: true
205
- };
206
- }
207
- return null;
208
- }
209
- export class Validators {
210
- static email(control) {
211
- return emailValidator(control);
212
- }
213
- static dateRange(control) {
214
- return dateRangeValidator(control);
215
- }
216
- static unlockSponsorRegister(control) {
217
- return registerValidator(control, 'sponsor');
218
- }
219
- static unlockBuyerRegister(control) {
220
- return registerValidator(control, 'buyer');
221
- }
222
- static dateStartEnd(control) {
223
- return dateStartEndValidator(control);
224
- }
225
- static url(control) {
226
- return urlValidator(control);
227
- }
228
- static passwordConfirm(control) {
229
- return passwordConfirmValidator(control);
230
- }
231
- static true(control) {
232
- return trueValidator(control);
233
- }
234
- static combo(control) {
235
- return comboValidator(control);
236
- }
237
- static zipCode(control) {
238
- return zipCodeValidator(control);
239
- }
240
- static zipCodeByCountry(country) {
241
- return (control) => {
242
- return zipCodeValidator(control, country);
243
- };
244
- }
245
- static documentBR(control) {
246
- return documentValidator(control, 'BR');
247
- }
248
- static documentCL(control) {
249
- return documentValidator(control, 'CL');
250
- }
251
- static date(control) {
252
- return dateValidator(control);
253
- }
254
- static greaterThanZero(control) {
255
- return valueGreaterThanZero(control);
256
- }
257
- static required(control) {
258
- return requiredWithTrimValidator(control);
259
- }
260
- static differentFromZero(control) {
261
- return differentFromZero(control);
262
- }
263
- static documentValidatorByType(type) {
264
- return (control) => {
265
- return documentValidatorByType(type, control);
266
- };
267
- }
268
- }
1
+ import * as moment_ from 'moment';
2
+ import { MonkeyEcxUtils } from './utils';
3
+ const moment = moment_;
4
+ const EMAIL_REGEXP = /^[\w-.]+@([\w-]+\.)+[\w-]{1,64}$/;
5
+ function isEmptyInputValue(value) {
6
+ return value == null || value.length === 0;
7
+ }
8
+ export function emailValidator(control) {
9
+ if (!control.parent || !control || isEmptyInputValue(control.value)) {
10
+ return null;
11
+ }
12
+ const test = EMAIL_REGEXP.test(control.value);
13
+ if (test)
14
+ return null;
15
+ return {
16
+ email: true
17
+ };
18
+ }
19
+ export function dateRangeValidator(control) {
20
+ if (!control.parent || !control || isEmptyInputValue(control.value)) {
21
+ return null;
22
+ }
23
+ const dates = control?.parent?.get('dates')?.value;
24
+ if (dates &&
25
+ (!MonkeyEcxUtils.persistNullEmptyUndefined(dates?.startDate) ||
26
+ !MonkeyEcxUtils.persistNullEmptyUndefined(dates?.endDate))) {
27
+ return {
28
+ dateRange: true
29
+ };
30
+ }
31
+ return null;
32
+ }
33
+ export function registerValidator(control, type) {
34
+ if (!control.parent || !control || isEmptyInputValue(control.value)) {
35
+ return null;
36
+ }
37
+ if (control && control.value !== `#MONKEY${type}`.toUpperCase()) {
38
+ return {
39
+ invalidUnlockRegister: true
40
+ };
41
+ }
42
+ return null;
43
+ }
44
+ export function dateStartEndValidator(control) {
45
+ if (!control.parent || !control) {
46
+ return null;
47
+ }
48
+ const { parent } = control;
49
+ const valueStart = parent?.get('dateStart')?.value;
50
+ const valueEnd = parent?.get('dateEnd')?.value;
51
+ let dateStart = null;
52
+ let dateEnd = null;
53
+ if (valueStart) {
54
+ dateStart = new Date(valueStart);
55
+ }
56
+ if (valueEnd) {
57
+ dateEnd = new Date(valueEnd);
58
+ }
59
+ if (!dateEnd || !dateStart)
60
+ return null;
61
+ if (dateStart > dateEnd) {
62
+ return {
63
+ dateStartMustBeLessThanAnd: true
64
+ };
65
+ }
66
+ return null;
67
+ }
68
+ export function urlValidator(control) {
69
+ if (!control.parent || !control || isEmptyInputValue(control.value))
70
+ return null;
71
+ if (!MonkeyEcxUtils.isValidUrl(control.value)) {
72
+ return {
73
+ url: true
74
+ };
75
+ }
76
+ return null;
77
+ }
78
+ export function passwordConfirmValidator(control) {
79
+ if (!control.parent || !control || isEmptyInputValue(control.value))
80
+ return null;
81
+ const { parent } = control;
82
+ const password = parent?.get('password')?.value;
83
+ const passwordConfirm = parent?.get('passwordConfirm')?.value;
84
+ if (!password || !passwordConfirm)
85
+ return null;
86
+ if (password === passwordConfirm)
87
+ return null;
88
+ return {
89
+ passwordsNotMatching: true
90
+ };
91
+ }
92
+ export function trueValidator(control) {
93
+ if (!control.parent || !control)
94
+ return null;
95
+ if (control && control.value !== false)
96
+ return null;
97
+ return {
98
+ invalidTrue: true
99
+ };
100
+ }
101
+ export function comboValidator(control) {
102
+ if (!control.parent || !control)
103
+ return null;
104
+ if (control && control.value !== '0')
105
+ return null;
106
+ return {
107
+ invalidCombo: true
108
+ };
109
+ }
110
+ export function zipCodeValidator(control, country) {
111
+ if (!control.parent || !control || isEmptyInputValue(control.value))
112
+ return null;
113
+ if (control && control.value) {
114
+ if (!MonkeyEcxUtils.isValidZipCode(control.value, country)) {
115
+ return {
116
+ invalidZipCode: true
117
+ };
118
+ }
119
+ }
120
+ return null;
121
+ }
122
+ export function documentValidator(control, country) {
123
+ if (!control.parent || !control || isEmptyInputValue(control.value))
124
+ return null;
125
+ if (country === 'BR') {
126
+ if (!MonkeyEcxUtils.isCPFCNPJValid(control.value)) {
127
+ return {
128
+ invalidCpfCnpj: true
129
+ };
130
+ }
131
+ }
132
+ else if (country === 'CL') {
133
+ if (!MonkeyEcxUtils.isValidRUT(control.value)) {
134
+ return {
135
+ invalidCpfCnpj: true
136
+ };
137
+ }
138
+ }
139
+ return null;
140
+ }
141
+ export function dateValidator(control) {
142
+ if (!control.parent || !control || isEmptyInputValue(control.value))
143
+ return null;
144
+ const dateFormat = 'MM-DD-YYYY';
145
+ if (!moment
146
+ .default(moment.default(control.value).format(dateFormat), ['DD/MM/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD'], true)
147
+ .isValid()) {
148
+ return {
149
+ invalidDate: true
150
+ };
151
+ }
152
+ return null;
153
+ }
154
+ export function valueGreaterThanZero(control) {
155
+ if (!control.parent || !control || isEmptyInputValue(control.value))
156
+ return null;
157
+ if (control && `${control?.value}` === '0') {
158
+ return {
159
+ invalidValueGreaterThanZero: true
160
+ };
161
+ }
162
+ return null;
163
+ }
164
+ export function requiredWithTrimValidator(control) {
165
+ if (!control.parent || !control)
166
+ return null;
167
+ if (control && !`${control?.value}`.trim()) {
168
+ return {
169
+ required: true
170
+ };
171
+ }
172
+ return null;
173
+ }
174
+ export function differentFromZero(control) {
175
+ if (!control.parent || !control)
176
+ return null;
177
+ const handled = `${control?.value}`.trim().replace(/0/g, '');
178
+ if (control && !handled) {
179
+ return {
180
+ differentFromZero: true
181
+ };
182
+ }
183
+ return null;
184
+ }
185
+ export function documentValidatorByType(type, control) {
186
+ if (!control.parent || !control || isEmptyInputValue(control.value))
187
+ return null;
188
+ const handle = MonkeyEcxUtils.handleOnlyNumbers(control.value);
189
+ let valid = false;
190
+ if (type === 'CPF' || type === 'CNPJ') {
191
+ if ((type === 'CNPJ' && `${handle}`.length !== 14) ||
192
+ (type === 'CPF' && `${handle}`.length !== 11)) {
193
+ valid = false;
194
+ }
195
+ else {
196
+ valid = MonkeyEcxUtils.isCPFCNPJValid(control.value);
197
+ }
198
+ }
199
+ else if (type === 'RUT') {
200
+ valid = MonkeyEcxUtils.isValidRUT(control.value);
201
+ }
202
+ if (!valid) {
203
+ return {
204
+ [`invalid${MonkeyEcxUtils.capitalize(type.toLowerCase())}`]: true
205
+ };
206
+ }
207
+ return null;
208
+ }
209
+ export class Validators {
210
+ static email(control) {
211
+ return emailValidator(control);
212
+ }
213
+ static dateRange(control) {
214
+ return dateRangeValidator(control);
215
+ }
216
+ static unlockSponsorRegister(control) {
217
+ return registerValidator(control, 'sponsor');
218
+ }
219
+ static unlockBuyerRegister(control) {
220
+ return registerValidator(control, 'buyer');
221
+ }
222
+ static dateStartEnd(control) {
223
+ return dateStartEndValidator(control);
224
+ }
225
+ static url(control) {
226
+ return urlValidator(control);
227
+ }
228
+ static passwordConfirm(control) {
229
+ return passwordConfirmValidator(control);
230
+ }
231
+ static true(control) {
232
+ return trueValidator(control);
233
+ }
234
+ static combo(control) {
235
+ return comboValidator(control);
236
+ }
237
+ static zipCode(control) {
238
+ return zipCodeValidator(control);
239
+ }
240
+ static zipCodeByCountry(country) {
241
+ return (control) => {
242
+ return zipCodeValidator(control, country);
243
+ };
244
+ }
245
+ static documentBR(control) {
246
+ return documentValidator(control, 'BR');
247
+ }
248
+ static documentCL(control) {
249
+ return documentValidator(control, 'CL');
250
+ }
251
+ static date(control) {
252
+ return dateValidator(control);
253
+ }
254
+ static greaterThanZero(control) {
255
+ return valueGreaterThanZero(control);
256
+ }
257
+ static required(control) {
258
+ return requiredWithTrimValidator(control);
259
+ }
260
+ static differentFromZero(control) {
261
+ return differentFromZero(control);
262
+ }
263
+ static documentValidatorByType(type) {
264
+ return (control) => {
265
+ return documentValidatorByType(type, control);
266
+ };
267
+ }
268
+ }
269
269
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsTUFBTSxNQUFNLEdBQVEsT0FBTyxDQUFDO0FBRTVCLE1BQU0sWUFBWSxHQUFHLGtDQUFrQyxDQUFDO0FBRXhELFNBQVMsaUJBQWlCLENBQUMsS0FBVTtJQUNuQyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBd0I7SUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ25FLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxJQUFJLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN0QixPQUFPO1FBQ0wsS0FBSyxFQUFFLElBQUk7S0FDWixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUF3QjtJQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbkUsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFD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QyxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQXdCO1FBQ3hDLE9BQU8saUJBQWlCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQXdCO1FBQ2xDLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQXdCO1FBQzdDLE9BQU8sb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBd0I7UUFDdEMsT0FBTyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE9BQXdCO1FBQy9DLE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFZO1FBQ3pDLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1lBQzNELE9BQU8sdUJBQXVCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IG1vbWVudDogYW55ID0gbW9tZW50XztcblxuY29uc3QgRU1BSUxfUkVHRVhQID0gL15bXFx3LS5dK0AoW1xcdy1dK1xcLikrW1xcdy1dezEsNjR9JC87XG5cbmZ1bmN0aW9uIGlzRW1wdHlJbnB1dFZhbHVlKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdmFsdWUubGVuZ3RoID09PSAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW1haWxWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgdGVzdCA9IEVNQUlMX1JFR0VYUC50ZXN0KGNvbnRyb2wudmFsdWUpO1xuICBpZiAodGVzdCkgcmV0dXJuIG51bGw7XG4gIHJldHVybiB7XG4gICAgZW1haWw6IHRydWVcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVSYW5nZVZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wgfHwgaXNFbXB0eUlucHV0VmFsdWUoY29udHJvbC52YWx1ZSkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGRhdGVzID0gY29udHJvbD8ucGFyZW50Py5nZXQoJ2RhdGVzJyk/LnZhbHVlO1xuICBpZiAoXG4gICAgZGF0ZXMgJiZcbiAgICAoIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoZGF0ZXM/LnN0YXJ0RGF0ZSkgfHxcbiAgICAgICFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKGRhdGVzPy5lbmREYXRlKSlcbiAgKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGVSYW5nZTogdHJ1ZVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgdHlwZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlICE9PSBgI01PTktFWSR7dHlwZX1gLnRvVXBwZXJDYXNlKCkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW52YWxpZFVubG9ja1JlZ2lzdGVyOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVN0YXJ0RW5kVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgeyBwYXJlbnQgfSA9IGNvbnRyb2w7XG5cbiAgY29uc3QgdmFsdWVTdGFydCA9IHBhcmVudD8uZ2V0KCdkYXRlU3RhcnQnKT8udmFsdWU7XG4gIGNvbnN0IHZhbHVlRW5kID0gcGFyZW50Py5nZXQoJ2RhdGVFbmQnKT8udmFsdWU7XG4gIGxldCBkYXRlU3RhcnQ6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgbGV0IGRhdGVFbmQ6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgaWYgKHZhbHVlU3RhcnQpIHtcbiAgICBkYXRlU3RhcnQgPSBuZXcgRGF0ZSh2YWx1ZVN0YXJ0KTtcbiAgfVxuICBpZiAodmFsdWVFbmQpIHtcbiAgICBkYXRlRW5kID0gbmV3IERhdGUodmFsdWVFbmQpO1xuICB9XG5cbiAgaWYgKCFkYXRlRW5kIHx8ICFkYXRlU3RhcnQpIHJldHVybiBudWxsO1xuICBpZiAoZGF0ZVN0YXJ0ID4gZGF0ZUVuZCkge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRlU3RhcnRNdXN0QmVMZXNzVGhhbkFuZDogdHJ1ZVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVybFZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wgfHwgaXNFbXB0eUlucHV0VmFsdWUoY29udHJvbC52YWx1ZSkpIHJldHVybiBudWxsO1xuXG4gIGlmICghTW9ua2V5RWN4VXRpbHMuaXNWYWxpZFVybChjb250cm9sLnZhbHVlKSkge1xuICAgIHJldHVybiB7XG4gICAgICB1cmw6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXNzd29yZENvbmZpcm1WYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCB7IHBhcmVudCB9ID0gY29udHJvbDtcbiAgY29uc3QgcGFzc3dvcmQgPSBwYXJlbnQ/LmdldCgncGFzc3dvcmQnKT8udmFsdWU7XG4gIGNvbnN0IHBhc3N3b3JkQ29uZmlybSA9IHBhcmVudD8uZ2V0KCdwYXNzd29yZENvbmZpcm0nKT8udmFsdWU7XG4gIGlmICghcGFzc3dvcmQgfHwgIXBhc3N3b3JkQ29uZmlybSkgcmV0dXJuIG51bGw7XG4gIGlmIChwYXNzd29yZCA9PT0gcGFzc3dvcmRDb25maXJtKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4ge1xuICAgIHBhc3N3b3Jkc05vdE1hdGNoaW5nOiB0cnVlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cnVlVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XG4gIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09IGZhbHNlKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4ge1xuICAgIGludmFsaWRUcnVlOiB0cnVlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21ib1ZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xuICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlICE9PSAnMCcpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiB7XG4gICAgaW52YWxpZENvbWJvOiB0cnVlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6aXBDb2RlVmFsaWRhdG9yKFxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gIGNvdW50cnk/OiBzdHJpbmdcbik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkgcmV0dXJuIG51bGw7XG4gIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUpIHtcbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLmlzVmFsaWRaaXBDb2RlKGNvbnRyb2wudmFsdWUsIGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnZhbGlkWmlwQ29kZTogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvY3VtZW50VmFsaWRhdG9yKFxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gIGNvdW50cnk6IHN0cmluZ1xuKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSByZXR1cm4gbnVsbDtcbiAgaWYgKGNvdW50cnkgPT09ICdCUicpIHtcbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLmlzQ1BGQ05QSlZhbGlkKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnZhbGlkQ3BmQ25wajogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoY291bnRyeSA9PT0gJ0NMJykge1xuICAgIGlmICghTW9ua2V5RWN4VXRpbHMuaXNWYWxpZFJVVChjb250cm9sLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW52YWxpZENwZkNucGo6IHRydWVcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgZGF0ZUZvcm1hdCA9ICdNTS1ERC1ZWVlZJztcbiAgaWYgKFxuICAgICFtb21lbnRcbiAgICAgIC5kZWZhdWx0KFxuICAgICAgICBtb21lbnQuZGVmYXVsdChjb250cm9sLnZhbHVlKS5mb3JtYXQoZGF0ZUZvcm1hdCksXG4gICAgICAgIFsnREQvTU0vWVlZWScsICdNTS1ERC1ZWVlZJywgJ1lZWVktTU0tREQnXSxcbiAgICAgICAgdHJ1ZVxuICAgICAgKVxuICAgICAgLmlzVmFsaWQoKVxuICApIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW52YWxpZERhdGU6IHRydWVcbiAgICB9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsdWVHcmVhdGVyVGhhblplcm8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSByZXR1cm4gbnVsbDtcblxuICBpZiAoY29udHJvbCAmJiBgJHtjb250cm9sPy52YWx1ZX1gID09PSAnMCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW52YWxpZFZhbHVlR3JlYXRlclRoYW5aZXJvOiB0cnVlXG4gICAgfTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVkV2l0aFRyaW1WYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcblxuICBpZiAoY29udHJvbCAmJiAhYCR7Y29udHJvbD8udmFsdWV9YC50cmltKCkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICB9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlmZmVyZW50RnJvbVplcm8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBoYW5kbGVkID0gYCR7Y29udHJvbD8udmFsdWV9YC50cmltKCkucmVwbGFjZSgvMC9nLCAnJyk7XG4gIGlmIChjb250cm9sICYmICFoYW5kbGVkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRpZmZlcmVudEZyb21aZXJvOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZG9jdW1lbnRWYWxpZGF0b3JCeVR5cGUoXG4gIHR5cGU6IHN0cmluZyxcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sXG4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wgfHwgaXNFbXB0eUlucHV0VmFsdWUoY29udHJvbC52YWx1ZSkpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGhhbmRsZSA9IE1vbmtleUVjeFV0aWxzLmhhbmRsZU9ubHlOdW1iZXJzKGNvbnRyb2wudmFsdWUpO1xuICBsZXQgdmFsaWQgPSBmYWxzZTtcbiAgaWYgKHR5cGUgPT09ICdDUEYnIHx8IHR5cGUgPT09ICdDTlBKJykge1xuICAgIGlmICgodHlwZSA9PT0gJ0NOUEonICYmIGAke2hhbmRsZX1gLmxlbmd0aCAhPT0gMTQpIHx8XG4gICAgICAodHlwZSA9PT0gJ0NQRicgJiYgYCR7aGFuZGxlfWAubGVuZ3RoICE9PSAxMSkpIHtcbiAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkID0gTW9ua2V5RWN4VXRpbHMuaXNDUEZDTlBKVmFsaWQoY29udHJvbC52YWx1ZSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdSVVQnKSB7XG4gICAgdmFsaWQgPSBNb25rZXlFY3hVdGlscy5pc1ZhbGlkUlVUKGNvbnRyb2wudmFsdWUpO1xuICB9XG5cbiAgaWYgKCF2YWxpZCkge1xuICAgIHJldHVybiB7XG4gICAgICBbYGludmFsaWQke01vbmtleUVjeFV0aWxzLmNhcGl0YWxpemUodHlwZS50b0xvd2VyQ2FzZSgpKX1gXTogdHJ1ZVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRvcnMge1xuICBzdGF0aWMgZW1haWwoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiBlbWFpbFZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyBkYXRlUmFuZ2UoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiBkYXRlUmFuZ2VWYWxpZGF0b3IoY29udHJvbCk7XG4gIH1cblxuICBzdGF0aWMgdW5sb2NrU3BvbnNvclJlZ2lzdGVyKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gcmVnaXN0ZXJWYWxpZGF0b3IoY29udHJvbCwgJ3Nwb25zb3InKTtcbiAgfVxuXG4gIHN0YXRpYyB1bmxvY2tCdXllclJlZ2lzdGVyKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gcmVnaXN0ZXJWYWxpZGF0b3IoY29udHJvbCwgJ2J1eWVyJyk7XG4gIH1cblxuICBzdGF0aWMgZGF0ZVN0YXJ0RW5kKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gZGF0ZVN0YXJ0RW5kVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIHVybChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHVybFZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyBwYXNzd29yZENvbmZpcm0oY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiBwYXNzd29yZENvbmZpcm1WYWxpZGF0b3IoY29udHJvbCk7XG4gIH1cblxuICBzdGF0aWMgdHJ1ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRydWVWYWxpZGF0b3IoY29udHJvbCk7XG4gIH1cblxuICBzdGF0aWMgY29tYm8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiBjb21ib1ZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyB6aXBDb2RlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gemlwQ29kZVZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyB6aXBDb2RlQnlDb3VudHJ5KGNvdW50cnk6IHN0cmluZykge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgcmV0dXJuIHppcENvZGVWYWxpZGF0b3IoY29udHJvbCwgY291bnRyeSk7XG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBkb2N1bWVudEJSKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gZG9jdW1lbnRWYWxpZGF0b3IoY29udHJvbCwgJ0JSJyk7XG4gIH1cblxuICBzdGF0aWMgZG9jdW1lbnRDTChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGRvY3VtZW50VmFsaWRhdG9yKGNvbnRyb2wsICdDTCcpO1xuICB9XG5cbiAgc3RhdGljIGRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiBkYXRlVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIGdyZWF0ZXJUaGFuWmVybyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHZhbHVlR3JlYXRlclRoYW5aZXJvKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIHJlcXVpcmVkKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gcmVxdWlyZWRXaXRoVHJpbVZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyBkaWZmZXJlbnRGcm9tWmVybyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGRpZmZlcmVudEZyb21aZXJvKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIGRvY3VtZW50VmFsaWRhdG9yQnlUeXBlKHR5cGU6IHN0cmluZykge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgcmV0dXJuIGRvY3VtZW50VmFsaWRhdG9yQnlUeXBlKHR5cGUsIGNvbnRyb2wpO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==