@hmcts/opal-frontend-common 0.0.2

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 (262) hide show
  1. package/README.md +24 -0
  2. package/esm2022/hmcts-opal-frontend-common.mjs +5 -0
  3. package/esm2022/lib/components/govuk/govuk-button/govuk-button.component.mjs +34 -0
  4. package/esm2022/lib/components/govuk/govuk-text-input/govuk-text-input.component.mjs +57 -0
  5. package/esm2022/lib/components/govuk/index.mjs +3 -0
  6. package/esm2022/lib/guards/auth/auth.guard.mjs +20 -0
  7. package/esm2022/lib/guards/auth/index.mjs +2 -0
  8. package/esm2022/lib/guards/can-deactivate/can-deactivate.guard.mjs +6 -0
  9. package/esm2022/lib/guards/can-deactivate/index.mjs +5 -0
  10. package/esm2022/lib/guards/can-deactivate/interfaces/can-deactivate-can-component-deactivate.interface.mjs +2 -0
  11. package/esm2022/lib/guards/can-deactivate/interfaces/index.mjs +2 -0
  12. package/esm2022/lib/guards/has-flow-state/has-flow-state.guard.mjs +16 -0
  13. package/esm2022/lib/guards/has-flow-state/index.mjs +2 -0
  14. package/esm2022/lib/guards/helpers/get-guard-with-dummy-url.mjs +19 -0
  15. package/esm2022/lib/guards/helpers/handle-observable-result.mjs +13 -0
  16. package/esm2022/lib/guards/helpers/index.mjs +5 -0
  17. package/esm2022/lib/guards/helpers/run-auth-guard-with-context.mjs +15 -0
  18. package/esm2022/lib/guards/helpers/run-has-flow-state-guard-with-context.mjs +9 -0
  19. package/esm2022/lib/guards/index.mjs +10 -0
  20. package/esm2022/lib/guards/route-permissions/index.mjs +2 -0
  21. package/esm2022/lib/guards/route-permissions/route-permissions.guard.mjs +25 -0
  22. package/esm2022/lib/guards/signed-in/index.mjs +3 -0
  23. package/esm2022/lib/guards/signed-in/signed-in.guard.mjs +20 -0
  24. package/esm2022/lib/guards/types/can-deactivate.type.mjs +2 -0
  25. package/esm2022/lib/guards/types/guard-return.type.mjs +2 -0
  26. package/esm2022/lib/guards/types/index.mjs +3 -0
  27. package/esm2022/lib/interceptors/http-error/http-error.interceptor.mjs +24 -0
  28. package/esm2022/lib/interceptors/index.mjs +3 -0
  29. package/esm2022/lib/opal-frontend-common.module.mjs +22 -0
  30. package/esm2022/lib/pages/access-denied/access-denied.component.mjs +18 -0
  31. package/esm2022/lib/pages/index.mjs +4 -0
  32. package/esm2022/lib/pages/routing/constants/routing-paths.constant.mjs +9 -0
  33. package/esm2022/lib/pages/routing/constants/routing-titles.constant.mjs +9 -0
  34. package/esm2022/lib/pages/routing/interfaces/routing-paths.interface.mjs +2 -0
  35. package/esm2022/lib/pages/routing/pages.routes.mjs +24 -0
  36. package/esm2022/lib/pages/sign-in/interfaces/index.mjs +2 -0
  37. package/esm2022/lib/pages/sign-in/interfaces/sign-in-stub-form.interface.mjs +2 -0
  38. package/esm2022/lib/pages/sign-in/sign-in-sso/sign-in-sso.component.mjs +23 -0
  39. package/esm2022/lib/pages/sign-in/sign-in-stub/sign-in-stub.component.mjs +39 -0
  40. package/esm2022/lib/pages/sign-in/sign-in.component.mjs +38 -0
  41. package/esm2022/lib/resolvers/index.mjs +3 -0
  42. package/esm2022/lib/resolvers/title/index.mjs +2 -0
  43. package/esm2022/lib/resolvers/title/title.resolver.mjs +22 -0
  44. package/esm2022/lib/resolvers/user-state/index.mjs +2 -0
  45. package/esm2022/lib/resolvers/user-state/user-state.resolver.mjs +12 -0
  46. package/esm2022/lib/routing/constants/index.mjs +2 -0
  47. package/esm2022/lib/routing/constants/sso-endpoints.constant.mjs +7 -0
  48. package/esm2022/lib/routing/index.mjs +3 -0
  49. package/esm2022/lib/routing/interfaces/child-routing-paths.interface.mjs +2 -0
  50. package/esm2022/lib/routing/interfaces/index.mjs +4 -0
  51. package/esm2022/lib/routing/interfaces/nested-routes.interface.mjs +2 -0
  52. package/esm2022/lib/routing/interfaces/sso-endpoints.interface.mjs +2 -0
  53. package/esm2022/lib/services/app-initializer-service/app-initializer.service.mjs +36 -0
  54. package/esm2022/lib/services/app-initializer-service/index.mjs +2 -0
  55. package/esm2022/lib/services/app-insights/app-insights.service.mjs +73 -0
  56. package/esm2022/lib/services/app-insights/index.mjs +4 -0
  57. package/esm2022/lib/services/auth-service/auth.service.mjs +36 -0
  58. package/esm2022/lib/services/auth-service/index.mjs +2 -0
  59. package/esm2022/lib/services/date-service/date.service.mjs +182 -0
  60. package/esm2022/lib/services/date-service/index.mjs +4 -0
  61. package/esm2022/lib/services/index.mjs +12 -0
  62. package/esm2022/lib/services/launch-darkly/index.mjs +5 -0
  63. package/esm2022/lib/services/launch-darkly/launch-darkly.service.mjs +94 -0
  64. package/esm2022/lib/services/launch-darkly/mocks/index.mjs +3 -0
  65. package/esm2022/lib/services/launch-darkly/mocks/launch-darkly-change-flags.mock.mjs +5 -0
  66. package/esm2022/lib/services/launch-darkly/mocks/launch-darkly-flags.mock.mjs +5 -0
  67. package/esm2022/lib/services/permissions-service/index.mjs +4 -0
  68. package/esm2022/lib/services/permissions-service/permissions.service.mjs +40 -0
  69. package/esm2022/lib/services/session-service/constants/index.mjs +2 -0
  70. package/esm2022/lib/services/session-service/constants/session-endpoints.constant.mjs +5 -0
  71. package/esm2022/lib/services/session-service/index.mjs +7 -0
  72. package/esm2022/lib/services/session-service/interfaces/index.mjs +4 -0
  73. package/esm2022/lib/services/session-service/interfaces/session-endpoints.interface.mjs +2 -0
  74. package/esm2022/lib/services/session-service/interfaces/session-token-expiry.interface.mjs +2 -0
  75. package/esm2022/lib/services/session-service/interfaces/session-user-state.interface.mjs +2 -0
  76. package/esm2022/lib/services/session-service/mocks/index.mjs +3 -0
  77. package/esm2022/lib/services/session-service/mocks/session-token-expiry.mock.mjs +5 -0
  78. package/esm2022/lib/services/session-service/mocks/session-user-state.mock.mjs +386 -0
  79. package/esm2022/lib/services/session-service/session.service.mjs +64 -0
  80. package/esm2022/lib/services/sort-service/index.mjs +6 -0
  81. package/esm2022/lib/services/sort-service/interfaces/index.mjs +3 -0
  82. package/esm2022/lib/services/sort-service/interfaces/sort-service-values.interface.mjs +2 -0
  83. package/esm2022/lib/services/sort-service/interfaces/sort-service.interface.mjs +2 -0
  84. package/esm2022/lib/services/sort-service/sort-service.mjs +90 -0
  85. package/esm2022/lib/services/sort-service/types/index.mjs +2 -0
  86. package/esm2022/lib/services/sort-service/types/sort-service.type.mjs +2 -0
  87. package/esm2022/lib/services/transfer-state-service/index.mjs +6 -0
  88. package/esm2022/lib/services/transfer-state-service/interfaces/index.mjs +4 -0
  89. package/esm2022/lib/services/transfer-state-service/interfaces/transfer-state-app-insights-config.interface.mjs +2 -0
  90. package/esm2022/lib/services/transfer-state-service/interfaces/transfer-state-launch-darkly-config.interface.mjs +2 -0
  91. package/esm2022/lib/services/transfer-state-service/interfaces/transfer-state-server-state.interface.mjs +2 -0
  92. package/esm2022/lib/services/transfer-state-service/mocks/index.mjs +4 -0
  93. package/esm2022/lib/services/transfer-state-service/mocks/transfer-state-app-insights-config.mock.mjs +6 -0
  94. package/esm2022/lib/services/transfer-state-service/mocks/transfer-state-launch-darkly-config.mock.mjs +6 -0
  95. package/esm2022/lib/services/transfer-state-service/mocks/transfer-state.mock.mjs +8 -0
  96. package/esm2022/lib/services/transfer-state-service/transfer-state.service.mjs +59 -0
  97. package/esm2022/lib/services/transformation-service/index.mjs +5 -0
  98. package/esm2022/lib/services/transformation-service/interfaces/index.mjs +2 -0
  99. package/esm2022/lib/services/transformation-service/interfaces/transform-item.interface.mjs +2 -0
  100. package/esm2022/lib/services/transformation-service/transformation.service.mjs +69 -0
  101. package/esm2022/lib/services/utils/index.mjs +4 -0
  102. package/esm2022/lib/services/utils/utils.service.mjs +86 -0
  103. package/esm2022/lib/stores/global/global.store.mjs +33 -0
  104. package/esm2022/lib/stores/global/index.mjs +6 -0
  105. package/esm2022/lib/stores/global/interfaces/error-state.interface.mjs +2 -0
  106. package/esm2022/lib/stores/global/interfaces/index.mjs +2 -0
  107. package/esm2022/lib/stores/global/types/global-store.type.mjs +2 -0
  108. package/esm2022/lib/stores/global/types/index.mjs +2 -0
  109. package/esm2022/lib/stores/index.mjs +2 -0
  110. package/esm2022/lib/validators/alphabetical-text/alphabetical-text.validator.mjs +10 -0
  111. package/esm2022/lib/validators/amount/amount.validator.mjs +15 -0
  112. package/esm2022/lib/validators/date-after-year/date-after-year.validator.mjs +12 -0
  113. package/esm2022/lib/validators/date-before/date-before.validator.mjs +15 -0
  114. package/esm2022/lib/validators/date-of-birth/date-of-birth.validator.mjs +18 -0
  115. package/esm2022/lib/validators/future-date/future-date.validator.mjs +15 -0
  116. package/esm2022/lib/validators/index.mjs +20 -0
  117. package/esm2022/lib/validators/invalid-value/invalid-value.validator.mjs +9 -0
  118. package/esm2022/lib/validators/national-insurance-number/national-insurance-number.validator.mjs +16 -0
  119. package/esm2022/lib/validators/numerical-only/numerical-only.validator.mjs +10 -0
  120. package/esm2022/lib/validators/optional-max-length/optional-max-length.validator.mjs +10 -0
  121. package/esm2022/lib/validators/optional-valid-date/optional-valid-date.validator.mjs +23 -0
  122. package/esm2022/lib/validators/optional-valid-email-address/optional-valid-email-address.validator.mjs +11 -0
  123. package/esm2022/lib/validators/optional-valid-telephone/optional-valid-telephone.validator.mjs +14 -0
  124. package/esm2022/lib/validators/over-eighteen/over-eighteen.validator.mjs +45 -0
  125. package/esm2022/lib/validators/past-date/past-date.validator.mjs +16 -0
  126. package/esm2022/lib/validators/special-characters/special-characters.validator.mjs +11 -0
  127. package/esm2022/lib/validators/two-decimal-places/two-decimal-places.validator.mjs +12 -0
  128. package/esm2022/lib/validators/valid-value/valid-value.validator.mjs +9 -0
  129. package/esm2022/public-api.mjs +11 -0
  130. package/fesm2022/hmcts-opal-frontend-common-sign-in-stub.component-CysPzJGJ.mjs +41 -0
  131. package/fesm2022/hmcts-opal-frontend-common-sign-in-stub.component-CysPzJGJ.mjs.map +1 -0
  132. package/fesm2022/hmcts-opal-frontend-common.mjs +1947 -0
  133. package/fesm2022/hmcts-opal-frontend-common.mjs.map +1 -0
  134. package/index.d.ts +5 -0
  135. package/lib/components/govuk/govuk-button/govuk-button.component.d.ts +14 -0
  136. package/lib/components/govuk/govuk-text-input/govuk-text-input.component.d.ts +17 -0
  137. package/lib/components/govuk/index.d.ts +2 -0
  138. package/lib/guards/auth/auth.guard.d.ts +6 -0
  139. package/lib/guards/auth/index.d.ts +1 -0
  140. package/lib/guards/can-deactivate/can-deactivate.guard.d.ts +3 -0
  141. package/lib/guards/can-deactivate/index.d.ts +2 -0
  142. package/lib/guards/can-deactivate/interfaces/can-deactivate-can-component-deactivate.interface.d.ts +4 -0
  143. package/lib/guards/can-deactivate/interfaces/index.d.ts +2 -0
  144. package/lib/guards/has-flow-state/has-flow-state.guard.d.ts +2 -0
  145. package/lib/guards/has-flow-state/index.d.ts +1 -0
  146. package/lib/guards/helpers/get-guard-with-dummy-url.d.ts +12 -0
  147. package/lib/guards/helpers/handle-observable-result.d.ts +8 -0
  148. package/lib/guards/helpers/index.d.ts +4 -0
  149. package/lib/guards/helpers/run-auth-guard-with-context.d.ts +9 -0
  150. package/lib/guards/helpers/run-has-flow-state-guard-with-context.d.ts +3 -0
  151. package/lib/guards/index.d.ts +7 -0
  152. package/lib/guards/route-permissions/index.d.ts +1 -0
  153. package/lib/guards/route-permissions/route-permissions.guard.d.ts +2 -0
  154. package/lib/guards/signed-in/index.d.ts +1 -0
  155. package/lib/guards/signed-in/signed-in.guard.d.ts +8 -0
  156. package/lib/guards/types/can-deactivate.type.d.ts +3 -0
  157. package/lib/guards/types/guard-return.type.d.ts +2 -0
  158. package/lib/guards/types/index.d.ts +2 -0
  159. package/lib/interceptors/http-error/http-error.interceptor.d.ts +2 -0
  160. package/lib/interceptors/index.d.ts +2 -0
  161. package/lib/opal-frontend-common.module.d.ts +14 -0
  162. package/lib/pages/access-denied/access-denied.component.d.ts +7 -0
  163. package/lib/pages/index.d.ts +3 -0
  164. package/lib/pages/routing/constants/routing-paths.constant.d.ts +2 -0
  165. package/lib/pages/routing/constants/routing-titles.constant.d.ts +2 -0
  166. package/lib/pages/routing/interfaces/routing-paths.interface.d.ts +8 -0
  167. package/lib/pages/routing/pages.routes.d.ts +2 -0
  168. package/lib/pages/sign-in/interfaces/index.d.ts +2 -0
  169. package/lib/pages/sign-in/interfaces/sign-in-stub-form.interface.d.ts +3 -0
  170. package/lib/pages/sign-in/sign-in-sso/sign-in-sso.component.d.ts +11 -0
  171. package/lib/pages/sign-in/sign-in-stub/sign-in-stub.component.d.ts +19 -0
  172. package/lib/pages/sign-in/sign-in.component.d.ts +51 -0
  173. package/lib/resolvers/index.d.ts +2 -0
  174. package/lib/resolvers/title/index.d.ts +1 -0
  175. package/lib/resolvers/title/title.resolver.d.ts +10 -0
  176. package/lib/resolvers/user-state/index.d.ts +1 -0
  177. package/lib/resolvers/user-state/user-state.resolver.d.ts +7 -0
  178. package/lib/routing/constants/index.d.ts +1 -0
  179. package/lib/routing/constants/sso-endpoints.constant.d.ts +2 -0
  180. package/lib/routing/index.d.ts +2 -0
  181. package/lib/routing/interfaces/child-routing-paths.interface.d.ts +6 -0
  182. package/lib/routing/interfaces/index.d.ts +3 -0
  183. package/lib/routing/interfaces/nested-routes.interface.d.ts +4 -0
  184. package/lib/routing/interfaces/sso-endpoints.interface.d.ts +6 -0
  185. package/lib/services/app-initializer-service/app-initializer.service.d.ts +20 -0
  186. package/lib/services/app-initializer-service/index.d.ts +1 -0
  187. package/lib/services/app-insights/app-insights.service.d.ts +33 -0
  188. package/lib/services/app-insights/index.d.ts +1 -0
  189. package/lib/services/auth-service/auth.service.d.ts +8 -0
  190. package/lib/services/auth-service/index.d.ts +1 -0
  191. package/lib/services/date-service/date.service.d.ts +123 -0
  192. package/lib/services/date-service/index.d.ts +1 -0
  193. package/lib/services/index.d.ts +11 -0
  194. package/lib/services/launch-darkly/index.d.ts +2 -0
  195. package/lib/services/launch-darkly/launch-darkly.service.d.ts +41 -0
  196. package/lib/services/launch-darkly/mocks/index.d.ts +2 -0
  197. package/lib/services/launch-darkly/mocks/launch-darkly-change-flags.mock.d.ts +10 -0
  198. package/lib/services/launch-darkly/mocks/launch-darkly-flags.mock.d.ts +4 -0
  199. package/lib/services/permissions-service/index.d.ts +1 -0
  200. package/lib/services/permissions-service/permissions.service.d.ts +14 -0
  201. package/lib/services/session-service/constants/index.d.ts +1 -0
  202. package/lib/services/session-service/constants/session-endpoints.constant.d.ts +2 -0
  203. package/lib/services/session-service/index.d.ts +4 -0
  204. package/lib/services/session-service/interfaces/index.d.ts +3 -0
  205. package/lib/services/session-service/interfaces/session-endpoints.interface.d.ts +4 -0
  206. package/lib/services/session-service/interfaces/session-token-expiry.interface.d.ts +4 -0
  207. package/lib/services/session-service/interfaces/session-user-state.interface.d.ts +15 -0
  208. package/lib/services/session-service/mocks/index.d.ts +2 -0
  209. package/lib/services/session-service/mocks/session-token-expiry.mock.d.ts +2 -0
  210. package/lib/services/session-service/mocks/session-user-state.mock.d.ts +2 -0
  211. package/lib/services/session-service/session.service.d.ts +30 -0
  212. package/lib/services/sort-service/index.d.ts +3 -0
  213. package/lib/services/sort-service/interfaces/index.d.ts +2 -0
  214. package/lib/services/sort-service/interfaces/sort-service-values.interface.d.ts +6 -0
  215. package/lib/services/sort-service/interfaces/sort-service.interface.d.ts +4 -0
  216. package/lib/services/sort-service/sort-service.d.ts +64 -0
  217. package/lib/services/sort-service/types/index.d.ts +1 -0
  218. package/lib/services/sort-service/types/sort-service.type.d.ts +1 -0
  219. package/lib/services/transfer-state-service/index.d.ts +3 -0
  220. package/lib/services/transfer-state-service/interfaces/index.d.ts +3 -0
  221. package/lib/services/transfer-state-service/interfaces/transfer-state-app-insights-config.interface.d.ts +5 -0
  222. package/lib/services/transfer-state-service/interfaces/transfer-state-launch-darkly-config.interface.d.ts +5 -0
  223. package/lib/services/transfer-state-service/interfaces/transfer-state-server-state.interface.d.ts +7 -0
  224. package/lib/services/transfer-state-service/mocks/index.d.ts +3 -0
  225. package/lib/services/transfer-state-service/mocks/transfer-state-app-insights-config.mock.d.ts +5 -0
  226. package/lib/services/transfer-state-service/mocks/transfer-state-launch-darkly-config.mock.d.ts +5 -0
  227. package/lib/services/transfer-state-service/mocks/transfer-state.mock.d.ts +2 -0
  228. package/lib/services/transfer-state-service/transfer-state.service.d.ts +23 -0
  229. package/lib/services/transformation-service/index.d.ts +2 -0
  230. package/lib/services/transformation-service/interfaces/index.d.ts +1 -0
  231. package/lib/services/transformation-service/interfaces/transform-item.interface.d.ts +6 -0
  232. package/lib/services/transformation-service/transformation.service.d.ts +30 -0
  233. package/lib/services/utils/index.d.ts +1 -0
  234. package/lib/services/utils/utils.service.d.ts +54 -0
  235. package/lib/stores/global/global.store.d.ts +35 -0
  236. package/lib/stores/global/index.d.ts +3 -0
  237. package/lib/stores/global/interfaces/error-state.interface.d.ts +4 -0
  238. package/lib/stores/global/interfaces/index.d.ts +1 -0
  239. package/lib/stores/global/types/global-store.type.d.ts +2 -0
  240. package/lib/stores/global/types/index.d.ts +1 -0
  241. package/lib/stores/index.d.ts +1 -0
  242. package/lib/validators/alphabetical-text/alphabetical-text.validator.d.ts +2 -0
  243. package/lib/validators/amount/amount.validator.d.ts +2 -0
  244. package/lib/validators/date-after-year/date-after-year.validator.d.ts +2 -0
  245. package/lib/validators/date-before/date-before.validator.d.ts +2 -0
  246. package/lib/validators/date-of-birth/date-of-birth.validator.d.ts +2 -0
  247. package/lib/validators/future-date/future-date.validator.d.ts +2 -0
  248. package/lib/validators/index.d.ts +19 -0
  249. package/lib/validators/invalid-value/invalid-value.validator.d.ts +2 -0
  250. package/lib/validators/national-insurance-number/national-insurance-number.validator.d.ts +2 -0
  251. package/lib/validators/numerical-only/numerical-only.validator.d.ts +2 -0
  252. package/lib/validators/optional-max-length/optional-max-length.validator.d.ts +2 -0
  253. package/lib/validators/optional-valid-date/optional-valid-date.validator.d.ts +2 -0
  254. package/lib/validators/optional-valid-email-address/optional-valid-email-address.validator.d.ts +2 -0
  255. package/lib/validators/optional-valid-telephone/optional-valid-telephone.validator.d.ts +2 -0
  256. package/lib/validators/over-eighteen/over-eighteen.validator.d.ts +14 -0
  257. package/lib/validators/past-date/past-date.validator.d.ts +2 -0
  258. package/lib/validators/special-characters/special-characters.validator.d.ts +2 -0
  259. package/lib/validators/two-decimal-places/two-decimal-places.validator.d.ts +2 -0
  260. package/lib/validators/valid-value/valid-value.validator.d.ts +2 -0
  261. package/package.json +28 -0
  262. package/public-api.d.ts +10 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItc3RhdGUtc2VydmVyLXN0YXRlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvc2VydmljZXMvdHJhbnNmZXItc3RhdGUtc2VydmljZS9pbnRlcmZhY2VzL3RyYW5zZmVyLXN0YXRlLXNlcnZlci1zdGF0ZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUcmFuc2ZlclN0YXRlQXBwSW5zaWdodHNDb25maWcgfSBmcm9tICcuL3RyYW5zZmVyLXN0YXRlLWFwcC1pbnNpZ2h0cy1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IElUcmFuc2ZlclN0YXRlTGF1bmNoRGFya2x5Q29uZmlnIH0gZnJvbSAnLi90cmFuc2Zlci1zdGF0ZS1sYXVuY2gtZGFya2x5LWNvbmZpZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2ZlclN0YXRlU2VydmVyU3RhdGUge1xuICBsYXVuY2hEYXJrbHlDb25maWc6IElUcmFuc2ZlclN0YXRlTGF1bmNoRGFya2x5Q29uZmlnO1xuICBzc29FbmFibGVkOiBib29sZWFuO1xuICBhcHBJbnNpZ2h0c0NvbmZpZzogSVRyYW5zZmVyU3RhdGVBcHBJbnNpZ2h0c0NvbmZpZztcbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './transfer-state-app-insights-config.mock';
