@skyux/core 5.9.4 → 6.0.0-beta.10
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/documentation.json +727 -503
- package/esm2020/index.mjs +64 -0
- package/esm2020/lib/modules/adapter-service/adapter.module.mjs +16 -0
- package/esm2020/lib/modules/adapter-service/adapter.service.mjs +225 -0
- package/esm2020/lib/modules/adapter-service/focusable-children-options.mjs +2 -0
- package/esm2020/lib/modules/affix/affix-auto-fit-context.mjs +12 -0
- package/esm2020/lib/modules/affix/affix-config.mjs +2 -0
- package/esm2020/lib/modules/affix/affix-horizontal-alignment.mjs +2 -0
- package/esm2020/lib/modules/affix/affix-offset-change.mjs +2 -0
- package/esm2020/lib/modules/affix/affix-offset.mjs +2 -0
- package/esm2020/lib/modules/affix/affix-placement-change.mjs +2 -0
- package/esm2020/lib/modules/affix/affix-placement.mjs +2 -0
- package/esm2020/lib/modules/affix/affix-utils.mjs +18 -0
- package/esm2020/lib/modules/affix/affix-vertical-alignment.mjs +2 -0
- package/esm2020/lib/modules/affix/affix.directive.mjs +100 -0
- package/esm2020/lib/modules/affix/affix.module.mjs +18 -0
- package/esm2020/lib/modules/affix/affix.service.mjs +24 -0
- package/esm2020/lib/modules/affix/affixer.mjs +346 -0
- package/esm2020/lib/modules/affix/dom-utils.mjs +77 -0
- package/esm2020/lib/modules/dock/dock-dom-adapter.service.mjs +80 -0
- package/esm2020/lib/modules/dock/dock-insert-component-config.mjs +2 -0
- package/esm2020/lib/modules/dock/dock-item-config.mjs +2 -0
- package/esm2020/lib/modules/dock/dock-item-reference.mjs +2 -0
- package/esm2020/lib/modules/dock/dock-item.mjs +29 -0
- package/esm2020/lib/modules/dock/dock-location.mjs +19 -0
- package/esm2020/lib/modules/dock/dock-options.mjs +2 -0
- package/esm2020/lib/modules/dock/dock.component.mjs +88 -0
- package/esm2020/lib/modules/dock/dock.module.mjs +19 -0
- package/esm2020/lib/modules/dock/dock.service.mjs +95 -0
- package/esm2020/lib/modules/dock/sort-by-stack-order.mjs +13 -0
- package/esm2020/lib/modules/dynamic-component/dynamic-component-location.mjs +27 -0
- package/esm2020/lib/modules/dynamic-component/dynamic-component-options.mjs +2 -0
- package/esm2020/lib/modules/dynamic-component/dynamic-component.module.mjs +17 -0
- package/esm2020/lib/modules/dynamic-component/dynamic-component.service.mjs +83 -0
- package/esm2020/lib/modules/format/app-format.mjs +18 -0
- package/esm2020/lib/modules/id/id.directive.mjs +34 -0
- package/esm2020/lib/modules/id/id.module.mjs +16 -0
- package/esm2020/lib/modules/log/log.module.mjs +16 -0
- package/esm2020/lib/modules/log/log.service.mjs +132 -0
- package/esm2020/lib/modules/log/types/log-deprecation-args.mjs +2 -0
- package/esm2020/lib/modules/log/types/log-level-token.mjs +6 -0
- package/esm2020/lib/modules/log/types/log-level.mjs +2 -0
- package/esm2020/lib/modules/media-query/media-breakpoints.mjs +20 -0
- package/esm2020/lib/modules/media-query/media-query-listener.mjs +2 -0
- package/esm2020/lib/modules/media-query/media-query.module.mjs +16 -0
- package/esm2020/lib/modules/media-query/media-query.service.mjs +121 -0
- package/esm2020/lib/modules/mutation/mutation-observer-service.mjs +16 -0
- package/esm2020/lib/modules/numeric/numeric-symbol.mjs +2 -0
- package/esm2020/lib/modules/numeric/numeric.module.mjs +20 -0
- package/esm2020/lib/modules/numeric/numeric.options.mjs +46 -0
- package/esm2020/lib/modules/numeric/numeric.pipe.mjs +80 -0
- package/esm2020/lib/modules/numeric/numeric.service.mjs +186 -0
- package/esm2020/lib/modules/overlay/overlay-adapter.service.mjs +41 -0
- package/esm2020/lib/modules/overlay/overlay-config.mjs +2 -0
- package/esm2020/lib/modules/overlay/overlay-context.mjs +10 -0
- package/esm2020/lib/modules/overlay/overlay-instance.mjs +55 -0
- package/esm2020/lib/modules/overlay/overlay.component.mjs +149 -0
- package/esm2020/lib/modules/overlay/overlay.module.mjs +17 -0
- package/esm2020/lib/modules/overlay/overlay.service.mjs +120 -0
- package/esm2020/lib/modules/percent-pipe/percent-pipe.module.mjs +20 -0
- package/esm2020/lib/modules/percent-pipe/percent.pipe.mjs +48 -0
- package/esm2020/lib/modules/resize-observer/resize-observer-media-query.service.mjs +117 -0
- package/esm2020/lib/modules/resize-observer/resize-observer.service.mjs +73 -0
- package/esm2020/lib/modules/scrollable-host/scrollable-host.service.mjs +184 -0
- package/esm2020/lib/modules/shared/number-format/number-format-utility.mjs +71 -0
- package/esm2020/lib/modules/shared/sky-core-resources.module.mjs +50 -0
- package/esm2020/lib/modules/title/set-title-args.mjs +2 -0
- package/esm2020/lib/modules/title/title.service.mjs +31 -0
- package/esm2020/lib/modules/ui-config/ui-config.service.mjs +21 -0
- package/esm2020/lib/modules/viewkeeper/viewkeeper-boundary-info.mjs +2 -0
- package/esm2020/lib/modules/viewkeeper/viewkeeper-fixed-styles.mjs +2 -0
- package/esm2020/lib/modules/viewkeeper/viewkeeper-host-options.mjs +10 -0
- package/esm2020/lib/modules/viewkeeper/viewkeeper-offset.mjs +2 -0
- package/esm2020/lib/modules/viewkeeper/viewkeeper-options.mjs +2 -0
- package/esm2020/lib/modules/viewkeeper/viewkeeper.directive.mjs +116 -0
- package/esm2020/lib/modules/viewkeeper/viewkeeper.mjs +251 -0
- package/esm2020/lib/modules/viewkeeper/viewkeeper.module.mjs +16 -0
- package/esm2020/lib/modules/viewkeeper/viewkeeper.service.mjs +39 -0
- package/esm2020/lib/modules/window/window-ref.mjs +30 -0
- package/esm2020/skyux-core.mjs +5 -0
- package/esm2020/testing/mock-media-query.service.mjs +41 -0
- package/esm2020/testing/mock-ui-config.service.mjs +59 -0
- package/esm2020/testing/public-api.mjs +3 -0
- package/esm2020/testing/skyux-core-testing.mjs +5 -0
- package/fesm2015/{skyux-core-testing.js → skyux-core-testing.mjs} +7 -7
- package/fesm2015/skyux-core-testing.mjs.map +1 -0
- package/fesm2015/skyux-core.mjs +3343 -0
- package/fesm2015/skyux-core.mjs.map +1 -0
- package/fesm2020/skyux-core-testing.mjs +103 -0
- package/fesm2020/skyux-core-testing.mjs.map +1 -0
- package/{fesm2015/skyux-core.js → fesm2020/skyux-core.mjs} +270 -178
- package/fesm2020/skyux-core.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/lib/modules/log/log.service.d.ts +37 -3
- package/lib/modules/log/types/log-deprecation-args.d.ts +27 -0
- package/lib/modules/log/types/log-level-token.d.ts +6 -0
- package/lib/modules/log/types/log-level.d.ts +8 -0
- package/lib/modules/numeric/numeric.options.d.ts +6 -1
- package/lib/modules/numeric/numeric.pipe.d.ts +2 -4
- package/lib/modules/numeric/numeric.service.d.ts +2 -2
- package/lib/modules/resize-observer/resize-observer-media-query.service.d.ts +0 -1
- package/package.json +35 -11
- package/testing/package.json +5 -5
- package/bundles/skyux-core-testing.umd.js +0 -459
- package/bundles/skyux-core.umd.js +0 -3848
- package/esm2015/index.js +0 -62
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/modules/adapter-service/adapter.module.js +0 -16
- package/esm2015/lib/modules/adapter-service/adapter.module.js.map +0 -1
- package/esm2015/lib/modules/adapter-service/adapter.service.js +0 -226
- package/esm2015/lib/modules/adapter-service/adapter.service.js.map +0 -1
- package/esm2015/lib/modules/adapter-service/focusable-children-options.js +0 -2
- package/esm2015/lib/modules/adapter-service/focusable-children-options.js.map +0 -1
- package/esm2015/lib/modules/affix/affix-auto-fit-context.js +0 -12
- package/esm2015/lib/modules/affix/affix-auto-fit-context.js.map +0 -1
- package/esm2015/lib/modules/affix/affix-config.js +0 -2
- package/esm2015/lib/modules/affix/affix-config.js.map +0 -1
- package/esm2015/lib/modules/affix/affix-horizontal-alignment.js +0 -2
- package/esm2015/lib/modules/affix/affix-horizontal-alignment.js.map +0 -1
- package/esm2015/lib/modules/affix/affix-offset-change.js +0 -2
- package/esm2015/lib/modules/affix/affix-offset-change.js.map +0 -1
- package/esm2015/lib/modules/affix/affix-offset.js +0 -2
- package/esm2015/lib/modules/affix/affix-offset.js.map +0 -1
- package/esm2015/lib/modules/affix/affix-placement-change.js +0 -2
- package/esm2015/lib/modules/affix/affix-placement-change.js.map +0 -1
- package/esm2015/lib/modules/affix/affix-placement.js +0 -2
- package/esm2015/lib/modules/affix/affix-placement.js.map +0 -1
- package/esm2015/lib/modules/affix/affix-utils.js +0 -18
- package/esm2015/lib/modules/affix/affix-utils.js.map +0 -1
- package/esm2015/lib/modules/affix/affix-vertical-alignment.js +0 -2
- package/esm2015/lib/modules/affix/affix-vertical-alignment.js.map +0 -1
- package/esm2015/lib/modules/affix/affix.directive.js +0 -100
- package/esm2015/lib/modules/affix/affix.directive.js.map +0 -1
- package/esm2015/lib/modules/affix/affix.module.js +0 -18
- package/esm2015/lib/modules/affix/affix.module.js.map +0 -1
- package/esm2015/lib/modules/affix/affix.service.js +0 -24
- package/esm2015/lib/modules/affix/affix.service.js.map +0 -1
- package/esm2015/lib/modules/affix/affixer.js +0 -349
- package/esm2015/lib/modules/affix/affixer.js.map +0 -1
- package/esm2015/lib/modules/affix/dom-utils.js +0 -77
- package/esm2015/lib/modules/affix/dom-utils.js.map +0 -1
- package/esm2015/lib/modules/dock/dock-dom-adapter.service.js +0 -80
- package/esm2015/lib/modules/dock/dock-dom-adapter.service.js.map +0 -1
- package/esm2015/lib/modules/dock/dock-insert-component-config.js +0 -2
- package/esm2015/lib/modules/dock/dock-insert-component-config.js.map +0 -1
- package/esm2015/lib/modules/dock/dock-item-config.js +0 -2
- package/esm2015/lib/modules/dock/dock-item-config.js.map +0 -1
- package/esm2015/lib/modules/dock/dock-item-reference.js +0 -2
- package/esm2015/lib/modules/dock/dock-item-reference.js.map +0 -1
- package/esm2015/lib/modules/dock/dock-item.js +0 -29
- package/esm2015/lib/modules/dock/dock-item.js.map +0 -1
- package/esm2015/lib/modules/dock/dock-location.js +0 -19
- package/esm2015/lib/modules/dock/dock-location.js.map +0 -1
- package/esm2015/lib/modules/dock/dock-options.js +0 -2
- package/esm2015/lib/modules/dock/dock-options.js.map +0 -1
- package/esm2015/lib/modules/dock/dock.component.js +0 -95
- package/esm2015/lib/modules/dock/dock.component.js.map +0 -1
- package/esm2015/lib/modules/dock/dock.module.js +0 -20
- package/esm2015/lib/modules/dock/dock.module.js.map +0 -1
- package/esm2015/lib/modules/dock/dock.service.js +0 -95
- package/esm2015/lib/modules/dock/dock.service.js.map +0 -1
- package/esm2015/lib/modules/dock/sort-by-stack-order.js +0 -13
- package/esm2015/lib/modules/dock/sort-by-stack-order.js.map +0 -1
- package/esm2015/lib/modules/dynamic-component/dynamic-component-location.js +0 -27
- package/esm2015/lib/modules/dynamic-component/dynamic-component-location.js.map +0 -1
- package/esm2015/lib/modules/dynamic-component/dynamic-component-options.js +0 -2
- package/esm2015/lib/modules/dynamic-component/dynamic-component-options.js.map +0 -1
- package/esm2015/lib/modules/dynamic-component/dynamic-component.module.js +0 -17
- package/esm2015/lib/modules/dynamic-component/dynamic-component.module.js.map +0 -1
- package/esm2015/lib/modules/dynamic-component/dynamic-component.service.js +0 -83
- package/esm2015/lib/modules/dynamic-component/dynamic-component.service.js.map +0 -1
- package/esm2015/lib/modules/format/app-format.js +0 -18
- package/esm2015/lib/modules/format/app-format.js.map +0 -1
- package/esm2015/lib/modules/id/id.directive.js +0 -34
- package/esm2015/lib/modules/id/id.directive.js.map +0 -1
- package/esm2015/lib/modules/id/id.module.js +0 -16
- package/esm2015/lib/modules/id/id.module.js.map +0 -1
- package/esm2015/lib/modules/log/log.module.js +0 -16
- package/esm2015/lib/modules/log/log.module.js.map +0 -1
- package/esm2015/lib/modules/log/log.service.js +0 -23
- package/esm2015/lib/modules/log/log.service.js.map +0 -1
- package/esm2015/lib/modules/media-query/media-breakpoints.js +0 -20
- package/esm2015/lib/modules/media-query/media-breakpoints.js.map +0 -1
- package/esm2015/lib/modules/media-query/media-query-listener.js +0 -2
- package/esm2015/lib/modules/media-query/media-query-listener.js.map +0 -1
- package/esm2015/lib/modules/media-query/media-query.module.js +0 -16
- package/esm2015/lib/modules/media-query/media-query.module.js.map +0 -1
- package/esm2015/lib/modules/media-query/media-query.service.js +0 -121
- package/esm2015/lib/modules/media-query/media-query.service.js.map +0 -1
- package/esm2015/lib/modules/mutation/mutation-observer-service.js +0 -16
- package/esm2015/lib/modules/mutation/mutation-observer-service.js.map +0 -1
- package/esm2015/lib/modules/numeric/numeric-symbol.js +0 -2
- package/esm2015/lib/modules/numeric/numeric-symbol.js.map +0 -1
- package/esm2015/lib/modules/numeric/numeric.module.js +0 -20
- package/esm2015/lib/modules/numeric/numeric.module.js.map +0 -1
- package/esm2015/lib/modules/numeric/numeric.options.js +0 -41
- package/esm2015/lib/modules/numeric/numeric.options.js.map +0 -1
- package/esm2015/lib/modules/numeric/numeric.pipe.js +0 -83
- package/esm2015/lib/modules/numeric/numeric.pipe.js.map +0 -1
- package/esm2015/lib/modules/numeric/numeric.service.js +0 -189
- package/esm2015/lib/modules/numeric/numeric.service.js.map +0 -1
- package/esm2015/lib/modules/overlay/overlay-adapter.service.js +0 -41
- package/esm2015/lib/modules/overlay/overlay-adapter.service.js.map +0 -1
- package/esm2015/lib/modules/overlay/overlay-config.js +0 -2
- package/esm2015/lib/modules/overlay/overlay-config.js.map +0 -1
- package/esm2015/lib/modules/overlay/overlay-context.js +0 -10
- package/esm2015/lib/modules/overlay/overlay-context.js.map +0 -1
- package/esm2015/lib/modules/overlay/overlay-instance.js +0 -55
- package/esm2015/lib/modules/overlay/overlay-instance.js.map +0 -1
- package/esm2015/lib/modules/overlay/overlay.component.js +0 -154
- package/esm2015/lib/modules/overlay/overlay.component.js.map +0 -1
- package/esm2015/lib/modules/overlay/overlay.module.js +0 -18
- package/esm2015/lib/modules/overlay/overlay.module.js.map +0 -1
- package/esm2015/lib/modules/overlay/overlay.service.js +0 -120
- package/esm2015/lib/modules/overlay/overlay.service.js.map +0 -1
- package/esm2015/lib/modules/percent-pipe/percent-pipe.module.js +0 -20
- package/esm2015/lib/modules/percent-pipe/percent-pipe.module.js.map +0 -1
- package/esm2015/lib/modules/percent-pipe/percent.pipe.js +0 -48
- package/esm2015/lib/modules/percent-pipe/percent.pipe.js.map +0 -1
- package/esm2015/lib/modules/resize-observer/resize-observer-media-query.service.js +0 -117
- package/esm2015/lib/modules/resize-observer/resize-observer-media-query.service.js.map +0 -1
- package/esm2015/lib/modules/resize-observer/resize-observer.service.js +0 -73
- package/esm2015/lib/modules/resize-observer/resize-observer.service.js.map +0 -1
- package/esm2015/lib/modules/scrollable-host/scrollable-host.service.js +0 -184
- package/esm2015/lib/modules/scrollable-host/scrollable-host.service.js.map +0 -1
- package/esm2015/lib/modules/shared/number-format/number-format-utility.js +0 -72
- package/esm2015/lib/modules/shared/number-format/number-format-utility.js.map +0 -1
- package/esm2015/lib/modules/shared/sky-core-resources.module.js +0 -50
- package/esm2015/lib/modules/shared/sky-core-resources.module.js.map +0 -1
- package/esm2015/lib/modules/title/set-title-args.js +0 -2
- package/esm2015/lib/modules/title/set-title-args.js.map +0 -1
- package/esm2015/lib/modules/title/title.service.js +0 -31
- package/esm2015/lib/modules/title/title.service.js.map +0 -1
- package/esm2015/lib/modules/ui-config/ui-config.service.js +0 -21
- package/esm2015/lib/modules/ui-config/ui-config.service.js.map +0 -1
- package/esm2015/lib/modules/viewkeeper/viewkeeper-boundary-info.js +0 -2
- package/esm2015/lib/modules/viewkeeper/viewkeeper-boundary-info.js.map +0 -1
- package/esm2015/lib/modules/viewkeeper/viewkeeper-fixed-styles.js +0 -2
- package/esm2015/lib/modules/viewkeeper/viewkeeper-fixed-styles.js.map +0 -1
- package/esm2015/lib/modules/viewkeeper/viewkeeper-host-options.js +0 -10
- package/esm2015/lib/modules/viewkeeper/viewkeeper-host-options.js.map +0 -1
- package/esm2015/lib/modules/viewkeeper/viewkeeper-offset.js +0 -2
- package/esm2015/lib/modules/viewkeeper/viewkeeper-offset.js.map +0 -1
- package/esm2015/lib/modules/viewkeeper/viewkeeper-options.js +0 -2
- package/esm2015/lib/modules/viewkeeper/viewkeeper-options.js.map +0 -1
- package/esm2015/lib/modules/viewkeeper/viewkeeper.directive.js +0 -116
- package/esm2015/lib/modules/viewkeeper/viewkeeper.directive.js.map +0 -1
- package/esm2015/lib/modules/viewkeeper/viewkeeper.js +0 -251
- package/esm2015/lib/modules/viewkeeper/viewkeeper.js.map +0 -1
- package/esm2015/lib/modules/viewkeeper/viewkeeper.module.js +0 -16
- package/esm2015/lib/modules/viewkeeper/viewkeeper.module.js.map +0 -1
- package/esm2015/lib/modules/viewkeeper/viewkeeper.service.js +0 -39
- package/esm2015/lib/modules/viewkeeper/viewkeeper.service.js.map +0 -1
- package/esm2015/lib/modules/window/window-ref.js +0 -30
- package/esm2015/lib/modules/window/window-ref.js.map +0 -1
- package/esm2015/skyux-core.js +0 -5
- package/esm2015/skyux-core.js.map +0 -1
- package/esm2015/testing/mock-media-query.service.js +0 -41
- package/esm2015/testing/mock-media-query.service.js.map +0 -1
- package/esm2015/testing/mock-ui-config.service.js +0 -59
- package/esm2015/testing/mock-ui-config.service.js.map +0 -1
- package/esm2015/testing/public-api.js +0 -3
- package/esm2015/testing/public-api.js.map +0 -1
- package/esm2015/testing/skyux-core-testing.js +0 -5
- package/esm2015/testing/skyux-core-testing.js.map +0 -1
- package/fesm2015/skyux-core-testing.js.map +0 -1
- package/fesm2015/skyux-core.js.map +0 -1
@@ -0,0 +1,132 @@
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
2
|
+
import { SkyAppFormat } from '../format/app-format';
|
3
|
+
import { SKY_LOG_LEVEL } from './types/log-level-token';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "../format/app-format";
|
6
|
+
/**
|
7
|
+
* Logs information to the console based on the application's log level as provided by the `SKY_LOG_LEVEL` injection token. If no token is provided, only `error` logs will be shown.
|
8
|
+
* @internal
|
9
|
+
*/
|
10
|
+
export class SkyLogService {
|
11
|
+
constructor(formatter, applicationLogLevel) {
|
12
|
+
this.formatter = formatter;
|
13
|
+
this.applicationLogLevel = applicationLogLevel;
|
14
|
+
if (!this.applicationLogLevel) {
|
15
|
+
this.applicationLogLevel = 3 /* Error */;
|
16
|
+
}
|
17
|
+
}
|
18
|
+
/**
|
19
|
+
* Logs a deprecation warning for a class, property, function, etc. This will be logged as a console warning unless a different log level is given in the the `args` parameter.
|
20
|
+
* @param name The name of the deprecated class, property, function, etc.
|
21
|
+
* @param args Information about the deprecation and replacement recommendations.
|
22
|
+
* @returns
|
23
|
+
*/
|
24
|
+
async deprecated(name, args) {
|
25
|
+
const logLevel = args?.logLevel ?? 2 /* Warn */;
|
26
|
+
name = this.convertStringToCode(name);
|
27
|
+
if (this.canLog(logLevel)) {
|
28
|
+
const localizedStrings = [];
|
29
|
+
if (args?.deprecationMajorVersion) {
|
30
|
+
localizedStrings.push(this.formatter.formatText('{0} is deprecated starting in SKY UX {1}.', name, args.deprecationMajorVersion.toLocaleString()));
|
31
|
+
}
|
32
|
+
else {
|
33
|
+
localizedStrings.push(this.formatter.formatText('{0} is deprecated.', name));
|
34
|
+
}
|
35
|
+
if (args?.removalMajorVersion) {
|
36
|
+
localizedStrings.push(this.formatter.formatText('We will remove it in version {0}.', args.removalMajorVersion.toLocaleString()));
|
37
|
+
}
|
38
|
+
else {
|
39
|
+
localizedStrings.push('We will remove it in a future major version.');
|
40
|
+
}
|
41
|
+
if (args?.replacementRecommendation) {
|
42
|
+
localizedStrings.push(args.replacementRecommendation);
|
43
|
+
}
|
44
|
+
if (args?.moreInfoUrl) {
|
45
|
+
localizedStrings.push(this.formatter.formatText('For more information, see {0}.', args.moreInfoUrl));
|
46
|
+
}
|
47
|
+
this.logBasedOnLevel(logLevel, localizedStrings.join(' '));
|
48
|
+
}
|
49
|
+
return Promise.resolve();
|
50
|
+
}
|
51
|
+
/**
|
52
|
+
* Logs a console error if the application's log level is `SkyLogLevel.Error`.
|
53
|
+
* @param message The error message
|
54
|
+
* @param params Optional parameters for the error message.
|
55
|
+
*/
|
56
|
+
error(message, params) {
|
57
|
+
if (this.canLog(3 /* Error */)) {
|
58
|
+
if (params) {
|
59
|
+
console.error(message, ...params);
|
60
|
+
}
|
61
|
+
else {
|
62
|
+
console.error(message);
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
66
|
+
/**
|
67
|
+
* Logs console information if the application's log level is `SkyLogLevel.Info` or above.
|
68
|
+
* @param message The infomational message
|
69
|
+
* @param params Optional parameters for the informational message.
|
70
|
+
*/
|
71
|
+
info(message, params) {
|
72
|
+
if (this.canLog(1 /* Info */)) {
|
73
|
+
if (params) {
|
74
|
+
console.log(message, ...params);
|
75
|
+
}
|
76
|
+
else {
|
77
|
+
console.log(message);
|
78
|
+
}
|
79
|
+
}
|
80
|
+
}
|
81
|
+
/**
|
82
|
+
* Logs a console warning if the application's log level is `SkyLogLevel.Warn` or above.
|
83
|
+
* @param message The warning message
|
84
|
+
* @param params Optional parameters for the warning message.
|
85
|
+
*/
|
86
|
+
warn(message, params) {
|
87
|
+
if (this.canLog(2 /* Warn */)) {
|
88
|
+
if (params) {
|
89
|
+
console.warn(message, ...params);
|
90
|
+
}
|
91
|
+
else {
|
92
|
+
console.warn(message);
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
convertStringToCode(typeString) {
|
97
|
+
if (typeString.charAt(0) !== '`' && typeString.charAt(-1) !== '`') {
|
98
|
+
typeString = '`' + typeString + '`';
|
99
|
+
}
|
100
|
+
return typeString;
|
101
|
+
}
|
102
|
+
canLog(intendedLogLevel) {
|
103
|
+
return intendedLogLevel >= this.applicationLogLevel;
|
104
|
+
}
|
105
|
+
logBasedOnLevel(logLevel, message, params) {
|
106
|
+
switch (logLevel) {
|
107
|
+
case 1 /* Info */:
|
108
|
+
this.info(message, params);
|
109
|
+
break;
|
110
|
+
case 2 /* Warn */:
|
111
|
+
this.warn(message, params);
|
112
|
+
break;
|
113
|
+
case 3 /* Error */:
|
114
|
+
this.error(message, params);
|
115
|
+
break;
|
116
|
+
}
|
117
|
+
}
|
118
|
+
}
|
119
|
+
SkyLogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLogService, deps: [{ token: i1.SkyAppFormat }, { token: SKY_LOG_LEVEL, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
120
|
+
SkyLogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLogService, providedIn: 'root' });
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyLogService, decorators: [{
|
122
|
+
type: Injectable,
|
123
|
+
args: [{
|
124
|
+
providedIn: 'root',
|
125
|
+
}]
|
126
|
+
}], ctorParameters: function () { return [{ type: i1.SkyAppFormat }, { type: undefined, decorators: [{
|
127
|
+
type: Optional
|
128
|
+
}, {
|
129
|
+
type: Inject,
|
130
|
+
args: [SKY_LOG_LEVEL]
|
131
|
+
}] }]; } });
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvbG9nL2xvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFFeEQ7OztHQUdHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFDVSxTQUF1QixFQUd2QixtQkFBZ0M7UUFIaEMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUd2Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWE7UUFFeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM3QixJQUFJLENBQUMsbUJBQW1CLGdCQUFvQixDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLFVBQVUsQ0FDckIsSUFBWSxFQUNaLElBQTJCO1FBRTNCLE1BQU0sUUFBUSxHQUFHLElBQUksRUFBRSxRQUFRLGdCQUFvQixDQUFDO1FBQ3BELElBQUksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1lBRTVCLElBQUksSUFBSSxFQUFFLHVCQUF1QixFQUFFO2dCQUNqQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUN2QiwyQ0FBMkMsRUFDM0MsSUFBSSxFQUNKLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLEVBQUUsQ0FDOUMsQ0FDRixDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsZ0JBQWdCLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsQ0FDdEQsQ0FBQzthQUNIO1lBRUQsSUFBSSxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7Z0JBQzdCLGdCQUFnQixDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQ3ZCLG1DQUFtQyxFQUNuQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLENBQzFDLENBQ0YsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLGdCQUFnQixDQUFDLElBQUksQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO2FBQ3ZFO1lBRUQsSUFBSSxJQUFJLEVBQUUseUJBQXlCLEVBQUU7Z0JBQ25DLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQzthQUN2RDtZQUVELElBQUksSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDckIsZ0JBQWdCLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FDdkIsZ0NBQWdDLEVBQ2hDLElBQUksQ0FBQyxXQUFXLENBQ2pCLENBQ0YsQ0FBQzthQUNIO1lBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDNUQ7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxPQUFlLEVBQUUsTUFBa0I7UUFDOUMsSUFBSSxJQUFJLENBQUMsTUFBTSxlQUFtQixFQUFFO1lBQ2xDLElBQUksTUFBTSxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7YUFDbkM7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN4QjtTQUNGO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxJQUFJLENBQUMsT0FBZSxFQUFFLE1BQWtCO1FBQzdDLElBQUksSUFBSSxDQUFDLE1BQU0sY0FBa0IsRUFBRTtZQUNqQyxJQUFJLE1BQU0sRUFBRTtnQkFDVixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdEI7U0FDRjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksSUFBSSxDQUFDLE9BQWUsRUFBRSxNQUFrQjtRQUM3QyxJQUFJLElBQUksQ0FBQyxNQUFNLGNBQWtCLEVBQUU7WUFDakMsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQzthQUNsQztpQkFBTTtnQkFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3ZCO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsVUFBa0I7UUFDNUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO1lBQ2pFLFVBQVUsR0FBRyxHQUFHLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQztTQUNyQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxNQUFNLENBQUMsZ0JBQTZCO1FBQzFDLE9BQU8sZ0JBQWdCLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3RELENBQUM7SUFFTyxlQUFlLENBQ3JCLFFBQXFCLEVBQ3JCLE9BQWUsRUFDZixNQUFrQjtRQUVsQixRQUFRLFFBQVEsRUFBRTtZQUNoQjtnQkFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDM0IsTUFBTTtZQUNSO2dCQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUMzQixNQUFNO1lBQ1I7Z0JBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQzVCLE1BQU07U0FDVDtJQUNILENBQUM7OzBHQS9JVSxhQUFhLDhDQUlkLGFBQWE7OEdBSlosYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUlJLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5QXBwRm9ybWF0IH0gZnJvbSAnLi4vZm9ybWF0L2FwcC1mb3JtYXQnO1xuXG5pbXBvcnQgeyBTa3lMb2dEZXByZWNhdGVkQXJncyB9IGZyb20gJy4vdHlwZXMvbG9nLWRlcHJlY2F0aW9uLWFyZ3MnO1xuaW1wb3J0IHsgU2t5TG9nTGV2ZWwgfSBmcm9tICcuL3R5cGVzL2xvZy1sZXZlbCc7XG5pbXBvcnQgeyBTS1lfTE9HX0xFVkVMIH0gZnJvbSAnLi90eXBlcy9sb2ctbGV2ZWwtdG9rZW4nO1xuXG4vKipcbiAqIExvZ3MgaW5mb3JtYXRpb24gdG8gdGhlIGNvbnNvbGUgYmFzZWQgb24gdGhlIGFwcGxpY2F0aW9uJ3MgbG9nIGxldmVsIGFzIHByb3ZpZGVkIGJ5IHRoZSBgU0tZX0xPR19MRVZFTGAgaW5qZWN0aW9uIHRva2VuLiBJZiBubyB0b2tlbiBpcyBwcm92aWRlZCwgb25seSBgZXJyb3JgIGxvZ3Mgd2lsbCBiZSBzaG93bi5cbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybWF0dGVyOiBTa3lBcHBGb3JtYXQsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFNLWV9MT0dfTEVWRUwpXG4gICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkxvZ0xldmVsOiBTa3lMb2dMZXZlbFxuICApIHtcbiAgICBpZiAoIXRoaXMuYXBwbGljYXRpb25Mb2dMZXZlbCkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvbkxvZ0xldmVsID0gU2t5TG9nTGV2ZWwuRXJyb3I7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExvZ3MgYSBkZXByZWNhdGlvbiB3YXJuaW5nIGZvciBhIGNsYXNzLCBwcm9wZXJ0eSwgZnVuY3Rpb24sIGV0Yy4gVGhpcyB3aWxsIGJlIGxvZ2dlZCBhcyBhIGNvbnNvbGUgd2FybmluZyB1bmxlc3MgYSBkaWZmZXJlbnQgbG9nIGxldmVsIGlzIGdpdmVuIGluIHRoZSB0aGUgYGFyZ3NgIHBhcmFtZXRlci5cbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGRlcHJlY2F0ZWQgY2xhc3MsIHByb3BlcnR5LCBmdW5jdGlvbiwgZXRjLlxuICAgKiBAcGFyYW0gYXJncyBJbmZvcm1hdGlvbiBhYm91dCB0aGUgZGVwcmVjYXRpb24gYW5kIHJlcGxhY2VtZW50IHJlY29tbWVuZGF0aW9ucy5cbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBkZXByZWNhdGVkKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBhcmdzPzogU2t5TG9nRGVwcmVjYXRlZEFyZ3NcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbG9nTGV2ZWwgPSBhcmdzPy5sb2dMZXZlbCA/PyBTa3lMb2dMZXZlbC5XYXJuO1xuICAgIG5hbWUgPSB0aGlzLmNvbnZlcnRTdHJpbmdUb0NvZGUobmFtZSk7XG5cbiAgICBpZiAodGhpcy5jYW5Mb2cobG9nTGV2ZWwpKSB7XG4gICAgICBjb25zdCBsb2NhbGl6ZWRTdHJpbmdzID0gW107XG5cbiAgICAgIGlmIChhcmdzPy5kZXByZWNhdGlvbk1ham9yVmVyc2lvbikge1xuICAgICAgICBsb2NhbGl6ZWRTdHJpbmdzLnB1c2goXG4gICAgICAgICAgdGhpcy5mb3JtYXR0ZXIuZm9ybWF0VGV4dChcbiAgICAgICAgICAgICd7MH0gaXMgZGVwcmVjYXRlZCBzdGFydGluZyBpbiBTS1kgVVggezF9LicsXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgYXJncy5kZXByZWNhdGlvbk1ham9yVmVyc2lvbi50b0xvY2FsZVN0cmluZygpXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9jYWxpemVkU3RyaW5ncy5wdXNoKFxuICAgICAgICAgIHRoaXMuZm9ybWF0dGVyLmZvcm1hdFRleHQoJ3swfSBpcyBkZXByZWNhdGVkLicsIG5hbWUpXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChhcmdzPy5yZW1vdmFsTWFqb3JWZXJzaW9uKSB7XG4gICAgICAgIGxvY2FsaXplZFN0cmluZ3MucHVzaChcbiAgICAgICAgICB0aGlzLmZvcm1hdHRlci5mb3JtYXRUZXh0KFxuICAgICAgICAgICAgJ1dlIHdpbGwgcmVtb3ZlIGl0IGluIHZlcnNpb24gezB9LicsXG4gICAgICAgICAgICBhcmdzLnJlbW92YWxNYWpvclZlcnNpb24udG9Mb2NhbGVTdHJpbmcoKVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvY2FsaXplZFN0cmluZ3MucHVzaCgnV2Ugd2lsbCByZW1vdmUgaXQgaW4gYSBmdXR1cmUgbWFqb3IgdmVyc2lvbi4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGFyZ3M/LnJlcGxhY2VtZW50UmVjb21tZW5kYXRpb24pIHtcbiAgICAgICAgbG9jYWxpemVkU3RyaW5ncy5wdXNoKGFyZ3MucmVwbGFjZW1lbnRSZWNvbW1lbmRhdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGlmIChhcmdzPy5tb3JlSW5mb1VybCkge1xuICAgICAgICBsb2NhbGl6ZWRTdHJpbmdzLnB1c2goXG4gICAgICAgICAgdGhpcy5mb3JtYXR0ZXIuZm9ybWF0VGV4dChcbiAgICAgICAgICAgICdGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHswfS4nLFxuICAgICAgICAgICAgYXJncy5tb3JlSW5mb1VybFxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2dCYXNlZE9uTGV2ZWwobG9nTGV2ZWwsIGxvY2FsaXplZFN0cmluZ3Muam9pbignICcpKTtcbiAgICB9XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvZ3MgYSBjb25zb2xlIGVycm9yIGlmIHRoZSBhcHBsaWNhdGlvbidzIGxvZyBsZXZlbCBpcyBgU2t5TG9nTGV2ZWwuRXJyb3JgLlxuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZVxuICAgKiBAcGFyYW0gcGFyYW1zIE9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIHRoZSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgcHVibGljIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogdW5rbm93bltdKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuTG9nKFNreUxvZ0xldmVsLkVycm9yKSkge1xuICAgICAgaWYgKHBhcmFtcykge1xuICAgICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UsIC4uLnBhcmFtcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dzIGNvbnNvbGUgaW5mb3JtYXRpb24gaWYgdGhlIGFwcGxpY2F0aW9uJ3MgbG9nIGxldmVsIGlzIGBTa3lMb2dMZXZlbC5JbmZvYCBvciBhYm92ZS5cbiAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGluZm9tYXRpb25hbCBtZXNzYWdlXG4gICAqIEBwYXJhbSBwYXJhbXMgT3B0aW9uYWwgcGFyYW1ldGVycyBmb3IgdGhlIGluZm9ybWF0aW9uYWwgbWVzc2FnZS5cbiAgICovXG4gIHB1YmxpYyBpbmZvKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogdW5rbm93bltdKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuTG9nKFNreUxvZ0xldmVsLkluZm8pKSB7XG4gICAgICBpZiAocGFyYW1zKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UsIC4uLnBhcmFtcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZyhtZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBhIGNvbnNvbGUgd2FybmluZyBpZiB0aGUgYXBwbGljYXRpb24ncyBsb2cgbGV2ZWwgaXMgYFNreUxvZ0xldmVsLldhcm5gIG9yIGFib3ZlLlxuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlXG4gICAqIEBwYXJhbSBwYXJhbXMgT3B0aW9uYWwgcGFyYW1ldGVycyBmb3IgdGhlIHdhcm5pbmcgbWVzc2FnZS5cbiAgICovXG4gIHB1YmxpYyB3YXJuKG1lc3NhZ2U6IHN0cmluZywgcGFyYW1zPzogdW5rbm93bltdKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuTG9nKFNreUxvZ0xldmVsLldhcm4pKSB7XG4gICAgICBpZiAocGFyYW1zKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihtZXNzYWdlLCAuLi5wYXJhbXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKG1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFN0cmluZ1RvQ29kZSh0eXBlU3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlU3RyaW5nLmNoYXJBdCgwKSAhPT0gJ2AnICYmIHR5cGVTdHJpbmcuY2hhckF0KC0xKSAhPT0gJ2AnKSB7XG4gICAgICB0eXBlU3RyaW5nID0gJ2AnICsgdHlwZVN0cmluZyArICdgJztcbiAgICB9XG4gICAgcmV0dXJuIHR5cGVTdHJpbmc7XG4gIH1cblxuICBwcml2YXRlIGNhbkxvZyhpbnRlbmRlZExvZ0xldmVsOiBTa3lMb2dMZXZlbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbnRlbmRlZExvZ0xldmVsID49IHRoaXMuYXBwbGljYXRpb25Mb2dMZXZlbDtcbiAgfVxuXG4gIHByaXZhdGUgbG9nQmFzZWRPbkxldmVsKFxuICAgIGxvZ0xldmVsOiBTa3lMb2dMZXZlbCxcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgcGFyYW1zPzogdW5rbm93bltdXG4gICk6IHZvaWQge1xuICAgIHN3aXRjaCAobG9nTGV2ZWwpIHtcbiAgICAgIGNhc2UgU2t5TG9nTGV2ZWwuSW5mbzpcbiAgICAgICAgdGhpcy5pbmZvKG1lc3NhZ2UsIHBhcmFtcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTa3lMb2dMZXZlbC5XYXJuOlxuICAgICAgICB0aGlzLndhcm4obWVzc2FnZSwgcGFyYW1zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNreUxvZ0xldmVsLkVycm9yOlxuICAgICAgICB0aGlzLmVycm9yKG1lc3NhZ2UsIHBhcmFtcyk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWRlcHJlY2F0aW9uLWFyZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvbG9nL3R5cGVzL2xvZy1kZXByZWNhdGlvbi1hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lMb2dMZXZlbCB9IGZyb20gJy4vbG9nLWxldmVsJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEFyZ3VtZW50cyB1c2VkIHdoZW4gbG9nZ2luZyB0aGF0IGEgY2xhc3MsIHByb3BlcnR5LCBmdW5jdGlvbiwgZXRjLiBpcyBkZXBjcmVjYXRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lMb2dEZXByZWNhdGVkQXJncyB7XG4gIC8qKlxuICAgKiBUaGUgbWFqb3IgdmVyc2lvbiB3aGljaCBkZXByZWNhdGVkIHRoZSBmZWF0dXJlLlxuICAgKi9cbiAgZGVwcmVjYXRpb25NYWpvclZlcnNpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbG9nIGxldmVsIGZvciB0aGUgY29uc29sZSBsb2dnaW5nLiBUaGUgYFNreUxvZ1NlcnZpY2VgIHdpbGwgYXNzdW1lIGBTa3lMb2dMZXZlbC5XYXJuYCBpZiB0aGlzIGlzIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIGxvZ0xldmVsPzogU2t5TG9nTGV2ZWw7XG4gIC8qKlxuICAgKiBBIFVSTCB3aGljaCBnaXZlcyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkZXByZWNhdGlvbiBvciB0aGUgcmVwbGFjZW1lbnQgcmVjb21tZW5kYXRpb24uXG4gICAqL1xuICBtb3JlSW5mb1VybD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtYWpvciB2ZXJzaW9uIHdoaWNoIHdpbGwgcmVtb3ZlIHRoZSBkZXByZWNhdGVkIGZlYXR1cmUuXG4gICAqL1xuICByZW1vdmFsTWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIHJlY29tbWVuZGF0aW9uIGZvciBob3cgdG8gcmVwbGFjZSB0aGUgZGVwcmVjYXRlZCBmZWF0dXJlLlxuICAgKi9cbiAgcmVwbGFjZW1lbnRSZWNvbW1lbmRhdGlvbj86IHN0cmluZztcbn1cbiJdfQ==
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
/**
|
3
|
+
* @internal
|
4
|
+
*/
|
5
|
+
export const SKY_LOG_LEVEL = new InjectionToken('SkyLogLevel');
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWxldmVsLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2xvZy90eXBlcy9sb2ctbGV2ZWwtdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBYyxhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUxvZ0xldmVsIH0gZnJvbSAnLi9sb2ctbGV2ZWwnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgU0tZX0xPR19MRVZFTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTa3lMb2dMZXZlbD4oJ1NreUxvZ0xldmVsJyk7XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWxldmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2xvZy90eXBlcy9sb2ctbGV2ZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBlbnVtIFNreUxvZ0xldmVsIHtcbiAgSW5mbyA9IDEsXG4gIFdhcm4gPSAyLFxuICBFcnJvciA9IDMsXG59XG4iXX0=
|
@@ -0,0 +1,20 @@
|
|
1
|
+
export var SkyMediaBreakpoints;
|
2
|
+
(function (SkyMediaBreakpoints) {
|
3
|
+
/**
|
4
|
+
* Indicates screen widths of 767px or less.
|
5
|
+
*/
|
6
|
+
SkyMediaBreakpoints[SkyMediaBreakpoints["xs"] = 1] = "xs";
|
7
|
+
/**
|
8
|
+
* Indicates screen widths of 768px to 991px.
|
9
|
+
*/
|
10
|
+
SkyMediaBreakpoints[SkyMediaBreakpoints["sm"] = 2] = "sm";
|
11
|
+
/**
|
12
|
+
* Indicates screen widths of 992px to 1199px.
|
13
|
+
*/
|
14
|
+
SkyMediaBreakpoints[SkyMediaBreakpoints["md"] = 3] = "md";
|
15
|
+
/**
|
16
|
+
* Indicates screen widths of 1200px or greater.
|
17
|
+
*/
|
18
|
+
SkyMediaBreakpoints[SkyMediaBreakpoints["lg"] = 4] = "lg";
|
19
|
+
})(SkyMediaBreakpoints || (SkyMediaBreakpoints = {}));
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtYnJlYWtwb2ludHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvbWVkaWEtcXVlcnkvbWVkaWEtYnJlYWtwb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBb0JYO0FBcEJELFdBQVksbUJBQW1CO0lBQzdCOztPQUVHO0lBQ0gseURBQU0sQ0FBQTtJQUVOOztPQUVHO0lBQ0gseURBQUUsQ0FBQTtJQUVGOztPQUVHO0lBQ0gseURBQUUsQ0FBQTtJQUVGOztPQUVHO0lBQ0gseURBQUUsQ0FBQTtBQUNKLENBQUMsRUFwQlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQW9COUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTa3lNZWRpYUJyZWFrcG9pbnRzIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBzY3JlZW4gd2lkdGhzIG9mIDc2N3B4IG9yIGxlc3MuXG4gICAqL1xuICB4cyA9IDEsXG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBzY3JlZW4gd2lkdGhzIG9mIDc2OHB4IHRvIDk5MXB4LlxuICAgKi9cbiAgc20sXG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBzY3JlZW4gd2lkdGhzIG9mIDk5MnB4IHRvIDExOTlweC5cbiAgICovXG4gIG1kLFxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgc2NyZWVuIHdpZHRocyBvZiAxMjAwcHggb3IgZ3JlYXRlci5cbiAgICovXG4gIGxnLFxufVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcXVlcnktbGlzdGVuZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvbWVkaWEtcXVlcnkvbWVkaWEtcXVlcnktbGlzdGVuZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreU1lZGlhQnJlYWtwb2ludHMgfSBmcm9tICcuL21lZGlhLWJyZWFrcG9pbnRzJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSBicmVha3BvaW50cyBjaGFuZ2UuIEl0IGlzIGNhbGxlZFxuICogd2l0aCBhIGBTa3lNZWRpYUJyZWFrcG9pbnRzYCBhcmd1bWVudCwgd2hpY2ggaXMgYW4gZW51bSB0aGF0IHJlcHJlc2VudHMgdGhlIG5ldyBicmVha3BvaW50LlxuICovXG5leHBvcnQgdHlwZSBTa3lNZWRpYVF1ZXJ5TGlzdGVuZXIgPSAoYXJnczogU2t5TWVkaWFCcmVha3BvaW50cykgPT4gdm9pZDtcbiJdfQ==
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
/**
|
4
|
+
* @deprecated The `SkyMediaQueryService` no longer needs the `SkyMediaQueryModule`.
|
5
|
+
* The `SkyMediaQueryModule` can be removed from your project.
|
6
|
+
*/
|
7
|
+
export class SkyMediaQueryModule {
|
8
|
+
}
|
9
|
+
SkyMediaQueryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyMediaQueryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
10
|
+
SkyMediaQueryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyMediaQueryModule });
|
11
|
+
SkyMediaQueryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyMediaQueryModule });
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyMediaQueryModule, decorators: [{
|
13
|
+
type: NgModule,
|
14
|
+
args: [{}]
|
15
|
+
}] });
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcXVlcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV6Qzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixRQUFRO21CQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoZSBgU2t5TWVkaWFRdWVyeVNlcnZpY2VgIG5vIGxvbmdlciBuZWVkcyB0aGUgYFNreU1lZGlhUXVlcnlNb2R1bGVgLlxuICogVGhlIGBTa3lNZWRpYVF1ZXJ5TW9kdWxlYCBjYW4gYmUgcmVtb3ZlZCBmcm9tIHlvdXIgcHJvamVjdC5cbiAqL1xuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIFNreU1lZGlhUXVlcnlNb2R1bGUge31cbiJdfQ==
|
@@ -0,0 +1,121 @@
|
|
1
|
+
import { Injectable, NgZone } from '@angular/core';
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
3
|
+
import { SkyMediaBreakpoints } from './media-breakpoints';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class SkyMediaQueryService {
|
6
|
+
constructor(zone) {
|
7
|
+
this.zone = zone;
|
8
|
+
this.currentSubject = new BehaviorSubject(this.current);
|
9
|
+
this._current = SkyMediaBreakpoints.md;
|
10
|
+
this.breakpoints = [
|
11
|
+
{
|
12
|
+
mediaQueryString: SkyMediaQueryService.xs,
|
13
|
+
name: SkyMediaBreakpoints.xs,
|
14
|
+
},
|
15
|
+
{
|
16
|
+
mediaQueryString: SkyMediaQueryService.sm,
|
17
|
+
name: SkyMediaBreakpoints.sm,
|
18
|
+
},
|
19
|
+
{
|
20
|
+
mediaQueryString: SkyMediaQueryService.md,
|
21
|
+
name: SkyMediaBreakpoints.md,
|
22
|
+
},
|
23
|
+
{
|
24
|
+
mediaQueryString: SkyMediaQueryService.lg,
|
25
|
+
name: SkyMediaBreakpoints.lg,
|
26
|
+
},
|
27
|
+
];
|
28
|
+
this.mediaQueries = [];
|
29
|
+
this.addListeners();
|
30
|
+
}
|
31
|
+
/**
|
32
|
+
* Returns the current breakpoint.
|
33
|
+
*/
|
34
|
+
get current() {
|
35
|
+
return this._current;
|
36
|
+
}
|
37
|
+
ngOnDestroy() {
|
38
|
+
this.removeListeners();
|
39
|
+
this.currentSubject.complete();
|
40
|
+
}
|
41
|
+
/**
|
42
|
+
* Subscribes to screen size changes.
|
43
|
+
* @param listener Specifies a function that is called when breakpoints change.
|
44
|
+
*/
|
45
|
+
subscribe(listener) {
|
46
|
+
return this.currentSubject.subscribe({
|
47
|
+
next: (breakpoints) => {
|
48
|
+
listener(breakpoints);
|
49
|
+
},
|
50
|
+
});
|
51
|
+
}
|
52
|
+
/**
|
53
|
+
* @internal
|
54
|
+
*/
|
55
|
+
destroy() {
|
56
|
+
this.removeListeners();
|
57
|
+
this.currentSubject.complete();
|
58
|
+
}
|
59
|
+
addListeners() {
|
60
|
+
this.mediaQueries = this.breakpoints.map((breakpoint) => {
|
61
|
+
const mq = matchMedia(breakpoint.mediaQueryString);
|
62
|
+
const listener = (event) => {
|
63
|
+
// Run the check outside of Angular's change detection since Angular
|
64
|
+
// does not wrap matchMedia listeners in NgZone.
|
65
|
+
// See: https://blog.assaf.co/angular-2-change-detection-zones-and-an-example/
|
66
|
+
this.zone.run(() => {
|
67
|
+
if (event.matches) {
|
68
|
+
this.notifyBreakpointChange(breakpoint.name);
|
69
|
+
}
|
70
|
+
});
|
71
|
+
};
|
72
|
+
mq.addListener(listener);
|
73
|
+
if (mq.matches) {
|
74
|
+
this.notifyBreakpointChange(breakpoint.name);
|
75
|
+
}
|
76
|
+
return {
|
77
|
+
mediaQueryList: mq,
|
78
|
+
listener,
|
79
|
+
};
|
80
|
+
});
|
81
|
+
}
|
82
|
+
removeListeners() {
|
83
|
+
this.mediaQueries.forEach((mediaQuery) => {
|
84
|
+
mediaQuery.mediaQueryList.removeListener(mediaQuery.listener);
|
85
|
+
});
|
86
|
+
this.mediaQueries = [];
|
87
|
+
}
|
88
|
+
notifyBreakpointChange(breakpoint) {
|
89
|
+
this._current = breakpoint;
|
90
|
+
this.currentSubject.next(breakpoint);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
/**
|
94
|
+
* The size for the `xs` breakpoint.
|
95
|
+
* @default "(max-width: 767px)"
|
96
|
+
*/
|
97
|
+
SkyMediaQueryService.xs = '(max-width: 767px)';
|
98
|
+
/**
|
99
|
+
* The size for the `sm` breakpoint.
|
100
|
+
* @default "(min-width: 768px) and (max-width: 991px)"
|
101
|
+
*/
|
102
|
+
SkyMediaQueryService.sm = '(min-width: 768px) and (max-width: 991px)';
|
103
|
+
/**
|
104
|
+
* The size for the `md` breakpoint.
|
105
|
+
* @default "(min-width: 992px) and (max-width: 1199px)"
|
106
|
+
*/
|
107
|
+
SkyMediaQueryService.md = '(min-width: 992px) and (max-width: 1199px)';
|
108
|
+
/**
|
109
|
+
* The size for the `lg` breakpoint.
|
110
|
+
* @default "(min-width: 1200px)"
|
111
|
+
*/
|
112
|
+
SkyMediaQueryService.lg = '(min-width: 1200px)';
|
113
|
+
SkyMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyMediaQueryService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
114
|
+
SkyMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyMediaQueryService, providedIn: 'root' });
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyMediaQueryService, decorators: [{
|
116
|
+
type: Injectable,
|
117
|
+
args: [{
|
118
|
+
providedIn: 'root',
|
119
|
+
}]
|
120
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcXVlcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU0xRCxNQUFNLE9BQU8sb0JBQW9CO0lBaUUvQixZQUFvQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQWpDeEIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FDMUMsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO1FBRU0sYUFBUSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztRQUVsQyxnQkFBVyxHQUdiO1lBQ0o7Z0JBQ0UsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsRUFBRTtnQkFDekMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7YUFDN0I7WUFDRDtnQkFDRSxnQkFBZ0IsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO2dCQUN6QyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTthQUM3QjtZQUNEO2dCQUNFLGdCQUFnQixFQUFFLG9CQUFvQixDQUFDLEVBQUU7Z0JBQ3pDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxFQUFFO2FBQzdCO1lBQ0Q7Z0JBQ0UsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsRUFBRTtnQkFDekMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7YUFDN0I7U0FDRixDQUFDO1FBRU0saUJBQVksR0FHZCxFQUFFLENBQUM7UUFHUCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQTFDRDs7T0FFRztJQUNILElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQXVDTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxTQUFTLENBQUMsUUFBK0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUNuQyxJQUFJLEVBQUUsQ0FBQyxXQUFnQyxFQUFFLEVBQUU7Z0JBQ3pDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRTtZQUMzRCxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFbkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDOUIsb0VBQW9FO2dCQUNwRSxnREFBZ0Q7Z0JBQ2hELDhFQUE4RTtnQkFDOUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNqQixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7d0JBQ2pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQzlDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1lBRUYsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV6QixJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM5QztZQUVELE9BQU87Z0JBQ0wsY0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLFFBQVE7YUFDVCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3ZDLFVBQVUsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxVQUErQjtRQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDOztBQW5JRDs7O0dBR0c7QUFDVyx1QkFBRSxHQUFHLG9CQUFxQixDQUFBO0FBRXhDOzs7R0FHRztBQUNXLHVCQUFFLEdBQUcsMkNBQTRDLENBQUE7QUFFL0Q7OztHQUdHO0FBQ1csdUJBQUUsR0FBRyw0Q0FBNkMsQ0FBQTtBQUVoRTs7O0dBR0c7QUFDVyx1QkFBRSxHQUFHLHFCQUFzQixDQUFBO2lIQXZCOUIsb0JBQW9CO3FIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJy4vbWVkaWEtYnJlYWtwb2ludHMnO1xuaW1wb3J0IHsgU2t5TWVkaWFRdWVyeUxpc3RlbmVyIH0gZnJvbSAnLi9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNZWRpYVF1ZXJ5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgXCIobWF4LXdpZHRoOiA3NjdweClcIlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB4cyA9ICcobWF4LXdpZHRoOiA3NjdweCknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICogQGRlZmF1bHQgXCIobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNtID0gJyhtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpJztcblxuICAvKipcbiAgICogVGhlIHNpemUgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAqIEBkZWZhdWx0IFwiKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpXCJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbWQgPSAnKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpJztcblxuICAvKipcbiAgICogVGhlIHNpemUgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAqIEBkZWZhdWx0IFwiKG1pbi13aWR0aDogMTIwMHB4KVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxnID0gJyhtaW4td2lkdGg6IDEyMDBweCknO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKTogU2t5TWVkaWFCcmVha3BvaW50cyB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQ7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lNZWRpYUJyZWFrcG9pbnRzPihcbiAgICB0aGlzLmN1cnJlbnRcbiAgKTtcblxuICBwcml2YXRlIF9jdXJyZW50ID0gU2t5TWVkaWFCcmVha3BvaW50cy5tZDtcblxuICBwcml2YXRlIGJyZWFrcG9pbnRzOiB7XG4gICAgbWVkaWFRdWVyeVN0cmluZzogc3RyaW5nO1xuICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHM7XG4gIH1bXSA9IFtcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS54cyxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMueHMsXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5zbSxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMuc20sXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5tZCxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubWQsXG4gICAgfSxcbiAgICB7XG4gICAgICBtZWRpYVF1ZXJ5U3RyaW5nOiBTa3lNZWRpYVF1ZXJ5U2VydmljZS5sZyxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubGcsXG4gICAgfSxcbiAgXTtcblxuICBwcml2YXRlIG1lZGlhUXVlcmllczoge1xuICAgIG1lZGlhUXVlcnlMaXN0OiBNZWRpYVF1ZXJ5TGlzdDtcbiAgICBsaXN0ZW5lcjogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gIH1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7XG4gICAgdGhpcy5hZGRMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZUxpc3RlbmVycygpO1xuICAgIHRoaXMuY3VycmVudFN1YmplY3QuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIHNjcmVlbiBzaXplIGNoYW5nZXMuXG4gICAqIEBwYXJhbSBsaXN0ZW5lciBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIGJyZWFrcG9pbnRzIGNoYW5nZS5cbiAgICovXG4gIHB1YmxpYyBzdWJzY3JpYmUobGlzdGVuZXI6IFNreU1lZGlhUXVlcnlMaXN0ZW5lcik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFN1YmplY3Quc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChicmVha3BvaW50czogU2t5TWVkaWFCcmVha3BvaW50cykgPT4ge1xuICAgICAgICBsaXN0ZW5lcihicmVha3BvaW50cyk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmN1cnJlbnRTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZExpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLm1lZGlhUXVlcmllcyA9IHRoaXMuYnJlYWtwb2ludHMubWFwKChicmVha3BvaW50OiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IG1xID0gbWF0Y2hNZWRpYShicmVha3BvaW50Lm1lZGlhUXVlcnlTdHJpbmcpO1xuXG4gICAgICBjb25zdCBsaXN0ZW5lciA9IChldmVudDogYW55KSA9PiB7XG4gICAgICAgIC8vIFJ1biB0aGUgY2hlY2sgb3V0c2lkZSBvZiBBbmd1bGFyJ3MgY2hhbmdlIGRldGVjdGlvbiBzaW5jZSBBbmd1bGFyXG4gICAgICAgIC8vIGRvZXMgbm90IHdyYXAgbWF0Y2hNZWRpYSBsaXN0ZW5lcnMgaW4gTmdab25lLlxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vYmxvZy5hc3NhZi5jby9hbmd1bGFyLTItY2hhbmdlLWRldGVjdGlvbi16b25lcy1hbmQtYW4tZXhhbXBsZS9cbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50Lm1hdGNoZXMpIHtcbiAgICAgICAgICAgIHRoaXMubm90aWZ5QnJlYWtwb2ludENoYW5nZShicmVha3BvaW50Lm5hbWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICBtcS5hZGRMaXN0ZW5lcihsaXN0ZW5lcik7XG5cbiAgICAgIGlmIChtcS5tYXRjaGVzKSB7XG4gICAgICAgIHRoaXMubm90aWZ5QnJlYWtwb2ludENoYW5nZShicmVha3BvaW50Lm5hbWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBtZWRpYVF1ZXJ5TGlzdDogbXEsXG4gICAgICAgIGxpc3RlbmVyLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMubWVkaWFRdWVyaWVzLmZvckVhY2goKG1lZGlhUXVlcnkpID0+IHtcbiAgICAgIG1lZGlhUXVlcnkubWVkaWFRdWVyeUxpc3QucmVtb3ZlTGlzdGVuZXIobWVkaWFRdWVyeS5saXN0ZW5lcik7XG4gICAgfSk7XG4gICAgdGhpcy5tZWRpYVF1ZXJpZXMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgbm90aWZ5QnJlYWtwb2ludENoYW5nZShicmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzKTogdm9pZCB7XG4gICAgdGhpcy5fY3VycmVudCA9IGJyZWFrcG9pbnQ7XG4gICAgdGhpcy5jdXJyZW50U3ViamVjdC5uZXh0KGJyZWFrcG9pbnQpO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class MutationObserverService {
|
4
|
+
create(callback) {
|
5
|
+
return new MutationObserver(callback);
|
6
|
+
}
|
7
|
+
}
|
8
|
+
MutationObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: MutationObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
9
|
+
MutationObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: MutationObserverService, providedIn: 'root' });
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: MutationObserverService, decorators: [{
|
11
|
+
type: Injectable,
|
12
|
+
args: [{
|
13
|
+
providedIn: 'root',
|
14
|
+
}]
|
15
|
+
}] });
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyx1QkFBdUI7SUFDM0IsTUFBTSxDQUFDLFFBQWE7UUFDekIsT0FBTyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O29IQUhVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIHtcbiAgcHVibGljIGNyZWF0ZShjYWxsYmFjazogYW55KTogTXV0YXRpb25PYnNlcnZlciB7XG4gICAgcmV0dXJuIG5ldyBNdXRhdGlvbk9ic2VydmVyKGNhbGxiYWNrKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1zeW1ib2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvbnVtZXJpYy9udW1lcmljLXN5bWJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lOdW1lcmljU3ltYm9sIHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgbGFiZWw6IHN0cmluZztcbn1cbiJdfQ==
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { SkyI18nModule } from '@skyux/i18n';
|
3
|
+
import { SkyCoreResourcesModule } from '../shared/sky-core-resources.module';
|
4
|
+
import { SkyNumericPipe } from './numeric.pipe';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export class SkyNumericModule {
|
7
|
+
}
|
8
|
+
SkyNumericModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyNumericModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
9
|
+
SkyNumericModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyNumericModule, declarations: [SkyNumericPipe], imports: [SkyI18nModule, SkyCoreResourcesModule], exports: [SkyNumericPipe] });
|
10
|
+
SkyNumericModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyNumericModule, providers: [SkyNumericPipe], imports: [[SkyI18nModule, SkyCoreResourcesModule]] });
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyNumericModule, decorators: [{
|
12
|
+
type: NgModule,
|
13
|
+
args: [{
|
14
|
+
declarations: [SkyNumericPipe],
|
15
|
+
providers: [SkyNumericPipe],
|
16
|
+
imports: [SkyI18nModule, SkyCoreResourcesModule],
|
17
|
+
exports: [SkyNumericPipe],
|
18
|
+
}]
|
19
|
+
}] });
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvbnVtZXJpYy9udW1lcmljLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVFoRCxNQUFNLE9BQU8sZ0JBQWdCOzs2R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0IsaUJBTFosY0FBYyxhQUVuQixhQUFhLEVBQUUsc0JBQXNCLGFBQ3JDLGNBQWM7OEdBRWIsZ0JBQWdCLGFBSmhCLENBQUMsY0FBYyxDQUFDLFlBQ2xCLENBQUMsYUFBYSxFQUFFLHNCQUFzQixDQUFDOzJGQUdyQyxnQkFBZ0I7a0JBTjVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUM5QixTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzNCLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxzQkFBc0IsQ0FBQztvQkFDaEQsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJMThuTW9kdWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBTa3lDb3JlUmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1jb3JlLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lOdW1lcmljUGlwZSB9IGZyb20gJy4vbnVtZXJpYy5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5TnVtZXJpY1BpcGVdLFxuICBwcm92aWRlcnM6IFtTa3lOdW1lcmljUGlwZV0sXG4gIGltcG9ydHM6IFtTa3lJMThuTW9kdWxlLCBTa3lDb3JlUmVzb3VyY2VzTW9kdWxlXSxcbiAgZXhwb3J0czogW1NreU51bWVyaWNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TnVtZXJpY01vZHVsZSB7fVxuIl19
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/**
|
2
|
+
* Provides arguments for the number to format.
|
3
|
+
*/
|
4
|
+
export class SkyNumericOptions {
|
5
|
+
constructor() {
|
6
|
+
/**
|
7
|
+
* Specifies the maximum number of digits after the decimal separator.
|
8
|
+
* @default 1
|
9
|
+
*/
|
10
|
+
this.digits = 1;
|
11
|
+
/**
|
12
|
+
* Specifies how to format the number. Options are `currency` or `number`.
|
13
|
+
* @default "number"
|
14
|
+
*/
|
15
|
+
this.format = 'number';
|
16
|
+
/**
|
17
|
+
* Specifies the format of the currency.
|
18
|
+
* @default "standard"
|
19
|
+
*/
|
20
|
+
this.currencySign = 'standard';
|
21
|
+
/**
|
22
|
+
* Specifies the ISO4217 currency code to use for currency formatting. If you do not specify a
|
23
|
+
* currency code, the component uses the browser's culture to determine the currency unless your
|
24
|
+
* SPA provides a different culture with `SkyAppLocaleProvider`.
|
25
|
+
* @default "USD"
|
26
|
+
*/
|
27
|
+
this.iso = 'USD';
|
28
|
+
/**
|
29
|
+
* Indicates whether to shorten numbers to rounded numbers and abbreviation characters
|
30
|
+
* such as K for thousands, M for millions, B for billions, and T for trillions.
|
31
|
+
*/
|
32
|
+
this.truncate = true;
|
33
|
+
/**
|
34
|
+
* Specifies the starting point after which numbers are shortened to rounded numbers
|
35
|
+
* and abbreviation characters.
|
36
|
+
* @default 0
|
37
|
+
*/
|
38
|
+
this.truncateAfter = 0;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
/**
|
42
|
+
* @deprecated Use `SkyNumericOptions` instead.
|
43
|
+
*/
|
44
|
+
export class NumericOptions extends SkyNumericOptions {
|
45
|
+
}
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUNFOzs7V0FHRztRQUNJLFdBQU0sR0FBWSxDQUFDLENBQUM7UUFFM0I7OztXQUdHO1FBQ0ksV0FBTSxHQUFZLFFBQVEsQ0FBQztRQUVsQzs7O1dBR0c7UUFDSSxpQkFBWSxHQUErQixVQUFVLENBQUM7UUFFN0Q7Ozs7O1dBS0c7UUFDSSxRQUFHLEdBQVksS0FBSyxDQUFDO1FBYzVCOzs7V0FHRztRQUNJLGFBQVEsR0FBYSxJQUFJLENBQUM7UUFFakM7Ozs7V0FJRztRQUNJLGtCQUFhLEdBQVksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxpQkFBaUI7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvdmlkZXMgYXJndW1lbnRzIGZvciB0aGUgbnVtYmVyIHRvIGZvcm1hdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreU51bWVyaWNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHNlcGFyYXRvci5cbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcHVibGljIGRpZ2l0cz86IG51bWJlciA9IDE7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBob3cgdG8gZm9ybWF0IHRoZSBudW1iZXIuIE9wdGlvbnMgYXJlIGBjdXJyZW5jeWAgb3IgYG51bWJlcmAuXG4gICAqIEBkZWZhdWx0IFwibnVtYmVyXCJcbiAgICovXG4gIHB1YmxpYyBmb3JtYXQ/OiBzdHJpbmcgPSAnbnVtYmVyJztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBmb3JtYXQgb2YgdGhlIGN1cnJlbmN5LlxuICAgKiBAZGVmYXVsdCBcInN0YW5kYXJkXCJcbiAgICovXG4gIHB1YmxpYyBjdXJyZW5jeVNpZ24/OiAnYWNjb3VudGluZycgfCAnc3RhbmRhcmQnID0gJ3N0YW5kYXJkJztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBJU080MjE3IGN1cnJlbmN5IGNvZGUgdG8gdXNlIGZvciBjdXJyZW5jeSBmb3JtYXR0aW5nLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgYVxuICAgKiBjdXJyZW5jeSBjb2RlLCB0aGUgY29tcG9uZW50IHVzZXMgdGhlIGJyb3dzZXIncyBjdWx0dXJlIHRvIGRldGVybWluZSB0aGUgY3VycmVuY3kgdW5sZXNzIHlvdXJcbiAgICogU1BBIHByb3ZpZGVzIGEgZGlmZmVyZW50IGN1bHR1cmUgd2l0aCBgU2t5QXBwTG9jYWxlUHJvdmlkZXJgLlxuICAgKiBAZGVmYXVsdCBcIlVTRFwiXG4gICAqL1xuICBwdWJsaWMgaXNvPzogc3RyaW5nID0gJ1VTRCc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbG9jYWxlIGNvZGUgdG8gdXNlIHdoZW4gZm9ybWF0dGluZy5cbiAgICovXG4gIHB1YmxpYyBsb2NhbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWluaW11bSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHNlcGFyYXRvci4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXNcbiAgICogd2hlbiB0aGUgYHRydW5jYXRlYCBwcm9wZXJ0eSBpcyBzZXQgdG8gYGZhbHNlYC4gSWYgYGRpZ2l0c2Agc3BlY2lmaWVzIGEgbWF4aW11bSBudW1iZXIgb2ZcbiAgICogZGlnaXRzLCB0aGVuIGBtaW5EaWdpdHNgIG11c3QgYmUgbGVzcyB0aGFuIHRoYXQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgbWluRGlnaXRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBzaG9ydGVuIG51bWJlcnMgdG8gcm91bmRlZCBudW1iZXJzIGFuZCBhYmJyZXZpYXRpb24gY2hhcmFjdGVyc1xuICAgKiBzdWNoIGFzIEsgZm9yIHRob3VzYW5kcywgTSBmb3IgbWlsbGlvbnMsIEIgZm9yIGJpbGxpb25zLCBhbmQgVCBmb3IgdHJpbGxpb25zLlxuICAgKi9cbiAgcHVibGljIHRydW5jYXRlPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgc3RhcnRpbmcgcG9pbnQgYWZ0ZXIgd2hpY2ggbnVtYmVycyBhcmUgc2hvcnRlbmVkIHRvIHJvdW5kZWQgbnVtYmVyc1xuICAgKiBhbmQgYWJicmV2aWF0aW9uIGNoYXJhY3RlcnMuXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIHB1YmxpYyB0cnVuY2F0ZUFmdGVyPzogbnVtYmVyID0gMDtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFNreU51bWVyaWNPcHRpb25zYCBpbnN0ZWFkLlxuICovXG5leHBvcnQgY2xhc3MgTnVtZXJpY09wdGlvbnMgZXh0ZW5kcyBTa3lOdW1lcmljT3B0aW9ucyB7fVxuIl19
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import { ChangeDetectorRef, Pipe, } from '@angular/core';
|
2
|
+
import { SkyAppLocaleProvider } from '@skyux/i18n';
|
3
|
+
import { Subject } from 'rxjs';
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
5
|
+
import { SkyNumericOptions } from './numeric.options';
|
6
|
+
import { SkyNumericService } from './numeric.service';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "@skyux/i18n";
|
9
|
+
import * as i2 from "./numeric.service";
|
10
|
+
/**
|
11
|
+
* Shortens numbers to rounded numbers and abbreviation characters such as K for thousands,
|
12
|
+
* M for millions, B for billions, and T for trillions. The pipe also formats for currency.
|
13
|
+
* Be sure you have a space after the two curly brackets opening the pipe and
|
14
|
+
* a space before the two curly brackets closing the pipe or it will not work.
|
15
|
+
* Usage:
|
16
|
+
* ```
|
17
|
+
* {{ value | skyNumeric(config) }}
|
18
|
+
* ```
|
19
|
+
*/
|
20
|
+
export class SkyNumericPipe {
|
21
|
+
constructor(localeProvider, numericService, changeDetector) {
|
22
|
+
this.localeProvider = localeProvider;
|
23
|
+
this.numericService = numericService;
|
24
|
+
this.changeDetector = changeDetector;
|
25
|
+
this.ngUnsubscribe = new Subject();
|
26
|
+
this.localeProvider
|
27
|
+
.getLocaleInfo()
|
28
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
29
|
+
.subscribe((localeInfo) => {
|
30
|
+
this.providerLocale = localeInfo.locale;
|
31
|
+
numericService.currentLocale = this.providerLocale;
|
32
|
+
this.changeDetector.markForCheck();
|
33
|
+
});
|
34
|
+
}
|
35
|
+
ngOnDestroy() {
|
36
|
+
this.ngUnsubscribe.next();
|
37
|
+
this.ngUnsubscribe.complete();
|
38
|
+
}
|
39
|
+
transform(value, config) {
|
40
|
+
const newCacheKey = (config ? JSON.stringify(config, Object.keys(config).sort()) : '') +
|
41
|
+
`${value}_${config?.locale || this.providerLocale}`;
|
42
|
+
/* If the value and locale are the same as the last transform then return the previous value
|
43
|
+
instead of reformatting. */
|
44
|
+
if (this.formattedValue && this.cacheKey === newCacheKey) {
|
45
|
+
return this.formattedValue;
|
46
|
+
}
|
47
|
+
const options = new SkyNumericOptions();
|
48
|
+
// The default number of digits is `1`. When truncate is disabled, set digits
|
49
|
+
// to `0` to avoid the unnecessary addition of `.0` at the end of the formatted number.
|
50
|
+
if (config && config.truncate === false && config.digits === undefined) {
|
51
|
+
options.digits = 0;
|
52
|
+
}
|
53
|
+
// If the minimum digits is less than the set maximum digits then throw an error
|
54
|
+
if (config &&
|
55
|
+
config.minDigits &&
|
56
|
+
config.digits &&
|
57
|
+
config.minDigits > config.digits) {
|
58
|
+
throw new Error('The `digits` property must be greater than or equal to the `minDigits` property');
|
59
|
+
// If there is a minimum digits given but not a maximum then default the maximum to the minimum
|
60
|
+
}
|
61
|
+
else if (config && config.minDigits && !config.digits) {
|
62
|
+
options.digits = config.minDigits;
|
63
|
+
}
|
64
|
+
Object.assign(options, config);
|
65
|
+
// Assign properties for proper result caching.
|
66
|
+
this.cacheKey = newCacheKey;
|
67
|
+
this.formattedValue = this.numericService.formatNumber(value, options);
|
68
|
+
return this.formattedValue;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
SkyNumericPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyNumericPipe, deps: [{ token: i1.SkyAppLocaleProvider }, { token: i2.SkyNumericService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
|
72
|
+
SkyNumericPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyNumericPipe, name: "skyNumeric", pure: false });
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyNumericPipe, decorators: [{
|
74
|
+
type: Pipe,
|
75
|
+
args: [{
|
76
|
+
name: 'skyNumeric',
|
77
|
+
pure: false,
|
78
|
+
}]
|
79
|
+
}], ctorParameters: function () { return [{ type: i1.SkyAppLocaleProvider }, { type: i2.SkyNumericService }, { type: i0.ChangeDetectorRef }]; } });
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFFakIsSUFBSSxHQUVMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQUV0RDs7Ozs7Ozs7O0dBU0c7QUFLSCxNQUFNLE9BQU8sY0FBYztJQU96QixZQUNVLGNBQW9DLEVBQzNCLGNBQWlDLEVBQzFDLGNBQWlDO1FBRmpDLG1CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUMzQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBTG5DLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU8xQyxJQUFJLENBQUMsY0FBYzthQUNoQixhQUFhLEVBQUU7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDeEMsY0FBYyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ25ELElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFhLEVBQUUsTUFBMEI7UUFDeEQsTUFBTSxXQUFXLEdBQ2YsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2xFLEdBQUcsS0FBSyxJQUFJLE1BQU0sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXREO21DQUMyQjtRQUMzQixJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDeEQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQzVCO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBRXhDLDZFQUE2RTtRQUM3RSx1RkFBdUY7UUFDdkYsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxLQUFLLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDdEUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDcEI7UUFFRCxnRkFBZ0Y7UUFDaEYsSUFDRSxNQUFNO1lBQ04sTUFBTSxDQUFDLFNBQVM7WUFDaEIsTUFBTSxDQUFDLE1BQU07WUFDYixNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQ2hDO1lBQ0EsTUFBTSxJQUFJLEtBQUssQ0FDYixpRkFBaUYsQ0FDbEYsQ0FBQztZQUVGLCtGQUErRjtTQUNoRzthQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3ZELE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUNuQztRQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRS9CLCtDQUErQztRQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztRQUU1QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2RSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQzs7MkdBckVVLGNBQWM7eUdBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO29CQUNsQixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkRlc3Ryb3ksXG4gIFBpcGUsXG4gIFBpcGVUcmFuc2Zvcm0sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5QXBwTG9jYWxlUHJvdmlkZXIgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TnVtZXJpY09wdGlvbnMgfSBmcm9tICcuL251bWVyaWMub3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lOdW1lcmljU2VydmljZSB9IGZyb20gJy4vbnVtZXJpYy5zZXJ2aWNlJztcblxuLyoqXG4gKiBTaG9ydGVucyBudW1iZXJzIHRvIHJvdW5kZWQgbnVtYmVycyBhbmQgYWJicmV2aWF0aW9uIGNoYXJhY3RlcnMgc3VjaCBhcyBLIGZvciB0aG91c2FuZHMsXG4gKiBNIGZvciBtaWxsaW9ucywgQiBmb3IgYmlsbGlvbnMsIGFuZCBUIGZvciB0cmlsbGlvbnMuIFRoZSBwaXBlIGFsc28gZm9ybWF0cyBmb3IgY3VycmVuY3kuXG4gKiBCZSBzdXJlIHlvdSBoYXZlIGEgc3BhY2UgYWZ0ZXIgdGhlIHR3byBjdXJseSBicmFja2V0cyBvcGVuaW5nIHRoZSBwaXBlIGFuZFxuICogYSBzcGFjZSBiZWZvcmUgdGhlIHR3byBjdXJseSBicmFja2V0cyBjbG9zaW5nIHRoZSBwaXBlIG9yIGl0IHdpbGwgbm90IHdvcmsuXG4gKiBVc2FnZTpcbiAqIGBgYFxuICoge3sgdmFsdWUgfCBza3lOdW1lcmljKGNvbmZpZykgfX1cbiAqIGBgYFxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdza3lOdW1lcmljJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNreU51bWVyaWNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBjYWNoZUtleTogc3RyaW5nO1xuICBwcml2YXRlIGZvcm1hdHRlZFZhbHVlOiBzdHJpbmc7XG4gIHByaXZhdGUgcHJvdmlkZXJMb2NhbGU6IHN0cmluZztcblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbG9jYWxlUHJvdmlkZXI6IFNreUFwcExvY2FsZVByb3ZpZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtZXJpY1NlcnZpY2U6IFNreU51bWVyaWNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMubG9jYWxlUHJvdmlkZXJcbiAgICAgIC5nZXRMb2NhbGVJbmZvKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlSW5mbykgPT4ge1xuICAgICAgICB0aGlzLnByb3ZpZGVyTG9jYWxlID0gbG9jYWxlSW5mby5sb2NhbGU7XG4gICAgICAgIG51bWVyaWNTZXJ2aWNlLmN1cnJlbnRMb2NhbGUgPSB0aGlzLnByb3ZpZGVyTG9jYWxlO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IG51bWJlciwgY29uZmlnPzogU2t5TnVtZXJpY09wdGlvbnMpOiBzdHJpbmcge1xuICAgIGNvbnN0IG5ld0NhY2hlS2V5ID1cbiAgICAgIChjb25maWcgPyBKU09OLnN0cmluZ2lmeShjb25maWcsIE9iamVjdC5rZXlzKGNvbmZpZykuc29ydCgpKSA6ICcnKSArXG4gICAgICBgJHt2YWx1ZX1fJHtjb25maWc/LmxvY2FsZSB8fCB0aGlzLnByb3ZpZGVyTG9jYWxlfWA7XG5cbiAgICAvKiBJZiB0aGUgdmFsdWUgYW5kIGxvY2FsZSBhcmUgdGhlIHNhbWUgYXMgdGhlIGxhc3QgdHJhbnNmb3JtIHRoZW4gcmV0dXJuIHRoZSBwcmV2aW91cyB2YWx1ZVxuICAgIGluc3RlYWQgb2YgcmVmb3JtYXR0aW5nLiAqL1xuICAgIGlmICh0aGlzLmZvcm1hdHRlZFZhbHVlICYmIHRoaXMuY2FjaGVLZXkgPT09IG5ld0NhY2hlS2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0gbmV3IFNreU51bWVyaWNPcHRpb25zKCk7XG5cbiAgICAvLyBUaGUgZGVmYXVsdCBudW1iZXIgb2YgZGlnaXRzIGlzIGAxYC4gV2hlbiB0cnVuY2F0ZSBpcyBkaXNhYmxlZCwgc2V0IGRpZ2l0c1xuICAgIC8vIHRvIGAwYCB0byBhdm9pZCB0aGUgdW5uZWNlc3NhcnkgYWRkaXRpb24gb2YgYC4wYCBhdCB0aGUgZW5kIG9mIHRoZSBmb3JtYXR0ZWQgbnVtYmVyLlxuICAgIGlmIChjb25maWcgJiYgY29uZmlnLnRydW5jYXRlID09PSBmYWxzZSAmJiBjb25maWcuZGlnaXRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG9wdGlvbnMuZGlnaXRzID0gMDtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgbWluaW11bSBkaWdpdHMgaXMgbGVzcyB0aGFuIHRoZSBzZXQgbWF4aW11bSBkaWdpdHMgdGhlbiB0aHJvdyBhbiBlcnJvclxuICAgIGlmIChcbiAgICAgIGNvbmZpZyAmJlxuICAgICAgY29uZmlnLm1pbkRpZ2l0cyAmJlxuICAgICAgY29uZmlnLmRpZ2l0cyAmJlxuICAgICAgY29uZmlnLm1pbkRpZ2l0cyA+IGNvbmZpZy5kaWdpdHNcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBgZGlnaXRzYCBwcm9wZXJ0eSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgYG1pbkRpZ2l0c2AgcHJvcGVydHknXG4gICAgICApO1xuXG4gICAgICAvLyBJZiB0aGVyZSBpcyBhIG1pbmltdW0gZGlnaXRzIGdpdmVuIGJ1dCBub3QgYSBtYXhpbXVtIHRoZW4gZGVmYXVsdCB0aGUgbWF4aW11bSB0byB0aGUgbWluaW11bVxuICAgIH0gZWxzZSBpZiAoY29uZmlnICYmIGNvbmZpZy5taW5EaWdpdHMgJiYgIWNvbmZpZy5kaWdpdHMpIHtcbiAgICAgIG9wdGlvbnMuZGlnaXRzID0gY29uZmlnLm1pbkRpZ2l0cztcbiAgICB9XG5cbiAgICBPYmplY3QuYXNzaWduKG9wdGlvbnMsIGNvbmZpZyk7XG5cbiAgICAvLyBBc3NpZ24gcHJvcGVydGllcyBmb3IgcHJvcGVyIHJlc3VsdCBjYWNoaW5nLlxuICAgIHRoaXMuY2FjaGVLZXkgPSBuZXdDYWNoZUtleTtcblxuICAgIHRoaXMuZm9ybWF0dGVkVmFsdWUgPSB0aGlzLm51bWVyaWNTZXJ2aWNlLmZvcm1hdE51bWJlcih2YWx1ZSwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gIH1cbn1cbiJdfQ==
|