@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.
- package/README.md +24 -0
- package/esm2022/hmcts-opal-frontend-common.mjs +5 -0
- package/esm2022/lib/components/govuk/govuk-button/govuk-button.component.mjs +34 -0
- package/esm2022/lib/components/govuk/govuk-text-input/govuk-text-input.component.mjs +57 -0
- package/esm2022/lib/components/govuk/index.mjs +3 -0
- package/esm2022/lib/guards/auth/auth.guard.mjs +20 -0
- package/esm2022/lib/guards/auth/index.mjs +2 -0
- package/esm2022/lib/guards/can-deactivate/can-deactivate.guard.mjs +6 -0
- package/esm2022/lib/guards/can-deactivate/index.mjs +5 -0
- package/esm2022/lib/guards/can-deactivate/interfaces/can-deactivate-can-component-deactivate.interface.mjs +2 -0
- package/esm2022/lib/guards/can-deactivate/interfaces/index.mjs +2 -0
- package/esm2022/lib/guards/has-flow-state/has-flow-state.guard.mjs +16 -0
- package/esm2022/lib/guards/has-flow-state/index.mjs +2 -0
- package/esm2022/lib/guards/helpers/get-guard-with-dummy-url.mjs +19 -0
- package/esm2022/lib/guards/helpers/handle-observable-result.mjs +13 -0
- package/esm2022/lib/guards/helpers/index.mjs +5 -0
- package/esm2022/lib/guards/helpers/run-auth-guard-with-context.mjs +15 -0
- package/esm2022/lib/guards/helpers/run-has-flow-state-guard-with-context.mjs +9 -0
- package/esm2022/lib/guards/index.mjs +10 -0
- package/esm2022/lib/guards/route-permissions/index.mjs +2 -0
- package/esm2022/lib/guards/route-permissions/route-permissions.guard.mjs +25 -0
- package/esm2022/lib/guards/signed-in/index.mjs +3 -0
- package/esm2022/lib/guards/signed-in/signed-in.guard.mjs +20 -0
- package/esm2022/lib/guards/types/can-deactivate.type.mjs +2 -0
- package/esm2022/lib/guards/types/guard-return.type.mjs +2 -0
- package/esm2022/lib/guards/types/index.mjs +3 -0
- package/esm2022/lib/interceptors/http-error/http-error.interceptor.mjs +24 -0
- package/esm2022/lib/interceptors/index.mjs +3 -0
- package/esm2022/lib/opal-frontend-common.module.mjs +22 -0
- package/esm2022/lib/pages/access-denied/access-denied.component.mjs +18 -0
- package/esm2022/lib/pages/index.mjs +4 -0
- package/esm2022/lib/pages/routing/constants/routing-paths.constant.mjs +9 -0
- package/esm2022/lib/pages/routing/constants/routing-titles.constant.mjs +9 -0
- package/esm2022/lib/pages/routing/interfaces/routing-paths.interface.mjs +2 -0
- package/esm2022/lib/pages/routing/pages.routes.mjs +24 -0
- package/esm2022/lib/pages/sign-in/interfaces/index.mjs +2 -0
- package/esm2022/lib/pages/sign-in/interfaces/sign-in-stub-form.interface.mjs +2 -0
- package/esm2022/lib/pages/sign-in/sign-in-sso/sign-in-sso.component.mjs +23 -0
- package/esm2022/lib/pages/sign-in/sign-in-stub/sign-in-stub.component.mjs +39 -0
- package/esm2022/lib/pages/sign-in/sign-in.component.mjs +38 -0
- package/esm2022/lib/resolvers/index.mjs +3 -0
- package/esm2022/lib/resolvers/title/index.mjs +2 -0
- package/esm2022/lib/resolvers/title/title.resolver.mjs +22 -0
- package/esm2022/lib/resolvers/user-state/index.mjs +2 -0
- package/esm2022/lib/resolvers/user-state/user-state.resolver.mjs +12 -0
- package/esm2022/lib/routing/constants/index.mjs +2 -0
- package/esm2022/lib/routing/constants/sso-endpoints.constant.mjs +7 -0
- package/esm2022/lib/routing/index.mjs +3 -0
- package/esm2022/lib/routing/interfaces/child-routing-paths.interface.mjs +2 -0
- package/esm2022/lib/routing/interfaces/index.mjs +4 -0
- package/esm2022/lib/routing/interfaces/nested-routes.interface.mjs +2 -0
- package/esm2022/lib/routing/interfaces/sso-endpoints.interface.mjs +2 -0
- package/esm2022/lib/services/app-initializer-service/app-initializer.service.mjs +36 -0
- package/esm2022/lib/services/app-initializer-service/index.mjs +2 -0
- package/esm2022/lib/services/app-insights/app-insights.service.mjs +73 -0
- package/esm2022/lib/services/app-insights/index.mjs +4 -0
- package/esm2022/lib/services/auth-service/auth.service.mjs +36 -0
- package/esm2022/lib/services/auth-service/index.mjs +2 -0
- package/esm2022/lib/services/date-service/date.service.mjs +182 -0
- package/esm2022/lib/services/date-service/index.mjs +4 -0
- package/esm2022/lib/services/index.mjs +12 -0
- package/esm2022/lib/services/launch-darkly/index.mjs +5 -0
- package/esm2022/lib/services/launch-darkly/launch-darkly.service.mjs +94 -0
- package/esm2022/lib/services/launch-darkly/mocks/index.mjs +3 -0
- package/esm2022/lib/services/launch-darkly/mocks/launch-darkly-change-flags.mock.mjs +5 -0
- package/esm2022/lib/services/launch-darkly/mocks/launch-darkly-flags.mock.mjs +5 -0
- package/esm2022/lib/services/permissions-service/index.mjs +4 -0
- package/esm2022/lib/services/permissions-service/permissions.service.mjs +40 -0
- package/esm2022/lib/services/session-service/constants/index.mjs +2 -0
- package/esm2022/lib/services/session-service/constants/session-endpoints.constant.mjs +5 -0
- package/esm2022/lib/services/session-service/index.mjs +7 -0
- package/esm2022/lib/services/session-service/interfaces/index.mjs +4 -0
- package/esm2022/lib/services/session-service/interfaces/session-endpoints.interface.mjs +2 -0
- package/esm2022/lib/services/session-service/interfaces/session-token-expiry.interface.mjs +2 -0
- package/esm2022/lib/services/session-service/interfaces/session-user-state.interface.mjs +2 -0
- package/esm2022/lib/services/session-service/mocks/index.mjs +3 -0
- package/esm2022/lib/services/session-service/mocks/session-token-expiry.mock.mjs +5 -0
- package/esm2022/lib/services/session-service/mocks/session-user-state.mock.mjs +386 -0
- package/esm2022/lib/services/session-service/session.service.mjs +64 -0
- package/esm2022/lib/services/sort-service/index.mjs +6 -0
- package/esm2022/lib/services/sort-service/interfaces/index.mjs +3 -0
- package/esm2022/lib/services/sort-service/interfaces/sort-service-values.interface.mjs +2 -0
- package/esm2022/lib/services/sort-service/interfaces/sort-service.interface.mjs +2 -0
- package/esm2022/lib/services/sort-service/sort-service.mjs +90 -0
- package/esm2022/lib/services/sort-service/types/index.mjs +2 -0
- package/esm2022/lib/services/sort-service/types/sort-service.type.mjs +2 -0
- package/esm2022/lib/services/transfer-state-service/index.mjs +6 -0
- package/esm2022/lib/services/transfer-state-service/interfaces/index.mjs +4 -0
- package/esm2022/lib/services/transfer-state-service/interfaces/transfer-state-app-insights-config.interface.mjs +2 -0
- package/esm2022/lib/services/transfer-state-service/interfaces/transfer-state-launch-darkly-config.interface.mjs +2 -0
- package/esm2022/lib/services/transfer-state-service/interfaces/transfer-state-server-state.interface.mjs +2 -0
- package/esm2022/lib/services/transfer-state-service/mocks/index.mjs +4 -0
- package/esm2022/lib/services/transfer-state-service/mocks/transfer-state-app-insights-config.mock.mjs +6 -0
- package/esm2022/lib/services/transfer-state-service/mocks/transfer-state-launch-darkly-config.mock.mjs +6 -0
- package/esm2022/lib/services/transfer-state-service/mocks/transfer-state.mock.mjs +8 -0
- package/esm2022/lib/services/transfer-state-service/transfer-state.service.mjs +59 -0
- package/esm2022/lib/services/transformation-service/index.mjs +5 -0
- package/esm2022/lib/services/transformation-service/interfaces/index.mjs +2 -0
- package/esm2022/lib/services/transformation-service/interfaces/transform-item.interface.mjs +2 -0
- package/esm2022/lib/services/transformation-service/transformation.service.mjs +69 -0
- package/esm2022/lib/services/utils/index.mjs +4 -0
- package/esm2022/lib/services/utils/utils.service.mjs +86 -0
- package/esm2022/lib/stores/global/global.store.mjs +33 -0
- package/esm2022/lib/stores/global/index.mjs +6 -0
- package/esm2022/lib/stores/global/interfaces/error-state.interface.mjs +2 -0
- package/esm2022/lib/stores/global/interfaces/index.mjs +2 -0
- package/esm2022/lib/stores/global/types/global-store.type.mjs +2 -0
- package/esm2022/lib/stores/global/types/index.mjs +2 -0
- package/esm2022/lib/stores/index.mjs +2 -0
- package/esm2022/lib/validators/alphabetical-text/alphabetical-text.validator.mjs +10 -0
- package/esm2022/lib/validators/amount/amount.validator.mjs +15 -0
- package/esm2022/lib/validators/date-after-year/date-after-year.validator.mjs +12 -0
- package/esm2022/lib/validators/date-before/date-before.validator.mjs +15 -0
- package/esm2022/lib/validators/date-of-birth/date-of-birth.validator.mjs +18 -0
- package/esm2022/lib/validators/future-date/future-date.validator.mjs +15 -0
- package/esm2022/lib/validators/index.mjs +20 -0
- package/esm2022/lib/validators/invalid-value/invalid-value.validator.mjs +9 -0
- package/esm2022/lib/validators/national-insurance-number/national-insurance-number.validator.mjs +16 -0
- package/esm2022/lib/validators/numerical-only/numerical-only.validator.mjs +10 -0
- package/esm2022/lib/validators/optional-max-length/optional-max-length.validator.mjs +10 -0
- package/esm2022/lib/validators/optional-valid-date/optional-valid-date.validator.mjs +23 -0
- package/esm2022/lib/validators/optional-valid-email-address/optional-valid-email-address.validator.mjs +11 -0
- package/esm2022/lib/validators/optional-valid-telephone/optional-valid-telephone.validator.mjs +14 -0
- package/esm2022/lib/validators/over-eighteen/over-eighteen.validator.mjs +45 -0
- package/esm2022/lib/validators/past-date/past-date.validator.mjs +16 -0
- package/esm2022/lib/validators/special-characters/special-characters.validator.mjs +11 -0
- package/esm2022/lib/validators/two-decimal-places/two-decimal-places.validator.mjs +12 -0
- package/esm2022/lib/validators/valid-value/valid-value.validator.mjs +9 -0
- package/esm2022/public-api.mjs +11 -0
- package/fesm2022/hmcts-opal-frontend-common-sign-in-stub.component-CysPzJGJ.mjs +41 -0
- package/fesm2022/hmcts-opal-frontend-common-sign-in-stub.component-CysPzJGJ.mjs.map +1 -0
- package/fesm2022/hmcts-opal-frontend-common.mjs +1947 -0
- package/fesm2022/hmcts-opal-frontend-common.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/govuk/govuk-button/govuk-button.component.d.ts +14 -0
- package/lib/components/govuk/govuk-text-input/govuk-text-input.component.d.ts +17 -0
- package/lib/components/govuk/index.d.ts +2 -0
- package/lib/guards/auth/auth.guard.d.ts +6 -0
- package/lib/guards/auth/index.d.ts +1 -0
- package/lib/guards/can-deactivate/can-deactivate.guard.d.ts +3 -0
- package/lib/guards/can-deactivate/index.d.ts +2 -0
- package/lib/guards/can-deactivate/interfaces/can-deactivate-can-component-deactivate.interface.d.ts +4 -0
- package/lib/guards/can-deactivate/interfaces/index.d.ts +2 -0
- package/lib/guards/has-flow-state/has-flow-state.guard.d.ts +2 -0
- package/lib/guards/has-flow-state/index.d.ts +1 -0
- package/lib/guards/helpers/get-guard-with-dummy-url.d.ts +12 -0
- package/lib/guards/helpers/handle-observable-result.d.ts +8 -0
- package/lib/guards/helpers/index.d.ts +4 -0
- package/lib/guards/helpers/run-auth-guard-with-context.d.ts +9 -0
- package/lib/guards/helpers/run-has-flow-state-guard-with-context.d.ts +3 -0
- package/lib/guards/index.d.ts +7 -0
- package/lib/guards/route-permissions/index.d.ts +1 -0
- package/lib/guards/route-permissions/route-permissions.guard.d.ts +2 -0
- package/lib/guards/signed-in/index.d.ts +1 -0
- package/lib/guards/signed-in/signed-in.guard.d.ts +8 -0
- package/lib/guards/types/can-deactivate.type.d.ts +3 -0
- package/lib/guards/types/guard-return.type.d.ts +2 -0
- package/lib/guards/types/index.d.ts +2 -0
- package/lib/interceptors/http-error/http-error.interceptor.d.ts +2 -0
- package/lib/interceptors/index.d.ts +2 -0
- package/lib/opal-frontend-common.module.d.ts +14 -0
- package/lib/pages/access-denied/access-denied.component.d.ts +7 -0
- package/lib/pages/index.d.ts +3 -0
- package/lib/pages/routing/constants/routing-paths.constant.d.ts +2 -0
- package/lib/pages/routing/constants/routing-titles.constant.d.ts +2 -0
- package/lib/pages/routing/interfaces/routing-paths.interface.d.ts +8 -0
- package/lib/pages/routing/pages.routes.d.ts +2 -0
- package/lib/pages/sign-in/interfaces/index.d.ts +2 -0
- package/lib/pages/sign-in/interfaces/sign-in-stub-form.interface.d.ts +3 -0
- package/lib/pages/sign-in/sign-in-sso/sign-in-sso.component.d.ts +11 -0
- package/lib/pages/sign-in/sign-in-stub/sign-in-stub.component.d.ts +19 -0
- package/lib/pages/sign-in/sign-in.component.d.ts +51 -0
- package/lib/resolvers/index.d.ts +2 -0
- package/lib/resolvers/title/index.d.ts +1 -0
- package/lib/resolvers/title/title.resolver.d.ts +10 -0
- package/lib/resolvers/user-state/index.d.ts +1 -0
- package/lib/resolvers/user-state/user-state.resolver.d.ts +7 -0
- package/lib/routing/constants/index.d.ts +1 -0
- package/lib/routing/constants/sso-endpoints.constant.d.ts +2 -0
- package/lib/routing/index.d.ts +2 -0
- package/lib/routing/interfaces/child-routing-paths.interface.d.ts +6 -0
- package/lib/routing/interfaces/index.d.ts +3 -0
- package/lib/routing/interfaces/nested-routes.interface.d.ts +4 -0
- package/lib/routing/interfaces/sso-endpoints.interface.d.ts +6 -0
- package/lib/services/app-initializer-service/app-initializer.service.d.ts +20 -0
- package/lib/services/app-initializer-service/index.d.ts +1 -0
- package/lib/services/app-insights/app-insights.service.d.ts +33 -0
- package/lib/services/app-insights/index.d.ts +1 -0
- package/lib/services/auth-service/auth.service.d.ts +8 -0
- package/lib/services/auth-service/index.d.ts +1 -0
- package/lib/services/date-service/date.service.d.ts +123 -0
- package/lib/services/date-service/index.d.ts +1 -0
- package/lib/services/index.d.ts +11 -0
- package/lib/services/launch-darkly/index.d.ts +2 -0
- package/lib/services/launch-darkly/launch-darkly.service.d.ts +41 -0
- package/lib/services/launch-darkly/mocks/index.d.ts +2 -0
- package/lib/services/launch-darkly/mocks/launch-darkly-change-flags.mock.d.ts +10 -0
- package/lib/services/launch-darkly/mocks/launch-darkly-flags.mock.d.ts +4 -0
- package/lib/services/permissions-service/index.d.ts +1 -0
- package/lib/services/permissions-service/permissions.service.d.ts +14 -0
- package/lib/services/session-service/constants/index.d.ts +1 -0
- package/lib/services/session-service/constants/session-endpoints.constant.d.ts +2 -0
- package/lib/services/session-service/index.d.ts +4 -0
- package/lib/services/session-service/interfaces/index.d.ts +3 -0
- package/lib/services/session-service/interfaces/session-endpoints.interface.d.ts +4 -0
- package/lib/services/session-service/interfaces/session-token-expiry.interface.d.ts +4 -0
- package/lib/services/session-service/interfaces/session-user-state.interface.d.ts +15 -0
- package/lib/services/session-service/mocks/index.d.ts +2 -0
- package/lib/services/session-service/mocks/session-token-expiry.mock.d.ts +2 -0
- package/lib/services/session-service/mocks/session-user-state.mock.d.ts +2 -0
- package/lib/services/session-service/session.service.d.ts +30 -0
- package/lib/services/sort-service/index.d.ts +3 -0
- package/lib/services/sort-service/interfaces/index.d.ts +2 -0
- package/lib/services/sort-service/interfaces/sort-service-values.interface.d.ts +6 -0
- package/lib/services/sort-service/interfaces/sort-service.interface.d.ts +4 -0
- package/lib/services/sort-service/sort-service.d.ts +64 -0
- package/lib/services/sort-service/types/index.d.ts +1 -0
- package/lib/services/sort-service/types/sort-service.type.d.ts +1 -0
- package/lib/services/transfer-state-service/index.d.ts +3 -0
- package/lib/services/transfer-state-service/interfaces/index.d.ts +3 -0
- package/lib/services/transfer-state-service/interfaces/transfer-state-app-insights-config.interface.d.ts +5 -0
- package/lib/services/transfer-state-service/interfaces/transfer-state-launch-darkly-config.interface.d.ts +5 -0
- package/lib/services/transfer-state-service/interfaces/transfer-state-server-state.interface.d.ts +7 -0
- package/lib/services/transfer-state-service/mocks/index.d.ts +3 -0
- package/lib/services/transfer-state-service/mocks/transfer-state-app-insights-config.mock.d.ts +5 -0
- package/lib/services/transfer-state-service/mocks/transfer-state-launch-darkly-config.mock.d.ts +5 -0
- package/lib/services/transfer-state-service/mocks/transfer-state.mock.d.ts +2 -0
- package/lib/services/transfer-state-service/transfer-state.service.d.ts +23 -0
- package/lib/services/transformation-service/index.d.ts +2 -0
- package/lib/services/transformation-service/interfaces/index.d.ts +1 -0
- package/lib/services/transformation-service/interfaces/transform-item.interface.d.ts +6 -0
- package/lib/services/transformation-service/transformation.service.d.ts +30 -0
- package/lib/services/utils/index.d.ts +1 -0
- package/lib/services/utils/utils.service.d.ts +54 -0
- package/lib/stores/global/global.store.d.ts +35 -0
- package/lib/stores/global/index.d.ts +3 -0
- package/lib/stores/global/interfaces/error-state.interface.d.ts +4 -0
- package/lib/stores/global/interfaces/index.d.ts +1 -0
- package/lib/stores/global/types/global-store.type.d.ts +2 -0
- package/lib/stores/global/types/index.d.ts +1 -0
- package/lib/stores/index.d.ts +1 -0
- package/lib/validators/alphabetical-text/alphabetical-text.validator.d.ts +2 -0
- package/lib/validators/amount/amount.validator.d.ts +2 -0
- package/lib/validators/date-after-year/date-after-year.validator.d.ts +2 -0
- package/lib/validators/date-before/date-before.validator.d.ts +2 -0
- package/lib/validators/date-of-birth/date-of-birth.validator.d.ts +2 -0
- package/lib/validators/future-date/future-date.validator.d.ts +2 -0
- package/lib/validators/index.d.ts +19 -0
- package/lib/validators/invalid-value/invalid-value.validator.d.ts +2 -0
- package/lib/validators/national-insurance-number/national-insurance-number.validator.d.ts +2 -0
- package/lib/validators/numerical-only/numerical-only.validator.d.ts +2 -0
- package/lib/validators/optional-max-length/optional-max-length.validator.d.ts +2 -0
- package/lib/validators/optional-valid-date/optional-valid-date.validator.d.ts +2 -0
- package/lib/validators/optional-valid-email-address/optional-valid-email-address.validator.d.ts +2 -0
- package/lib/validators/optional-valid-telephone/optional-valid-telephone.validator.d.ts +2 -0
- package/lib/validators/over-eighteen/over-eighteen.validator.d.ts +14 -0
- package/lib/validators/past-date/past-date.validator.d.ts +2 -0
- package/lib/validators/special-characters/special-characters.validator.d.ts +2 -0
- package/lib/validators/two-decimal-places/two-decimal-places.validator.d.ts +2 -0
- package/lib/validators/valid-value/valid-value.validator.d.ts +2 -0
- package/package.json +28 -0
- 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=
|
package/esm2022/lib/validators/national-insurance-number/national-insurance-number.validator.mjs
ADDED
|
@@ -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=
|