@igo2/core 1.15.3 → 16.0.0-rc.0
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/_index.scss +8 -0
- package/assets/icons/mdi.svg +1 -1
- package/core-theme.scss +5 -0
- package/{esm2020 → esm2022}/igo2-core.mjs +4 -4
- package/{esm2020 → esm2022}/lib/activity/activity.interceptor.mjs +32 -30
- package/{esm2020 → esm2022}/lib/activity/activity.module.mjs +30 -30
- package/esm2022/lib/activity/activity.service.mjs +32 -0
- package/{esm2020 → esm2022}/lib/activity/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/analytics/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/analytics/shared/analytics.interface.mjs +2 -2
- package/esm2022/lib/analytics/shared/analytics.service.mjs +84 -0
- package/{esm2020 → esm2022}/lib/analytics/shared/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/compression/compressedData.interface.mjs +2 -2
- package/esm2022/lib/compression/compression.service.mjs +142 -0
- package/{esm2020 → esm2022}/lib/compression/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/config/config.interface.mjs +1 -1
- package/{esm2020 → esm2022}/lib/config/config.module.mjs +23 -23
- package/{esm2020 → esm2022}/lib/config/config.provider.mjs +21 -21
- package/esm2022/lib/config/config.service.mjs +53 -0
- package/{esm2020 → esm2022}/lib/config/index.mjs +4 -4
- package/esm2022/lib/config/version.mjs +5 -0
- package/esm2022/lib/core.module.mjs +104 -0
- package/{esm2020 → esm2022}/lib/gesture/gesture.module.mjs +30 -30
- package/{esm2020 → esm2022}/lib/gesture/gesture.provider.mjs +16 -16
- package/{esm2020 → esm2022}/lib/language/index.mjs +2 -2
- package/esm2022/lib/language/language.module.mjs +39 -0
- package/{esm2020 → esm2022}/lib/language/shared/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/language/shared/language.interface.mjs +2 -2
- package/esm2022/lib/language/shared/language.loader.mjs +31 -0
- package/esm2022/lib/language/shared/language.provider.mjs +22 -0
- package/esm2022/lib/language/shared/language.service.mjs +38 -0
- package/{esm2020 → esm2022}/lib/language/shared/missing-translation.guard.mjs +16 -16
- package/{esm2020 → esm2022}/lib/media/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/media/media.enum.mjs +12 -12
- package/esm2022/lib/media/media.service.mjs +82 -0
- package/{esm2020 → esm2022}/lib/message/index.mjs +2 -2
- package/esm2022/lib/message/message.module.mjs +60 -0
- package/{esm2020 → esm2022}/lib/message/shared/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/message/shared/message.enum.mjs +10 -10
- package/{esm2020 → esm2022}/lib/message/shared/message.interface.mjs +2 -2
- package/esm2022/lib/message/shared/message.service.mjs +218 -0
- package/{esm2020 → esm2022}/lib/network/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/network/network.interfaces.mjs +2 -2
- package/esm2022/lib/network/network.service.mjs +66 -0
- package/{esm2020 → esm2022}/lib/regex/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/regex/regex.interface.mjs +2 -2
- package/esm2022/lib/regex/regex.service.mjs +30 -0
- package/esm2022/lib/request/error.interceptor.mjs +67 -0
- package/esm2022/lib/request/error.module.mjs +39 -0
- package/{esm2020 → esm2022}/lib/request/index.mjs +3 -3
- package/esm2022/lib/request/logging.interceptor.mjs +29 -0
- package/{esm2020 → esm2022}/lib/request/logging.module.mjs +30 -30
- package/esm2022/lib/route/route.interface.mjs +2 -0
- package/esm2022/lib/route/route.service.mjs +75 -0
- package/esm2022/lib/storage/index.mjs +4 -0
- package/{esm2020 → esm2022}/lib/storage/storage.interface.mjs +13 -13
- package/esm2022/lib/storage/storage.mjs +76 -0
- package/esm2022/lib/storage/storage.service.mjs +21 -0
- package/{esm2020 → esm2022}/public_api.mjs +27 -27
- package/{fesm2020 → fesm2022}/igo2-core.mjs +1364 -1288
- package/fesm2022/igo2-core.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/activity/activity.interceptor.d.ts +11 -11
- package/lib/activity/activity.module.d.ts +8 -8
- package/lib/activity/activity.service.d.ts +11 -11
- package/lib/activity/index.d.ts +2 -2
- package/lib/analytics/index.d.ts +1 -1
- package/lib/analytics/shared/analytics.interface.d.ts +6 -6
- package/lib/analytics/shared/analytics.service.d.ts +23 -23
- package/lib/analytics/shared/index.d.ts +2 -2
- package/lib/compression/compressedData.interface.d.ts +5 -5
- package/lib/compression/compression.service.d.ts +15 -15
- package/lib/compression/index.d.ts +2 -2
- package/lib/config/config.interface.d.ts +6 -6
- package/lib/config/config.module.d.ts +8 -8
- package/lib/config/config.provider.d.ts +15 -15
- package/lib/config/config.service.d.ts +18 -18
- package/lib/config/index.d.ts +3 -3
- package/lib/config/version.d.ts +5 -5
- package/lib/core.module.d.ts +19 -19
- package/lib/gesture/gesture.module.d.ts +9 -9
- package/lib/gesture/gesture.provider.d.ts +7 -7
- package/lib/language/index.d.ts +1 -1
- package/lib/language/language.module.d.ts +9 -9
- package/lib/language/shared/index.d.ts +4 -4
- package/lib/language/shared/language.interface.d.ts +3 -3
- package/lib/language/shared/language.loader.d.ts +11 -11
- package/lib/language/shared/language.provider.d.ts +15 -15
- package/lib/language/shared/language.service.d.ts +13 -13
- package/lib/language/shared/missing-translation.guard.d.ts +4 -4
- package/lib/media/index.d.ts +2 -2
- package/lib/media/media.enum.d.ts +9 -9
- package/lib/media/media.service.d.ts +16 -16
- package/lib/message/index.d.ts +1 -1
- package/lib/message/message.module.d.ts +10 -10
- package/lib/message/message.theming.scss +26 -0
- package/lib/message/shared/index.d.ts +4 -4
- package/lib/message/shared/message.enum.d.ts +8 -8
- package/lib/message/shared/message.interface.d.ts +21 -21
- package/lib/message/shared/message.service.d.ts +31 -31
- package/lib/network/index.d.ts +2 -2
- package/lib/network/network.interfaces.d.ts +3 -3
- package/lib/network/network.service.d.ts +21 -21
- package/lib/regex/index.d.ts +2 -2
- package/lib/regex/regex.interface.d.ts +3 -3
- package/lib/regex/regex.service.d.ts +12 -12
- package/lib/request/error.interceptor.d.ts +14 -14
- package/lib/request/error.module.d.ts +9 -9
- package/lib/request/index.d.ts +2 -2
- package/lib/request/logging.interceptor.d.ts +8 -8
- package/lib/request/logging.module.d.ts +8 -8
- package/lib/route/route.interface.d.ts +23 -23
- package/lib/route/route.service.d.ts +19 -19
- package/lib/storage/index.d.ts +3 -2
- package/lib/storage/storage.d.ts +15 -0
- package/lib/storage/storage.interface.d.ts +20 -20
- package/lib/storage/storage.service.d.ts +10 -19
- package/locale/en.core.json +1 -2
- package/locale/en.json +1 -1205
- package/locale/fr.core.json +1 -2
- package/locale/fr.json +1 -1210
- package/package.json +40 -30
- package/packages.import.scss +4 -0
- package/public_api.d.ts +24 -24
- package/style/all-style.css +793 -0
- package/style/all-style.scss +3 -0
- package/style/layout.scss +163 -0
- package/style/partial/core-utils.scss +5 -0
- package/style/partial/core.variables.scss +1 -1
- package/style/partial/media.scss +80 -80
- package/style/style.css +237 -0
- package/style/style.scss +19 -0
- package/theming/all-theme.scss +14 -0
- package/theming/material-theme-override.scss +39 -0
- package/theming/prebuilt-themes/blue-theme.css +2986 -0
- package/theming/prebuilt-themes/blue-theme.scss +34 -0
- package/theming/prebuilt-themes/bluedark-theme.css +2986 -0
- package/theming/prebuilt-themes/bluedark-theme.scss +67 -0
- package/theming/prebuilt-themes/bluedq-theme.css +2986 -0
- package/theming/prebuilt-themes/bluedq-theme.scss +66 -0
- package/theming/prebuilt-themes/bluegrey-theme.css +2986 -0
- package/theming/prebuilt-themes/bluegrey-theme.scss +25 -0
- package/theming/prebuilt-themes/dark-theme.css +2993 -0
- package/theming/prebuilt-themes/dark-theme.scss +25 -0
- package/theming/prebuilt-themes/deeppurple-theme.css +2986 -0
- package/theming/prebuilt-themes/deeppurple-theme.scss +25 -0
- package/theming/prebuilt-themes/indigo-theme.css +2986 -0
- package/theming/prebuilt-themes/indigo-theme.scss +25 -0
- package/theming/prebuilt-themes/orange-theme.css +2986 -0
- package/theming/prebuilt-themes/orange-theme.scss +25 -0
- package/theming/prebuilt-themes/qcca/_index.scss +2 -0
- package/theming/prebuilt-themes/qcca/base/_index.scss +4 -0
- package/theming/prebuilt-themes/qcca/base/breakpoints.scss +57 -0
- package/theming/prebuilt-themes/qcca/base/colors.scss +40 -0
- package/theming/prebuilt-themes/qcca/base/palette.scss +50 -0
- package/theming/prebuilt-themes/qcca/base/typography/_index.scss +2 -0
- package/theming/prebuilt-themes/qcca/base/typography/typography.scss +138 -0
- package/theming/prebuilt-themes/qcca/base/typography/typography.utils.scss +18 -0
- package/theming/prebuilt-themes/qcca/components/_index.scss +9 -0
- package/theming/prebuilt-themes/qcca/components/_index.theme.scss +5 -0
- package/theming/prebuilt-themes/qcca/components/button.scss +24 -0
- package/theming/prebuilt-themes/qcca/components/dialog.scss +36 -0
- package/theming/prebuilt-themes/qcca/components/form-field.scss +5 -0
- package/theming/prebuilt-themes/qcca/components/input.scss +6 -0
- package/theming/prebuilt-themes/qcca/components/list.scss +24 -0
- package/theming/prebuilt-themes/qcca/components/panel.scss +8 -0
- package/theming/prebuilt-themes/qcca/components/search-bar.scss +41 -0
- package/theming/prebuilt-themes/qcca/components/search-bar.theme.scss +29 -0
- package/theming/prebuilt-themes/qcca-theme.css +3373 -0
- package/theming/prebuilt-themes/qcca-theme.scss +47 -0
- package/theming/prebuilt-themes/teal-theme.css +2986 -0
- package/theming/prebuilt-themes/teal-theme.scss +25 -0
- package/theming/typography.scss +28 -0
- package/theming/utils/_foreground.scss +22 -0
- package/__ivy_ngcc__/locale/en.auth.json +0 -29
- package/__ivy_ngcc__/locale/en.common.json +0 -43
- package/__ivy_ngcc__/locale/en.context.json +0 -199
- package/__ivy_ngcc__/locale/en.core.json +0 -29
- package/__ivy_ngcc__/locale/en.geo.json +0 -805
- package/__ivy_ngcc__/locale/en.integration.json +0 -124
- package/__ivy_ngcc__/locale/en.json +0 -1205
- package/__ivy_ngcc__/locale/fr.auth.json +0 -32
- package/__ivy_ngcc__/locale/fr.common.json +0 -43
- package/__ivy_ngcc__/locale/fr.context.json +0 -199
- package/__ivy_ngcc__/locale/fr.core.json +0 -29
- package/__ivy_ngcc__/locale/fr.geo.json +0 -805
- package/__ivy_ngcc__/locale/fr.integration.json +0 -125
- package/__ivy_ngcc__/locale/fr.json +0 -1210
- package/esm2020/lib/activity/activity.service.mjs +0 -33
- package/esm2020/lib/analytics/shared/analytics.service.mjs +0 -81
- package/esm2020/lib/compression/compression.service.mjs +0 -140
- package/esm2020/lib/config/config.service.mjs +0 -52
- package/esm2020/lib/config/version.mjs +0 -5
- package/esm2020/lib/core.module.mjs +0 -92
- package/esm2020/lib/language/language.module.mjs +0 -39
- package/esm2020/lib/language/shared/language.loader.mjs +0 -26
- package/esm2020/lib/language/shared/language.provider.mjs +0 -22
- package/esm2020/lib/language/shared/language.service.mjs +0 -32
- package/esm2020/lib/media/media.service.mjs +0 -76
- package/esm2020/lib/message/message.module.mjs +0 -56
- package/esm2020/lib/message/shared/message.service.mjs +0 -201
- package/esm2020/lib/network/network.service.mjs +0 -60
- package/esm2020/lib/regex/regex.service.mjs +0 -27
- package/esm2020/lib/request/error.interceptor.mjs +0 -66
- package/esm2020/lib/request/error.module.mjs +0 -39
- package/esm2020/lib/request/logging.interceptor.mjs +0 -29
- package/esm2020/lib/route/route.interface.mjs +0 -2
- package/esm2020/lib/route/route.service.mjs +0 -71
- package/esm2020/lib/storage/index.mjs +0 -3
- package/esm2020/lib/storage/storage.service.mjs +0 -79
- package/fesm2015/igo2-core.mjs +0 -1418
- package/fesm2015/igo2-core.mjs.map +0 -1
- package/fesm2020/igo2-core.mjs.map +0 -1
- package/locale/en.auth.json +0 -29
- package/locale/en.common.json +0 -43
- package/locale/en.context.json +0 -199
- package/locale/en.geo.json +0 -805
- package/locale/en.integration.json +0 -124
- package/locale/fr.auth.json +0 -32
- package/locale/fr.common.json +0 -43
- package/locale/fr.context.json +0 -199
- package/locale/fr.geo.json +0 -805
- package/locale/fr.integration.json +0 -125
- package/style/all.theming.scss +0 -5
- package/style/core.theming.scss +0 -9
- package/style/foreground.scss +0 -20
- package/style/index.theming.scss +0 -1465
- package/style/material.font.scss +0 -10
- package/style/setup.scss +0 -2
- package/style/themes/blue.theme.scss +0 -19
- package/style/themes/bluedark.theme.scss +0 -52
- package/style/themes/bluedq.theme.scss +0 -52
- package/style/themes/bluegrey.theme.scss +0 -16
- package/style/themes/dark.theme.scss +0 -16
- package/style/themes/deeppurple.theme.scss +0 -16
- package/style/themes/indigo.theme.scss +0 -16
- package/style/themes/orange.theme.scss +0 -16
- package/style/themes/qcca.theme.scss +0 -98
- package/style/themes/teal.theme.scss +0 -16
- package/style/theming.scss +0 -5
- package/style/typography.scss +0 -17
package/core-theme.scss
ADDED
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1jb3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvaWdvMi1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -1,30 +1,32 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { finalize } from 'rxjs/operators';
|
|
3
|
-
import
|
|
4
|
-
import * as
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { finalize } from 'rxjs/operators';
|
|
3
|
+
import { ActivityService } from './activity.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./activity.service";
|
|
6
|
+
export class ActivityInterceptor {
|
|
7
|
+
activityService;
|
|
8
|
+
constructor(activityService) {
|
|
9
|
+
this.activityService = activityService;
|
|
10
|
+
}
|
|
11
|
+
intercept(req, next) {
|
|
12
|
+
const activity = req.headers.get('activityInterceptor');
|
|
13
|
+
if (activity) {
|
|
14
|
+
const actReq = req.clone({
|
|
15
|
+
headers: req.headers.delete('activityInterceptor')
|
|
16
|
+
});
|
|
17
|
+
if (activity === 'false') {
|
|
18
|
+
return next.handle(actReq);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const id = this.activityService.register();
|
|
22
|
+
return next.handle(req).pipe(finalize(() => {
|
|
23
|
+
this.activityService.unregister(id);
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
static ɵfac = function ActivityInterceptor_Factory(t) { return new (t || ActivityInterceptor)(i0.ɵɵinject(i1.ActivityService)); };
|
|
27
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ActivityInterceptor, factory: ActivityInterceptor.ɵfac });
|
|
28
|
+
}
|
|
29
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActivityInterceptor, [{
|
|
30
|
+
type: Injectable
|
|
31
|
+
}], function () { return [{ type: i1.ActivityService }]; }, null); })();
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvYWN0aXZpdHkvYWN0aXZpdHkuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFHckQsTUFBTSxPQUFPLG1CQUFtQjtJQUNWO0lBQXBCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQsU0FBUyxDQUNQLEdBQXFCLEVBQ3JCLElBQWlCO1FBRWpCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEQsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUN2QixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUM7YUFDbkQsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxRQUFRLEtBQUssT0FBTyxFQUFFO2dCQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDNUI7U0FDRjtRQUVELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFM0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDMUIsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzZFQXhCVSxtQkFBbUI7Z0VBQW5CLG1CQUFtQixXQUFuQixtQkFBbUI7O3VGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQWN0aXZpdHlTZXJ2aWNlIH0gZnJvbSAnLi9hY3Rpdml0eS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5SW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGl2aXR5U2VydmljZTogQWN0aXZpdHlTZXJ2aWNlKSB7fVxuXG4gIGludGVyY2VwdChcbiAgICByZXE6IEh0dHBSZXF1ZXN0PGFueT4sXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIGNvbnN0IGFjdGl2aXR5ID0gcmVxLmhlYWRlcnMuZ2V0KCdhY3Rpdml0eUludGVyY2VwdG9yJyk7XG4gICAgaWYgKGFjdGl2aXR5KSB7XG4gICAgICBjb25zdCBhY3RSZXEgPSByZXEuY2xvbmUoe1xuICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVycy5kZWxldGUoJ2FjdGl2aXR5SW50ZXJjZXB0b3InKVxuICAgICAgfSk7XG4gICAgICBpZiAoYWN0aXZpdHkgPT09ICdmYWxzZScpIHtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKGFjdFJlcSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaWQgPSB0aGlzLmFjdGl2aXR5U2VydmljZS5yZWdpc3RlcigpO1xuXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgdGhpcy5hY3Rpdml0eVNlcnZpY2UudW5yZWdpc3RlcihpZCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
3
|
-
import { ActivityInterceptor } from './activity.interceptor';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class IgoActivityModule {
|
|
6
|
-
static forRoot() {
|
|
7
|
-
return {
|
|
8
|
-
ngModule: IgoActivityModule,
|
|
9
|
-
providers: [
|
|
10
|
-
{
|
|
11
|
-
provide: HTTP_INTERCEPTORS,
|
|
12
|
-
useClass: ActivityInterceptor,
|
|
13
|
-
multi: true
|
|
14
|
-
}
|
|
15
|
-
]
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoActivityModule, [{
|
|
23
|
-
type: NgModule,
|
|
24
|
-
args: [{
|
|
25
|
-
imports: [],
|
|
26
|
-
declarations: [],
|
|
27
|
-
exports: []
|
|
28
|
-
}]
|
|
29
|
-
}], null, null); })();
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
3
|
+
import { ActivityInterceptor } from './activity.interceptor';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class IgoActivityModule {
|
|
6
|
+
static forRoot() {
|
|
7
|
+
return {
|
|
8
|
+
ngModule: IgoActivityModule,
|
|
9
|
+
providers: [
|
|
10
|
+
{
|
|
11
|
+
provide: HTTP_INTERCEPTORS,
|
|
12
|
+
useClass: ActivityInterceptor,
|
|
13
|
+
multi: true
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = function IgoActivityModule_Factory(t) { return new (t || IgoActivityModule)(); };
|
|
19
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoActivityModule });
|
|
20
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
21
|
+
}
|
|
22
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoActivityModule, [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
imports: [],
|
|
26
|
+
declarations: [],
|
|
27
|
+
exports: []
|
|
28
|
+
}]
|
|
29
|
+
}], null, null); })();
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2FjdGl2aXR5L2FjdGl2aXR5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPN0QsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7MkVBWlUsaUJBQWlCOzREQUFqQixpQkFBaUI7Ozt1RkFBakIsaUJBQWlCO2NBTDdCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgQWN0aXZpdHlJbnRlcmNlcHRvciB9IGZyb20gJy4vYWN0aXZpdHkuaW50ZXJjZXB0b3InO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgZXhwb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgSWdvQWN0aXZpdHlNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb0FjdGl2aXR5TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29BY3Rpdml0eU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICAgICAgdXNlQ2xhc3M6IEFjdGl2aXR5SW50ZXJjZXB0b3IsXG4gICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { uuid } from '@igo2/utils';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ActivityService {
|
|
6
|
+
counter$ = new BehaviorSubject(0);
|
|
7
|
+
ids = [];
|
|
8
|
+
constructor() { }
|
|
9
|
+
register() {
|
|
10
|
+
const id = uuid();
|
|
11
|
+
this.ids.push(id);
|
|
12
|
+
this.counter$.next(this.ids.length);
|
|
13
|
+
return id;
|
|
14
|
+
}
|
|
15
|
+
unregister(id) {
|
|
16
|
+
const index = this.ids.indexOf(id);
|
|
17
|
+
if (index === -1) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
this.ids.splice(index, 1);
|
|
21
|
+
this.counter$.next(this.ids.length);
|
|
22
|
+
}
|
|
23
|
+
static ɵfac = function ActivityService_Factory(t) { return new (t || ActivityService)(); };
|
|
24
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ActivityService, factory: ActivityService.ɵfac, providedIn: 'root' });
|
|
25
|
+
}
|
|
26
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActivityService, [{
|
|
27
|
+
type: Injectable,
|
|
28
|
+
args: [{
|
|
29
|
+
providedIn: 'root'
|
|
30
|
+
}]
|
|
31
|
+
}], function () { return []; }, null); })();
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9hY3Rpdml0eS9hY3Rpdml0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUtuQyxNQUFNLE9BQU8sZUFBZTtJQUNuQixRQUFRLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7SUFFekMsR0FBRyxHQUFhLEVBQUUsQ0FBQztJQUUzQixnQkFBZSxDQUFDO0lBRWhCLFFBQVE7UUFDTixNQUFNLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFVO1FBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2hCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7eUVBdkJVLGVBQWU7Z0VBQWYsZUFBZSxXQUFmLGVBQWUsbUJBRmQsTUFBTTs7dUZBRVAsZUFBZTtjQUgzQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBY3Rpdml0eVNlcnZpY2Uge1xuICBwdWJsaWMgY291bnRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgcHJpdmF0ZSBpZHM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHJlZ2lzdGVyKCk6IHN0cmluZyB7XG4gICAgY29uc3QgaWQgPSB1dWlkKCk7XG4gICAgdGhpcy5pZHMucHVzaChpZCk7XG4gICAgdGhpcy5jb3VudGVyJC5uZXh0KHRoaXMuaWRzLmxlbmd0aCk7XG5cbiAgICByZXR1cm4gaWQ7XG4gIH1cblxuICB1bnJlZ2lzdGVyKGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuaWRzLmluZGV4T2YoaWQpO1xuICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pZHMuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgIHRoaXMuY291bnRlciQubmV4dCh0aGlzLmlkcy5sZW5ndGgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './activity.service';
|
|
2
|
-
export * from './activity.interceptor';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './activity.service';
|
|
2
|
+
export * from './activity.interceptor';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvYWN0aXZpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aXZpdHkuaW50ZXJjZXB0b3InO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './shared';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './shared';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvYW5hbHl0aWNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9hbmFseXRpY3Mvc2hhcmVkL2FuYWx5dGljcy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEFuYWx5dGljc1Byb3ZpZGVyID0gJ21hdG9tbyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5hbHl0aWNzT3B0aW9ucyB7XG4gIHByb3ZpZGVyPzogQW5hbHl0aWNzUHJvdmlkZXI7XG4gIHVybD86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ConfigService } from '../../config/config.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../config/config.service";
|
|
5
|
+
export class AnalyticsService {
|
|
6
|
+
config;
|
|
7
|
+
options;
|
|
8
|
+
get paq() {
|
|
9
|
+
return (window._paq = window._paq || []);
|
|
10
|
+
}
|
|
11
|
+
constructor(config) {
|
|
12
|
+
this.config = config;
|
|
13
|
+
this.options = this.config.getConfig('analytics') || {};
|
|
14
|
+
if (this.options.provider === 'matomo') {
|
|
15
|
+
this.initMatomo();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
initMatomo() {
|
|
19
|
+
if (!this.options.url || !this.options.id) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const url = this.options.url.substr(-1) === '/'
|
|
23
|
+
? this.options.url + 'matomo'
|
|
24
|
+
: this.options.url;
|
|
25
|
+
// this.paq.push(['trackPageView']);
|
|
26
|
+
// this.paq.push(['enableLinkTracking']);
|
|
27
|
+
(() => {
|
|
28
|
+
this.paq.push(['setTrackerUrl', url + '.php']);
|
|
29
|
+
this.paq.push(['setSiteId', this.options.id]);
|
|
30
|
+
const g = document.createElement('script');
|
|
31
|
+
const s = document.getElementsByTagName('script')[0];
|
|
32
|
+
g.type = 'text/javascript';
|
|
33
|
+
g.async = true;
|
|
34
|
+
g.defer = true;
|
|
35
|
+
g.src = url + '.js';
|
|
36
|
+
s.parentNode.insertBefore(g, s);
|
|
37
|
+
})();
|
|
38
|
+
}
|
|
39
|
+
setUser(user, profils) {
|
|
40
|
+
if (this.options.provider === 'matomo') {
|
|
41
|
+
if (!user) {
|
|
42
|
+
this.paq.push(['resetUserId']);
|
|
43
|
+
this.paq.push(['deleteCustomVariable', 1, 'user']);
|
|
44
|
+
this.paq.push(['deleteCustomVariable', 2, 'name']);
|
|
45
|
+
this.paq.push(['deleteCustomVariable', 3, 'profils']);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.paq.push(['setUserId', user.id]);
|
|
49
|
+
const name = `${user.firstName} ${user.lastName}`;
|
|
50
|
+
this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']);
|
|
51
|
+
this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']);
|
|
52
|
+
this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']);
|
|
53
|
+
}
|
|
54
|
+
this.paq.push(['trackPageView']);
|
|
55
|
+
this.paq.push(['enableLinkTracking']);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
trackSearch(term, nbResults) {
|
|
59
|
+
if (this.options.provider === 'matomo') {
|
|
60
|
+
this.paq.push(['trackSiteSearch', term, false, nbResults]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
trackEvent(category, action, name) {
|
|
64
|
+
if (this.options.provider === 'matomo') {
|
|
65
|
+
this.paq.push(['trackEvent', category, action, name]);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Function that tracks layers added to the map
|
|
70
|
+
*/
|
|
71
|
+
trackLayer(category, action, parameters) {
|
|
72
|
+
if (this.options.provider === 'matomo')
|
|
73
|
+
this.paq.push(['trackEvent', category, action, parameters]);
|
|
74
|
+
}
|
|
75
|
+
static ɵfac = function AnalyticsService_Factory(t) { return new (t || AnalyticsService)(i0.ɵɵinject(i1.ConfigService)); };
|
|
76
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnalyticsService, factory: AnalyticsService.ɵfac, providedIn: 'root' });
|
|
77
|
+
}
|
|
78
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsService, [{
|
|
79
|
+
type: Injectable,
|
|
80
|
+
args: [{
|
|
81
|
+
providedIn: 'root'
|
|
82
|
+
}]
|
|
83
|
+
}], function () { return [{ type: i1.ConfigService }]; }, null); })();
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvYW5hbHl0aWNzL3NoYXJlZC9hbmFseXRpY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBTzVELE1BQU0sT0FBTyxnQkFBZ0I7SUFPUDtJQU5aLE9BQU8sQ0FBbUI7SUFFbEMsSUFBSSxHQUFHO1FBQ0wsT0FBTyxDQUFFLE1BQWMsQ0FBQyxJQUFJLEdBQUksTUFBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV4RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUN0QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxPQUFPO1NBQ1I7UUFDRCxNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHO1lBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxRQUFRO1lBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFD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SSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxRQUFnQixFQUFFLE1BQWMsRUFBRSxJQUFZO1FBQzlELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVUsQ0FBQyxRQUFnQixFQUFFLE1BQWMsRUFBRSxVQUFlO1FBQ2pFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUTtZQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQzswRUF0RlUsZ0JBQWdCO2dFQUFoQixnQkFBZ0IsV0FBaEIsZ0JBQWdCLG1CQUZmLE1BQU07O3VGQUVQLGdCQUFnQjtjQUg1QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEFuYWx5dGljc09wdGlvbnMgfSBmcm9tICcuL2FuYWx5dGljcy5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hbHl0aWNzU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBvcHRpb25zOiBBbmFseXRpY3NPcHRpb25zO1xyXG5cclxuICBnZXQgcGFxKCkge1xyXG4gICAgcmV0dXJuICgod2luZG93IGFzIGFueSkuX3BhcSA9ICh3aW5kb3cgYXMgYW55KS5fcGFxIHx8IFtdKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2FuYWx5dGljcycpIHx8IHt9O1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMucHJvdmlkZXIgPT09ICdtYXRvbW8nKSB7XHJcbiAgICAgIHRoaXMuaW5pdE1hdG9tbygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0TWF0b21vKCkge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMudXJsIHx8ICF0aGlzLm9wdGlvbnMuaWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdXJsID1cclxuICAgICAgdGhpcy5vcHRpb25zLnVybC5zdWJzdHIoLTEpID09PSAnLydcclxuICAgICAgICA/IHRoaXMub3B0aW9ucy51cmwgKyAnbWF0b21vJ1xyXG4gICAgICAgIDogdGhpcy5vcHRpb25zLnVybDtcclxuXHJcbiAgICAvLyB0aGlzLnBhcS5wdXNoKFsndHJhY2tQYWdlVmlldyddKTtcclxuICAgIC8vIHRoaXMucGFxLnB1c2goWydlbmFibGVMaW5rVHJhY2tpbmcnXSk7XHJcbiAgICAoKCkgPT4ge1xyXG4gICAgICB0aGlzLnBhcS5wdXNoKFsnc2V0VHJhY2tlclVybCcsIHVybCArICcucGhwJ10pO1xyXG4gICAgICB0aGlzLnBhcS5wdXNoKFsnc2V0U2l0ZUlkJywgdGhpcy5vcHRpb25zLmlkXSk7XHJcbiAgICAgIGNvbnN0IGcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgICAgY29uc3QgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtcclxuICAgICAgZy50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XHJcbiAgICAgIGcuYXN5bmMgPSB0cnVlO1xyXG4gICAgICBnLmRlZmVyID0gdHJ1ZTtcclxuICAgICAgZy5zcmMgPSB1cmwgKyAnLmpzJztcclxuICAgICAgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnLCBzKTtcclxuICAgIH0pKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VXNlcihcclxuICAgIHVzZXI/OiB7XHJcbiAgICAgIGlkOiBudW1iZXI7XHJcbiAgICAgIHNvdXJjZUlkPzogc3RyaW5nO1xyXG4gICAgICBmaXJzdE5hbWU/OiBzdHJpbmc7XHJcbiAgICAgIGxhc3ROYW1lPzogc3RyaW5nO1xyXG4gICAgfSxcclxuICAgIHByb2ZpbHM/OiBzdHJpbmdbXVxyXG4gICkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5wcm92aWRlciA9PT0gJ21hdG9tbycpIHtcclxuICAgICAgaWYgKCF1c2VyKSB7XHJcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ3Jlc2V0VXNlcklkJ10pO1xyXG4gICAgICAgIHRoaXMucGFxLnB1c2goWydkZWxldGVDdXN0b21WYXJpYWJsZScsIDEsICd1c2VyJ10pO1xyXG4gICAgICAgIHRoaXMucGFxLnB1c2goWydkZWxldGVDdXN0b21WYXJpYWJsZScsIDIsICduYW1lJ10pO1xyXG4gICAgICAgIHRoaXMucGFxLnB1c2goWydkZWxldGVDdXN0b21WYXJpYWJsZScsIDMsICdwcm9maWxzJ10pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucGFxLnB1c2goWydzZXRVc2VySWQnLCB1c2VyLmlkXSk7XHJcblxyXG4gICAgICAgIGNvbnN0IG5hbWUgPSBgJHt1c2VyLmZpcnN0TmFtZX0gJHt1c2VyLmxhc3ROYW1lfWA7XHJcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ3NldEN1c3RvbVZhcmlhYmxlJywgMSwgJ3VzZXInLCB1c2VyLnNvdXJjZUlkLCAndmlzaXQnXSk7XHJcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ3NldEN1c3RvbVZhcmlhYmxlJywgMiwgJ25hbWUnLCBuYW1lLCAndmlzaXQnXSk7XHJcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ3NldEN1c3RvbVZhcmlhYmxlJywgMywgJ3Byb2ZpbHMnLCBwcm9maWxzLCAndmlzaXQnXSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMucGFxLnB1c2goWyd0cmFja1BhZ2VWaWV3J10pO1xyXG4gICAgICB0aGlzLnBhcS5wdXNoKFsnZW5hYmxlTGlua1RyYWNraW5nJ10pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYWNrU2VhcmNoKHRlcm06IHN0cmluZywgbmJSZXN1bHRzOiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMucHJvdmlkZXIgPT09ICdtYXRvbW8nKSB7XHJcbiAgICAgIHRoaXMucGFxLnB1c2goWyd0cmFja1NpdGVTZWFyY2gnLCB0ZXJtLCBmYWxzZSwgbmJSZXN1bHRzXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhY2tFdmVudChjYXRlZ29yeTogc3RyaW5nLCBhY3Rpb246IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLnByb3ZpZGVyID09PSAnbWF0b21vJykge1xyXG4gICAgICB0aGlzLnBhcS5wdXNoKFsndHJhY2tFdmVudCcsIGNhdGVnb3J5LCBhY3Rpb24sIG5hbWVdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZ1bmN0aW9uIHRoYXQgdHJhY2tzIGxheWVycyBhZGRlZCB0byB0aGUgbWFwXHJcbiAgICovXHJcbiAgcHVibGljIHRyYWNrTGF5ZXIoY2F0ZWdvcnk6IHN0cmluZywgYWN0aW9uOiBzdHJpbmcsIHBhcmFtZXRlcnM6IGFueSkge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5wcm92aWRlciA9PT0gJ21hdG9tbycpXHJcbiAgICAgIHRoaXMucGFxLnB1c2goWyd0cmFja0V2ZW50JywgY2F0ZWdvcnksIGFjdGlvbiwgcGFyYW1ldGVyc10pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './analytics.service';
|
|
2
|
-
export * from './analytics.interface';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './analytics.service';
|
|
2
|
+
export * from './analytics.interface';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvYW5hbHl0aWNzL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FuYWx5dGljcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYW5hbHl0aWNzLmludGVyZmFjZSc7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlc3NlZERhdGEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2NvbXByZXNzaW9uL2NvbXByZXNzZWREYXRhLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb21wcmVzc2VkRGF0YSB7XHJcbiAgbGVuZ3RoOiBudW1iZXI7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG9iamVjdDogYW55O1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
function getNumber(v, endposition, length) {
|
|
5
|
+
/* tslint:disable:no-bitwise*/
|
|
6
|
+
const mask = (1 << length) - 1;
|
|
7
|
+
return (v >> endposition) & mask;
|
|
8
|
+
/* tslint:enable:no-bitwise*/
|
|
9
|
+
}
|
|
10
|
+
export class CompressionService {
|
|
11
|
+
base64Index = new Map();
|
|
12
|
+
indexBase64 = new Map();
|
|
13
|
+
constructor() {
|
|
14
|
+
this.generateBase64Index();
|
|
15
|
+
}
|
|
16
|
+
generateBase64Index() {
|
|
17
|
+
// https://fr.wikipedia.org/wiki/Base64
|
|
18
|
+
// A-Z => [0, 25]
|
|
19
|
+
for (let i = 0; i < 26; i++) {
|
|
20
|
+
this.base64Index.set(String.fromCharCode('A'.charCodeAt(0) + i), i);
|
|
21
|
+
this.indexBase64.set(i, String.fromCharCode('A'.charCodeAt(0) + i));
|
|
22
|
+
}
|
|
23
|
+
// a-z => [26, 51]
|
|
24
|
+
for (let i = 0; i < 26; i++) {
|
|
25
|
+
this.base64Index.set(String.fromCharCode('a'.charCodeAt(0) + i), i + 26);
|
|
26
|
+
this.indexBase64.set(i + 26, String.fromCharCode('a'.charCodeAt(0) + i));
|
|
27
|
+
}
|
|
28
|
+
// 0-9 => [52, 61]
|
|
29
|
+
for (let i = 0; i < 10; i++) {
|
|
30
|
+
this.base64Index.set(String.fromCharCode('0'.charCodeAt(0) + i), i + 52);
|
|
31
|
+
this.indexBase64.set(i + 52, String.fromCharCode('0'.charCodeAt(0) + i));
|
|
32
|
+
}
|
|
33
|
+
// + / => [62, 63]
|
|
34
|
+
this.base64Index.set('+', 62);
|
|
35
|
+
this.base64Index.set('/', 63);
|
|
36
|
+
this.indexBase64.set(62, '+');
|
|
37
|
+
this.indexBase64.set(63, '/');
|
|
38
|
+
}
|
|
39
|
+
compressBlob(blob) {
|
|
40
|
+
if (!blob) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const observable = new Observable((observer) => {
|
|
44
|
+
const reader = new FileReader();
|
|
45
|
+
reader.readAsDataURL(blob);
|
|
46
|
+
reader.onload = () => {
|
|
47
|
+
const base64 = reader.result.valueOf();
|
|
48
|
+
const text64 = base64.substr(base64.indexOf(',') + 1);
|
|
49
|
+
const compressed = this.compressStringBase64(text64);
|
|
50
|
+
const compressedData = {
|
|
51
|
+
length: text64.length,
|
|
52
|
+
type: blob.type,
|
|
53
|
+
object: compressed
|
|
54
|
+
};
|
|
55
|
+
observer.next(compressedData);
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
return observable;
|
|
59
|
+
}
|
|
60
|
+
decompressBlob(compressedData) {
|
|
61
|
+
/* tslint:disable:no-bitwise*/
|
|
62
|
+
const object = compressedData.object;
|
|
63
|
+
const length = compressedData.length;
|
|
64
|
+
const decompressed = this.decompressStringBase64(object, length);
|
|
65
|
+
const byteCharacters = atob(decompressed);
|
|
66
|
+
const byteNumbers = new Array(byteCharacters.length);
|
|
67
|
+
for (let i = 0; i < byteCharacters.length; i++) {
|
|
68
|
+
byteNumbers[i] = byteCharacters.charCodeAt(i);
|
|
69
|
+
}
|
|
70
|
+
const byteArray = new Uint8Array(byteNumbers);
|
|
71
|
+
const blob = new Blob([byteArray], { type: compressedData.type });
|
|
72
|
+
/* tslint:enable:no-bitwise*/
|
|
73
|
+
return blob;
|
|
74
|
+
}
|
|
75
|
+
compressStringBase64(s) {
|
|
76
|
+
/* tslint:disable:no-bitwise*/
|
|
77
|
+
let out = '';
|
|
78
|
+
let bits = 16;
|
|
79
|
+
let chr = 0;
|
|
80
|
+
let rem = 0;
|
|
81
|
+
for (const c of s) {
|
|
82
|
+
const value = this.base64Index.get(c);
|
|
83
|
+
if (bits > 6) {
|
|
84
|
+
bits -= 6;
|
|
85
|
+
chr += value << bits;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
rem = 6 - bits;
|
|
89
|
+
chr += value >> rem;
|
|
90
|
+
out += String.fromCharCode(chr);
|
|
91
|
+
chr = value << (16 - rem);
|
|
92
|
+
bits = 16 - rem;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (s.length % 8 !== 0) {
|
|
96
|
+
out += String.fromCharCode(chr);
|
|
97
|
+
}
|
|
98
|
+
/* tslint:enable:no-bitwise*/
|
|
99
|
+
return String.fromCharCode(9731) + out;
|
|
100
|
+
}
|
|
101
|
+
decompressStringBase64(c, length) {
|
|
102
|
+
/* tslint:disable:no-bitwise*/
|
|
103
|
+
if (!c) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if (c.charCodeAt(0) !== 9731) {
|
|
107
|
+
return c;
|
|
108
|
+
}
|
|
109
|
+
let chr = 0;
|
|
110
|
+
let rem = 0;
|
|
111
|
+
let bits = 16;
|
|
112
|
+
let out = '';
|
|
113
|
+
let j = 1;
|
|
114
|
+
let value = c.charCodeAt(j);
|
|
115
|
+
for (let i = 0; i < length; i++) {
|
|
116
|
+
if (bits > 6) {
|
|
117
|
+
bits -= 6;
|
|
118
|
+
chr = getNumber(value, bits, 6);
|
|
119
|
+
out += this.indexBase64.get(chr);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
rem = 6 - bits;
|
|
123
|
+
chr = getNumber(value, 0, bits) << rem;
|
|
124
|
+
value = c.charCodeAt(++j);
|
|
125
|
+
chr += getNumber(value, 16 - rem, rem);
|
|
126
|
+
out += this.indexBase64.get(chr);
|
|
127
|
+
bits = 16 - rem;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return out;
|
|
131
|
+
/* tslint:enable:no-bitwise*/
|
|
132
|
+
}
|
|
133
|
+
static ɵfac = function CompressionService_Factory(t) { return new (t || CompressionService)(); };
|
|
134
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CompressionService, factory: CompressionService.ɵfac, providedIn: 'root' });
|
|
135
|
+
}
|
|
136
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CompressionService, [{
|
|
137
|
+
type: Injectable,
|
|
138
|
+
args: [{
|
|
139
|
+
providedIn: 'root'
|
|
140
|
+
}]
|
|
141
|
+
}], function () { return []; }, null); })();
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb21wcmVzc2lvbi9jb21wcmVzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQzs7QUFHNUMsU0FBUyxTQUFTLENBQUMsQ0FBUyxFQUFFLFdBQW1CLEVBQUUsTUFBYztJQUMvRCw4QkFBOEI7SUFDOUIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLE9BQU8sQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ2pDLDZCQUE2QjtBQUMvQixDQUFDO0FBS0QsTUFBTSxPQUFPLGtCQUFrQjtJQUNyQixXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFDeEMsV0FBVyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBRWhEO1FBQ0UsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLG1CQUFtQjtRQUN6Qix1Q0FBdUM7UUFDdkMsaUJBQWlCO1FBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRTtRQUNELGtCQUFrQjtRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxRTtRQUNELGtCQUFrQjtRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxRTtRQUNELGtCQUFrQjtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FB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LENBQUM7Z0JBQ1YsR0FBRyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbEM7aUJBQU07Z0JBQ0wsR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ2YsR0FBRyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQztnQkFDdkMsS0FBSyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDMUIsR0FBRyxJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDdkMsR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQzthQUNqQjtTQUNGO1FBQ0QsT0FBTyxHQUFHLENBQUM7UUFDWCw2QkFBNkI7SUFDL0IsQ0FBQzs0RUFqSVUsa0JBQWtCO2dFQUFsQixrQkFBa0IsV0FBbEIsa0JBQWtCLG1CQUZqQixNQUFNOzt1RkFFUCxrQkFBa0I7Y0FIOUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21wcmVzc2VkRGF0YSB9IGZyb20gJy4vY29tcHJlc3NlZERhdGEuaW50ZXJmYWNlJztcclxuXHJcbmZ1bmN0aW9uIGdldE51bWJlcih2OiBudW1iZXIsIGVuZHBvc2l0aW9uOiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKSB7XHJcbiAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSovXHJcbiAgY29uc3QgbWFzayA9ICgxIDw8IGxlbmd0aCkgLSAxO1xyXG4gIHJldHVybiAodiA+PiBlbmRwb3NpdGlvbikgJiBtYXNrO1xyXG4gIC8qIHRzbGludDplbmFibGU6bm8tYml0d2lzZSovXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXByZXNzaW9uU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBiYXNlNjRJbmRleCA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XHJcbiAgcHJpdmF0ZSBpbmRleEJhc2U2NCA9IG5ldyBNYXA8bnVtYmVyLCBzdHJpbmc+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5nZW5lcmF0ZUJhc2U2NEluZGV4KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlQmFzZTY0SW5kZXgoKSB7XHJcbiAgICAvLyBodHRwczovL2ZyLndpa2lwZWRpYS5vcmcvd2lraS9CYXNlNjRcclxuICAgIC8vIEEtWiA9PiBbMCwgMjVdXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDI2OyBpKyspIHtcclxuICAgICAgdGhpcy5iYXNlNjRJbmRleC5zZXQoU3RyaW5nLmZyb21DaGFyQ29kZSgnQScuY2hhckNvZGVBdCgwKSArIGkpLCBpKTtcclxuICAgICAgdGhpcy5pbmRleEJhc2U2NC5zZXQoaSwgU3RyaW5nLmZyb21DaGFyQ29kZSgnQScuY2hhckNvZGVBdCgwKSArIGkpKTtcclxuICAgIH1cclxuICAgIC8vIGEteiA9PiBbMjYsIDUxXVxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyNjsgaSsrKSB7XHJcbiAgICAgIHRoaXMuYmFzZTY0SW5kZXguc2V0KFN0cmluZy5mcm9tQ2hhckNvZGUoJ2EnLmNoYXJDb2RlQXQoMCkgKyBpKSwgaSArIDI2KTtcclxuICAgICAgdGhpcy5pbmRleEJhc2U2NC5zZXQoaSArIDI2LCBTdHJpbmcuZnJvbUNoYXJDb2RlKCdhJy5jaGFyQ29kZUF0KDApICsgaSkpO1xyXG4gICAgfVxyXG4gICAgLy8gMC05ID0+IFs1MiwgNjFdXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcclxuICAgICAgdGhpcy5iYXNlNjRJbmRleC5zZXQoU3RyaW5nLmZyb21DaGFyQ29kZSgnMCcuY2hhckNvZGVBdCgwKSArIGkpLCBpICsgNTIpO1xyXG4gICAgICB0aGlzLmluZGV4QmFzZTY0LnNldChpICsgNTIsIFN0cmluZy5mcm9tQ2hhckNvZGUoJzAnLmNoYXJDb2RlQXQoMCkgKyBpKSk7XHJcbiAgICB9XHJcbiAgICAvLyArIC8gPT4gWzYyLCA2M11cclxuICAgIHRoaXMuYmFzZTY0SW5kZXguc2V0KCcrJywgNjIpO1xyXG4gICAgdGhpcy5iYXNlNjRJbmRleC5zZXQoJy8nLCA2Myk7XHJcbiAgICB0aGlzLmluZGV4QmFzZTY0LnNldCg2MiwgJysnKTtcclxuICAgIHRoaXMuaW5kZXhCYXNlNjQuc2V0KDYzLCAnLycpO1xyXG4gIH1cclxuXHJcbiAgY29tcHJlc3NCbG9iKGJsb2I6IEJsb2IpOiBPYnNlcnZhYmxlPENvbXByZXNzZWREYXRhPiB7XHJcbiAgICBpZiAoIWJsb2IpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPENvbXByZXNzZWREYXRhPikgPT4ge1xyXG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcclxuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBiYXNlNjQgPSByZWFkZXIucmVzdWx0LnZhbHVlT2YoKSBhcyBzdHJpbmc7XHJcbiAgICAgICAgY29uc3QgdGV4dDY0ID0gYmFzZTY0LnN1YnN0cihiYXNlNjQuaW5kZXhPZignLCcpICsgMSk7XHJcbiAgICAgICAgY29uc3QgY29tcHJlc3NlZCA9IHRoaXMuY29tcHJlc3NTdHJpbmdCYXNlNjQodGV4dDY0KTtcclxuICAgICAgICBjb25zdCBjb21wcmVzc2VkRGF0YTogQ29tcHJlc3NlZERhdGEgPSB7XHJcbiAgICAgICAgICBsZW5ndGg6IHRleHQ2NC5sZW5ndGgsXHJcbiAgICAgICAgICB0eXBlOiBibG9iLnR5cGUsXHJcbiAgICAgICAgICBvYmplY3Q6IGNvbXByZXNzZWRcclxuICAgICAgICB9O1xyXG4gICAgICAgIG9ic2VydmVyLm5leHQoY29tcHJlc3NlZERhdGEpO1xyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gb2JzZXJ2YWJsZTtcclxuICB9XHJcblxyXG4gIGRlY29tcHJlc3NCbG9iKGNvbXByZXNzZWREYXRhOiBDb21wcmVzc2VkRGF0YSk6IEJsb2Ige1xyXG4gICAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSovXHJcbiAgICBjb25zdCBvYmplY3QgPSBjb21wcmVzc2VkRGF0YS5vYmplY3Q7XHJcbiAgICBjb25zdCBsZW5ndGggPSBjb21wcmVzc2VkRGF0YS5sZW5ndGg7XHJcbiAgICBjb25zdCBkZWNvbXByZXNzZWQ6IHN0cmluZyA9IHRoaXMuZGVjb21wcmVzc1N0cmluZ0Jhc2U2NChvYmplY3QsIGxlbmd0aCk7XHJcbiAgICBjb25zdCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoZGVjb21wcmVzc2VkKTtcclxuICAgIGNvbnN0IGJ5dGVOdW1iZXJzID0gbmV3IEFycmF5KGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGJ5dGVOdW1iZXJzW2ldID0gYnl0ZUNoYXJhY3RlcnMuY2hhckNvZGVBdChpKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGJ5dGVBcnJheSA9IG5ldyBVaW50OEFycmF5KGJ5dGVOdW1iZXJzKTtcclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnl0ZUFycmF5XSwgeyB0eXBlOiBjb21wcmVzc2VkRGF0YS50eXBlIH0pO1xyXG4gICAgLyogdHNsaW50OmVuYWJsZTpuby1iaXR3aXNlKi9cclxuICAgIHJldHVybiBibG9iO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb21wcmVzc1N0cmluZ0Jhc2U2NChzOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSovXHJcbiAgICBsZXQgb3V0ID0gJyc7XHJcbiAgICBsZXQgYml0cyA9IDE2O1xyXG4gICAgbGV0IGNociA9IDA7XHJcbiAgICBsZXQgcmVtID0gMDtcclxuICAgIGZvciAoY29uc3QgYyBvZiBzKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5iYXNlNjRJbmRleC5nZXQoYyk7XHJcbiAgICAgIGlmIChiaXRzID4gNikge1xyXG4gICAgICAgIGJpdHMgLT0gNjtcclxuICAgICAgICBjaHIgKz0gdmFsdWUgPDwgYml0cztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZW0gPSA2IC0gYml0cztcclxuICAgICAgICBjaHIgKz0gdmFsdWUgPj4gcmVtO1xyXG4gICAgICAgIG91dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGNocik7XHJcbiAgICAgICAgY2hyID0gdmFsdWUgPDwgKDE2IC0gcmVtKTtcclxuICAgICAgICBiaXRzID0gMTYgLSByZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChzLmxlbmd0aCAlIDggIT09IDApIHtcclxuICAgICAgb3V0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoY2hyKTtcclxuICAgIH1cclxuICAgIC8qIHRzbGludDplbmFibGU6bm8tYml0d2lzZSovXHJcbiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSg5NzMxKSArIG91dDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVjb21wcmVzc1N0cmluZ0Jhc2U2NChjOiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIC8qIHRzbGludDpkaXNhYmxlOm5vLWJpdHdpc2UqL1xyXG4gICAgaWYgKCFjKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYy5jaGFyQ29kZUF0KDApICE9PSA5NzMxKSB7XHJcbiAgICAgIHJldHVybiBjO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBjaHIgPSAwO1xyXG4gICAgbGV0IHJlbSA9IDA7XHJcbiAgICBsZXQgYml0cyA9IDE2O1xyXG4gICAgbGV0IG91dCA9ICcnO1xyXG4gICAgbGV0IGogPSAxO1xyXG4gICAgbGV0IHZhbHVlID0gYy5jaGFyQ29kZUF0KGopO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoYml0cyA+IDYpIHtcclxuICAgICAgICBiaXRzIC09IDY7XHJcbiAgICAgICAgY2hyID0gZ2V0TnVtYmVyKHZhbHVlLCBiaXRzLCA2KTtcclxuICAgICAgICBvdXQgKz0gdGhpcy5pbmRleEJhc2U2NC5nZXQoY2hyKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZW0gPSA2IC0gYml0cztcclxuICAgICAgICBjaHIgPSBnZXROdW1iZXIodmFsdWUsIDAsIGJpdHMpIDw8IHJlbTtcclxuICAgICAgICB2YWx1ZSA9IGMuY2hhckNvZGVBdCgrK2opO1xyXG4gICAgICAgIGNociArPSBnZXROdW1iZXIodmFsdWUsIDE2IC0gcmVtLCByZW0pO1xyXG4gICAgICAgIG91dCArPSB0aGlzLmluZGV4QmFzZTY0LmdldChjaHIpO1xyXG4gICAgICAgIGJpdHMgPSAxNiAtIHJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG91dDtcclxuICAgIC8qIHRzbGludDplbmFibGU6bm8tYml0d2lzZSovXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './compressedData.interface';
|
|
2
|
-
export * from './compression.service';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './compressedData.interface';
|
|
2
|
+
export * from './compression.service';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29tcHJlc3Npb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wcmVzc2VkRGF0YS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wcmVzc2lvbi5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb25maWcvY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb25maWdPcHRpb25zIHtcclxuICBkZWZhdWx0PzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxuICBwYXRoPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { provideConfigOptions, provideConfigLoader } from './config.provider';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class IgoConfigModule {
|
|
5
|
-
static forRoot() {
|
|
6
|
-
return {
|
|
7
|
-
ngModule: IgoConfigModule,
|
|
8
|
-
providers: [provideConfigOptions({}), provideConfigLoader()]
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoConfigModule, [{
|
|
16
|
-
type: NgModule,
|
|
17
|
-
args: [{
|
|
18
|
-
imports: [],
|
|
19
|
-
declarations: [],
|
|
20
|
-
exports: []
|
|
21
|
-
}]
|
|
22
|
-
}], null, null); })();
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { provideConfigOptions, provideConfigLoader } from './config.provider';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class IgoConfigModule {
|
|
5
|
+
static forRoot() {
|
|
6
|
+
return {
|
|
7
|
+
ngModule: IgoConfigModule,
|
|
8
|
+
providers: [provideConfigOptions({}), provideConfigLoader()]
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
static ɵfac = function IgoConfigModule_Factory(t) { return new (t || IgoConfigModule)(); };
|
|
12
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoConfigModule });
|
|
13
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
14
|
+
}
|
|
15
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoConfigModule, [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
imports: [],
|
|
19
|
+
declarations: [],
|
|
20
|
+
exports: []
|
|
21
|
+
}]
|
|
22
|
+
}], null, null); })();
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb25maWcvY29uZmlnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPOUUsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztTQUM3RCxDQUFDO0lBQ0osQ0FBQzt5RUFOVSxlQUFlOzREQUFmLGVBQWU7Ozt1RkFBZixlQUFlO2NBTDNCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlQ29uZmlnT3B0aW9ucywgcHJvdmlkZUNvbmZpZ0xvYWRlciB9IGZyb20gJy4vY29uZmlnLnByb3ZpZGVyJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIElnb0NvbmZpZ01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvQ29uZmlnTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29Db25maWdNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtwcm92aWRlQ29uZmlnT3B0aW9ucyh7fSksIHByb3ZpZGVDb25maWdMb2FkZXIoKV1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { APP_INITIALIZER, InjectionToken } from '@angular/core';
|
|
2
|
-
import { ConfigService } from './config.service';
|
|
3
|
-
export let CONFIG_OPTIONS = new InjectionToken('configOptions');
|
|
4
|
-
export function provideConfigOptions(options) {
|
|
5
|
-
return {
|
|
6
|
-
provide: CONFIG_OPTIONS,
|
|
7
|
-
useValue: options
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
export function configFactory(configService, options) {
|
|
11
|
-
return () => configService.load(options);
|
|
12
|
-
}
|
|
13
|
-
export function provideConfigLoader() {
|
|
14
|
-
return {
|
|
15
|
-
provide: APP_INITIALIZER,
|
|
16
|
-
useFactory: configFactory,
|
|
17
|
-
multi: true,
|
|
18
|
-
deps: [ConfigService, CONFIG_OPTIONS]
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { APP_INITIALIZER, InjectionToken } from '@angular/core';
|
|
2
|
+
import { ConfigService } from './config.service';
|
|
3
|
+
export let CONFIG_OPTIONS = new InjectionToken('configOptions');
|
|
4
|
+
export function provideConfigOptions(options) {
|
|
5
|
+
return {
|
|
6
|
+
provide: CONFIG_OPTIONS,
|
|
7
|
+
useValue: options
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function configFactory(configService, options) {
|
|
11
|
+
return () => configService.load(options);
|
|
12
|
+
}
|
|
13
|
+
export function provideConfigLoader() {
|
|
14
|
+
return {
|
|
15
|
+
provide: APP_INITIALIZER,
|
|
16
|
+
useFactory: configFactory,
|
|
17
|
+
multi: true,
|
|
18
|
+
deps: [ConfigService, CONFIG_OPTIONS]
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2NvbmZpZy9jb25maWcucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELE1BQU0sQ0FBQyxJQUFJLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBZ0IsZUFBZSxDQUFDLENBQUM7QUFFL0UsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQXNCO0lBQ3pELE9BQU87UUFDTCxPQUFPLEVBQUUsY0FBYztRQUN2QixRQUFRLEVBQUUsT0FBTztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQzNCLGFBQTRCLEVBQzVCLE9BQXNCO0lBRXRCLE9BQU8sR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLGFBQWE7UUFDekIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDO0tBQ3RDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWdPcHRpb25zIH0gZnJvbSAnLi9jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGxldCBDT05GSUdfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb25maWdPcHRpb25zPignY29uZmlnT3B0aW9ucycpO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNvbmZpZ09wdGlvbnMob3B0aW9uczogQ29uZmlnT3B0aW9ucykge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IENPTkZJR19PUFRJT05TLFxuICAgIHVzZVZhbHVlOiBvcHRpb25zXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25maWdGYWN0b3J5KFxuICBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICBvcHRpb25zOiBDb25maWdPcHRpb25zXG4pIHtcbiAgcmV0dXJuICgpID0+IGNvbmZpZ1NlcnZpY2UubG9hZChvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDb25maWdMb2FkZXIoKSB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgIHVzZUZhY3Rvcnk6IGNvbmZpZ0ZhY3RvcnksXG4gICAgbXVsdGk6IHRydWUsXG4gICAgZGVwczogW0NvbmZpZ1NlcnZpY2UsIENPTkZJR19PUFRJT05TXVxuICB9O1xufVxuIl19
|