@igo2/core 1.14.1 → 1.14.3
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/__ivy_ngcc__/locale/en.geo.json +22 -8
- package/__ivy_ngcc__/locale/en.json +22 -8
- package/__ivy_ngcc__/locale/fr.geo.json +17 -3
- package/__ivy_ngcc__/locale/fr.json +17 -3
- package/esm2020/igo2-core.mjs +4 -4
- package/esm2020/lib/activity/activity.interceptor.mjs +29 -29
- package/esm2020/lib/activity/activity.module.mjs +29 -29
- package/esm2020/lib/activity/activity.service.mjs +32 -32
- package/esm2020/lib/activity/index.mjs +2 -2
- package/esm2020/lib/analytics/index.mjs +1 -1
- package/esm2020/lib/analytics/shared/analytics.interface.mjs +1 -1
- package/esm2020/lib/analytics/shared/analytics.service.mjs +73 -73
- package/esm2020/lib/analytics/shared/index.mjs +2 -2
- package/esm2020/lib/compression/compressedData.interface.mjs +1 -1
- package/esm2020/lib/compression/compression.service.mjs +139 -139
- package/esm2020/lib/compression/index.mjs +2 -2
- package/esm2020/lib/config/config.interface.mjs +1 -1
- package/esm2020/lib/config/config.module.mjs +22 -22
- package/esm2020/lib/config/config.provider.mjs +20 -20
- package/esm2020/lib/config/config.service.mjs +51 -51
- package/esm2020/lib/config/index.mjs +3 -3
- package/esm2020/lib/config/version.mjs +5 -5
- package/esm2020/lib/core.module.mjs +83 -83
- package/esm2020/lib/gesture/gesture.module.mjs +29 -29
- package/esm2020/lib/gesture/gesture.provider.mjs +15 -15
- package/esm2020/lib/language/index.mjs +1 -1
- package/esm2020/lib/language/language.module.mjs +38 -38
- package/esm2020/lib/language/shared/index.mjs +4 -4
- package/esm2020/lib/language/shared/language.interface.mjs +1 -1
- package/esm2020/lib/language/shared/language.loader.mjs +26 -26
- package/esm2020/lib/language/shared/language.provider.mjs +21 -21
- package/esm2020/lib/language/shared/language.service.mjs +32 -32
- package/esm2020/lib/language/shared/missing-translation.guard.mjs +14 -14
- package/esm2020/lib/media/index.mjs +2 -2
- package/esm2020/lib/media/media.enum.mjs +11 -11
- package/esm2020/lib/media/media.service.mjs +75 -75
- package/esm2020/lib/message/index.mjs +1 -1
- package/esm2020/lib/message/message.module.mjs +55 -55
- package/esm2020/lib/message/shared/index.mjs +3 -3
- package/esm2020/lib/message/shared/message.enum.mjs +9 -9
- package/esm2020/lib/message/shared/message.interface.mjs +1 -1
- package/esm2020/lib/message/shared/message.service.mjs +192 -192
- package/esm2020/lib/network/index.mjs +2 -2
- package/esm2020/lib/network/network.interfaces.mjs +1 -1
- package/esm2020/lib/network/network.service.mjs +66 -66
- package/esm2020/lib/regex/index.mjs +3 -0
- package/esm2020/lib/regex/regex.interface.mjs +2 -0
- package/esm2020/lib/regex/regex.service.mjs +27 -0
- package/esm2020/lib/request/error.interceptor.mjs +65 -65
- package/esm2020/lib/request/error.module.mjs +38 -38
- package/esm2020/lib/request/index.mjs +2 -2
- package/esm2020/lib/request/logging.interceptor.mjs +27 -27
- package/esm2020/lib/request/logging.module.mjs +29 -29
- package/esm2020/lib/route/route.interface.mjs +1 -1
- package/esm2020/lib/route/route.service.mjs +70 -70
- package/esm2020/lib/storage/index.mjs +2 -2
- package/esm2020/lib/storage/storage.interface.mjs +12 -12
- package/esm2020/lib/storage/storage.service.mjs +78 -78
- package/esm2020/public_api.mjs +28 -27
- package/fesm2015/igo2-core.mjs +1313 -1287
- package/fesm2015/igo2-core.mjs.map +1 -1
- package/fesm2020/igo2-core.mjs +1259 -1235
- package/fesm2020/igo2-core.mjs.map +1 -1
- 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 +19 -19
- 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/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 -0
- package/lib/regex/regex.interface.d.ts +3 -0
- package/lib/regex/regex.service.d.ts +12 -0
- 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 +2 -2
- package/lib/storage/storage.interface.d.ts +20 -20
- package/lib/storage/storage.service.d.ts +19 -19
- package/locale/en.geo.json +22 -8
- package/locale/en.json +22 -8
- package/locale/fr.geo.json +17 -3
- package/locale/fr.json +17 -3
- package/package.json +2 -2
- package/public_api.d.ts +24 -23
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../config/config.service";
|
|
4
|
-
export class AnalyticsService {
|
|
5
|
-
constructor(config) {
|
|
6
|
-
this.config = config;
|
|
7
|
-
this.options = this.config.getConfig('analytics') || {};
|
|
8
|
-
if (this.options.provider === 'matomo') {
|
|
9
|
-
this.initMatomo();
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
get paq() {
|
|
13
|
-
return (window._paq = window._paq || []);
|
|
14
|
-
}
|
|
15
|
-
initMatomo() {
|
|
16
|
-
if (!this.options.url || !this.options.id) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
const url = this.options.url.substr(-1) === '/'
|
|
20
|
-
? this.options.url + 'matomo'
|
|
21
|
-
: this.options.url;
|
|
22
|
-
// this.paq.push(['trackPageView']);
|
|
23
|
-
// this.paq.push(['enableLinkTracking']);
|
|
24
|
-
(() => {
|
|
25
|
-
this.paq.push(['setTrackerUrl', url + '.php']);
|
|
26
|
-
this.paq.push(['setSiteId', this.options.id]);
|
|
27
|
-
const g = document.createElement('script');
|
|
28
|
-
const s = document.getElementsByTagName('script')[0];
|
|
29
|
-
g.type = 'text/javascript';
|
|
30
|
-
g.async = true;
|
|
31
|
-
g.defer = true;
|
|
32
|
-
g.src = url + '.js';
|
|
33
|
-
s.parentNode.insertBefore(g, s);
|
|
34
|
-
})();
|
|
35
|
-
}
|
|
36
|
-
setUser(user, profils) {
|
|
37
|
-
if (this.options.provider === 'matomo') {
|
|
38
|
-
if (!user) {
|
|
39
|
-
this.paq.push(['resetUserId']);
|
|
40
|
-
this.paq.push(['deleteCustomVariable', 1, 'user']);
|
|
41
|
-
this.paq.push(['deleteCustomVariable', 2, 'name']);
|
|
42
|
-
this.paq.push(['deleteCustomVariable', 3, 'profils']);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
this.paq.push(['setUserId', user.id]);
|
|
46
|
-
const name = `${user.firstName} ${user.lastName}`;
|
|
47
|
-
this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']);
|
|
48
|
-
this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']);
|
|
49
|
-
this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']);
|
|
50
|
-
}
|
|
51
|
-
this.paq.push(['trackPageView']);
|
|
52
|
-
this.paq.push(['enableLinkTracking']);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
trackSearch(term, nbResults) {
|
|
56
|
-
if (this.options.provider === 'matomo') {
|
|
57
|
-
this.paq.push(['trackSiteSearch', term, false, nbResults]);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
trackEvent(category, action, name) {
|
|
61
|
-
if (this.options.provider === 'matomo') {
|
|
62
|
-
this.paq.push(['trackEvent', category, action, name]);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
AnalyticsService.ɵfac = function AnalyticsService_Factory(t) { return new (t || AnalyticsService)(i0.ɵɵinject(i1.ConfigService)); };
|
|
67
|
-
AnalyticsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnalyticsService, factory: AnalyticsService.ɵfac, providedIn: 'root' });
|
|
68
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsService, [{
|
|
69
|
-
type: Injectable,
|
|
70
|
-
args: [{
|
|
71
|
-
providedIn: 'root'
|
|
72
|
-
}]
|
|
73
|
-
}], function () { return [{ type: i1.ConfigService }]; }, null); })();
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../config/config.service";
|
|
4
|
+
export class AnalyticsService {
|
|
5
|
+
constructor(config) {
|
|
6
|
+
this.config = config;
|
|
7
|
+
this.options = this.config.getConfig('analytics') || {};
|
|
8
|
+
if (this.options.provider === 'matomo') {
|
|
9
|
+
this.initMatomo();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
get paq() {
|
|
13
|
+
return (window._paq = window._paq || []);
|
|
14
|
+
}
|
|
15
|
+
initMatomo() {
|
|
16
|
+
if (!this.options.url || !this.options.id) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const url = this.options.url.substr(-1) === '/'
|
|
20
|
+
? this.options.url + 'matomo'
|
|
21
|
+
: this.options.url;
|
|
22
|
+
// this.paq.push(['trackPageView']);
|
|
23
|
+
// this.paq.push(['enableLinkTracking']);
|
|
24
|
+
(() => {
|
|
25
|
+
this.paq.push(['setTrackerUrl', url + '.php']);
|
|
26
|
+
this.paq.push(['setSiteId', this.options.id]);
|
|
27
|
+
const g = document.createElement('script');
|
|
28
|
+
const s = document.getElementsByTagName('script')[0];
|
|
29
|
+
g.type = 'text/javascript';
|
|
30
|
+
g.async = true;
|
|
31
|
+
g.defer = true;
|
|
32
|
+
g.src = url + '.js';
|
|
33
|
+
s.parentNode.insertBefore(g, s);
|
|
34
|
+
})();
|
|
35
|
+
}
|
|
36
|
+
setUser(user, profils) {
|
|
37
|
+
if (this.options.provider === 'matomo') {
|
|
38
|
+
if (!user) {
|
|
39
|
+
this.paq.push(['resetUserId']);
|
|
40
|
+
this.paq.push(['deleteCustomVariable', 1, 'user']);
|
|
41
|
+
this.paq.push(['deleteCustomVariable', 2, 'name']);
|
|
42
|
+
this.paq.push(['deleteCustomVariable', 3, 'profils']);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.paq.push(['setUserId', user.id]);
|
|
46
|
+
const name = `${user.firstName} ${user.lastName}`;
|
|
47
|
+
this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']);
|
|
48
|
+
this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']);
|
|
49
|
+
this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']);
|
|
50
|
+
}
|
|
51
|
+
this.paq.push(['trackPageView']);
|
|
52
|
+
this.paq.push(['enableLinkTracking']);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
trackSearch(term, nbResults) {
|
|
56
|
+
if (this.options.provider === 'matomo') {
|
|
57
|
+
this.paq.push(['trackSiteSearch', term, false, nbResults]);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
trackEvent(category, action, name) {
|
|
61
|
+
if (this.options.provider === 'matomo') {
|
|
62
|
+
this.paq.push(['trackEvent', category, action, name]);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
AnalyticsService.ɵfac = function AnalyticsService_Factory(t) { return new (t || AnalyticsService)(i0.ɵɵinject(i1.ConfigService)); };
|
|
67
|
+
AnalyticsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnalyticsService, factory: AnalyticsService.ɵfac, providedIn: 'root' });
|
|
68
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsService, [{
|
|
69
|
+
type: Injectable,
|
|
70
|
+
args: [{
|
|
71
|
+
providedIn: 'root'
|
|
72
|
+
}]
|
|
73
|
+
}], function () { return [{ type: i1.ConfigService }]; }, null); })();
|
|
74
74
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvYW5hbHl0aWNzL3NoYXJlZC9hbmFseXRpY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTM0MsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXhELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFWRCxJQUFJLEdBQUc7UUFDTCxPQUFPLENBQUUsTUFBYyxDQUFDLElBQUksR0FBSSxNQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFVTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3pDLE9BQU87U0FDUjtRQUNELE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUc7WUFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLFFBQVE7WUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBRXZCLG9DQUFvQztRQUNwQyx5Q0FBeUM7UUFDekMsQ0FBQyxHQUFHLEVBQUU7WUFDSixJ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QUFDLFFBQWdCLEVBQUUsTUFBYyxFQUFFLElBQVk7UUFDOUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQzs7Z0ZBOUVVLGdCQUFnQjtzRUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFGZixNQUFNO3VGQUVQLGdCQUFnQjtjQUg1QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBBbmFseXRpY3NPcHRpb25zIH0gZnJvbSAnLi9hbmFseXRpY3MuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQW5hbHl0aWNzU2VydmljZSB7XG4gIHByaXZhdGUgb3B0aW9uczogQW5hbHl0aWNzT3B0aW9ucztcblxuICBnZXQgcGFxKCkge1xuICAgIHJldHVybiAoKHdpbmRvdyBhcyBhbnkpLl9wYXEgPSAod2luZG93IGFzIGFueSkuX3BhcSB8fCBbXSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYW5hbHl0aWNzJykgfHwge307XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnByb3ZpZGVyID09PSAnbWF0b21vJykge1xuICAgICAgdGhpcy5pbml0TWF0b21vKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0TWF0b21vKCkge1xuICAgIGlmICghdGhpcy5vcHRpb25zLnVybCB8fCAhdGhpcy5vcHRpb25zLmlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLm9wdGlvbnMudXJsLnN1YnN0cigtMSkgPT09ICcvJ1xuICAgICAgICA/IHRoaXMub3B0aW9ucy51cmwgKyAnbWF0b21vJ1xuICAgICAgICA6IHRoaXMub3B0aW9ucy51cmw7XG5cbiAgICAvLyB0aGlzLnBhcS5wdXNoKFsndHJhY2tQYWdlVmlldyddKTtcbiAgICAvLyB0aGlzLnBhcS5wdXNoKFsnZW5hYmxlTGlua1RyYWNraW5nJ10pO1xuICAgICgoKSA9PiB7XG4gICAgICB0aGlzLnBhcS5wdXNoKFsnc2V0VHJhY2tlclVybCcsIHVybCArICcucGhwJ10pO1xuICAgICAgdGhpcy5wYXEucHVzaChbJ3NldFNpdGVJZCcsIHRoaXMub3B0aW9ucy5pZF0pO1xuICAgICAgY29uc3QgZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgY29uc3QgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtcbiAgICAgIGcudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgZy5hc3luYyA9IHRydWU7XG4gICAgICBnLmRlZmVyID0gdHJ1ZTtcbiAgICAgIGcuc3JjID0gdXJsICsgJy5qcyc7XG4gICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGcsIHMpO1xuICAgIH0pKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VXNlcihcbiAgICB1c2VyPzoge1xuICAgICAgaWQ6IG51bWJlcjtcbiAgICAgIHNvdXJjZUlkPzogc3RyaW5nO1xuICAgICAgZmlyc3ROYW1lPzogc3RyaW5nO1xuICAgICAgbGFzdE5hbWU/OiBzdHJpbmc7XG4gICAgfSxcbiAgICBwcm9maWxzPzogc3RyaW5nW11cbiAgKSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5wcm92aWRlciA9PT0gJ21hdG9tbycpIHtcbiAgICAgIGlmICghdXNlcikge1xuICAgICAgICB0aGlzLnBhcS5wdXNoKFsncmVzZXRVc2VySWQnXSk7XG4gICAgICAgIHRoaXMucGFxLnB1c2goWydkZWxldGVDdXN0b21WYXJpYWJsZScsIDEsICd1c2VyJ10pO1xuICAgICAgICB0aGlzLnBhcS5wdXNoKFsnZGVsZXRlQ3VzdG9tVmFyaWFibGUnLCAyLCAnbmFtZSddKTtcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ2RlbGV0ZUN1c3RvbVZhcmlhYmxlJywgMywgJ3Byb2ZpbHMnXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnBhcS5wdXNoKFsnc2V0VXNlcklkJywgdXNlci5pZF0pO1xuXG4gICAgICAgIGNvbnN0IG5hbWUgPSBgJHt1c2VyLmZpcnN0TmFtZX0gJHt1c2VyLmxhc3ROYW1lfWA7XG4gICAgICAgIHRoaXMucGFxLnB1c2goWydzZXRDdXN0b21WYXJpYWJsZScsIDEsICd1c2VyJywgdXNlci5zb3VyY2VJZCwgJ3Zpc2l0J10pO1xuICAgICAgICB0aGlzLnBhcS5wdXNoKFsnc2V0Q3VzdG9tVmFyaWFibGUnLCAyLCAnbmFtZScsIG5hbWUsICd2aXNpdCddKTtcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ3NldEN1c3RvbVZhcmlhYmxlJywgMywgJ3Byb2ZpbHMnLCBwcm9maWxzLCAndmlzaXQnXSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucGFxLnB1c2goWyd0cmFja1BhZ2VWaWV3J10pO1xuICAgICAgdGhpcy5wYXEucHVzaChbJ2VuYWJsZUxpbmtUcmFja2luZyddKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdHJhY2tTZWFyY2godGVybTogc3RyaW5nLCBuYlJlc3VsdHM6IG51bWJlcikge1xuICAgIGlmICh0aGlzLm9wdGlvbnMucHJvdmlkZXIgPT09ICdtYXRvbW8nKSB7XG4gICAgICB0aGlzLnBhcS5wdXNoKFsndHJhY2tTaXRlU2VhcmNoJywgdGVybSwgZmFsc2UsIG5iUmVzdWx0c10pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0cmFja0V2ZW50KGNhdGVnb3J5OiBzdHJpbmcsIGFjdGlvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLnByb3ZpZGVyID09PSAnbWF0b21vJykge1xuICAgICAgdGhpcy5wYXEucHVzaChbJ3RyYWNrRXZlbnQnLCBjYXRlZ29yeSwgYWN0aW9uLCBuYW1lXSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './analytics.service';
|
|
2
|
-
export * from './analytics.interface';
|
|
1
|
+
export * from './analytics.service';
|
|
2
|
+
export * from './analytics.interface';
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvYW5hbHl0aWNzL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FuYWx5dGljcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYW5hbHl0aWNzLmludGVyZmFjZSc7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlc3NlZERhdGEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2NvbXByZXNzaW9uL2NvbXByZXNzZWREYXRhLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb21wcmVzc2VkRGF0YSB7XG4gICAgbGVuZ3RoOiBudW1iZXI7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIG9iamVjdDogYW55O1xufVxuIl19
|
|
@@ -1,140 +1,140 @@
|
|
|
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
|
-
constructor() {
|
|
12
|
-
this.base64Index = new Map();
|
|
13
|
-
this.indexBase64 = new Map();
|
|
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 = { length: text64.length,
|
|
51
|
-
type: blob.type,
|
|
52
|
-
object: compressed };
|
|
53
|
-
observer.next(compressedData);
|
|
54
|
-
};
|
|
55
|
-
});
|
|
56
|
-
return observable;
|
|
57
|
-
}
|
|
58
|
-
decompressBlob(compressedData) {
|
|
59
|
-
/* tslint:disable:no-bitwise*/
|
|
60
|
-
const object = compressedData.object;
|
|
61
|
-
const length = compressedData.length;
|
|
62
|
-
const decompressed = this.decompressStringBase64(object, length);
|
|
63
|
-
const byteCharacters = atob(decompressed);
|
|
64
|
-
const byteNumbers = new Array(byteCharacters.length);
|
|
65
|
-
for (let i = 0; i < byteCharacters.length; i++) {
|
|
66
|
-
byteNumbers[i] = byteCharacters.charCodeAt(i);
|
|
67
|
-
}
|
|
68
|
-
const byteArray = new Uint8Array(byteNumbers);
|
|
69
|
-
const blob = new Blob([byteArray], { type: compressedData.type });
|
|
70
|
-
/* tslint:enable:no-bitwise*/
|
|
71
|
-
return blob;
|
|
72
|
-
}
|
|
73
|
-
compressStringBase64(s) {
|
|
74
|
-
/* tslint:disable:no-bitwise*/
|
|
75
|
-
let out = '';
|
|
76
|
-
let bits = 16;
|
|
77
|
-
let chr = 0;
|
|
78
|
-
let rem = 0;
|
|
79
|
-
for (const c of s) {
|
|
80
|
-
const value = this.base64Index.get(c);
|
|
81
|
-
if (bits > 6) {
|
|
82
|
-
bits -= 6;
|
|
83
|
-
chr += value << bits;
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
rem = 6 - bits;
|
|
87
|
-
chr += value >> rem;
|
|
88
|
-
out += String.fromCharCode(chr);
|
|
89
|
-
chr = (value) << (16 - rem);
|
|
90
|
-
bits = 16 - rem;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
if (s.length % 8 !== 0) {
|
|
94
|
-
out += String.fromCharCode(chr);
|
|
95
|
-
}
|
|
96
|
-
/* tslint:enable:no-bitwise*/
|
|
97
|
-
return String.fromCharCode(9731) + out;
|
|
98
|
-
}
|
|
99
|
-
decompressStringBase64(c, length) {
|
|
100
|
-
/* tslint:disable:no-bitwise*/
|
|
101
|
-
if (!c) {
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
if (c.charCodeAt(0) !== 9731) {
|
|
105
|
-
return c;
|
|
106
|
-
}
|
|
107
|
-
let chr = 0;
|
|
108
|
-
let rem = 0;
|
|
109
|
-
let bits = 16;
|
|
110
|
-
let out = '';
|
|
111
|
-
let j = 1;
|
|
112
|
-
let value = c.charCodeAt(j);
|
|
113
|
-
for (let i = 0; i < length; i++) {
|
|
114
|
-
if (bits > 6) {
|
|
115
|
-
bits -= 6;
|
|
116
|
-
chr = getNumber(value, bits, 6);
|
|
117
|
-
out += this.indexBase64.get(chr);
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
rem = 6 - bits;
|
|
121
|
-
chr = getNumber(value, 0, bits) << rem;
|
|
122
|
-
value = c.charCodeAt(++j);
|
|
123
|
-
chr += getNumber(value, 16 - rem, rem);
|
|
124
|
-
out += this.indexBase64.get(chr);
|
|
125
|
-
bits = 16 - rem;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return out;
|
|
129
|
-
/* tslint:enable:no-bitwise*/
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
CompressionService.ɵfac = function CompressionService_Factory(t) { return new (t || CompressionService)(); };
|
|
133
|
-
CompressionService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CompressionService, factory: CompressionService.ɵfac, providedIn: 'root' });
|
|
134
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CompressionService, [{
|
|
135
|
-
type: Injectable,
|
|
136
|
-
args: [{
|
|
137
|
-
providedIn: 'root'
|
|
138
|
-
}]
|
|
139
|
-
}], function () { return []; }, null); })();
|
|
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
|
+
constructor() {
|
|
12
|
+
this.base64Index = new Map();
|
|
13
|
+
this.indexBase64 = new Map();
|
|
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 = { length: text64.length,
|
|
51
|
+
type: blob.type,
|
|
52
|
+
object: compressed };
|
|
53
|
+
observer.next(compressedData);
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
return observable;
|
|
57
|
+
}
|
|
58
|
+
decompressBlob(compressedData) {
|
|
59
|
+
/* tslint:disable:no-bitwise*/
|
|
60
|
+
const object = compressedData.object;
|
|
61
|
+
const length = compressedData.length;
|
|
62
|
+
const decompressed = this.decompressStringBase64(object, length);
|
|
63
|
+
const byteCharacters = atob(decompressed);
|
|
64
|
+
const byteNumbers = new Array(byteCharacters.length);
|
|
65
|
+
for (let i = 0; i < byteCharacters.length; i++) {
|
|
66
|
+
byteNumbers[i] = byteCharacters.charCodeAt(i);
|
|
67
|
+
}
|
|
68
|
+
const byteArray = new Uint8Array(byteNumbers);
|
|
69
|
+
const blob = new Blob([byteArray], { type: compressedData.type });
|
|
70
|
+
/* tslint:enable:no-bitwise*/
|
|
71
|
+
return blob;
|
|
72
|
+
}
|
|
73
|
+
compressStringBase64(s) {
|
|
74
|
+
/* tslint:disable:no-bitwise*/
|
|
75
|
+
let out = '';
|
|
76
|
+
let bits = 16;
|
|
77
|
+
let chr = 0;
|
|
78
|
+
let rem = 0;
|
|
79
|
+
for (const c of s) {
|
|
80
|
+
const value = this.base64Index.get(c);
|
|
81
|
+
if (bits > 6) {
|
|
82
|
+
bits -= 6;
|
|
83
|
+
chr += value << bits;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
rem = 6 - bits;
|
|
87
|
+
chr += value >> rem;
|
|
88
|
+
out += String.fromCharCode(chr);
|
|
89
|
+
chr = (value) << (16 - rem);
|
|
90
|
+
bits = 16 - rem;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (s.length % 8 !== 0) {
|
|
94
|
+
out += String.fromCharCode(chr);
|
|
95
|
+
}
|
|
96
|
+
/* tslint:enable:no-bitwise*/
|
|
97
|
+
return String.fromCharCode(9731) + out;
|
|
98
|
+
}
|
|
99
|
+
decompressStringBase64(c, length) {
|
|
100
|
+
/* tslint:disable:no-bitwise*/
|
|
101
|
+
if (!c) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
if (c.charCodeAt(0) !== 9731) {
|
|
105
|
+
return c;
|
|
106
|
+
}
|
|
107
|
+
let chr = 0;
|
|
108
|
+
let rem = 0;
|
|
109
|
+
let bits = 16;
|
|
110
|
+
let out = '';
|
|
111
|
+
let j = 1;
|
|
112
|
+
let value = c.charCodeAt(j);
|
|
113
|
+
for (let i = 0; i < length; i++) {
|
|
114
|
+
if (bits > 6) {
|
|
115
|
+
bits -= 6;
|
|
116
|
+
chr = getNumber(value, bits, 6);
|
|
117
|
+
out += this.indexBase64.get(chr);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
rem = 6 - bits;
|
|
121
|
+
chr = getNumber(value, 0, bits) << rem;
|
|
122
|
+
value = c.charCodeAt(++j);
|
|
123
|
+
chr += getNumber(value, 16 - rem, rem);
|
|
124
|
+
out += this.indexBase64.get(chr);
|
|
125
|
+
bits = 16 - rem;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return out;
|
|
129
|
+
/* tslint:enable:no-bitwise*/
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
CompressionService.ɵfac = function CompressionService_Factory(t) { return new (t || CompressionService)(); };
|
|
133
|
+
CompressionService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CompressionService, factory: CompressionService.ɵfac, providedIn: 'root' });
|
|
134
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CompressionService, [{
|
|
135
|
+
type: Injectable,
|
|
136
|
+
args: [{
|
|
137
|
+
providedIn: 'root'
|
|
138
|
+
}]
|
|
139
|
+
}], function () { return []; }, null); })();
|
|
140
140
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb21wcmVzc2lvbi9jb21wcmVzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQzs7QUFHNUMsU0FBUyxTQUFTLENBQUMsQ0FBUyxFQUFFLFdBQW1CLEVBQUUsTUFBYztJQUMvRCw4QkFBOEI7SUFDOUIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNqQyw2QkFBNkI7QUFDL0IsQ0FBQztBQUtELE1BQU0sT0FBTyxrQkFBa0I7SUFJN0I7UUFIUSxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFHOUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLG1CQUFtQjtRQUN6Qix1Q0FBdUM7UUFDdkMsaUJBQWlCO1FBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRTtRQUNELGtCQUFrQjtRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxRTtRQUNELGtCQUFrQjtRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxRTtRQUNELGtCQUFrQjtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FB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QkFDWixJQUFJLElBQUksQ0FBQyxDQUFDO2dCQUNWLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDaEMsR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNmLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7Z0JBQ3ZDLEtBQUssR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzFCLEdBQUcsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZDLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakMsSUFBSSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUM7YUFDakI7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO1FBQ1gsNkJBQTZCO0lBQy9CLENBQUM7O29GQS9IVSxrQkFBa0I7d0VBQWxCLGtCQUFrQixXQUFsQixrQkFBa0IsbUJBRmpCLE1BQU07dUZBRVAsa0JBQWtCO2NBSDlCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wcmVzc2VkRGF0YSB9IGZyb20gJy4vY29tcHJlc3NlZERhdGEuaW50ZXJmYWNlJztcblxuZnVuY3Rpb24gZ2V0TnVtYmVyKHY6IG51bWJlciwgZW5kcG9zaXRpb246IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpIHtcbiAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSovXG4gIGNvbnN0IG1hc2sgPSAoKDEgPDwgbGVuZ3RoKSAtIDEpO1xuICByZXR1cm4gKHYgPj4gZW5kcG9zaXRpb24pICYgbWFzaztcbiAgLyogdHNsaW50OmVuYWJsZTpuby1iaXR3aXNlKi9cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29tcHJlc3Npb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBiYXNlNjRJbmRleCA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG4gIHByaXZhdGUgaW5kZXhCYXNlNjQgPSBuZXcgTWFwPG51bWJlciwgc3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZ2VuZXJhdGVCYXNlNjRJbmRleCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUJhc2U2NEluZGV4KCkge1xuICAgIC8vIGh0dHBzOi8vZnIud2lraXBlZGlhLm9yZy93aWtpL0Jhc2U2NFxuICAgIC8vIEEtWiA9PiBbMCwgMjVdXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyNjsgaSsrKSB7XG4gICAgICB0aGlzLmJhc2U2NEluZGV4LnNldChTdHJpbmcuZnJvbUNoYXJDb2RlKCdBJy5jaGFyQ29kZUF0KDApICsgaSksIGkpO1xuICAgICAgdGhpcy5pbmRleEJhc2U2NC5zZXQoaSwgU3RyaW5nLmZyb21DaGFyQ29kZSgnQScuY2hhckNvZGVBdCgwKSArIGkpKTtcbiAgICB9XG4gICAgLy8gYS16ID0+IFsyNiwgNTFdXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyNjsgaSsrKSB7XG4gICAgICB0aGlzLmJhc2U2NEluZGV4LnNldChTdHJpbmcuZnJvbUNoYXJDb2RlKCdhJy5jaGFyQ29kZUF0KDApICsgaSksIGkgKyAyNik7XG4gICAgICB0aGlzLmluZGV4QmFzZTY0LnNldChpICsgMjYsIFN0cmluZy5mcm9tQ2hhckNvZGUoJ2EnLmNoYXJDb2RlQXQoMCkgKyBpKSk7XG4gICAgfVxuICAgIC8vIDAtOSA9PiBbNTIsIDYxXVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTA7IGkrKykge1xuICAgICAgdGhpcy5iYXNlNjRJbmRleC5zZXQoU3RyaW5nLmZyb21DaGFyQ29kZSgnMCcuY2hhckNvZGVBdCgwKSArIGkpLCBpICsgNTIpO1xuICAgICAgdGhpcy5pbmRleEJhc2U2NC5zZXQoaSArIDUyLCBTdHJpbmcuZnJvbUNoYXJDb2RlKCcwJy5jaGFyQ29kZUF0KDApICsgaSkpO1xuICAgIH1cbiAgICAvLyArIC8gPT4gWzYyLCA2M11cbiAgICB0aGlzLmJhc2U2NEluZGV4LnNldCgnKycsIDYyKTtcbiAgICB0aGlzLmJhc2U2NEluZGV4LnNldCgnLycsIDYzKTtcbiAgICB0aGlzLmluZGV4QmFzZTY0LnNldCg2MiwgJysnKTtcbiAgICB0aGlzLmluZGV4QmFzZTY0LnNldCg2MywgJy8nKTtcbiAgfVxuXG4gIGNvbXByZXNzQmxvYihibG9iOiBCbG9iKTogT2JzZXJ2YWJsZTxDb21wcmVzc2VkRGF0YT4ge1xuICAgIGlmICghYmxvYikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPENvbXByZXNzZWREYXRhPikgPT4ge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZTY0ID0gcmVhZGVyLnJlc3VsdC52YWx1ZU9mKCkgYXMgc3RyaW5nO1xuICAgICAgICBjb25zdCB0ZXh0NjQgPSBiYXNlNjQuc3Vic3RyKGJhc2U2NC5pbmRleE9mKCcsJykgKyAxKTtcbiAgICAgICAgY29uc3QgY29tcHJlc3NlZCA9IHRoaXMuY29tcHJlc3NTdHJpbmdCYXNlNjQodGV4dDY0KTtcbiAgICAgICAgY29uc3QgY29tcHJlc3NlZERhdGE6IENvbXByZXNzZWREYXRhID0geyBsZW5ndGg6IHRleHQ2NC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYmxvYi50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDogY29tcHJlc3NlZCB9O1xuICAgICAgICBvYnNlcnZlci5uZXh0KGNvbXByZXNzZWREYXRhKTtcbiAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIG9ic2VydmFibGU7XG4gIH1cblxuICBkZWNvbXByZXNzQmxvYihjb21wcmVzc2VkRGF0YTogQ29tcHJlc3NlZERhdGEpOiBCbG9iIHtcbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZTpuby1iaXR3aXNlKi9cbiAgICBjb25zdCBvYmplY3QgPSBjb21wcmVzc2VkRGF0YS5vYmplY3Q7XG4gICAgY29uc3QgbGVuZ3RoID0gY29tcHJlc3NlZERhdGEubGVuZ3RoO1xuICAgIGNvbnN0IGRlY29tcHJlc3NlZDogc3RyaW5nID0gdGhpcy5kZWNvbXByZXNzU3RyaW5nQmFzZTY0KG9iamVjdCwgbGVuZ3RoKTtcbiAgICBjb25zdCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoZGVjb21wcmVzc2VkKTtcbiAgICBjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShieXRlQ2hhcmFjdGVycy5sZW5ndGgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZUNoYXJhY3RlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgYnl0ZU51bWJlcnNbaV0gPSBieXRlQ2hhcmFjdGVycy5jaGFyQ29kZUF0KGkpO1xuICAgIH1cbiAgICBjb25zdCBieXRlQXJyYXkgPSBuZXcgVWludDhBcnJheShieXRlTnVtYmVycyk7XG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtieXRlQXJyYXldLCB7dHlwZTogY29tcHJlc3NlZERhdGEudHlwZX0pO1xuICAgIC8qIHRzbGludDplbmFibGU6bm8tYml0d2lzZSovXG4gICAgcmV0dXJuIGJsb2I7XG4gIH1cblxuICBwcml2YXRlIGNvbXByZXNzU3RyaW5nQmFzZTY0KHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSovXG4gICAgbGV0IG91dCA9ICcnO1xuICAgIGxldCBiaXRzID0gMTY7XG4gICAgbGV0IGNociA9IDA7XG4gICAgbGV0IHJlbSA9IDA7XG4gICAgZm9yIChjb25zdCBjIG9mIHMpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5iYXNlNjRJbmRleC5nZXQoYyk7XG4gICAgICBpZiAoYml0cyA+IDYpIHtcbiAgICAgICAgYml0cyAtPSA2O1xuICAgICAgICBjaHIgKz0gdmFsdWUgPDwgYml0cztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlbSA9IDYgLSBiaXRzO1xuICAgICAgICBjaHIgKz0gdmFsdWUgPj4gcmVtO1xuICAgICAgICBvdXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjaHIpO1xuICAgICAgICBjaHIgPSAodmFsdWUpIDw8ICgxNiAtIHJlbSk7XG4gICAgICAgIGJpdHMgPSAxNiAtIHJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHMubGVuZ3RoICUgOCAhPT0gMCkge1xuICAgICAgb3V0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoY2hyKTtcbiAgICB9XG4gICAgLyogdHNsaW50OmVuYWJsZTpuby1iaXR3aXNlKi9cbiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSg5NzMxKSArIG91dDtcbiAgfVxuXG4gIHByaXZhdGUgZGVjb21wcmVzc1N0cmluZ0Jhc2U2NChjOiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSovXG4gICAgaWYgKCFjKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGMuY2hhckNvZGVBdCgwKSAhPT0gOTczMSkge1xuICAgICAgcmV0dXJuIGM7XG4gICAgfVxuXG4gICAgbGV0IGNociA9IDA7XG4gICAgbGV0IHJlbSA9IDA7XG4gICAgbGV0IGJpdHMgPSAxNjtcbiAgICBsZXQgb3V0ID0gJyc7XG4gICAgbGV0IGogPSAxO1xuICAgIGxldCB2YWx1ZSA9IGMuY2hhckNvZGVBdChqKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoYml0cyA+IDYpIHtcbiAgICAgICAgYml0cyAtPSA2O1xuICAgICAgICBjaHIgPSBnZXROdW1iZXIodmFsdWUsIGJpdHMsIDYpO1xuICAgICAgICBvdXQgKz0gdGhpcy5pbmRleEJhc2U2NC5nZXQoY2hyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlbSA9IDYgLSBiaXRzO1xuICAgICAgICBjaHIgPSBnZXROdW1iZXIodmFsdWUsIDAsIGJpdHMpIDw8IHJlbTtcbiAgICAgICAgdmFsdWUgPSBjLmNoYXJDb2RlQXQoKytqKTtcbiAgICAgICAgY2hyICs9IGdldE51bWJlcih2YWx1ZSwgMTYgLSByZW0sIHJlbSk7XG4gICAgICAgIG91dCArPSB0aGlzLmluZGV4QmFzZTY0LmdldChjaHIpO1xuICAgICAgICBiaXRzID0gMTYgLSByZW07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG4gICAgLyogdHNsaW50OmVuYWJsZTpuby1iaXR3aXNlKi9cbiAgfVxufVxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './compressedData.interface';
|
|
2
|
-
export * from './compression.service';
|
|
1
|
+
export * from './compressedData.interface';
|
|
2
|
+
export * from './compression.service';
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29tcHJlc3Npb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wcmVzc2VkRGF0YS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wcmVzc2lvbi5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb25maWcvY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb25maWdPcHRpb25zIHtcbiAgZGVmYXVsdD86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIHBhdGg/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -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
|
-
IgoConfigModule.ɵfac = function IgoConfigModule_Factory(t) { return new (t || IgoConfigModule)(); };
|
|
13
|
-
IgoConfigModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoConfigModule });
|
|
14
|
-
IgoConfigModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
15
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoConfigModule, [{
|
|
16
|
-
type: NgModule,
|
|
17
|
-
args: [{
|
|
18
|
-
imports: [],
|
|
19
|
-
declarations: [],
|
|
20
|
-
exports: []
|
|
21
|
-
}]
|
|
22
|
-
}], null, null); })();
|
|
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
|
+
IgoConfigModule.ɵfac = function IgoConfigModule_Factory(t) { return new (t || IgoConfigModule)(); };
|
|
13
|
+
IgoConfigModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoConfigModule });
|
|
14
|
+
IgoConfigModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
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
23
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb25maWcvY29uZmlnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPOUUsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztTQUM3RCxDQUFDO0lBQ0osQ0FBQzs7OEVBTlUsZUFBZTtpRUFBZixlQUFlOzt1RkFBZixlQUFlO2NBTDNCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlQ29uZmlnT3B0aW9ucywgcHJvdmlkZUNvbmZpZ0xvYWRlciB9IGZyb20gJy4vY29uZmlnLnByb3ZpZGVyJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIElnb0NvbmZpZ01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvQ29uZmlnTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29Db25maWdNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtwcm92aWRlQ29uZmlnT3B0aW9ucyh7fSksIHByb3ZpZGVDb25maWdMb2FkZXIoKV1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -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
|
-
}
|
|
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
21
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2NvbmZpZy9jb25maWcucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELE1BQU0sQ0FBQyxJQUFJLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBZ0IsZUFBZSxDQUFDLENBQUM7QUFFL0UsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQXNCO0lBQ3pELE9BQU87UUFDTCxPQUFPLEVBQUUsY0FBYztRQUN2QixRQUFRLEVBQUUsT0FBTztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQzNCLGFBQTRCLEVBQzVCLE9BQXNCO0lBRXRCLE9BQU8sR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLGFBQWE7UUFDekIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDO0tBQ3RDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWdPcHRpb25zIH0gZnJvbSAnLi9jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGxldCBDT05GSUdfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb25maWdPcHRpb25zPignY29uZmlnT3B0aW9ucycpO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNvbmZpZ09wdGlvbnMob3B0aW9uczogQ29uZmlnT3B0aW9ucykge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IENPTkZJR19PUFRJT05TLFxuICAgIHVzZVZhbHVlOiBvcHRpb25zXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25maWdGYWN0b3J5KFxuICBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICBvcHRpb25zOiBDb25maWdPcHRpb25zXG4pIHtcbiAgcmV0dXJuICgpID0+IGNvbmZpZ1NlcnZpY2UubG9hZChvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDb25maWdMb2FkZXIoKSB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgIHVzZUZhY3Rvcnk6IGNvbmZpZ0ZhY3RvcnksXG4gICAgbXVsdGk6IHRydWUsXG4gICAgZGVwczogW0NvbmZpZ1NlcnZpY2UsIENPTkZJR19PUFRJT05TXVxuICB9O1xufVxuIl19
|