2
+ export * from './transfer-state-launch-darkly-config.mock';
3
+ export * from './transfer-state.mock';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3RyYW5zZmVyLXN0YXRlLXNlcnZpY2UvbW9ja3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RyYW5zZmVyLXN0YXRlLWFwcC1pbnNpZ2h0cy1jb25maWcubW9jayc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zZmVyLXN0YXRlLWxhdW5jaC1kYXJrbHktY29uZmlnLm1vY2snO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2Zlci1zdGF0ZS5tb2NrJztcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export const TRANSFER_STATE_APP_INSIGHTS_CONFIG_MOCK = {
2
+ enabled: true,
3
+ connectionString: 'InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://your-ingestion-endpoint/',
4
+ cloudRoleName: 'opal-frontend',
5
+ };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItc3RhdGUtYXBwLWluc2lnaHRzLWNvbmZpZy5tb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3BhbC1mcm9udGVuZC1jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy90cmFuc2Zlci1zdGF0ZS1zZXJ2aWNlL21vY2tzL3RyYW5zZmVyLXN0YXRlLWFwcC1pbnNpZ2h0cy1jb25maWcubW9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRztJQUNyRCxPQUFPLEVBQUUsSUFBSTtJQUNiLGdCQUFnQixFQUNkLDRHQUE0RztJQUM5RyxhQUFhLEVBQUUsZUFBZTtDQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRSQU5TRkVSX1NUQVRFX0FQUF9JTlNJR0hUU19DT05GSUdfTU9DSyA9IHtcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgY29ubmVjdGlvblN0cmluZzpcbiAgICAnSW5zdHJ1bWVudGF0aW9uS2V5PTAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMDtJbmdlc3Rpb25FbmRwb2ludD1odHRwczovL3lvdXItaW5nZXN0aW9uLWVuZHBvaW50LycsXG4gIGNsb3VkUm9sZU5hbWU6ICdvcGFsLWZyb250ZW5kJyxcbn07XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export const TRANSFER_STATE_LAUNCH_DARKLY_CONFIG_MOCK = {
2
+ enabled: true,
3
+ clientId: '12345',
4
+ stream: true,
5
+ };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItc3RhdGUtbGF1bmNoLWRhcmtseS1jb25maWcubW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvc2VydmljZXMvdHJhbnNmZXItc3RhdGUtc2VydmljZS9tb2Nrcy90cmFuc2Zlci1zdGF0ZS1sYXVuY2gtZGFya2x5LWNvbmZpZy5tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHdDQUF3QyxHQUFHO0lBQ3RELE9BQU8sRUFBRSxJQUFJO0lBQ2IsUUFBUSxFQUFFLE9BQU87SUFDakIsTUFBTSxFQUFFLElBQUk7Q0FDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRSQU5TRkVSX1NUQVRFX0xBVU5DSF9EQVJLTFlfQ09ORklHX01PQ0sgPSB7XG4gIGVuYWJsZWQ6IHRydWUsXG4gIGNsaWVudElkOiAnMTIzNDUnLFxuICBzdHJlYW06IHRydWUsXG59O1xuIl19
@@ -0,0 +1,8 @@
1
+ import { TRANSFER_STATE_LAUNCH_DARKLY_CONFIG_MOCK } from './transfer-state-launch-darkly-config.mock';
2
+ import { TRANSFER_STATE_APP_INSIGHTS_CONFIG_MOCK } from './transfer-state-app-insights-config.mock';
3
+ export const TRANSFER_STATE_MOCK = {
4
+ launchDarklyConfig: TRANSFER_STATE_LAUNCH_DARKLY_CONFIG_MOCK,
5
+ ssoEnabled: true,
6
+ appInsightsConfig: TRANSFER_STATE_APP_INSIGHTS_CONFIG_MOCK,
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItc3RhdGUubW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvc2VydmljZXMvdHJhbnNmZXItc3RhdGUtc2VydmljZS9tb2Nrcy90cmFuc2Zlci1zdGF0ZS5tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXBHLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUE4QjtJQUM1RCxrQkFBa0IsRUFBRSx3Q0FBd0M7SUFDNUQsVUFBVSxFQUFFLElBQUk7SUFDaEIsaUJBQWlCLEVBQUUsdUNBQXVDO0NBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVHJhbnNmZXJTdGF0ZVNlcnZlclN0YXRlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90cmFuc2Zlci1zdGF0ZS1zZXJ2ZXItc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRSQU5TRkVSX1NUQVRFX0xBVU5DSF9EQVJLTFlfQ09ORklHX01PQ0sgfSBmcm9tICcuL3RyYW5zZmVyLXN0YXRlLWxhdW5jaC1kYXJrbHktY29uZmlnLm1vY2snO1xuaW1wb3J0IHsgVFJBTlNGRVJfU1RBVEVfQVBQX0lOU0lHSFRTX0NPTkZJR19NT0NLIH0gZnJvbSAnLi90cmFuc2Zlci1zdGF0ZS1hcHAtaW5zaWdodHMtY29uZmlnLm1vY2snO1xuXG5leHBvcnQgY29uc3QgVFJBTlNGRVJfU1RBVEVfTU9DSzogSVRyYW5zZmVyU3RhdGVTZXJ2ZXJTdGF0ZSA9IHtcbiAgbGF1bmNoRGFya2x5Q29uZmlnOiBUUkFOU0ZFUl9TVEFURV9MQVVOQ0hfREFSS0xZX0NPTkZJR19NT0NLLFxuICBzc29FbmFibGVkOiB0cnVlLFxuICBhcHBJbnNpZ2h0c0NvbmZpZzogVFJBTlNGRVJfU1RBVEVfQVBQX0lOU0lHSFRTX0NPTkZJR19NT0NLLFxufTtcbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { isPlatformBrowser } from '@angular/common';
2
+ import { Inject, Injectable, Optional, PLATFORM_ID, inject, makeStateKey } from '@angular/core';
3
+ import { GlobalStore } from '../../stores/global/global.store';
4
+ import * as i0 from "@angular/core";
5
+ export class TransferStateService {
6
+ platformId;
7
+ serverTransferState;
8
+ transferState;
9
+ globalStore = inject(GlobalStore);
10
+ storedServerTransferState;
11
+ constructor(platformId, serverTransferState, transferState) {
12
+ this.platformId = platformId;
13
+ this.serverTransferState = serverTransferState;
14
+ this.transferState = transferState;
15
+ const storeKeyTransferState = makeStateKey('serverTransferState');
16
+ if (isPlatformBrowser(this.platformId)) {
17
+ // get user state from transfer state if browser side
18
+ this.serverTransferState = this.transferState.get(storeKeyTransferState, null);
19
+ if (this.serverTransferState) {
20
+ this.storedServerTransferState = this.serverTransferState;
21
+ }
22
+ }
23
+ else {
24
+ // server side: store server transfer state
25
+ this.transferState.set(storeKeyTransferState, this.serverTransferState);
26
+ }
27
+ }
28
+ /**
29
+ * Initializes the SSO (Single Sign-On) enabled state.
30
+ * Sets the SSO enabled state based on the stored server transfer state.
31
+ */
32
+ initializeSsoEnabled() {
33
+ this.globalStore.setSsoEnabled(this.storedServerTransferState?.ssoEnabled);
34
+ }
35
+ /**
36
+ * Initializes the LaunchDarkly configuration by assigning the stored server transfer state's
37
+ * launchDarklyConfig value to the globalStore's launchDarklyConfig property.
38
+ */
39
+ initializeLaunchDarklyConfig() {
40
+ this.globalStore.setLaunchDarklyConfig(this.storedServerTransferState?.launchDarklyConfig);
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TransferStateService, deps: [{ token: PLATFORM_ID }, { token: 'serverTransferState', optional: true }, { token: i0.TransferState }], target: i0.ɵɵFactoryTarget.Injectable });
43
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TransferStateService, providedIn: 'root' });
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TransferStateService, decorators: [{
46
+ type: Injectable,
47
+ args: [{
48
+ providedIn: 'root',
49
+ }]
50
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
51
+ type: Inject,
52
+ args: [PLATFORM_ID]
53
+ }] }, { type: undefined, decorators: [{
54
+ type: Optional
55
+ }, {
56
+ type: Inject,
57
+ args: ['serverTransferState']
58
+ }] }, { type: i0.TransferState }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvc2VydmljZXMvdHJhbnNmZXItc3RhdGUtc2VydmljZS90cmFuc2Zlci1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQWlCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUsvRCxNQUFNLE9BQU8sb0JBQW9CO0lBS1M7SUFHdEI7SUFDQztJQVJGLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMseUJBQXlCLENBQTZCO0lBRXZFLFlBQ3dDLFVBQThCLEVBR3BELG1CQUFxRCxFQUNwRCxhQUE0QjtRQUpQLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBR3BELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBa0M7UUFDcEQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFN0MsTUFBTSxxQkFBcUIsR0FBRyxZQUFZLENBQTRCLHFCQUFxQixDQUFDLENBQUM7UUFFN0YsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxxREFBcUQ7WUFDckQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBRS9FLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDNUQsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sMkNBQTJDO1lBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksb0JBQW9CO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksNEJBQTRCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDN0YsQ0FBQzt3R0F4Q1Usb0JBQW9CLGtCQUtyQixXQUFXLGFBRVgscUJBQXFCOzRHQVBwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTUksTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCwgVHJhbnNmZXJTdGF0ZSwgaW5qZWN0LCBtYWtlU3RhdGVLZXkgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElUcmFuc2ZlclN0YXRlU2VydmVyU3RhdGUgfSBmcm9tICcuL2ludGVyZmFjZXMvdHJhbnNmZXItc3RhdGUtc2VydmVyLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBHbG9iYWxTdG9yZSB9IGZyb20gJy4uLy4uL3N0b3Jlcy9nbG9iYWwvZ2xvYmFsLnN0b3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyU3RhdGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBnbG9iYWxTdG9yZSA9IGluamVjdChHbG9iYWxTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmVkU2VydmVyVHJhbnNmZXJTdGF0ZSE6IElUcmFuc2ZlclN0YXRlU2VydmVyU3RhdGU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkOiB0eXBlb2YgUExBVEZPUk1fSUQsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KCdzZXJ2ZXJUcmFuc2ZlclN0YXRlJylcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VydmVyVHJhbnNmZXJTdGF0ZTogSVRyYW5zZmVyU3RhdGVTZXJ2ZXJTdGF0ZSB8IG51bGwsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2ZlclN0YXRlOiBUcmFuc2ZlclN0YXRlLFxuICApIHtcbiAgICBjb25zdCBzdG9yZUtleVRyYW5zZmVyU3RhdGUgPSBtYWtlU3RhdGVLZXk8SVRyYW5zZmVyU3RhdGVTZXJ2ZXJTdGF0ZT4oJ3NlcnZlclRyYW5zZmVyU3RhdGUnKTtcblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAvLyBnZXQgdXNlciBzdGF0ZSBmcm9tIHRyYW5zZmVyIHN0YXRlIGlmIGJyb3dzZXIgc2lkZVxuICAgICAgdGhpcy5zZXJ2ZXJUcmFuc2ZlclN0YXRlID0gdGhpcy50cmFuc2ZlclN0YXRlLmdldChzdG9yZUtleVRyYW5zZmVyU3RhdGUsIG51bGwpO1xuXG4gICAgICBpZiAodGhpcy5zZXJ2ZXJUcmFuc2ZlclN0YXRlKSB7XG4gICAgICAgIHRoaXMuc3RvcmVkU2VydmVyVHJhbnNmZXJTdGF0ZSA9IHRoaXMuc2VydmVyVHJhbnNmZXJTdGF0ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gc2VydmVyIHNpZGU6IHN0b3JlIHNlcnZlciB0cmFuc2ZlciBzdGF0ZVxuICAgICAgdGhpcy50cmFuc2ZlclN0YXRlLnNldChzdG9yZUtleVRyYW5zZmVyU3RhdGUsIHRoaXMuc2VydmVyVHJhbnNmZXJTdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBTU08gKFNpbmdsZSBTaWduLU9uKSBlbmFibGVkIHN0YXRlLlxuICAgKiBTZXRzIHRoZSBTU08gZW5hYmxlZCBzdGF0ZSBiYXNlZCBvbiB0aGUgc3RvcmVkIHNlcnZlciB0cmFuc2ZlciBzdGF0ZS5cbiAgICovXG4gIHB1YmxpYyBpbml0aWFsaXplU3NvRW5hYmxlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmdsb2JhbFN0b3JlLnNldFNzb0VuYWJsZWQodGhpcy5zdG9yZWRTZXJ2ZXJUcmFuc2ZlclN0YXRlPy5zc29FbmFibGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgTGF1bmNoRGFya2x5IGNvbmZpZ3VyYXRpb24gYnkgYXNzaWduaW5nIHRoZSBzdG9yZWQgc2VydmVyIHRyYW5zZmVyIHN0YXRlJ3NcbiAgICogbGF1bmNoRGFya2x5Q29uZmlnIHZhbHVlIHRvIHRoZSBnbG9iYWxTdG9yZSdzIGxhdW5jaERhcmtseUNvbmZpZyBwcm9wZXJ0eS5cbiAgICovXG4gIHB1YmxpYyBpbml0aWFsaXplTGF1bmNoRGFya2x5Q29uZmlnKCk6IHZvaWQge1xuICAgIHRoaXMuZ2xvYmFsU3RvcmUuc2V0TGF1bmNoRGFya2x5Q29uZmlnKHRoaXMuc3RvcmVkU2VydmVyVHJhbnNmZXJTdGF0ZT8ubGF1bmNoRGFya2x5Q29uZmlnKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ // SERVICE
2
+ export * from './transformation.service';
3
+ // INTERFACES
4
+ export * from './interfaces';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3RyYW5zZm9ybWF0aW9uLXNlcnZpY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsYUFBYTtBQUNiLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU0VSVklDRVxuZXhwb3J0ICogZnJvbSAnLi90cmFuc2Zvcm1hdGlvbi5zZXJ2aWNlJztcblxuLy8gSU5URVJGQUNFU1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './transform-item.interface';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3RyYW5zZm9ybWF0aW9uLXNlcnZpY2UvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90cmFuc2Zvcm0taXRlbS5pbnRlcmZhY2UnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLWl0ZW0uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3BhbC1mcm9udGVuZC1jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy90cmFuc2Zvcm1hdGlvbi1zZXJ2aWNlL2ludGVyZmFjZXMvdHJhbnNmb3JtLWl0ZW0uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElUcmFuc2Zvcm1JdGVtIHtcbiAga2V5OiBzdHJpbmc7XG4gIHRyYW5zZm9ybVR5cGU6IHN0cmluZztcbiAgZGF0ZUlucHV0Rm9ybWF0OiBzdHJpbmcgfCBudWxsO1xuICBkYXRlT3V0cHV0Rm9ybWF0OiBzdHJpbmcgfCBudWxsO1xufVxuIl19
@@ -0,0 +1,69 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { DateService } from '../date-service/date.service';
3
+ import * as i0 from "@angular/core";
4
+ export class TransformationService {
5
+ dateService = inject(DateService);
6
+ /**
7
+ * Applies a transformation to the given value based on the specified transformation configuration.
8
+ *
9
+ * @param value - The value to be transformed.
10
+ * @param transformItem - The configuration for the transformation, including the type of transformation and any necessary format details.
11
+ * @returns The transformed value, or the original value if no transformation is applied.
12
+ */
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ applyTransformation(value, transformItem) {
15
+ if (!value) {
16
+ return value;
17
+ }
18
+ if (transformItem.transformType === 'date') {
19
+ if (transformItem.dateInputFormat !== null && transformItem.dateOutputFormat !== null) {
20
+ const parsedDate = this.dateService.getFromFormat(value, transformItem.dateInputFormat);
21
+ if (this.dateService.isValidDate(parsedDate)) {
22
+ return this.dateService.toFormat(parsedDate, transformItem.dateOutputFormat);
23
+ }
24
+ }
25
+ return value;
26
+ }
27
+ return value;
28
+ }
29
+ /**
30
+ * Transforms the values of an object based on a given transformation configuration.
31
+ *
32
+ * @param obj - The object whose values need to be transformed. It should be a non-null object.
33
+ * @param toTransform - An array of transformation configurations, where each configuration specifies
34
+ * the key to transform and the transformation details.
35
+ * @returns The transformed object with values modified according to the transformation configuration.
36
+ *
37
+ * @remarks
38
+ * - If the input `obj` is not an object or is null, it returns the input as is.
39
+ * - The function recursively processes nested objects.
40
+ */
41
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
+ transformObjectValues(obj, toTransform) {
43
+ if (typeof obj !== 'object' || obj === null) {
44
+ return obj;
45
+ }
46
+ for (const [key, value] of Object.entries(obj)) {
47
+ const transformItem = toTransform.find((item) => item.key === key);
48
+ if (transformItem) {
49
+ obj[key] = this.applyTransformation(value, transformItem);
50
+ }
51
+ else if (Array.isArray(value)) {
52
+ obj[key] = value.map((item) => typeof item === 'object' ? this.transformObjectValues(item, toTransform) : item);
53
+ }
54
+ else if (typeof value === 'object') {
55
+ obj[key] = this.transformObjectValues(value, toTransform); // Recursive call
56
+ }
57
+ }
58
+ return obj;
59
+ }
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TransformationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
61
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TransformationService, providedIn: 'root' });
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TransformationService, decorators: [{
64
+ type: Injectable,
65
+ args: [{
66
+ providedIn: 'root',
67
+ }]
68
+ }] });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvc2VydmljZXMvdHJhbnNmb3JtYXRpb24tc2VydmljZS90cmFuc2Zvcm1hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFLM0QsTUFBTSxPQUFPLHFCQUFxQjtJQUNmLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFbkQ7Ozs7OztPQU1HO0lBQ0gsOERBQThEO0lBQ3RELG1CQUFtQixDQUFDLEtBQVUsRUFBRSxhQUE2QjtRQUNuRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxJQUFJLGFBQWEsQ0FBQyxhQUFhLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDM0MsSUFBSSxhQUFhLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxhQUFhLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3RGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ3hGLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFDN0MsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQy9FLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCw4REFBOEQ7SUFDdkQscUJBQXFCLENBQUMsR0FBMkIsRUFBRSxXQUE2QjtRQUNyRixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDNUMsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDO1FBRUQsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBRW5FLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ2xCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQzVELENBQUM7aUJBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDNUIsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2hGLENBQUM7WUFDSixDQUFDO2lCQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3JDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1lBQzlFLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO3dHQTdEVSxxQkFBcUI7NEdBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVHJhbnNmb3JtSXRlbSB9IGZyb20gJy4vaW50ZXJmYWNlcy90cmFuc2Zvcm0taXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9kYXRlLXNlcnZpY2UvZGF0ZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zZm9ybWF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0ZVNlcnZpY2UgPSBpbmplY3QoRGF0ZVNlcnZpY2UpO1xuXG4gIC8qKlxuICAgKiBBcHBsaWVzIGEgdHJhbnNmb3JtYXRpb24gdG8gdGhlIGdpdmVuIHZhbHVlIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgdHJhbnNmb3JtYXRpb24gY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGJlIHRyYW5zZm9ybWVkLlxuICAgKiBAcGFyYW0gdHJhbnNmb3JtSXRlbSAtIFRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgdHJhbnNmb3JtYXRpb24sIGluY2x1ZGluZyB0aGUgdHlwZSBvZiB0cmFuc2Zvcm1hdGlvbiBhbmQgYW55IG5lY2Vzc2FyeSBmb3JtYXQgZGV0YWlscy5cbiAgICogQHJldHVybnMgVGhlIHRyYW5zZm9ybWVkIHZhbHVlLCBvciB0aGUgb3JpZ2luYWwgdmFsdWUgaWYgbm8gdHJhbnNmb3JtYXRpb24gaXMgYXBwbGllZC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHByaXZhdGUgYXBwbHlUcmFuc2Zvcm1hdGlvbih2YWx1ZTogYW55LCB0cmFuc2Zvcm1JdGVtOiBJVHJhbnNmb3JtSXRlbSk6IGFueSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmICh0cmFuc2Zvcm1JdGVtLnRyYW5zZm9ybVR5cGUgPT09ICdkYXRlJykge1xuICAgICAgaWYgKHRyYW5zZm9ybUl0ZW0uZGF0ZUlucHV0Rm9ybWF0ICE9PSBudWxsICYmIHRyYW5zZm9ybUl0ZW0uZGF0ZU91dHB1dEZvcm1hdCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBwYXJzZWREYXRlID0gdGhpcy5kYXRlU2VydmljZS5nZXRGcm9tRm9ybWF0KHZhbHVlLCB0cmFuc2Zvcm1JdGVtLmRhdGVJbnB1dEZvcm1hdCk7XG4gICAgICAgIGlmICh0aGlzLmRhdGVTZXJ2aWNlLmlzVmFsaWREYXRlKHBhcnNlZERhdGUpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVNlcnZpY2UudG9Gb3JtYXQocGFyc2VkRGF0ZSwgdHJhbnNmb3JtSXRlbS5kYXRlT3V0cHV0Rm9ybWF0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSB2YWx1ZXMgb2YgYW4gb2JqZWN0IGJhc2VkIG9uIGEgZ2l2ZW4gdHJhbnNmb3JtYXRpb24gY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3Qgd2hvc2UgdmFsdWVzIG5lZWQgdG8gYmUgdHJhbnNmb3JtZWQuIEl0IHNob3VsZCBiZSBhIG5vbi1udWxsIG9iamVjdC5cbiAgICogQHBhcmFtIHRvVHJhbnNmb3JtIC0gQW4gYXJyYXkgb2YgdHJhbnNmb3JtYXRpb24gY29uZmlndXJhdGlvbnMsIHdoZXJlIGVhY2ggY29uZmlndXJhdGlvbiBzcGVjaWZpZXNcbiAgICogICAgICAgICAgICAgICAgICAgICAgdGhlIGtleSB0byB0cmFuc2Zvcm0gYW5kIHRoZSB0cmFuc2Zvcm1hdGlvbiBkZXRhaWxzLlxuICAgKiBAcmV0dXJucyBUaGUgdHJhbnNmb3JtZWQgb2JqZWN0IHdpdGggdmFsdWVzIG1vZGlmaWVkIGFjY29yZGluZyB0byB0aGUgdHJhbnNmb3JtYXRpb24gY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogLSBJZiB0aGUgaW5wdXQgYG9iamAgaXMgbm90IGFuIG9iamVjdCBvciBpcyBudWxsLCBpdCByZXR1cm5zIHRoZSBpbnB1dCBhcyBpcy5cbiAgICogLSBUaGUgZnVuY3Rpb24gcmVjdXJzaXZlbHkgcHJvY2Vzc2VzIG5lc3RlZCBvYmplY3RzLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIHRyYW5zZm9ybU9iamVjdFZhbHVlcyhvYmo6IHsgW2tleTogc3RyaW5nXTogYW55IH0sIHRvVHJhbnNmb3JtOiBJVHJhbnNmb3JtSXRlbVtdKTogYW55IHtcbiAgICBpZiAodHlwZW9mIG9iaiAhPT0gJ29iamVjdCcgfHwgb2JqID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICAgIGNvbnN0IHRyYW5zZm9ybUl0ZW0gPSB0b1RyYW5zZm9ybS5maW5kKChpdGVtKSA9PiBpdGVtLmtleSA9PT0ga2V5KTtcblxuICAgICAgaWYgKHRyYW5zZm9ybUl0ZW0pIHtcbiAgICAgICAgb2JqW2tleV0gPSB0aGlzLmFwcGx5VHJhbnNmb3JtYXRpb24odmFsdWUsIHRyYW5zZm9ybUl0ZW0pO1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBvYmpba2V5XSA9IHZhbHVlLm1hcCgoaXRlbSkgPT5cbiAgICAgICAgICB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgPyB0aGlzLnRyYW5zZm9ybU9iamVjdFZhbHVlcyhpdGVtLCB0b1RyYW5zZm9ybSkgOiBpdGVtLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIG9ialtrZXldID0gdGhpcy50cmFuc2Zvcm1PYmplY3RWYWx1ZXModmFsdWUsIHRvVHJhbnNmb3JtKTsgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ // SERVICE
2
+ export * from './utils.service';
3
+ // CONSTANTS, INTERFACES, AND MOCKS
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixjQUFjLGlCQUFpQixDQUFDO0FBRWhDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNFUlZJQ0VcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMuc2VydmljZSc7XG5cbi8vIENPTlNUQU5UUywgSU5URVJGQUNFUywgQU5EIE1PQ0tTXG4iXX0=
@@ -0,0 +1,86 @@
1
+ import { ViewportScroller } from '@angular/common';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class UtilsService {
5
+ viewportScroller = inject(ViewportScroller);
6
+ /**
7
+ * Converts the first letter of a string to uppercase.
8
+ * @param str - The input string.
9
+ * @returns The input string with the first letter capitalized.
10
+ */
11
+ upperCaseFirstLetter(str) {
12
+ return str.charAt(0).toUpperCase() + str.slice(1);
13
+ }
14
+ /**
15
+ * Converts the entire string to uppercase.
16
+ * @param str - The input string.
17
+ * @returns The input string in uppercase.
18
+ */
19
+ upperCaseAllLetters(str) {
20
+ return str.toUpperCase();
21
+ }
22
+ /**
23
+ * Converts a number to a monetary string representation.
24
+ * @param amount - The number to convert.
25
+ * @returns The monetary string representation of the number.
26
+ */
27
+ convertToMonetaryString(amount) {
28
+ if (typeof amount === 'string') {
29
+ amount = parseFloat(amount);
30
+ }
31
+ return `£${amount.toFixed(2)}`;
32
+ }
33
+ /**
34
+ * Formats a 6-digit number or string as a sort code.
35
+ * @param value - The 6-digit value to format.
36
+ * @returns The formatted sort code string (xx-xx-xx).
37
+ */
38
+ formatSortCode(value) {
39
+ const sortCode = value.toString();
40
+ return `${sortCode.slice(0, 2)}-${sortCode.slice(2, 4)}-${sortCode.slice(4, 6)}`;
41
+ }
42
+ /**
43
+ * Filters out null or empty strings from an array of address lines.
44
+ *
45
+ * @param address - An array of address lines which may contain strings or null values.
46
+ * @returns A new array containing only non-empty strings from the input array.
47
+ */
48
+ formatAddress(address) {
49
+ return address.filter((line) => !!line?.trim());
50
+ }
51
+ /**
52
+ * Scrolls the viewport to the top of the page.
53
+ * Utilizes the `viewportScroller` service to scroll to the position [0, 0].
54
+ */
55
+ scrollToTop() {
56
+ this.viewportScroller.scrollToPosition([0, 0]);
57
+ }
58
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
+ checkFormValues(form) {
60
+ return Object.values(form).some((value) => {
61
+ return Array.isArray(value) ? value.length > 0 : Boolean(value);
62
+ });
63
+ }
64
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
65
+ checkFormArrayValues(forms) {
66
+ return forms.every((form) => this.checkFormValues(form));
67
+ }
68
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
+ getFormStatus(form, providedMessage, notProvidedMessage) {
70
+ return this.checkFormValues(form) ? providedMessage : notProvidedMessage;
71
+ }
72
+ getArrayFormStatus(
73
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
+ forms, providedMessage, notProvidedMessage) {
75
+ return forms.every((form) => this.checkFormValues(form)) ? providedMessage : notProvidedMessage;
76
+ }
77
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
78
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, providedIn: 'root' });
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilsService, decorators: [{
81
+ type: Injectable,
82
+ args: [{
83
+ providedIn: 'root',
84
+ }]
85
+ }] });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvc2VydmljZXMvdXRpbHMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLbkQsTUFBTSxPQUFPLFlBQVk7SUFDTixnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU3RDs7OztPQUlHO0lBQ0ksb0JBQW9CLENBQUMsR0FBVztRQUNyQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLG1CQUFtQixDQUFDLEdBQVc7UUFDcEMsT0FBTyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSx1QkFBdUIsQ0FBQyxNQUF1QjtRQUNwRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUNELE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxjQUFjLENBQUMsS0FBc0I7UUFDMUMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ25GLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGFBQWEsQ0FBQyxPQUEwQjtRQUM3QyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELDhEQUE4RDtJQUN2RCxlQUFlLENBQUMsSUFBNEI7UUFDakQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3hDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCw4REFBOEQ7SUFDdkQsb0JBQW9CLENBQUMsS0FBK0I7UUFDekQsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELDhEQUE4RDtJQUN2RCxhQUFhLENBQUMsSUFBNEIsRUFBRSxlQUF1QixFQUFFLGtCQUEwQjtRQUNwRyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7SUFDM0UsQ0FBQztJQUVNLGtCQUFrQjtJQUN2Qiw4REFBOEQ7SUFDOUQsS0FBK0IsRUFDL0IsZUFBdUIsRUFDdkIsa0JBQTBCO1FBRTFCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO0lBQ2xHLENBQUM7d0dBckZVLFlBQVk7NEdBQVosWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld3BvcnRTY3JvbGxlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFV0aWxzU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmlld3BvcnRTY3JvbGxlciA9IGluamVjdChWaWV3cG9ydFNjcm9sbGVyKTtcblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIGZpcnN0IGxldHRlciBvZiBhIHN0cmluZyB0byB1cHBlcmNhc2UuXG4gICAqIEBwYXJhbSBzdHIgLSBUaGUgaW5wdXQgc3RyaW5nLlxuICAgKiBAcmV0dXJucyBUaGUgaW5wdXQgc3RyaW5nIHdpdGggdGhlIGZpcnN0IGxldHRlciBjYXBpdGFsaXplZC5cbiAgICovXG4gIHB1YmxpYyB1cHBlckNhc2VGaXJzdExldHRlcihzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgZW50aXJlIHN0cmluZyB0byB1cHBlcmNhc2UuXG4gICAqIEBwYXJhbSBzdHIgLSBUaGUgaW5wdXQgc3RyaW5nLlxuICAgKiBAcmV0dXJucyBUaGUgaW5wdXQgc3RyaW5nIGluIHVwcGVyY2FzZS5cbiAgICovXG4gIHB1YmxpYyB1cHBlckNhc2VBbGxMZXR0ZXJzKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyLnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBudW1iZXIgdG8gYSBtb25ldGFyeSBzdHJpbmcgcmVwcmVzZW50YXRpb24uXG4gICAqIEBwYXJhbSBhbW91bnQgLSBUaGUgbnVtYmVyIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIFRoZSBtb25ldGFyeSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIG51bWJlci5cbiAgICovXG4gIHB1YmxpYyBjb252ZXJ0VG9Nb25ldGFyeVN0cmluZyhhbW91bnQ6IG51bWJlciB8IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiBhbW91bnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICBhbW91bnQgPSBwYXJzZUZsb2F0KGFtb3VudCk7XG4gICAgfVxuICAgIHJldHVybiBgwqMke2Ftb3VudC50b0ZpeGVkKDIpfWA7XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0cyBhIDYtZGlnaXQgbnVtYmVyIG9yIHN0cmluZyBhcyBhIHNvcnQgY29kZS5cbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIDYtZGlnaXQgdmFsdWUgdG8gZm9ybWF0LlxuICAgKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIHNvcnQgY29kZSBzdHJpbmcgKHh4LXh4LXh4KS5cbiAgICovXG4gIHB1YmxpYyBmb3JtYXRTb3J0Q29kZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBzb3J0Q29kZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgcmV0dXJuIGAke3NvcnRDb2RlLnNsaWNlKDAsIDIpfS0ke3NvcnRDb2RlLnNsaWNlKDIsIDQpfS0ke3NvcnRDb2RlLnNsaWNlKDQsIDYpfWA7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBvdXQgbnVsbCBvciBlbXB0eSBzdHJpbmdzIGZyb20gYW4gYXJyYXkgb2YgYWRkcmVzcyBsaW5lcy5cbiAgICpcbiAgICogQHBhcmFtIGFkZHJlc3MgLSBBbiBhcnJheSBvZiBhZGRyZXNzIGxpbmVzIHdoaWNoIG1heSBjb250YWluIHN0cmluZ3Mgb3IgbnVsbCB2YWx1ZXMuXG4gICAqIEByZXR1cm5zIEEgbmV3IGFycmF5IGNvbnRhaW5pbmcgb25seSBub24tZW1wdHkgc3RyaW5ncyBmcm9tIHRoZSBpbnB1dCBhcnJheS5cbiAgICovXG4gIHB1YmxpYyBmb3JtYXRBZGRyZXNzKGFkZHJlc3M6IChzdHJpbmcgfCBudWxsKVtdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBhZGRyZXNzLmZpbHRlcigobGluZSk6IGxpbmUgaXMgc3RyaW5nID0+ICEhbGluZT8udHJpbSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTY3JvbGxzIHRoZSB2aWV3cG9ydCB0byB0aGUgdG9wIG9mIHRoZSBwYWdlLlxuICAgKiBVdGlsaXplcyB0aGUgYHZpZXdwb3J0U2Nyb2xsZXJgIHNlcnZpY2UgdG8gc2Nyb2xsIHRvIHRoZSBwb3NpdGlvbiBbMCwgMF0uXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsVG9Ub3AoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3cG9ydFNjcm9sbGVyLnNjcm9sbFRvUG9zaXRpb24oWzAsIDBdKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBjaGVja0Zvcm1WYWx1ZXMoZm9ybTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKGZvcm0pLnNvbWUoKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5sZW5ndGggPiAwIDogQm9vbGVhbih2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgY2hlY2tGb3JtQXJyYXlWYWx1ZXMoZm9ybXM6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmb3Jtcy5ldmVyeSgoZm9ybSkgPT4gdGhpcy5jaGVja0Zvcm1WYWx1ZXMoZm9ybSkpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGdldEZvcm1TdGF0dXMoZm9ybTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgcHJvdmlkZWRNZXNzYWdlOiBzdHJpbmcsIG5vdFByb3ZpZGVkTWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jaGVja0Zvcm1WYWx1ZXMoZm9ybSkgPyBwcm92aWRlZE1lc3NhZ2UgOiBub3RQcm92aWRlZE1lc3NhZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0QXJyYXlGb3JtU3RhdHVzKFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZm9ybXM6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSxcbiAgICBwcm92aWRlZE1lc3NhZ2U6IHN0cmluZyxcbiAgICBub3RQcm92aWRlZE1lc3NhZ2U6IHN0cmluZyxcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybXMuZXZlcnkoKGZvcm0pID0+IHRoaXMuY2hlY2tGb3JtVmFsdWVzKGZvcm0pKSA/IHByb3ZpZGVkTWVzc2FnZSA6IG5vdFByb3ZpZGVkTWVzc2FnZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,33 @@
1
+ import { patchState, signalStore, withMethods, withState } from '@ngrx/signals';
2
+ export const GlobalStore = signalStore({ providedIn: 'root' }, withState(() => ({
3
+ authenticated: false,
4
+ error: { error: false, message: '' },
5
+ featureFlags: {},
6
+ userState: {},
7
+ ssoEnabled: false,
8
+ launchDarklyConfig: {},
9
+ tokenExpiry: {},
10
+ })), withMethods((store) => ({
11
+ setAuthenticated: (authenticated) => {
12
+ patchState(store, { authenticated });
13
+ },
14
+ setError: (error) => {
15
+ patchState(store, { error });
16
+ },
17
+ setFeatureFlags: (featureFlags) => {
18
+ patchState(store, { featureFlags });
19
+ },
20
+ setUserState: (userState) => {
21
+ patchState(store, { userState });
22
+ },
23
+ setSsoEnabled: (ssoEnabled) => {
24
+ patchState(store, { ssoEnabled });
25
+ },
26
+ setLaunchDarklyConfig: (config) => {
27
+ patchState(store, { launchDarklyConfig: config });
28
+ },
29
+ setTokenExpiry: (tokenExpiry) => {
30
+ patchState(store, { tokenExpiry });
31
+ },
32
+ })));
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3BhbC1mcm9udGVuZC1jb21tb24vc3JjL2xpYi9zdG9yZXMvZ2xvYmFsL2dsb2JhbC5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT2hGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQ3BDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxFQUN0QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNmLGFBQWEsRUFBRSxLQUFLO0lBQ3BCLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtJQUNwQyxZQUFZLEVBQUUsRUFBZTtJQUM3QixTQUFTLEVBQUUsRUFBdUI7SUFDbEMsVUFBVSxFQUFFLEtBQUs7SUFDakIsa0JBQWtCLEVBQUUsRUFBc0M7SUFDMUQsV0FBVyxFQUFFLEVBQXlCO0NBQ3ZDLENBQUMsQ0FBQyxFQUNILFdBQVcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QixnQkFBZ0IsRUFBRSxDQUFDLGFBQXNCLEVBQUUsRUFBRTtRQUMzQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsUUFBUSxFQUFFLENBQUMsS0FBa0IsRUFBRSxFQUFFO1FBQy9CLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxlQUFlLEVBQUUsQ0FBQyxZQUF1QixFQUFFLEVBQUU7UUFDM0MsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELFlBQVksRUFBRSxDQUFDLFNBQTRCLEVBQUUsRUFBRTtRQUM3QyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsYUFBYSxFQUFFLENBQUMsVUFBbUIsRUFBRSxFQUFFO1FBQ3JDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxxQkFBcUIsRUFBRSxDQUFDLE1BQXdDLEVBQUUsRUFBRTtRQUNsRSxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsY0FBYyxFQUFFLENBQUMsV0FBZ0MsRUFBRSxFQUFFO1FBQ25ELFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRixDQUFDLENBQUMsQ0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGF0Y2hTdGF0ZSwgc2lnbmFsU3RvcmUsIHdpdGhNZXRob2RzLCB3aXRoU3RhdGUgfSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7IExERmxhZ1NldCB9IGZyb20gJ2xhdW5jaGRhcmtseS1qcy1jbGllbnQtc2RrJztcbmltcG9ydCB7IElFcnJvclN0YXRlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2Vycm9yLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJU2Vzc2lvblVzZXJTdGF0ZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Nlc3Npb24tc2VydmljZS9pbnRlcmZhY2VzL3Nlc3Npb24tdXNlci1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSVRyYW5zZmVyU3RhdGVMYXVuY2hEYXJrbHlDb25maWcgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2Zlci1zdGF0ZS1zZXJ2aWNlL2ludGVyZmFjZXMvdHJhbnNmZXItc3RhdGUtbGF1bmNoLWRhcmtseS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IElTZXNzaW9uVG9rZW5FeHBpcnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZXNzaW9uLXNlcnZpY2UvaW50ZXJmYWNlcy9zZXNzaW9uLXRva2VuLWV4cGlyeS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgR2xvYmFsU3RvcmUgPSBzaWduYWxTdG9yZShcbiAgeyBwcm92aWRlZEluOiAncm9vdCcgfSxcbiAgd2l0aFN0YXRlKCgpID0+ICh7XG4gICAgYXV0aGVudGljYXRlZDogZmFsc2UsXG4gICAgZXJyb3I6IHsgZXJyb3I6IGZhbHNlLCBtZXNzYWdlOiAnJyB9LFxuICAgIGZlYXR1cmVGbGFnczoge30gYXMgTERGbGFnU2V0LFxuICAgIHVzZXJTdGF0ZToge30gYXMgSVNlc3Npb25Vc2VyU3RhdGUsXG4gICAgc3NvRW5hYmxlZDogZmFsc2UsXG4gICAgbGF1bmNoRGFya2x5Q29uZmlnOiB7fSBhcyBJVHJhbnNmZXJTdGF0ZUxhdW5jaERhcmtseUNvbmZpZyxcbiAgICB0b2tlbkV4cGlyeToge30gYXMgSVNlc3Npb25Ub2tlbkV4cGlyeSxcbiAgfSkpLFxuICB3aXRoTWV0aG9kcygoc3RvcmUpID0+ICh7XG4gICAgc2V0QXV0aGVudGljYXRlZDogKGF1dGhlbnRpY2F0ZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgYXV0aGVudGljYXRlZCB9KTtcbiAgICB9LFxuICAgIHNldEVycm9yOiAoZXJyb3I6IElFcnJvclN0YXRlKSA9PiB7XG4gICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IGVycm9yIH0pO1xuICAgIH0sXG4gICAgc2V0RmVhdHVyZUZsYWdzOiAoZmVhdHVyZUZsYWdzOiBMREZsYWdTZXQpID0+IHtcbiAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgZmVhdHVyZUZsYWdzIH0pO1xuICAgIH0sXG4gICAgc2V0VXNlclN0YXRlOiAodXNlclN0YXRlOiBJU2Vzc2lvblVzZXJTdGF0ZSkgPT4ge1xuICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyB1c2VyU3RhdGUgfSk7XG4gICAgfSxcbiAgICBzZXRTc29FbmFibGVkOiAoc3NvRW5hYmxlZDogYm9vbGVhbikgPT4ge1xuICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzc29FbmFibGVkIH0pO1xuICAgIH0sXG4gICAgc2V0TGF1bmNoRGFya2x5Q29uZmlnOiAoY29uZmlnOiBJVHJhbnNmZXJTdGF0ZUxhdW5jaERhcmtseUNvbmZpZykgPT4ge1xuICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBsYXVuY2hEYXJrbHlDb25maWc6IGNvbmZpZyB9KTtcbiAgICB9LFxuICAgIHNldFRva2VuRXhwaXJ5OiAodG9rZW5FeHBpcnk6IElTZXNzaW9uVG9rZW5FeHBpcnkpID0+IHtcbiAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgdG9rZW5FeHBpcnkgfSk7XG4gICAgfSxcbiAgfSkpLFxuKTtcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ // STORE
2
+ export * from './global.store';
3
+ // INTERFACES AND TYPES
4
+ export * from './interfaces';
5
+ export * from './types';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3N0b3Jlcy9nbG9iYWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsUUFBUTtBQUNSLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsdUJBQXVCO0FBQ3ZCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1RPUkVcbmV4cG9ydCAqIGZyb20gJy4vZ2xvYmFsLnN0b3JlJztcblxuLy8gSU5URVJGQUNFUyBBTkQgVFlQRVNcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Itc3RhdGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3BhbC1mcm9udGVuZC1jb21tb24vc3JjL2xpYi9zdG9yZXMvZ2xvYmFsL2ludGVyZmFjZXMvZXJyb3Itc3RhdGUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElFcnJvclN0YXRlIHtcbiAgZXJyb3I6IGJvb2xlYW47XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './error-state.interface';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3N0b3Jlcy9nbG9iYWwvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lcnJvci1zdGF0ZS5pbnRlcmZhY2UnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXN0b3JlLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3N0b3Jlcy9nbG9iYWwvdHlwZXMvZ2xvYmFsLXN0b3JlLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdsb2JhbFN0b3JlIH0gZnJvbSAnLi4vZ2xvYmFsLnN0b3JlJztcblxuZXhwb3J0IHR5cGUgR2xvYmFsU3RvcmVUeXBlID0gSW5zdGFuY2VUeXBlPHR5cGVvZiBHbG9iYWxTdG9yZT47XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './global-store.type';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3N0b3Jlcy9nbG9iYWwvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2xvYmFsLXN0b3JlLnR5cGUnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './global';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3N0b3Jlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2xvYmFsJztcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export function alphabeticalTextValidator() {
2
+ return (control) => {
3
+ const value = control.value;
4
+ if (value && !/^[a-zA-Z0-9'()*_., -]*$/.test(value)) {
5
+ return { alphabeticalTextPattern: { value: value } };
6
+ }
7
+ return null;
8
+ };
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxwaGFiZXRpY2FsLXRleHQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3BhbC1mcm9udGVuZC1jb21tb24vc3JjL2xpYi92YWxpZGF0b3JzL2FscGhhYmV0aWNhbC10ZXh0L2FscGhhYmV0aWNhbC10ZXh0LnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUseUJBQXlCO0lBQ3ZDLE9BQU8sQ0FBQyxPQUF3QixFQUFxQyxFQUFFO1FBQ3JFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxLQUFLLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFscGhhYmV0aWNhbFRleHRWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9IHwgbnVsbCA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIGlmICh2YWx1ZSAmJiAhL15bYS16QS1aMC05JygpKl8uLCAtXSokLy50ZXN0KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHsgYWxwaGFiZXRpY2FsVGV4dFBhdHRlcm46IHsgdmFsdWU6IHZhbHVlIH0gfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ export function amountValidator(maxIntegers, maxDecimals) {
2
+ return (control) => {
3
+ if (control.value === null || control.value === undefined || control.value === '') {
4
+ return null;
5
+ }
6
+ // Ensure the value is numerical, allowing only digits and optionally one decimal point
7
+ if (isNaN(control.value)) {
8
+ return { invalidAmountValue: true };
9
+ }
10
+ // Regex to match numbers with the specified integer and decimal places
11
+ const regex = new RegExp(`^-?(0|[1-9]\\d{0,${maxIntegers - 1}})(\\.\\d{0,${maxDecimals}})?$`);
12
+ return regex.test(control.value) ? null : { invalidAmount: true };
13
+ };
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1vdW50LnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvdmFsaWRhdG9ycy9hbW91bnQvYW1vdW50LnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsZUFBZSxDQUFDLFdBQW1CLEVBQUUsV0FBbUI7SUFDdEUsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDM0QsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2xGLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELHVGQUF1RjtRQUN2RixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdEMsQ0FBQztRQUVELHVFQUF1RTtRQUN2RSxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxvQkFBb0IsV0FBVyxHQUFHLENBQUMsZUFBZSxXQUFXLE1BQU0sQ0FBQyxDQUFDO1FBRTlGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDcEUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhbW91bnRWYWxpZGF0b3IobWF4SW50ZWdlcnM6IG51bWJlciwgbWF4RGVjaW1hbHM6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT09IG51bGwgfHwgY29udHJvbC52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGNvbnRyb2wudmFsdWUgPT09ICcnKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhlIHZhbHVlIGlzIG51bWVyaWNhbCwgYWxsb3dpbmcgb25seSBkaWdpdHMgYW5kIG9wdGlvbmFsbHkgb25lIGRlY2ltYWwgcG9pbnRcbiAgICBpZiAoaXNOYU4oY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7IGludmFsaWRBbW91bnRWYWx1ZTogdHJ1ZSB9O1xuICAgIH1cblxuICAgIC8vIFJlZ2V4IHRvIG1hdGNoIG51bWJlcnMgd2l0aCB0aGUgc3BlY2lmaWVkIGludGVnZXIgYW5kIGRlY2ltYWwgcGxhY2VzXG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBeLT8oMHxbMS05XVxcXFxkezAsJHttYXhJbnRlZ2VycyAtIDF9fSkoXFxcXC5cXFxcZHswLCR7bWF4RGVjaW1hbHN9fSk/JGApO1xuXG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QoY29udHJvbC52YWx1ZSkgPyBudWxsIDogeyBpbnZhbGlkQW1vdW50OiB0cnVlIH07XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ export function dateAfterYearValidator(year) {
2
+ return (control) => {
3
+ if (control.value) {
4
+ const yearInput = Number(control.value.split('/')[2]);
5
+ if (yearInput <= year) {
6
+ return { invalidYear: { value: control.value } };
7
+ }
8
+ }
9
+ return null;
10
+ };
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hZnRlci15ZWFyLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29wYWwtZnJvbnRlbmQtY29tbW9uL3NyYy9saWIvdmFsaWRhdG9ycy9kYXRlLWFmdGVyLXllYXIvZGF0ZS1hZnRlci15ZWFyLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsc0JBQXNCLENBQUMsSUFBWTtJQUNqRCxPQUFPLENBQUMsT0FBd0IsRUFBcUMsRUFBRTtRQUNyRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV0RCxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNuRCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlQWZ0ZXJZZWFyVmFsaWRhdG9yKHllYXI6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSB8IG51bGwgPT4ge1xuICAgIGlmIChjb250cm9sLnZhbHVlKSB7XG4gICAgICBjb25zdCB5ZWFySW5wdXQgPSBOdW1iZXIoY29udHJvbC52YWx1ZS5zcGxpdCgnLycpWzJdKTtcblxuICAgICAgaWYgKHllYXJJbnB1dCA8PSB5ZWFyKSB7XG4gICAgICAgIHJldHVybiB7IGludmFsaWRZZWFyOiB7IHZhbHVlOiBjb250cm9sLnZhbHVlIH0gfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ export function dateBeforeValidator(targetDate) {
2
+ return (control) => {
3
+ const inputValue = control.value;
4
+ if (!inputValue || !targetDate) {
5
+ return null;
6
+ }
7
+ const [day, month, year] = inputValue.split('/').map(Number);
8
+ const inputDate = new Date(year, month - 1, day);
9
+ if (inputDate < targetDate) {
10
+ return { dateNotBefore: { value: inputValue } };
11
+ }
12
+ return null;
13
+ };
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1iZWZvcmUudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3BhbC1mcm9udGVuZC1jb21tb24vc3JjL2xpYi92YWxpZGF0b3JzL2RhdGUtYmVmb3JlL2RhdGUtYmVmb3JlLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsbUJBQW1CLENBQUMsVUFBdUI7SUFDekQsT0FBTyxDQUFDLE9BQXdCLEVBQXFDLEVBQUU7UUFDckUsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFakQsSUFBSSxTQUFTLEdBQUcsVUFBVSxFQUFFLENBQUM7WUFDM0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDO1FBQ2xELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZUJlZm9yZVZhbGlkYXRvcih0YXJnZXREYXRlOiBEYXRlIHwgbnVsbCk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSB8IG51bGwgPT4ge1xuICAgIGNvbnN0IGlucHV0VmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIGlmICghaW5wdXRWYWx1ZSB8fCAhdGFyZ2V0RGF0ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgW2RheSwgbW9udGgsIHllYXJdID0gaW5wdXRWYWx1ZS5zcGxpdCgnLycpLm1hcChOdW1iZXIpO1xuICAgIGNvbnN0IGlucHV0RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoIC0gMSwgZGF5KTtcblxuICAgIGlmIChpbnB1dERhdGUgPCB0YXJnZXREYXRlKSB7XG4gICAgICByZXR1cm4geyBkYXRlTm90QmVmb3JlOiB7IHZhbHVlOiBpbnB1dFZhbHVlIH0gfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ export function dateOfBirthValidator() {
2
+ return (control) => {
3
+ const value = control.value;
4
+ if (value) {
5
+ const [day, month, year] = value.split('/').map((part) => parseInt(part, 10));
6
+ const date = new Date(year, month - 1, day);
7
+ // Check if the date is in the past
8
+ const today = new Date();
9
+ // Set the time of today to the start of the day to avoid time comparison issues
10
+ today.setHours(0, 0, 0, 0);
11
+ if (date >= today) {
12
+ return { invalidDateOfBirth: { value: value } };
13
+ }
14
+ }
15
+ return null;
16
+ };
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1vZi1iaXJ0aC52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3ZhbGlkYXRvcnMvZGF0ZS1vZi1iaXJ0aC9kYXRlLW9mLWJpcnRoLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLE9BQU8sQ0FBQyxPQUF3QixFQUFxQyxFQUFFO1FBQ3JFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEYsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFNUMsbUNBQW1DO1lBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDekIsZ0ZBQWdGO1lBQ2hGLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFM0IsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVPZkJpcnRoVmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IFtkYXksIG1vbnRoLCB5ZWFyXSA9IHZhbHVlLnNwbGl0KCcvJykubWFwKChwYXJ0OiBzdHJpbmcpID0+IHBhcnNlSW50KHBhcnQsIDEwKSk7XG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXkpO1xuXG4gICAgICAvLyBDaGVjayBpZiB0aGUgZGF0ZSBpcyBpbiB0aGUgcGFzdFxuICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgLy8gU2V0IHRoZSB0aW1lIG9mIHRvZGF5IHRvIHRoZSBzdGFydCBvZiB0aGUgZGF5IHRvIGF2b2lkIHRpbWUgY29tcGFyaXNvbiBpc3N1ZXNcbiAgICAgIHRvZGF5LnNldEhvdXJzKDAsIDAsIDAsIDApO1xuXG4gICAgICBpZiAoZGF0ZSA+PSB0b2RheSkge1xuICAgICAgICByZXR1cm4geyBpbnZhbGlkRGF0ZU9mQmlydGg6IHsgdmFsdWU6IHZhbHVlIH0gfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ export function futureDateValidator() {
2
+ return (control) => {
3
+ if (control.value) {
4
+ const [day, month, year] = control.value.split('/');
5
+ const date = new Date(Date.parse(`${month}/${day}/${year}`));
6
+ // Check if the date is in the future
7
+ const today = new Date();
8
+ if (date >= today) {
9
+ return { invalidFutureDate: { value: control.value } };
10
+ }
11
+ }
12
+ return null;
13
+ };
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnV0dXJlLWRhdGUudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3BhbC1mcm9udGVuZC1jb21tb24vc3JjL2xpYi92YWxpZGF0b3JzL2Z1dHVyZS1kYXRlL2Z1dHVyZS1kYXRlLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE9BQU8sQ0FBQyxPQUF3QixFQUFxQyxFQUFFO1FBQ3JFLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUU3RCxxQ0FBcUM7WUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUV6QixJQUFJLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3pELENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZ1dHVyZURhdGVWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9IHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUpIHtcbiAgICAgIGNvbnN0IFtkYXksIG1vbnRoLCB5ZWFyXSA9IGNvbnRyb2wudmFsdWUuc3BsaXQoJy8nKTtcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLnBhcnNlKGAke21vbnRofS8ke2RheX0vJHt5ZWFyfWApKTtcblxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIGRhdGUgaXMgaW4gdGhlIGZ1dHVyZVxuICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICBpZiAoZGF0ZSA+PSB0b2RheSkge1xuICAgICAgICByZXR1cm4geyBpbnZhbGlkRnV0dXJlRGF0ZTogeyB2YWx1ZTogY29udHJvbC52YWx1ZSB9IH07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9O1xufVxuIl19
@@ -0,0 +1,20 @@
1
+ import { alphabeticalTextValidator } from './alphabetical-text/alphabetical-text.validator';
2
+ import { amountValidator } from './amount/amount.validator';
3
+ import { dateAfterYearValidator } from './date-after-year/date-after-year.validator';
4
+ import { dateBeforeValidator } from './date-before/date-before.validator';
5
+ import { dateOfBirthValidator } from './date-of-birth/date-of-birth.validator';
6
+ import { futureDateValidator } from './future-date/future-date.validator';
7
+ import { invalidValueValidator } from './invalid-value/invalid-value.validator';
8
+ import { nationalInsuranceNumberValidator } from './national-insurance-number/national-insurance-number.validator';
9
+ import { numericalTextValidator } from './numerical-only/numerical-only.validator';
10
+ import { optionalMaxLengthValidator } from './optional-max-length/optional-max-length.validator';
11
+ import { optionalValidDateValidator } from './optional-valid-date/optional-valid-date.validator';
12
+ import { optionalEmailAddressValidator } from './optional-valid-email-address/optional-valid-email-address.validator';
13
+ import { optionalPhoneNumberValidator } from './optional-valid-telephone/optional-valid-telephone.validator';
14
+ import { overEighteenValidator } from './over-eighteen/over-eighteen.validator';
15
+ import { pastDateValidator } from './past-date/past-date.validator';
16
+ import { specialCharactersValidator } from './special-characters/special-characters.validator';
17
+ import { twoDecimalPlacesValidator } from './two-decimal-places/two-decimal-places.validator';
18
+ import { validValueValidator } from './valid-value/valid-value.validator';
19
+ export { alphabeticalTextValidator, amountValidator, dateAfterYearValidator, dateBeforeValidator, dateOfBirthValidator, futureDateValidator, invalidValueValidator, nationalInsuranceNumberValidator, numericalTextValidator, optionalMaxLengthValidator, optionalValidDateValidator, optionalEmailAddressValidator, optionalPhoneNumberValidator, overEighteenValidator, pastDateValidator, specialCharactersValidator, twoDecimalPlacesValidator, validValueValidator, };
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3ZhbGlkYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3RILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTFFLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsZ0NBQWdDLEVBQ2hDLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLG1CQUFtQixHQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWxwaGFiZXRpY2FsVGV4dFZhbGlkYXRvciB9IGZyb20gJy4vYWxwaGFiZXRpY2FsLXRleHQvYWxwaGFiZXRpY2FsLXRleHQudmFsaWRhdG9yJztcbmltcG9ydCB7IGFtb3VudFZhbGlkYXRvciB9IGZyb20gJy4vYW1vdW50L2Ftb3VudC52YWxpZGF0b3InO1xuaW1wb3J0IHsgZGF0ZUFmdGVyWWVhclZhbGlkYXRvciB9IGZyb20gJy4vZGF0ZS1hZnRlci15ZWFyL2RhdGUtYWZ0ZXIteWVhci52YWxpZGF0b3InO1xuaW1wb3J0IHsgZGF0ZUJlZm9yZVZhbGlkYXRvciB9IGZyb20gJy4vZGF0ZS1iZWZvcmUvZGF0ZS1iZWZvcmUudmFsaWRhdG9yJztcbmltcG9ydCB7IGRhdGVPZkJpcnRoVmFsaWRhdG9yIH0gZnJvbSAnLi9kYXRlLW9mLWJpcnRoL2RhdGUtb2YtYmlydGgudmFsaWRhdG9yJztcbmltcG9ydCB7IGZ1dHVyZURhdGVWYWxpZGF0b3IgfSBmcm9tICcuL2Z1dHVyZS1kYXRlL2Z1dHVyZS1kYXRlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBpbnZhbGlkVmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL2ludmFsaWQtdmFsdWUvaW52YWxpZC12YWx1ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgbmF0aW9uYWxJbnN1cmFuY2VOdW1iZXJWYWxpZGF0b3IgfSBmcm9tICcuL25hdGlvbmFsLWluc3VyYW5jZS1udW1iZXIvbmF0aW9uYWwtaW5zdXJhbmNlLW51bWJlci52YWxpZGF0b3InO1xuaW1wb3J0IHsgbnVtZXJpY2FsVGV4dFZhbGlkYXRvciB9IGZyb20gJy4vbnVtZXJpY2FsLW9ubHkvbnVtZXJpY2FsLW9ubHkudmFsaWRhdG9yJztcbmltcG9ydCB7IG9wdGlvbmFsTWF4TGVuZ3RoVmFsaWRhdG9yIH0gZnJvbSAnLi9vcHRpb25hbC1tYXgtbGVuZ3RoL29wdGlvbmFsLW1heC1sZW5ndGgudmFsaWRhdG9yJztcbmltcG9ydCB7IG9wdGlvbmFsVmFsaWREYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi9vcHRpb25hbC12YWxpZC1kYXRlL29wdGlvbmFsLXZhbGlkLWRhdGUudmFsaWRhdG9yJztcbmltcG9ydCB7IG9wdGlvbmFsRW1haWxBZGRyZXNzVmFsaWRhdG9yIH0gZnJvbSAnLi9vcHRpb25hbC12YWxpZC1lbWFpbC1hZGRyZXNzL29wdGlvbmFsLXZhbGlkLWVtYWlsLWFkZHJlc3MudmFsaWRhdG9yJztcbmltcG9ydCB7IG9wdGlvbmFsUGhvbmVOdW1iZXJWYWxpZGF0b3IgfSBmcm9tICcuL29wdGlvbmFsLXZhbGlkLXRlbGVwaG9uZS9vcHRpb25hbC12YWxpZC10ZWxlcGhvbmUudmFsaWRhdG9yJztcbmltcG9ydCB7IG92ZXJFaWdodGVlblZhbGlkYXRvciB9IGZyb20gJy4vb3Zlci1laWdodGVlbi9vdmVyLWVpZ2h0ZWVuLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBwYXN0RGF0ZVZhbGlkYXRvciB9IGZyb20gJy4vcGFzdC1kYXRlL3Bhc3QtZGF0ZS52YWxpZGF0b3InO1xuaW1wb3J0IHsgc3BlY2lhbENoYXJhY3RlcnNWYWxpZGF0b3IgfSBmcm9tICcuL3NwZWNpYWwtY2hhcmFjdGVycy9zcGVjaWFsLWNoYXJhY3RlcnMudmFsaWRhdG9yJztcbmltcG9ydCB7IHR3b0RlY2ltYWxQbGFjZXNWYWxpZGF0b3IgfSBmcm9tICcuL3R3by1kZWNpbWFsLXBsYWNlcy90d28tZGVjaW1hbC1wbGFjZXMudmFsaWRhdG9yJztcbmltcG9ydCB7IHZhbGlkVmFsdWVWYWxpZGF0b3IgfSBmcm9tICcuL3ZhbGlkLXZhbHVlL3ZhbGlkLXZhbHVlLnZhbGlkYXRvcic7XG5cbmV4cG9ydCB7XG4gIGFscGhhYmV0aWNhbFRleHRWYWxpZGF0b3IsXG4gIGFtb3VudFZhbGlkYXRvcixcbiAgZGF0ZUFmdGVyWWVhclZhbGlkYXRvcixcbiAgZGF0ZUJlZm9yZVZhbGlkYXRvcixcbiAgZGF0ZU9mQmlydGhWYWxpZGF0b3IsXG4gIGZ1dHVyZURhdGVWYWxpZGF0b3IsXG4gIGludmFsaWRWYWx1ZVZhbGlkYXRvcixcbiAgbmF0aW9uYWxJbnN1cmFuY2VOdW1iZXJWYWxpZGF0b3IsXG4gIG51bWVyaWNhbFRleHRWYWxpZGF0b3IsXG4gIG9wdGlvbmFsTWF4TGVuZ3RoVmFsaWRhdG9yLFxuICBvcHRpb25hbFZhbGlkRGF0ZVZhbGlkYXRvcixcbiAgb3B0aW9uYWxFbWFpbEFkZHJlc3NWYWxpZGF0b3IsXG4gIG9wdGlvbmFsUGhvbmVOdW1iZXJWYWxpZGF0b3IsXG4gIG92ZXJFaWdodGVlblZhbGlkYXRvcixcbiAgcGFzdERhdGVWYWxpZGF0b3IsXG4gIHNwZWNpYWxDaGFyYWN0ZXJzVmFsaWRhdG9yLFxuICB0d29EZWNpbWFsUGxhY2VzVmFsaWRhdG9yLFxuICB2YWxpZFZhbHVlVmFsaWRhdG9yLFxufTtcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export function invalidValueValidator(invalidValues) {
2
+ return (control) => {
3
+ if (control.value === null || control.value === undefined || control.value === '') {
4
+ return null;
5
+ }
6
+ return invalidValues.some((value) => value === control.value) ? { valueInArray: true } : null;
7
+ };
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZC12YWx1ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3ZhbGlkYXRvcnMvaW52YWxpZC12YWx1ZS9pbnZhbGlkLXZhbHVlLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUscUJBQXFCLENBQUMsYUFBdUI7SUFDM0QsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDM0QsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2xGLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNoRyxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGludmFsaWRWYWx1ZVZhbGlkYXRvcihpbnZhbGlkVmFsdWVzOiBzdHJpbmdbXSk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT09IG51bGwgfHwgY29udHJvbC52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGNvbnRyb2wudmFsdWUgPT09ICcnKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gaW52YWxpZFZhbHVlcy5zb21lKCh2YWx1ZSkgPT4gdmFsdWUgPT09IGNvbnRyb2wudmFsdWUpID8geyB2YWx1ZUluQXJyYXk6IHRydWUgfSA6IG51bGw7XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ export function nationalInsuranceNumberValidator() {
2
+ return (control) => {
3
+ const value = control.value;
4
+ if (value) {
5
+ // Remove all spaces and convert to uppercase for uniformity
6
+ const cleanedValue = value.replace(/\s+/g, '').toUpperCase();
7
+ // Check if the cleaned value has exactly 9 characters and matches the National Insurance number format
8
+ const ninoRegex = /^[A-Z]{2}\d{6}[A-D]$/;
9
+ if (cleanedValue.length !== 9 || !ninoRegex.test(cleanedValue)) {
10
+ return { nationalInsuranceNumberPattern: { value: value } };
11
+ }
12
+ }
13
+ return null;
14
+ };
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aW9uYWwtaW5zdXJhbmNlLW51bWJlci52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3ZhbGlkYXRvcnMvbmF0aW9uYWwtaW5zdXJhbmNlLW51bWJlci9uYXRpb25hbC1pbnN1cmFuY2UtbnVtYmVyLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsZ0NBQWdDO0lBQzlDLE9BQU8sQ0FBQyxPQUF3QixFQUFxQyxFQUFFO1FBQ3JFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLDREQUE0RDtZQUM1RCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUU3RCx1R0FBdUc7WUFDdkcsTUFBTSxTQUFTLEdBQUcsc0JBQXNCLENBQUM7WUFDekMsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztnQkFDL0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDOUQsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gbmF0aW9uYWxJbnN1cmFuY2VOdW1iZXJWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9IHwgbnVsbCA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgLy8gUmVtb3ZlIGFsbCBzcGFjZXMgYW5kIGNvbnZlcnQgdG8gdXBwZXJjYXNlIGZvciB1bmlmb3JtaXR5XG4gICAgICBjb25zdCBjbGVhbmVkVmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXHMrL2csICcnKS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgICAvLyBDaGVjayBpZiB0aGUgY2xlYW5lZCB2YWx1ZSBoYXMgZXhhY3RseSA5IGNoYXJhY3RlcnMgYW5kIG1hdGNoZXMgdGhlIE5hdGlvbmFsIEluc3VyYW5jZSBudW1iZXIgZm9ybWF0XG4gICAgICBjb25zdCBuaW5vUmVnZXggPSAvXltBLVpdezJ9XFxkezZ9W0EtRF0kLztcbiAgICAgIGlmIChjbGVhbmVkVmFsdWUubGVuZ3RoICE9PSA5IHx8ICFuaW5vUmVnZXgudGVzdChjbGVhbmVkVmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB7IG5hdGlvbmFsSW5zdXJhbmNlTnVtYmVyUGF0dGVybjogeyB2YWx1ZTogdmFsdWUgfSB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export function numericalTextValidator() {
2
+ return (control) => {
3
+ const value = control.value;
4
+ if (value && !/^\d*$/.test(value)) {
5
+ return { numericalTextPattern: { value: value } };
6
+ }
7
+ return null;
8
+ };
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpY2FsLW9ubHkudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3BhbC1mcm9udGVuZC1jb21tb24vc3JjL2xpYi92YWxpZGF0b3JzL251bWVyaWNhbC1vbmx5L251bWVyaWNhbC1vbmx5LnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU8sQ0FBQyxPQUF3QixFQUFxQyxFQUFFO1FBQ3JFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDcEQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBudW1lcmljYWxUZXh0VmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICBpZiAodmFsdWUgJiYgIS9eXFxkKiQvLnRlc3QodmFsdWUpKSB7XG4gICAgICByZXR1cm4geyBudW1lcmljYWxUZXh0UGF0dGVybjogeyB2YWx1ZTogdmFsdWUgfSB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import { Validators } from '@angular/forms';
2
+ export function optionalMaxLengthValidator(maxLength) {
3
+ return (control) => {
4
+ if (control.value) {
5
+ return Validators.maxLength(maxLength)(control);
6
+ }
7
+ return null;
8
+ };
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uYWwtbWF4LWxlbmd0aC52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcGFsLWZyb250ZW5kLWNvbW1vbi9zcmMvbGliL3ZhbGlkYXRvcnMvb3B0aW9uYWwtbWF4LWxlbmd0aC9vcHRpb25hbC1tYXgtbGVuZ3RoLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFFLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxTQUFpQjtJQUMxRCxPQUFPLENBQUMsT0FBd0IsRUFBcUMsRUFBRTtRQUNyRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBvcHRpb25hbE1heExlbmd0aFZhbGlkYXRvcihtYXhMZW5ndGg6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSB8IG51bGwgPT4ge1xuICAgIGlmIChjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4gVmFsaWRhdG9ycy5tYXhMZW5ndGgobWF4TGVuZ3RoKShjb250cm9sKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG59XG4iXX0=