@abp/ng.core 5.0.1 → 5.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 +3 -3
- package/abp-ng.core.d.ts +5 -5
- package/bundles/abp-ng.core-locale.umd.js +361 -361
- package/bundles/abp-ng.core-locale.umd.js.map +1 -1
- package/bundles/abp-ng.core-testing.umd.js +442 -442
- package/bundles/abp-ng.core-testing.umd.js.map +1 -1
- package/bundles/abp-ng.core.umd.js +4873 -4868
- package/bundles/abp-ng.core.umd.js.map +1 -1
- package/esm2015/abp-ng.core.js +4 -4
- package/esm2015/lib/abstracts/index.js +2 -2
- package/esm2015/lib/abstracts/ng-model.component.js +59 -59
- package/esm2015/lib/components/dynamic-layout.component.js +89 -89
- package/esm2015/lib/components/index.js +4 -4
- package/esm2015/lib/components/replaceable-route-container.component.js +42 -42
- package/esm2015/lib/components/router-outlet.component.js +15 -15
- package/esm2015/lib/constants/different-locales.js +337 -337
- package/esm2015/lib/constants/index.js +2 -2
- package/esm2015/lib/core.module.js +281 -281
- package/esm2015/lib/directives/autofocus.directive.js +30 -30
- package/esm2015/lib/directives/debounce.directive.js +36 -36
- package/esm2015/lib/directives/for.directive.js +151 -151
- package/esm2015/lib/directives/form-submit.directive.js +69 -69
- package/esm2015/lib/directives/index.js +9 -9
- package/esm2015/lib/directives/init.directive.js +21 -21
- package/esm2015/lib/directives/permission.directive.js +48 -48
- package/esm2015/lib/directives/replaceable-template.directive.js +121 -121
- package/esm2015/lib/directives/stop-propagation.directive.js +32 -32
- package/esm2015/lib/enums/common.js +2 -2
- package/esm2015/lib/enums/index.js +2 -2
- package/esm2015/lib/guards/auth.guard.js +29 -29
- package/esm2015/lib/guards/index.js +3 -3
- package/esm2015/lib/guards/permission.guard.js +44 -44
- package/esm2015/lib/handlers/oauth-configuration.handler.js +37 -37
- package/esm2015/lib/handlers/routes.handler.js +47 -47
- package/esm2015/lib/interceptors/api.interceptor.js +54 -54
- package/esm2015/lib/interceptors/index.js +2 -2
- package/esm2015/lib/localization.module.js +16 -16
- package/esm2015/lib/models/auth.js +2 -2
- package/esm2015/lib/models/common.js +2 -2
- package/esm2015/lib/models/dtos.js +119 -119
- package/esm2015/lib/models/environment.js +2 -2
- package/esm2015/lib/models/index.js +10 -10
- package/esm2015/lib/models/localization.js +2 -2
- package/esm2015/lib/models/replaceable-components.js +2 -2
- package/esm2015/lib/models/rest.js +2 -2
- package/esm2015/lib/models/session.js +2 -2
- package/esm2015/lib/models/utility.js +2 -2
- package/esm2015/lib/pipes/index.js +3 -3
- package/esm2015/lib/pipes/localization.pipe.js +33 -33
- package/esm2015/lib/pipes/sort.pipe.js +49 -49
- package/esm2015/lib/providers/cookie-language.provider.js +22 -22
- package/esm2015/lib/providers/locale.provider.js +22 -22
- package/esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js +29 -29
- package/esm2015/lib/proxy/pages/abp/multi-tenancy/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js +24 -24
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js +25 -25
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js +5 -5
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js +3 -3
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js +2 -2
- package/esm2015/lib/proxy/volo/abp/http/modeling/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/http/modeling/models.js +3 -3
- package/esm2015/lib/proxy/volo/abp/localization/index.js +2 -2
- package/esm2015/lib/proxy/volo/abp/localization/models.js +2 -2
- package/esm2015/lib/proxy/volo/abp/models.js +2 -2
- package/esm2015/lib/services/auth.service.js +47 -47
- package/esm2015/lib/services/config-state.service.js +130 -130
- package/esm2015/lib/services/content-projection.service.js +17 -17
- package/esm2015/lib/services/dom-insertion.service.js +32 -32
- package/esm2015/lib/services/environment.service.js +35 -35
- package/esm2015/lib/services/http-error-reporter.service.js +29 -29
- package/esm2015/lib/services/http-wait.service.js +72 -72
- package/esm2015/lib/services/index.js +22 -22
- package/esm2015/lib/services/lazy-load.service.js +38 -38
- package/esm2015/lib/services/list.service.js +103 -103
- package/esm2015/lib/services/localization.service.js +182 -182
- package/esm2015/lib/services/multi-tenancy.service.js +48 -48
- package/esm2015/lib/services/permission.service.js +64 -64
- package/esm2015/lib/services/replaceable-components.service.js +49 -49
- package/esm2015/lib/services/resource-wait.service.js +39 -39
- package/esm2015/lib/services/rest.service.js +63 -63
- package/esm2015/lib/services/router-events.service.js +38 -38
- package/esm2015/lib/services/router-wait.service.js +51 -51
- package/esm2015/lib/services/routes.service.js +147 -147
- package/esm2015/lib/services/session-state.service.js +76 -76
- package/esm2015/lib/services/subscription.service.js +41 -41
- package/esm2015/lib/services/track-by.service.js +21 -21
- package/esm2015/lib/strategies/auth-flow.strategy.js +202 -202
- package/esm2015/lib/strategies/container.strategy.js +38 -38
- package/esm2015/lib/strategies/content-security.strategy.js +28 -28
- package/esm2015/lib/strategies/content.strategy.js +48 -48
- package/esm2015/lib/strategies/context.strategy.js +37 -37
- package/esm2015/lib/strategies/cross-origin.strategy.js +26 -26
- package/esm2015/lib/strategies/dom.strategy.js +27 -27
- package/esm2015/lib/strategies/index.js +9 -9
- package/esm2015/lib/strategies/loading.strategy.js +58 -58
- package/esm2015/lib/strategies/projection.strategy.js +80 -80
- package/esm2015/lib/tokens/app-config.token.js +3 -3
- package/esm2015/lib/tokens/cookie-language-key.token.js +5 -5
- package/esm2015/lib/tokens/index.js +9 -9
- package/esm2015/lib/tokens/list.token.js +3 -3
- package/esm2015/lib/tokens/localization.token.js +10 -10
- package/esm2015/lib/tokens/lodaer-delay.token.js +3 -3
- package/esm2015/lib/tokens/manage-profile.token.js +12 -12
- package/esm2015/lib/tokens/options.token.js +8 -8
- package/esm2015/lib/tokens/tenant-key.token.js +3 -3
- package/esm2015/lib/utils/array-utils.js +7 -7
- package/esm2015/lib/utils/auth-utils.js +42 -42
- package/esm2015/lib/utils/common-utils.js +29 -29
- package/esm2015/lib/utils/date-extensions.js +6 -6
- package/esm2015/lib/utils/date-utils.js +13 -13
- package/esm2015/lib/utils/environment-utils.js +36 -36
- package/esm2015/lib/utils/factory-utils.js +24 -24
- package/esm2015/lib/utils/file-utils.js +14 -14
- package/esm2015/lib/utils/form-utils.js +12 -12
- package/esm2015/lib/utils/generator-utils.js +34 -34
- package/esm2015/lib/utils/http-utils.js +19 -19
- package/esm2015/lib/utils/index.js +21 -21
- package/esm2015/lib/utils/initial-utils.js +64 -64
- package/esm2015/lib/utils/internal-store-utils.js +36 -36
- package/esm2015/lib/utils/lazy-load-utils.js +40 -40
- package/esm2015/lib/utils/localization-utils.js +50 -50
- package/esm2015/lib/utils/multi-tenancy-utils.js +83 -83
- package/esm2015/lib/utils/number-utils.js +4 -4
- package/esm2015/lib/utils/object-utils.js +37 -37
- package/esm2015/lib/utils/route-utils.js +27 -27
- package/esm2015/lib/utils/string-utils.js +25 -21
- package/esm2015/lib/utils/tree-utils.js +54 -54
- package/esm2015/lib/validators/age.validator.js +14 -14
- package/esm2015/lib/validators/credit-card.validator.js +21 -21
- package/esm2015/lib/validators/index.js +23 -23
- package/esm2015/lib/validators/range.validator.js +15 -15
- package/esm2015/lib/validators/required.validator.js +13 -13
- package/esm2015/lib/validators/string-length.validator.js +15 -15
- package/esm2015/lib/validators/url.validator.js +16 -16
- package/esm2015/locale/abp-ng.core-locale.js +4 -4
- package/esm2015/locale/public-api.js +2 -2
- package/esm2015/locale/utils/register-locale.js +43 -43
- package/esm2015/public-api.js +26 -26
- package/esm2015/testing/abp-ng.core-testing.js +4 -4
- package/esm2015/testing/lib/core-testing.module.js +62 -62
- package/esm2015/testing/lib/services/index.js +3 -3
- package/esm2015/testing/lib/services/mock-permission.service.js +35 -35
- package/esm2015/testing/lib/services/mock-rest.service.js +30 -30
- package/esm2015/testing/lib/utils/clear-page.util.js +10 -10
- package/esm2015/testing/lib/utils/index.js +3 -3
- package/esm2015/testing/lib/utils/wait.util.js +5 -5
- package/esm2015/testing/public-api.js +4 -4
- package/fesm2015/abp-ng.core-locale.js +40 -40
- package/fesm2015/abp-ng.core-locale.js.map +1 -1
- package/fesm2015/abp-ng.core-testing.js +113 -113
- package/fesm2015/abp-ng.core-testing.js.map +1 -1
- package/fesm2015/abp-ng.core.js +3979 -3975
- package/fesm2015/abp-ng.core.js.map +1 -1
- package/lib/abstracts/index.d.ts +1 -1
- package/lib/abstracts/ng-model.component.d.ts +25 -25
- package/lib/components/dynamic-layout.component.d.ts +27 -27
- package/lib/components/index.d.ts +3 -3
- package/lib/components/replaceable-route-container.component.d.ts +17 -17
- package/lib/components/router-outlet.component.d.ts +5 -5
- package/lib/constants/different-locales.d.ts +334 -334
- package/lib/constants/index.d.ts +1 -1
- package/lib/core.module.d.ts +56 -56
- package/lib/directives/autofocus.directive.d.ts +12 -12
- package/lib/directives/debounce.directive.d.ts +13 -13
- package/lib/directives/for.directive.d.ts +36 -36
- package/lib/directives/form-submit.directive.d.ts +19 -19
- package/lib/directives/index.d.ts +8 -8
- package/lib/directives/init.directive.d.ts +10 -10
- package/lib/directives/permission.directive.d.ts +18 -18
- package/lib/directives/replaceable-template.directive.d.ts +30 -30
- package/lib/directives/stop-propagation.directive.d.ts +12 -12
- package/lib/enums/common.d.ts +5 -5
- package/lib/enums/index.d.ts +1 -1
- package/lib/guards/auth.guard.d.ts +13 -13
- package/lib/guards/index.d.ts +2 -2
- package/lib/guards/permission.guard.d.ts +16 -16
- package/lib/handlers/oauth-configuration.handler.d.ts +13 -13
- package/lib/handlers/routes.handler.d.ts +11 -11
- package/lib/interceptors/api.interceptor.d.ts +16 -16
- package/lib/interceptors/index.d.ts +1 -1
- package/lib/localization.module.d.ts +7 -7
- package/lib/models/auth.d.ts +6 -6
- package/lib/models/common.d.ts +77 -77
- package/lib/models/dtos.d.ts +95 -95
- package/lib/models/environment.d.ts +35 -35
- package/lib/models/index.d.ts +9 -9
- package/lib/models/localization.d.ts +5 -5
- package/lib/models/replaceable-components.d.ts +45 -45
- package/lib/models/rest.d.ts +35 -35
- package/lib/models/session.d.ts +7 -7
- package/lib/models/utility.d.ts +14 -14
- package/lib/pipes/index.d.ts +2 -2
- package/lib/pipes/localization.pipe.d.ts +12 -12
- package/lib/pipes/sort.pipe.d.ts +9 -9
- package/lib/providers/cookie-language.provider.d.ts +3 -3
- package/lib/providers/locale.provider.d.ts +9 -9
- package/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.d.ts +12 -12
- package/lib/proxy/pages/abp/multi-tenancy/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.d.ts +11 -11
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.d.ts +4 -4
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.d.ts +85 -85
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.d.ts +71 -71
- package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.d.ts +1 -1
- package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.d.ts +14 -14
- package/lib/proxy/volo/abp/http/modeling/index.d.ts +1 -1
- package/lib/proxy/volo/abp/http/modeling/models.d.ts +70 -70
- package/lib/proxy/volo/abp/localization/index.d.ts +1 -1
- package/lib/proxy/volo/abp/localization/models.d.ts +6 -6
- package/lib/proxy/volo/abp/models.d.ts +4 -4
- package/lib/services/auth.service.d.ts +17 -17
- package/lib/services/config-state.service.d.ts +339 -339
- package/lib/services/content-projection.service.d.ts +10 -10
- package/lib/services/dom-insertion.service.d.ts +10 -10
- package/lib/services/environment.service.d.ts +96 -96
- package/lib/services/http-error-reporter.service.d.ts +12 -12
- package/lib/services/http-wait.service.d.ts +30 -30
- package/lib/services/index.d.ts +21 -21
- package/lib/services/lazy-load.service.d.ts +13 -13
- package/lib/services/list.service.d.ts +39 -39
- package/lib/services/localization.service.d.ts +47 -47
- package/lib/services/multi-tenancy.service.d.ts +22 -22
- package/lib/services/permission.service.d.ts +19 -19
- package/lib/services/replaceable-components.service.d.ts +19 -19
- package/lib/services/resource-wait.service.d.ts +15 -15
- package/lib/services/rest.service.d.ts +20 -20
- package/lib/services/router-events.service.d.ts +29 -29
- package/lib/services/router-wait.service.d.ts +20 -20
- package/lib/services/routes.service.d.ts +50 -50
- package/lib/services/session-state.service.d.ts +25 -25
- package/lib/services/subscription.service.d.ts +17 -17
- package/lib/services/track-by.service.d.ts +11 -11
- package/lib/strategies/auth-flow.strategy.d.ts +367 -367
- package/lib/strategies/container.strategy.d.ts +22 -22
- package/lib/strategies/content-security.strategy.d.ts +17 -17
- package/lib/strategies/content.strategy.d.ts +26 -26
- package/lib/strategies/context.strategy.d.ts +23 -23
- package/lib/strategies/cross-origin.strategy.d.ts +14 -14
- package/lib/strategies/dom.strategy.d.ts +13 -13
- package/lib/strategies/index.d.ts +8 -8
- package/lib/strategies/loading.strategy.d.ts +28 -28
- package/lib/strategies/projection.strategy.d.ts +39 -39
- package/lib/tokens/app-config.token.d.ts +3 -3
- package/lib/tokens/cookie-language-key.token.d.ts +2 -2
- package/lib/tokens/index.d.ts +8 -8
- package/lib/tokens/list.token.d.ts +2 -2
- package/lib/tokens/localization.token.d.ts +6 -6
- package/lib/tokens/lodaer-delay.token.d.ts +2 -2
- package/lib/tokens/manage-profile.token.d.ts +2 -2
- package/lib/tokens/options.token.d.ts +4 -4
- package/lib/tokens/tenant-key.token.d.ts +2 -2
- package/lib/utils/array-utils.d.ts +1 -1
- package/lib/utils/auth-utils.d.ts +162 -162
- package/lib/utils/common-utils.d.ts +9 -9
- package/lib/utils/date-extensions.d.ts +6 -6
- package/lib/utils/date-utils.d.ts +4 -4
- package/lib/utils/environment-utils.d.ts +3 -3
- package/lib/utils/factory-utils.d.ts +9 -9
- package/lib/utils/file-utils.d.ts +1 -1
- package/lib/utils/form-utils.d.ts +2 -2
- package/lib/utils/generator-utils.d.ts +3 -3
- package/lib/utils/http-utils.d.ts +8 -8
- package/lib/utils/index.d.ts +20 -20
- package/lib/utils/initial-utils.d.ts +159 -159
- package/lib/utils/internal-store-utils.d.ts +14 -14
- package/lib/utils/lazy-load-utils.d.ts +4 -4
- package/lib/utils/localization-utils.d.ts +5 -5
- package/lib/utils/multi-tenancy-utils.d.ts +3 -3
- package/lib/utils/number-utils.d.ts +1 -1
- package/lib/utils/object-utils.d.ts +1 -1
- package/lib/utils/route-utils.d.ts +8 -8
- package/lib/utils/string-utils.d.ts +3 -2
- package/lib/utils/tree-utils.d.ts +19 -19
- package/lib/validators/age.validator.d.ts +10 -10
- package/lib/validators/credit-card.validator.d.ts +5 -5
- package/lib/validators/index.d.ts +22 -22
- package/lib/validators/range.validator.d.ts +12 -12
- package/lib/validators/required.validator.d.ts +8 -8
- package/lib/validators/string-length.validator.d.ts +14 -14
- package/lib/validators/url.validator.d.ts +5 -5
- package/locale/abp-ng.core-locale.d.ts +5 -5
- package/locale/public-api.d.ts +1 -1
- package/locale/utils/register-locale.d.ts +13 -13
- package/package.json +2 -2
- package/public-api.d.ts +24 -24
- package/testing/abp-ng.core-testing.d.ts +5 -5
- package/testing/lib/core-testing.module.d.ts +16 -16
- package/testing/lib/services/index.d.ts +2 -2
- package/testing/lib/services/mock-permission.service.d.ts +10 -10
- package/testing/lib/services/mock-rest.service.d.ts +13 -13
- package/testing/lib/utils/clear-page.util.d.ts +2 -2
- package/testing/lib/utils/index.d.ts +2 -2
- package/testing/lib/utils/wait.util.d.ts +2 -2
- package/testing/public-api.d.ts +3 -3
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { PRIMARY_OUTLET } from '@angular/router';
|
|
3
|
-
import { noop } from './common-utils';
|
|
4
|
-
export function findRoute(routesService, path) {
|
|
5
|
-
const node = routesService.find(route => route.path === path);
|
|
6
|
-
return node || path === '/'
|
|
7
|
-
? node
|
|
8
|
-
: findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');
|
|
9
|
-
}
|
|
10
|
-
export function getRoutePath(router, url = router.url) {
|
|
11
|
-
const emptyGroup = { segments: [] };
|
|
12
|
-
const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];
|
|
13
|
-
return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');
|
|
14
|
-
}
|
|
15
|
-
export function reloadRoute(router, ngZone) {
|
|
16
|
-
const { shouldReuseRoute } = router.routeReuseStrategy;
|
|
17
|
-
const setRouteReuse = (reuse) => {
|
|
18
|
-
router.routeReuseStrategy.shouldReuseRoute = reuse;
|
|
19
|
-
};
|
|
20
|
-
setRouteReuse(() => false);
|
|
21
|
-
router.navigated = false;
|
|
22
|
-
ngZone.run(() => __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
yield router.navigateByUrl(router.url).catch(noop);
|
|
24
|
-
setRouteReuse(shouldReuseRoute);
|
|
25
|
-
}));
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { PRIMARY_OUTLET } from '@angular/router';
|
|
3
|
+
import { noop } from './common-utils';
|
|
4
|
+
export function findRoute(routesService, path) {
|
|
5
|
+
const node = routesService.find(route => route.path === path);
|
|
6
|
+
return node || path === '/'
|
|
7
|
+
? node
|
|
8
|
+
: findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');
|
|
9
|
+
}
|
|
10
|
+
export function getRoutePath(router, url = router.url) {
|
|
11
|
+
const emptyGroup = { segments: [] };
|
|
12
|
+
const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];
|
|
13
|
+
return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');
|
|
14
|
+
}
|
|
15
|
+
export function reloadRoute(router, ngZone) {
|
|
16
|
+
const { shouldReuseRoute } = router.routeReuseStrategy;
|
|
17
|
+
const setRouteReuse = (reuse) => {
|
|
18
|
+
router.routeReuseStrategy.shouldReuseRoute = reuse;
|
|
19
|
+
};
|
|
20
|
+
setRouteReuse(() => false);
|
|
21
|
+
router.navigated = false;
|
|
22
|
+
ngZone.run(() => __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
yield router.navigateByUrl(router.url).catch(noop);
|
|
24
|
+
setRouteReuse(shouldReuseRoute);
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdXRpbHMvcm91dGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQTJCLE1BQU0saUJBQWlCLENBQUM7QUFHMUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RDLE1BQU0sVUFBVSxTQUFTLENBQUMsYUFBNEIsRUFBRSxJQUFZO0lBQ2xFLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBRTlELE9BQU8sSUFBSSxJQUFJLElBQUksS0FBSyxHQUFHO1FBQ3pCLENBQUMsQ0FBQyxJQUFJO1FBQ04sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWMsRUFBRSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUc7SUFDM0QsTUFBTSxVQUFVLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFxQixDQUFDO0lBQ3ZELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV4RSxPQUFPLEdBQUcsR0FBRyxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE1BQWMsRUFBRSxNQUFjO0lBQ3hELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUN2RCxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQThCLEVBQUUsRUFBRTtRQUN2RCxNQUFNLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ3JELENBQUMsQ0FBQztJQUVGLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixNQUFNLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUV6QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQVMsRUFBRTtRQUNwQixNQUFNLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRCxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUEsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUFJJTUFSWV9PVVRMRVQsIFJvdXRlciwgVXJsU2VnbWVudEdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscy9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL2NvbW1vbi11dGlscyc7XG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJy4vdHJlZS11dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kUm91dGUocm91dGVzU2VydmljZTogUm91dGVzU2VydmljZSwgcGF0aDogc3RyaW5nKTogVHJlZU5vZGU8QUJQLlJvdXRlPiB7XG4gIGNvbnN0IG5vZGUgPSByb3V0ZXNTZXJ2aWNlLmZpbmQocm91dGUgPT4gcm91dGUucGF0aCA9PT0gcGF0aCk7XG5cbiAgcmV0dXJuIG5vZGUgfHwgcGF0aCA9PT0gJy8nXG4gICAgPyBub2RlXG4gICAgOiBmaW5kUm91dGUocm91dGVzU2VydmljZSwgcGF0aC5zcGxpdCgnLycpLnNsaWNlKDAsIC0xKS5qb2luKCcvJykgfHwgJy8nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlUGF0aChyb3V0ZXI6IFJvdXRlciwgdXJsID0gcm91dGVyLnVybCkge1xuICBjb25zdCBlbXB0eUdyb3VwID0geyBzZWdtZW50czogW10gfSBhcyBVcmxTZWdtZW50R3JvdXA7XG4gIGNvbnN0IHByaW1hcnlHcm91cCA9IHJvdXRlci5wYXJzZVVybCh1cmwpLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdO1xuXG4gIHJldHVybiAnLycgKyAocHJpbWFyeUdyb3VwIHx8IGVtcHR5R3JvdXApLnNlZ21lbnRzLm1hcCgoeyBwYXRoIH0pID0+IHBhdGgpLmpvaW4oJy8nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbG9hZFJvdXRlKHJvdXRlcjogUm91dGVyLCBuZ1pvbmU6IE5nWm9uZSkge1xuICBjb25zdCB7IHNob3VsZFJldXNlUm91dGUgfSA9IHJvdXRlci5yb3V0ZVJldXNlU3RyYXRlZ3k7XG4gIGNvbnN0IHNldFJvdXRlUmV1c2UgPSAocmV1c2U6IHR5cGVvZiBzaG91bGRSZXVzZVJvdXRlKSA9PiB7XG4gICAgcm91dGVyLnJvdXRlUmV1c2VTdHJhdGVneS5zaG91bGRSZXVzZVJvdXRlID0gcmV1c2U7XG4gIH07XG5cbiAgc2V0Um91dGVSZXVzZSgoKSA9PiBmYWxzZSk7XG4gIHJvdXRlci5uYXZpZ2F0ZWQgPSBmYWxzZTtcblxuICBuZ1pvbmUucnVuKGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCByb3V0ZXIubmF2aWdhdGVCeVVybChyb3V0ZXIudXJsKS5jYXRjaChub29wKTtcbiAgICBzZXRSb3V0ZVJldXNlKHNob3VsZFJldXNlUm91dGUpO1xuICB9KTtcbn1cbiJdfQ==
|
|
@@ -1,21 +1,25 @@
|
|
|
1
|
-
export function createTokenParser(format) {
|
|
2
|
-
return (str) => {
|
|
3
|
-
const tokens = [];
|
|
4
|
-
const regex = format.replace(/\./g, '\\.').replace(/\{\s?([0-9a-zA-Z]+)\s?\}/g, (_, token) => {
|
|
5
|
-
tokens.push(token);
|
|
6
|
-
return '(.+)';
|
|
7
|
-
});
|
|
8
|
-
const matches = (str.match(regex) || []).slice(1);
|
|
9
|
-
return matches.reduce((acc, v, i) => {
|
|
10
|
-
const key = tokens[i];
|
|
11
|
-
acc[key] = [...(acc[key] || []), v].filter(Boolean);
|
|
12
|
-
return acc;
|
|
13
|
-
}, {});
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export function interpolate(text, params) {
|
|
17
|
-
return text
|
|
18
|
-
.replace(/(['"]?\{\s*(\d+)\s*\}['"]?)/g, (_, match, digit) => { var _a; return (_a = params[digit]) !== null && _a !== void 0 ? _a : match; })
|
|
19
|
-
.replace(/\s+/g, ' ');
|
|
20
|
-
}
|
|
21
|
-
|
|
1
|
+
export function createTokenParser(format) {
|
|
2
|
+
return (str) => {
|
|
3
|
+
const tokens = [];
|
|
4
|
+
const regex = format.replace(/\./g, '\\.').replace(/\{\s?([0-9a-zA-Z]+)\s?\}/g, (_, token) => {
|
|
5
|
+
tokens.push(token);
|
|
6
|
+
return '(.+)';
|
|
7
|
+
});
|
|
8
|
+
const matches = (str.match(regex) || []).slice(1);
|
|
9
|
+
return matches.reduce((acc, v, i) => {
|
|
10
|
+
const key = tokens[i];
|
|
11
|
+
acc[key] = [...(acc[key] || []), v].filter(Boolean);
|
|
12
|
+
return acc;
|
|
13
|
+
}, {});
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export function interpolate(text, params) {
|
|
17
|
+
return text
|
|
18
|
+
.replace(/(['"]?\{\s*(\d+)\s*\}['"]?)/g, (_, match, digit) => { var _a; return (_a = params[digit]) !== null && _a !== void 0 ? _a : match; })
|
|
19
|
+
.replace(/\s+/g, ' ');
|
|
20
|
+
}
|
|
21
|
+
export function escapeHtmlChars(value) {
|
|
22
|
+
return (value &&
|
|
23
|
+
value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3V0aWxzL3N0cmluZy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYztJQUM5QyxPQUFPLENBQUMsR0FBVyxFQUFFLEVBQUU7UUFDckIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMzRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUE4QixDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWSxFQUFFLE1BQWdCO0lBQ3hELE9BQU8sSUFBSTtTQUNSLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsV0FBQyxPQUFBLE1BQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQ0FBSSxLQUFLLENBQUEsRUFBQSxDQUFDO1NBQ3BGLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBYTtJQUMzQyxPQUFPLENBQ0wsS0FBSztRQUNMLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUNqRyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUb2tlblBhcnNlcihmb3JtYXQ6IHN0cmluZykge1xuICByZXR1cm4gKHN0cjogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgdG9rZW5zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IHJlZ2V4ID0gZm9ybWF0LnJlcGxhY2UoL1xcLi9nLCAnXFxcXC4nKS5yZXBsYWNlKC9cXHtcXHM/KFswLTlhLXpBLVpdKylcXHM/XFx9L2csIChfLCB0b2tlbikgPT4ge1xuICAgICAgdG9rZW5zLnB1c2godG9rZW4pO1xuICAgICAgcmV0dXJuICcoLispJztcbiAgICB9KTtcblxuICAgIGNvbnN0IG1hdGNoZXMgPSAoc3RyLm1hdGNoKHJlZ2V4KSB8fCBbXSkuc2xpY2UoMSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlcy5yZWR1Y2UoKGFjYywgdiwgaSkgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gdG9rZW5zW2ldO1xuICAgICAgYWNjW2tleV0gPSBbLi4uKGFjY1trZXldIHx8IFtdKSwgdl0uZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4pO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW50ZXJwb2xhdGUodGV4dDogc3RyaW5nLCBwYXJhbXM6IHN0cmluZ1tdKSB7XG4gIHJldHVybiB0ZXh0XG4gICAgLnJlcGxhY2UoLyhbJ1wiXT9cXHtcXHMqKFxcZCspXFxzKlxcfVsnXCJdPykvZywgKF8sIG1hdGNoLCBkaWdpdCkgPT4gcGFyYW1zW2RpZ2l0XSA/PyBtYXRjaClcbiAgICAucmVwbGFjZSgvXFxzKy9nLCAnICcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlSHRtbENoYXJzKHZhbHVlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIChcbiAgICB2YWx1ZSAmJlxuICAgIHZhbHVlLnJlcGxhY2UoLyYvZywgJyZhbXA7JykucmVwbGFjZSgvPC9nLCAnJmx0OycpLnJlcGxhY2UoLz4vZywgJyZndDsnKS5yZXBsYWNlKC9cIi9nLCAnJnF1b3Q7JylcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/ban-types */
|
|
2
|
-
export class BaseTreeNode {
|
|
3
|
-
constructor(props) {
|
|
4
|
-
this.children = [];
|
|
5
|
-
this.isLeaf = true;
|
|
6
|
-
Object.assign(this, props);
|
|
7
|
-
}
|
|
8
|
-
static create(props) {
|
|
9
|
-
return new BaseTreeNode(props);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export function createTreeFromList(list, keySelector, parentKeySelector, valueMapper) {
|
|
13
|
-
const map = createMapFromList(list, keySelector, valueMapper);
|
|
14
|
-
const tree = [];
|
|
15
|
-
list.forEach(row => {
|
|
16
|
-
const id = keySelector(row);
|
|
17
|
-
const parentId = parentKeySelector(row);
|
|
18
|
-
const node = map.get(id);
|
|
19
|
-
if (!node)
|
|
20
|
-
return;
|
|
21
|
-
if (parentId) {
|
|
22
|
-
const parent = map.get(parentId);
|
|
23
|
-
if (!parent)
|
|
24
|
-
return;
|
|
25
|
-
parent.children.push(node);
|
|
26
|
-
parent.isLeaf = false;
|
|
27
|
-
node.parent = parent;
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
tree.push(node);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
return tree;
|
|
34
|
-
}
|
|
35
|
-
export function createMapFromList(list, keySelector, valueMapper) {
|
|
36
|
-
const map = new Map();
|
|
37
|
-
list.forEach(row => map.set(keySelector(row), valueMapper(row)));
|
|
38
|
-
return map;
|
|
39
|
-
}
|
|
40
|
-
export function createTreeNodeFilterCreator(key, mapperFn) {
|
|
41
|
-
return (search) => {
|
|
42
|
-
const regex = new RegExp('.*' + search + '.*', 'i');
|
|
43
|
-
return function collectNodes(nodes, matches = []) {
|
|
44
|
-
for (const node of nodes) {
|
|
45
|
-
if (regex.test(mapperFn(node[key])))
|
|
46
|
-
matches.push(node);
|
|
47
|
-
if (node.children.length)
|
|
48
|
-
collectNodes(node.children, matches);
|
|
49
|
-
}
|
|
50
|
-
return matches;
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
2
|
+
export class BaseTreeNode {
|
|
3
|
+
constructor(props) {
|
|
4
|
+
this.children = [];
|
|
5
|
+
this.isLeaf = true;
|
|
6
|
+
Object.assign(this, props);
|
|
7
|
+
}
|
|
8
|
+
static create(props) {
|
|
9
|
+
return new BaseTreeNode(props);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export function createTreeFromList(list, keySelector, parentKeySelector, valueMapper) {
|
|
13
|
+
const map = createMapFromList(list, keySelector, valueMapper);
|
|
14
|
+
const tree = [];
|
|
15
|
+
list.forEach(row => {
|
|
16
|
+
const id = keySelector(row);
|
|
17
|
+
const parentId = parentKeySelector(row);
|
|
18
|
+
const node = map.get(id);
|
|
19
|
+
if (!node)
|
|
20
|
+
return;
|
|
21
|
+
if (parentId) {
|
|
22
|
+
const parent = map.get(parentId);
|
|
23
|
+
if (!parent)
|
|
24
|
+
return;
|
|
25
|
+
parent.children.push(node);
|
|
26
|
+
parent.isLeaf = false;
|
|
27
|
+
node.parent = parent;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
tree.push(node);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return tree;
|
|
34
|
+
}
|
|
35
|
+
export function createMapFromList(list, keySelector, valueMapper) {
|
|
36
|
+
const map = new Map();
|
|
37
|
+
list.forEach(row => map.set(keySelector(row), valueMapper(row)));
|
|
38
|
+
return map;
|
|
39
|
+
}
|
|
40
|
+
export function createTreeNodeFilterCreator(key, mapperFn) {
|
|
41
|
+
return (search) => {
|
|
42
|
+
const regex = new RegExp('.*' + search + '.*', 'i');
|
|
43
|
+
return function collectNodes(nodes, matches = []) {
|
|
44
|
+
for (const node of nodes) {
|
|
45
|
+
if (regex.test(mapperFn(node[key])))
|
|
46
|
+
matches.push(node);
|
|
47
|
+
if (node.children.length)
|
|
48
|
+
collectNodes(node.children, matches);
|
|
49
|
+
}
|
|
50
|
+
return matches;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy90cmVlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlEQUFpRDtBQUNqRCxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFZLEtBQVE7UUFKcEIsYUFBUSxHQUFrQixFQUFFLENBQUM7UUFDN0IsV0FBTSxHQUFHLElBQUksQ0FBQztRQUlaLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFtQixLQUFRO1FBQ3RDLE9BQU8sSUFBSSxZQUFZLENBQUksS0FBSyxDQUFnQixDQUFDO0lBQ25ELENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsSUFBUyxFQUNULFdBQWlDLEVBQ2pDLGlCQUFxQyxFQUNyQyxXQUEyQjtJQUUzQixNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzlELE1BQU0sSUFBSSxHQUF1QyxFQUFFLENBQUM7SUFFcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNqQixNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6QixJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFbEIsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFDbkIsTUFBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsTUFBYyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7U0FDL0I7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsSUFBUyxFQUNULFdBQWlDLEVBQ2pDLFdBQTJCO0lBSTNCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFjLENBQUM7SUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxHQUFZLEVBQ1osUUFBZ0M7SUFFaEMsT0FBTyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXBELE9BQU8sU0FBUyxZQUFZLENBQUMsS0FBb0IsRUFBRSxPQUFPLEdBQUcsRUFBRTtZQUM3RCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtnQkFDeEIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUV4RCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTtvQkFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNoRTtZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzICovXG5leHBvcnQgY2xhc3MgQmFzZVRyZWVOb2RlPFQgZXh0ZW5kcyBvYmplY3Q+IHtcbiAgY2hpbGRyZW46IFRyZWVOb2RlPFQ+W10gPSBbXTtcbiAgaXNMZWFmID0gdHJ1ZTtcbiAgcGFyZW50PzogVHJlZU5vZGU8VD47XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IFQpIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHByb3BzKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGU8VCBleHRlbmRzIG9iamVjdD4ocHJvcHM6IFQpIHtcbiAgICByZXR1cm4gbmV3IEJhc2VUcmVlTm9kZTxUPihwcm9wcykgYXMgVHJlZU5vZGU8VD47XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyZWVGcm9tTGlzdDxUIGV4dGVuZHMgb2JqZWN0LCBSIGV4dGVuZHMgdW5rbm93bj4oXG4gIGxpc3Q6IFRbXSxcbiAga2V5U2VsZWN0b3I6IChpdGVtOiBUKSA9PiBOb2RlS2V5LFxuICBwYXJlbnRLZXlTZWxlY3RvcjogdHlwZW9mIGtleVNlbGVjdG9yLFxuICB2YWx1ZU1hcHBlcjogKGl0ZW06IFQpID0+IFIsXG4pIHtcbiAgY29uc3QgbWFwID0gY3JlYXRlTWFwRnJvbUxpc3QobGlzdCwga2V5U2VsZWN0b3IsIHZhbHVlTWFwcGVyKTtcbiAgY29uc3QgdHJlZTogTm9kZVZhbHVlPFQsIHR5cGVvZiB2YWx1ZU1hcHBlcj5bXSA9IFtdO1xuXG4gIGxpc3QuZm9yRWFjaChyb3cgPT4ge1xuICAgIGNvbnN0IGlkID0ga2V5U2VsZWN0b3Iocm93KTtcbiAgICBjb25zdCBwYXJlbnRJZCA9IHBhcmVudEtleVNlbGVjdG9yKHJvdyk7XG4gICAgY29uc3Qgbm9kZSA9IG1hcC5nZXQoaWQpO1xuXG4gICAgaWYgKCFub2RlKSByZXR1cm47XG5cbiAgICBpZiAocGFyZW50SWQpIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IG1hcC5nZXQocGFyZW50SWQpO1xuICAgICAgaWYgKCFwYXJlbnQpIHJldHVybjtcbiAgICAgIChwYXJlbnQgYXMgYW55KS5jaGlsZHJlbi5wdXNoKG5vZGUpO1xuICAgICAgKHBhcmVudCBhcyBhbnkpLmlzTGVhZiA9IGZhbHNlO1xuICAgICAgKG5vZGUgYXMgYW55KS5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyZWUucHVzaChub2RlKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB0cmVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWFwRnJvbUxpc3Q8VCBleHRlbmRzIG9iamVjdCwgUiBleHRlbmRzIHVua25vd24+KFxuICBsaXN0OiBUW10sXG4gIGtleVNlbGVjdG9yOiAoaXRlbTogVCkgPT4gTm9kZUtleSxcbiAgdmFsdWVNYXBwZXI6IChpdGVtOiBUKSA9PiBSLFxuKSB7XG4gIHR5cGUgS2V5ID0gUmV0dXJuVHlwZTx0eXBlb2Yga2V5U2VsZWN0b3I+O1xuICB0eXBlIFZhbHVlID0gTm9kZVZhbHVlPFQsIHR5cGVvZiB2YWx1ZU1hcHBlcj47XG4gIGNvbnN0IG1hcCA9IG5ldyBNYXA8S2V5LCBWYWx1ZT4oKTtcbiAgbGlzdC5mb3JFYWNoKHJvdyA9PiBtYXAuc2V0KGtleVNlbGVjdG9yKHJvdyksIHZhbHVlTWFwcGVyKHJvdykpKTtcbiAgcmV0dXJuIG1hcDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyZWVOb2RlRmlsdGVyQ3JlYXRvcjxUIGV4dGVuZHMgb2JqZWN0PihcbiAga2V5OiBrZXlvZiBULFxuICBtYXBwZXJGbjogKHZhbHVlOiBhbnkpID0+IHN0cmluZyxcbikge1xuICByZXR1cm4gKHNlYXJjaDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKCcuKicgKyBzZWFyY2ggKyAnLionLCAnaScpO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNvbGxlY3ROb2Rlcyhub2RlczogVHJlZU5vZGU8VD5bXSwgbWF0Y2hlcyA9IFtdKSB7XG4gICAgICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICAgICAgaWYgKHJlZ2V4LnRlc3QobWFwcGVyRm4obm9kZVtrZXldKSkpIG1hdGNoZXMucHVzaChub2RlKTtcblxuICAgICAgICBpZiAobm9kZS5jaGlsZHJlbi5sZW5ndGgpIGNvbGxlY3ROb2Rlcyhub2RlLmNoaWxkcmVuLCBtYXRjaGVzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1hdGNoZXM7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgVHJlZU5vZGU8VCBleHRlbmRzIG9iamVjdD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdO1xufSAmIHtcbiAgY2hpbGRyZW46IFRyZWVOb2RlPFQ+W107XG4gIGlzTGVhZjogYm9vbGVhbjtcbiAgcGFyZW50PzogVHJlZU5vZGU8VD47XG59O1xuXG50eXBlIE5vZGVLZXkgPSBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2wgfCB1bmRlZmluZWQgfCBudWxsO1xuXG50eXBlIE5vZGVWYWx1ZTxUIGV4dGVuZHMgb2JqZWN0LCBGIGV4dGVuZHMgKC4uLmFyZ3M6IGFueSkgPT4gYW55PiA9IEYgZXh0ZW5kcyB1bmRlZmluZWRcbiAgPyBUcmVlTm9kZTxUPlxuICA6IFJldHVyblR5cGU8Rj47XG4iXX0=
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export function validateMinAge({ age = 18 } = {}) {
|
|
2
|
-
return (control) => {
|
|
3
|
-
if (['', null, undefined].indexOf(control.value) > -1)
|
|
4
|
-
return null;
|
|
5
|
-
return isValidMinAge(control.value, age) ? null : { minAge: { age } };
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
function isValidMinAge(value, minAge) {
|
|
9
|
-
const date = new Date();
|
|
10
|
-
date.setFullYear(date.getFullYear() - minAge);
|
|
11
|
-
date.setHours(23, 59, 59, 999);
|
|
12
|
-
return Number(new Date(value)) <= date.valueOf();
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export function validateMinAge({ age = 18 } = {}) {
|
|
2
|
+
return (control) => {
|
|
3
|
+
if (['', null, undefined].indexOf(control.value) > -1)
|
|
4
|
+
return null;
|
|
5
|
+
return isValidMinAge(control.value, age) ? null : { minAge: { age } };
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
function isValidMinAge(value, minAge) {
|
|
9
|
+
const date = new Date();
|
|
10
|
+
date.setFullYear(date.getFullYear() - minAge);
|
|
11
|
+
date.setHours(23, 59, 59, 999);
|
|
12
|
+
return Number(new Date(value)) <= date.valueOf();
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi92YWxpZGF0b3JzL2FnZS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsTUFBTSxVQUFVLGNBQWMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEtBQW9CLEVBQUU7SUFDN0QsT0FBTyxDQUFDLE9BQXdCLEVBQXNCLEVBQUU7UUFDdEQsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUVuRSxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUN4RSxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsS0FBc0IsRUFBRSxNQUFjO0lBQzNELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUUvQixPQUFPLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGludGVyZmFjZSBNaW5BZ2VFcnJvciB7XG4gIG1pbkFnZToge1xuICAgIGFnZTogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbkFnZU9wdGlvbnMge1xuICBhZ2U/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU1pbkFnZSh7IGFnZSA9IDE4IH06IE1pbkFnZU9wdGlvbnMgPSB7fSk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBNaW5BZ2VFcnJvciB8IG51bGwgPT4ge1xuICAgIGlmIChbJycsIG51bGwsIHVuZGVmaW5lZF0uaW5kZXhPZihjb250cm9sLnZhbHVlKSA+IC0xKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiBpc1ZhbGlkTWluQWdlKGNvbnRyb2wudmFsdWUsIGFnZSkgPyBudWxsIDogeyBtaW5BZ2U6IHsgYWdlIH0gfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNWYWxpZE1pbkFnZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLCBtaW5BZ2U6IG51bWJlcikge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgZGF0ZS5zZXRGdWxsWWVhcihkYXRlLmdldEZ1bGxZZWFyKCkgLSBtaW5BZ2UpO1xuICBkYXRlLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XG5cbiAgcmV0dXJuIE51bWJlcihuZXcgRGF0ZSh2YWx1ZSkpIDw9IGRhdGUudmFsdWVPZigpO1xufVxuIl19
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export function validateCreditCard() {
|
|
2
|
-
return (control) => {
|
|
3
|
-
if (['', null, undefined].indexOf(control.value) > -1)
|
|
4
|
-
return null;
|
|
5
|
-
return isValidCreditCard(String(control.value)) ? null : { creditCard: true };
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
function isValidCreditCard(value) {
|
|
9
|
-
value = value.replace(/[ -]/g, '');
|
|
10
|
-
if (!/^[0-9]{13,19}$/.test(value))
|
|
11
|
-
return false;
|
|
12
|
-
let checksum = 0;
|
|
13
|
-
let multiplier = 1;
|
|
14
|
-
for (let i = value.length; i > 0; i--) {
|
|
15
|
-
const digit = Number(value[i - 1]) * multiplier;
|
|
16
|
-
checksum += (digit % 10) + ~~(digit / 10);
|
|
17
|
-
multiplier = (multiplier * 2) % 3;
|
|
18
|
-
}
|
|
19
|
-
return checksum % 10 === 0;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export function validateCreditCard() {
|
|
2
|
+
return (control) => {
|
|
3
|
+
if (['', null, undefined].indexOf(control.value) > -1)
|
|
4
|
+
return null;
|
|
5
|
+
return isValidCreditCard(String(control.value)) ? null : { creditCard: true };
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
function isValidCreditCard(value) {
|
|
9
|
+
value = value.replace(/[ -]/g, '');
|
|
10
|
+
if (!/^[0-9]{13,19}$/.test(value))
|
|
11
|
+
return false;
|
|
12
|
+
let checksum = 0;
|
|
13
|
+
let multiplier = 1;
|
|
14
|
+
for (let i = value.length; i > 0; i--) {
|
|
15
|
+
const digit = Number(value[i - 1]) * multiplier;
|
|
16
|
+
checksum += (digit % 10) + ~~(digit / 10);
|
|
17
|
+
multiplier = (multiplier * 2) % 3;
|
|
18
|
+
}
|
|
19
|
+
return checksum % 10 === 0;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWNhcmQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvY3JlZGl0LWNhcmQudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sVUFBVSxrQkFBa0I7SUFDaEMsT0FBTyxDQUFDLE9BQXdCLEVBQTBCLEVBQUU7UUFDMUQsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUVuRSxPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNoRixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxLQUFhO0lBQ3RDLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRWhELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNqQixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFFbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7UUFDaEQsUUFBUSxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztRQUUxQyxVQUFVLEdBQUcsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ25DO0lBRUQsT0FBTyxRQUFRLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGludGVyZmFjZSBDcmVkaXRDYXJkRXJyb3Ige1xuICBjcmVkaXRDYXJkOiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVDcmVkaXRDYXJkKCk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBDcmVkaXRDYXJkRXJyb3IgfCBudWxsID0+IHtcbiAgICBpZiAoWycnLCBudWxsLCB1bmRlZmluZWRdLmluZGV4T2YoY29udHJvbC52YWx1ZSkgPiAtMSkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gaXNWYWxpZENyZWRpdENhcmQoU3RyaW5nKGNvbnRyb2wudmFsdWUpKSA/IG51bGwgOiB7IGNyZWRpdENhcmQ6IHRydWUgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNWYWxpZENyZWRpdENhcmQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1sgLV0vZywgJycpO1xuXG4gIGlmICghL15bMC05XXsxMywxOX0kLy50ZXN0KHZhbHVlKSkgcmV0dXJuIGZhbHNlO1xuXG4gIGxldCBjaGVja3N1bSA9IDA7XG4gIGxldCBtdWx0aXBsaWVyID0gMTtcblxuICBmb3IgKGxldCBpID0gdmFsdWUubGVuZ3RoOyBpID4gMDsgaS0tKSB7XG4gICAgY29uc3QgZGlnaXQgPSBOdW1iZXIodmFsdWVbaSAtIDFdKSAqIG11bHRpcGxpZXI7XG4gICAgY2hlY2tzdW0gKz0gKGRpZ2l0ICUgMTApICsgfn4oZGlnaXQgLyAxMCk7XG5cbiAgICBtdWx0aXBsaWVyID0gKG11bHRpcGxpZXIgKiAyKSAlIDM7XG4gIH1cblxuICByZXR1cm4gY2hlY2tzdW0gJSAxMCA9PT0gMDtcbn1cbiJdfQ==
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { Validators } from '@angular/forms';
|
|
2
|
-
import { validateMinAge } from './age.validator';
|
|
3
|
-
import { validateCreditCard } from './credit-card.validator';
|
|
4
|
-
import { validateRange } from './range.validator';
|
|
5
|
-
import { validateRequired } from './required.validator';
|
|
6
|
-
import { validateStringLength } from './string-length.validator';
|
|
7
|
-
import { validateUrl } from './url.validator';
|
|
8
|
-
export * from './age.validator';
|
|
9
|
-
export * from './credit-card.validator';
|
|
10
|
-
export * from './range.validator';
|
|
11
|
-
export * from './required.validator';
|
|
12
|
-
export * from './string-length.validator';
|
|
13
|
-
export * from './url.validator';
|
|
14
|
-
export const AbpValidators = {
|
|
15
|
-
creditCard: validateCreditCard,
|
|
16
|
-
emailAddress: () => Validators.email,
|
|
17
|
-
minAge: validateMinAge,
|
|
18
|
-
range: validateRange,
|
|
19
|
-
required: validateRequired,
|
|
20
|
-
stringLength: validateStringLength,
|
|
21
|
-
url: validateUrl,
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Validators } from '@angular/forms';
|
|
2
|
+
import { validateMinAge } from './age.validator';
|
|
3
|
+
import { validateCreditCard } from './credit-card.validator';
|
|
4
|
+
import { validateRange } from './range.validator';
|
|
5
|
+
import { validateRequired } from './required.validator';
|
|
6
|
+
import { validateStringLength } from './string-length.validator';
|
|
7
|
+
import { validateUrl } from './url.validator';
|
|
8
|
+
export * from './age.validator';
|
|
9
|
+
export * from './credit-card.validator';
|
|
10
|
+
export * from './range.validator';
|
|
11
|
+
export * from './required.validator';
|
|
12
|
+
export * from './string-length.validator';
|
|
13
|
+
export * from './url.validator';
|
|
14
|
+
export const AbpValidators = {
|
|
15
|
+
creditCard: validateCreditCard,
|
|
16
|
+
emailAddress: () => Validators.email,
|
|
17
|
+
minAge: validateMinAge,
|
|
18
|
+
range: validateRange,
|
|
19
|
+
required: validateRequired,
|
|
20
|
+
stringLength: validateStringLength,
|
|
21
|
+
url: validateUrl,
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLFVBQVUsRUFBRSxrQkFBa0I7SUFDOUIsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLO0lBQ3BDLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLEtBQUssRUFBRSxhQUFhO0lBQ3BCLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsWUFBWSxFQUFFLG9CQUFvQjtJQUNsQyxHQUFHLEVBQUUsV0FBVztDQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHZhbGlkYXRlTWluQWdlIH0gZnJvbSAnLi9hZ2UudmFsaWRhdG9yJztcbmltcG9ydCB7IHZhbGlkYXRlQ3JlZGl0Q2FyZCB9IGZyb20gJy4vY3JlZGl0LWNhcmQudmFsaWRhdG9yJztcbmltcG9ydCB7IHZhbGlkYXRlUmFuZ2UgfSBmcm9tICcuL3JhbmdlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyB2YWxpZGF0ZVJlcXVpcmVkIH0gZnJvbSAnLi9yZXF1aXJlZC52YWxpZGF0b3InO1xuaW1wb3J0IHsgdmFsaWRhdGVTdHJpbmdMZW5ndGggfSBmcm9tICcuL3N0cmluZy1sZW5ndGgudmFsaWRhdG9yJztcbmltcG9ydCB7IHZhbGlkYXRlVXJsIH0gZnJvbSAnLi91cmwudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vYWdlLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2NyZWRpdC1jYXJkLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3JhbmdlLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVpcmVkLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3N0cmluZy1sZW5ndGgudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vdXJsLnZhbGlkYXRvcic7XG5cbmV4cG9ydCBjb25zdCBBYnBWYWxpZGF0b3JzID0ge1xuICBjcmVkaXRDYXJkOiB2YWxpZGF0ZUNyZWRpdENhcmQsXG4gIGVtYWlsQWRkcmVzczogKCkgPT4gVmFsaWRhdG9ycy5lbWFpbCxcbiAgbWluQWdlOiB2YWxpZGF0ZU1pbkFnZSxcbiAgcmFuZ2U6IHZhbGlkYXRlUmFuZ2UsXG4gIHJlcXVpcmVkOiB2YWxpZGF0ZVJlcXVpcmVkLFxuICBzdHJpbmdMZW5ndGg6IHZhbGlkYXRlU3RyaW5nTGVuZ3RoLFxuICB1cmw6IHZhbGlkYXRlVXJsLFxufTtcbiJdfQ==
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export function validateRange({ maximum = Infinity, minimum = 0 } = {}) {
|
|
2
|
-
return (control) => {
|
|
3
|
-
if (['', null, undefined].indexOf(control.value) > -1)
|
|
4
|
-
return null;
|
|
5
|
-
const value = Number(control.value);
|
|
6
|
-
return getMinError(value, minimum, maximum) || getMaxError(value, maximum, minimum);
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
function getMaxError(value, max, min) {
|
|
10
|
-
return value > max ? { range: { max, min } } : null;
|
|
11
|
-
}
|
|
12
|
-
function getMinError(value, min, max) {
|
|
13
|
-
return value < min ? { range: { min, max } } : null;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export function validateRange({ maximum = Infinity, minimum = 0 } = {}) {
|
|
2
|
+
return (control) => {
|
|
3
|
+
if (['', null, undefined].indexOf(control.value) > -1)
|
|
4
|
+
return null;
|
|
5
|
+
const value = Number(control.value);
|
|
6
|
+
return getMinError(value, minimum, maximum) || getMaxError(value, maximum, minimum);
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
function getMaxError(value, max, min) {
|
|
10
|
+
return value > max ? { range: { max, min } } : null;
|
|
11
|
+
}
|
|
12
|
+
function getMinError(value, min, max) {
|
|
13
|
+
return value < min ? { range: { min, max } } : null;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvcmFuZ2UudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLE1BQU0sVUFBVSxhQUFhLENBQUMsRUFBRSxPQUFPLEdBQUcsUUFBUSxFQUFFLE9BQU8sR0FBRyxDQUFDLEtBQW1CLEVBQUU7SUFDbEYsT0FBTyxDQUFDLE9BQXdCLEVBQXFCLEVBQUU7UUFDckQsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUVuRSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEYsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsR0FBVztJQUMxRCxPQUFPLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUN0RCxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQzFELE9BQU8sS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJhbmdlRXJyb3Ige1xuICByYW5nZToge1xuICAgIG1heDogbnVtYmVyO1xuICAgIG1pbjogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJhbmdlT3B0aW9ucyB7XG4gIG1heGltdW0/OiBudW1iZXI7XG4gIG1pbmltdW0/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVJhbmdlKHsgbWF4aW11bSA9IEluZmluaXR5LCBtaW5pbXVtID0gMCB9OiBSYW5nZU9wdGlvbnMgPSB7fSk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBSYW5nZUVycm9yIHwgbnVsbCA9PiB7XG4gICAgaWYgKFsnJywgbnVsbCwgdW5kZWZpbmVkXS5pbmRleE9mKGNvbnRyb2wudmFsdWUpID4gLTEpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgdmFsdWUgPSBOdW1iZXIoY29udHJvbC52YWx1ZSk7XG4gICAgcmV0dXJuIGdldE1pbkVycm9yKHZhbHVlLCBtaW5pbXVtLCBtYXhpbXVtKSB8fCBnZXRNYXhFcnJvcih2YWx1ZSwgbWF4aW11bSwgbWluaW11bSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldE1heEVycm9yKHZhbHVlOiBudW1iZXIsIG1heDogbnVtYmVyLCBtaW46IG51bWJlcik6IFJhbmdlRXJyb3Ige1xuICByZXR1cm4gdmFsdWUgPiBtYXggPyB7IHJhbmdlOiB7IG1heCwgbWluIH0gfSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldE1pbkVycm9yKHZhbHVlOiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IFJhbmdlRXJyb3Ige1xuICByZXR1cm4gdmFsdWUgPCBtaW4gPyB7IHJhbmdlOiB7IG1pbiwgbWF4IH0gfSA6IG51bGw7XG59XG4iXX0=
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export function validateRequired({ allowEmptyStrings } = {}) {
|
|
2
|
-
return (control) => {
|
|
3
|
-
return isValidRequired(control.value, allowEmptyStrings) ? null : { required: true };
|
|
4
|
-
};
|
|
5
|
-
}
|
|
6
|
-
function isValidRequired(value, allowEmptyStrings) {
|
|
7
|
-
if (value || value === 0 || value === false)
|
|
8
|
-
return true;
|
|
9
|
-
if (allowEmptyStrings && value === '')
|
|
10
|
-
return true;
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export function validateRequired({ allowEmptyStrings } = {}) {
|
|
2
|
+
return (control) => {
|
|
3
|
+
return isValidRequired(control.value, allowEmptyStrings) ? null : { required: true };
|
|
4
|
+
};
|
|
5
|
+
}
|
|
6
|
+
function isValidRequired(value, allowEmptyStrings) {
|
|
7
|
+
if (value || value === 0 || value === false)
|
|
8
|
+
return true;
|
|
9
|
+
if (allowEmptyStrings && value === '')
|
|
10
|
+
return true;
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3ZhbGlkYXRvcnMvcmVxdWlyZWQudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxFQUFFLGlCQUFpQixLQUFzQixFQUFFO0lBQzFFLE9BQU8sQ0FBQyxPQUF3QixFQUF3QixFQUFFO1FBQ3hELE9BQU8sZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN2RixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsS0FBVSxFQUFFLGlCQUEwQjtJQUM3RCxJQUFJLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxLQUFLO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFFekQsSUFBSSxpQkFBaUIsSUFBSSxLQUFLLEtBQUssRUFBRTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRW5ELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWlyZWRFcnJvciB7XG4gIHJlcXVpcmVkOiB0cnVlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVpcmVkT3B0aW9ucyB7XG4gIGFsbG93RW1wdHlTdHJpbmdzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUmVxdWlyZWQoeyBhbGxvd0VtcHR5U3RyaW5ncyB9OiBSZXF1aXJlZE9wdGlvbnMgPSB7fSk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBSZXF1aXJlZEVycm9yIHwgbnVsbCA9PiB7XG4gICAgcmV0dXJuIGlzVmFsaWRSZXF1aXJlZChjb250cm9sLnZhbHVlLCBhbGxvd0VtcHR5U3RyaW5ncykgPyBudWxsIDogeyByZXF1aXJlZDogdHJ1ZSB9O1xuICB9O1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkUmVxdWlyZWQodmFsdWU6IGFueSwgYWxsb3dFbXB0eVN0cmluZ3M6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgaWYgKHZhbHVlIHx8IHZhbHVlID09PSAwIHx8IHZhbHVlID09PSBmYWxzZSkgcmV0dXJuIHRydWU7XG5cbiAgaWYgKGFsbG93RW1wdHlTdHJpbmdzICYmIHZhbHVlID09PSAnJykgcmV0dXJuIHRydWU7XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuIl19
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export function validateStringLength({ maximumLength = Infinity, minimumLength = 0, } = {}) {
|
|
2
|
-
return (control) => {
|
|
3
|
-
if (['', null, undefined].indexOf(control.value) > -1)
|
|
4
|
-
return null;
|
|
5
|
-
const value = String(control.value);
|
|
6
|
-
return getMinLengthError(value, minimumLength) || getMaxLengthError(value, maximumLength);
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
function getMaxLengthError(value, requiredLength) {
|
|
10
|
-
return value.length > requiredLength ? { maxlength: { requiredLength } } : null;
|
|
11
|
-
}
|
|
12
|
-
function getMinLengthError(value, requiredLength) {
|
|
13
|
-
return value.length < requiredLength ? { minlength: { requiredLength } } : null;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export function validateStringLength({ maximumLength = Infinity, minimumLength = 0, } = {}) {
|
|
2
|
+
return (control) => {
|
|
3
|
+
if (['', null, undefined].indexOf(control.value) > -1)
|
|
4
|
+
return null;
|
|
5
|
+
const value = String(control.value);
|
|
6
|
+
return getMinLengthError(value, minimumLength) || getMaxLengthError(value, maximumLength);
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
function getMaxLengthError(value, requiredLength) {
|
|
10
|
+
return value.length > requiredLength ? { maxlength: { requiredLength } } : null;
|
|
11
|
+
}
|
|
12
|
+
function getMinLengthError(value, requiredLength) {
|
|
13
|
+
return value.length < requiredLength ? { minlength: { requiredLength } } : null;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWxlbmd0aC52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdmFsaWRhdG9ycy9zdHJpbmctbGVuZ3RoLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEVBQ25DLGFBQWEsR0FBRyxRQUFRLEVBQ3hCLGFBQWEsR0FBRyxDQUFDLE1BQ00sRUFBRTtJQUN6QixPQUFPLENBQUMsT0FBd0IsRUFBNEIsRUFBRTtRQUM1RCxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRW5FLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLElBQUksaUJBQWlCLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVGLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEtBQWEsRUFBRSxjQUFzQjtJQUM5RCxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNsRixDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsY0FBc0I7SUFDOUQsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDbEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nTGVuZ3RoRXJyb3Ige1xuICBtYXhsZW5ndGg/OiB7XG4gICAgcmVxdWlyZWRMZW5ndGg6IG51bWJlcjtcbiAgfTtcbiAgbWlubGVuZ3RoPzoge1xuICAgIHJlcXVpcmVkTGVuZ3RoOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nTGVuZ3RoT3B0aW9ucyB7XG4gIG1heGltdW1MZW5ndGg/OiBudW1iZXI7XG4gIG1pbmltdW1MZW5ndGg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVN0cmluZ0xlbmd0aCh7XG4gIG1heGltdW1MZW5ndGggPSBJbmZpbml0eSxcbiAgbWluaW11bUxlbmd0aCA9IDAsXG59OiBTdHJpbmdMZW5ndGhPcHRpb25zID0ge30pOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogU3RyaW5nTGVuZ3RoRXJyb3IgfCBudWxsID0+IHtcbiAgICBpZiAoWycnLCBudWxsLCB1bmRlZmluZWRdLmluZGV4T2YoY29udHJvbC52YWx1ZSkgPiAtMSkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCB2YWx1ZSA9IFN0cmluZyhjb250cm9sLnZhbHVlKTtcblxuICAgIHJldHVybiBnZXRNaW5MZW5ndGhFcnJvcih2YWx1ZSwgbWluaW11bUxlbmd0aCkgfHwgZ2V0TWF4TGVuZ3RoRXJyb3IodmFsdWUsIG1heGltdW1MZW5ndGgpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRNYXhMZW5ndGhFcnJvcih2YWx1ZTogc3RyaW5nLCByZXF1aXJlZExlbmd0aDogbnVtYmVyKTogU3RyaW5nTGVuZ3RoRXJyb3Ige1xuICByZXR1cm4gdmFsdWUubGVuZ3RoID4gcmVxdWlyZWRMZW5ndGggPyB7IG1heGxlbmd0aDogeyByZXF1aXJlZExlbmd0aCB9IH0gOiBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRNaW5MZW5ndGhFcnJvcih2YWx1ZTogc3RyaW5nLCByZXF1aXJlZExlbmd0aDogbnVtYmVyKTogU3RyaW5nTGVuZ3RoRXJyb3Ige1xuICByZXR1cm4gdmFsdWUubGVuZ3RoIDwgcmVxdWlyZWRMZW5ndGggPyB7IG1pbmxlbmd0aDogeyByZXF1aXJlZExlbmd0aCB9IH0gOiBudWxsO1xufVxuIl19
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export function validateUrl() {
|
|
2
|
-
return (control) => {
|
|
3
|
-
if (['', null, undefined].indexOf(control.value) > -1)
|
|
4
|
-
return null;
|
|
5
|
-
return isValidUrl(control.value) ? null : { url: true };
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
function isValidUrl(value) {
|
|
9
|
-
if (/^http(s)?:\/\/[^/]/.test(value) || /^ftp:\/\/[^/]/.test(value)) {
|
|
10
|
-
const a = document.createElement('a');
|
|
11
|
-
a.href = value;
|
|
12
|
-
return !!a.host;
|
|
13
|
-
}
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export function validateUrl() {
|
|
2
|
+
return (control) => {
|
|
3
|
+
if (['', null, undefined].indexOf(control.value) > -1)
|
|
4
|
+
return null;
|
|
5
|
+
return isValidUrl(control.value) ? null : { url: true };
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
function isValidUrl(value) {
|
|
9
|
+
if (/^http(s)?:\/\/[^/]/.test(value) || /^ftp:\/\/[^/]/.test(value)) {
|
|
10
|
+
const a = document.createElement('a');
|
|
11
|
+
a.href = value;
|
|
12
|
+
return !!a.host;
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi92YWxpZGF0b3JzL3VybC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxVQUFVLFdBQVc7SUFDekIsT0FBTyxDQUFDLE9BQXdCLEVBQW1CLEVBQUU7UUFDbkQsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUVuRSxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUQsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQWE7SUFDL0IsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNuRSxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2YsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztLQUNqQjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXJsRXJyb3Ige1xuICB1cmw6IHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVVybCgpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVXJsRXJyb3IgfCBudWxsID0+IHtcbiAgICBpZiAoWycnLCBudWxsLCB1bmRlZmluZWRdLmluZGV4T2YoY29udHJvbC52YWx1ZSkgPiAtMSkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gaXNWYWxpZFVybChjb250cm9sLnZhbHVlKSA/IG51bGwgOiB7IHVybDogdHJ1ZSB9O1xuICB9O1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkVXJsKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKC9eaHR0cChzKT86XFwvXFwvW14vXS8udGVzdCh2YWx1ZSkgfHwgL15mdHA6XFwvXFwvW14vXS8udGVzdCh2YWx1ZSkpIHtcbiAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGEuaHJlZiA9IHZhbHVlO1xuICAgIHJldHVybiAhIWEuaG9zdDtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmNvcmUtbG9jYWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9sb2NhbGUvc3JjL2FicC1uZy5jb3JlLWxvY2FsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './utils/register-locale';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './utils/register-locale';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvbG9jYWxlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3V0aWxzL3JlZ2lzdGVyLWxvY2FsZSc7XG4iXX0=
|