@stemy/ngx-utils 12.1.2 → 12.1.5
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/bundles/stemy-ngx-utils.umd.js +51 -30
- package/bundles/stemy-ngx-utils.umd.js.map +1 -1
- package/esm2015/ngx-utils/components/unordered-list/unordered-list.component.js +2 -2
- package/esm2015/ngx-utils/services/acl.service.js +3 -1
- package/esm2015/ngx-utils/services/config.service.js +4 -4
- package/esm2015/ngx-utils/services/static-language.service.js +17 -17
- package/esm2015/ngx-utils/services/storage.service.js +4 -4
- package/esm2015/ngx-utils/utils/file-system.js +20 -0
- package/esm2015/public_api.js +2 -1
- package/esm2020/ngx-utils/common-types.mjs +117 -0
- package/esm2020/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +178 -0
- package/esm2020/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +101 -0
- package/esm2020/ngx-utils/components/unordered-list/unordered-list.component.mjs +65 -0
- package/esm2020/ngx-utils/directives/async-method.base.mjs +78 -0
- package/esm2020/ngx-utils/directives/async-method.directive.mjs +21 -0
- package/esm2020/ngx-utils/directives/background.directive.mjs +51 -0
- package/esm2020/ngx-utils/directives/dynamic-table-template.directive.mjs +20 -0
- package/esm2020/ngx-utils/directives/global-template.directive.mjs +30 -0
- package/esm2020/ngx-utils/directives/icon.directive.mjs +67 -0
- package/esm2020/ngx-utils/directives/ngx-template-outlet.directive.mjs +90 -0
- package/esm2020/ngx-utils/directives/pagination-item.directive.mjs +33 -0
- package/esm2020/ngx-utils/directives/pagination.directive.mjs +83 -0
- package/esm2020/ngx-utils/directives/resource-if.directive.mjs +50 -0
- package/esm2020/ngx-utils/directives/sticky-class.directive.mjs +34 -0
- package/esm2020/ngx-utils/directives/sticky.directive.mjs +55 -0
- package/esm2020/ngx-utils/directives/unordered-list-item.directive.mjs +77 -0
- package/esm2020/ngx-utils/directives/unordered-list-template.directive.mjs +26 -0
- package/esm2020/ngx-utils/ngx-utils.imports.mjs +165 -0
- package/esm2020/ngx-utils/ngx-utils.module.mjs +178 -0
- package/esm2020/ngx-utils/pipes/chunk.pipe.mjs +25 -0
- package/esm2020/ngx-utils/pipes/entries.pipe.mjs +28 -0
- package/esm2020/ngx-utils/pipes/extra-item-properties.pipe.mjs +31 -0
- package/esm2020/ngx-utils/pipes/filter.pipe.mjs +42 -0
- package/esm2020/ngx-utils/pipes/find.pipe.mjs +29 -0
- package/esm2020/ngx-utils/pipes/format-number.pipe.mjs +21 -0
- package/esm2020/ngx-utils/pipes/get-offset.pipe.mjs +17 -0
- package/esm2020/ngx-utils/pipes/get-type.pipe.mjs +16 -0
- package/esm2020/ngx-utils/pipes/global-template.pipe.mjs +41 -0
- package/esm2020/ngx-utils/pipes/group-by.pipe.mjs +27 -0
- package/esm2020/ngx-utils/pipes/is-type.pipe.mjs +16 -0
- package/esm2020/ngx-utils/pipes/join.pipe.mjs +19 -0
- package/esm2020/ngx-utils/pipes/keys.pipe.mjs +22 -0
- package/esm2020/ngx-utils/pipes/map.pipe.mjs +29 -0
- package/esm2020/ngx-utils/pipes/max.pipe.mjs +26 -0
- package/esm2020/ngx-utils/pipes/min.pipe.mjs +26 -0
- package/esm2020/ngx-utils/pipes/reduce.pipe.mjs +30 -0
- package/esm2020/ngx-utils/pipes/remap.pipe.mjs +32 -0
- package/esm2020/ngx-utils/pipes/replace.pipe.mjs +16 -0
- package/esm2020/ngx-utils/pipes/reverse.pipe.mjs +24 -0
- package/esm2020/ngx-utils/pipes/round.pipe.mjs +21 -0
- package/esm2020/ngx-utils/pipes/safe-html.pipe.mjs +34 -0
- package/esm2020/ngx-utils/pipes/translate.pipe.mjs +86 -0
- package/esm2020/ngx-utils/pipes/values.pipe.mjs +22 -0
- package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +59 -0
- package/esm2020/ngx-utils/plugins/scroll-event.plugin.mjs +39 -0
- package/esm2020/ngx-utils/services/acl.service.mjs +83 -0
- package/esm2020/ngx-utils/services/api.service.mjs +38 -0
- package/esm2020/ngx-utils/services/auth.service.mjs +14 -0
- package/esm2020/ngx-utils/services/base-http.client.mjs +47 -0
- package/esm2020/ngx-utils/services/base-http.service.mjs +298 -0
- package/esm2020/ngx-utils/services/config.service.mjs +116 -0
- package/esm2020/ngx-utils/services/error-handler.service.mjs +49 -0
- package/esm2020/ngx-utils/services/events.service.mjs +26 -0
- package/esm2020/ngx-utils/services/formatter.service.mjs +47 -0
- package/esm2020/ngx-utils/services/global-template.service.mjs +37 -0
- package/esm2020/ngx-utils/services/icon.service.mjs +26 -0
- package/esm2020/ngx-utils/services/language.service.mjs +113 -0
- package/esm2020/ngx-utils/services/open-api.service.mjs +40 -0
- package/esm2020/ngx-utils/services/promise.service.mjs +55 -0
- package/esm2020/ngx-utils/services/state.service.mjs +173 -0
- package/esm2020/ngx-utils/services/static-language.service.mjs +166 -0
- package/esm2020/ngx-utils/services/storage.service.mjs +49 -0
- package/esm2020/ngx-utils/services/toaster.service.mjs +32 -0
- package/esm2020/ngx-utils/services/translated-url.serializer.mjs +73 -0
- package/esm2020/ngx-utils/services/universal.service.mjs +78 -0
- package/esm2020/ngx-utils/utils/ajax-request-handler.mjs +40 -0
- package/esm2020/ngx-utils/utils/array.utils.mjs +100 -0
- package/esm2020/ngx-utils/utils/auth.guard.mjs +181 -0
- package/esm2020/ngx-utils/utils/canvas.utils.mjs +388 -0
- package/esm2020/ngx-utils/utils/date.utils.mjs +28 -0
- package/esm2020/ngx-utils/utils/file-system.mjs +20 -0
- package/esm2020/ngx-utils/utils/file.utils.mjs +90 -0
- package/esm2020/ngx-utils/utils/generic-value.mjs +20 -0
- package/esm2020/ngx-utils/utils/geometry.mjs +132 -0
- package/esm2020/ngx-utils/utils/initializer.mjs +20 -0
- package/esm2020/ngx-utils/utils/loader.utils.mjs +55 -0
- package/esm2020/ngx-utils/utils/math.utils.mjs +15 -0
- package/esm2020/ngx-utils/utils/object.utils.mjs +261 -0
- package/esm2020/ngx-utils/utils/observable.utils.mjs +63 -0
- package/esm2020/ngx-utils/utils/reflect.utils.mjs +33 -0
- package/esm2020/ngx-utils/utils/set.utils.mjs +20 -0
- package/esm2020/ngx-utils/utils/string.utils.mjs +41 -0
- package/esm2020/ngx-utils/utils/timer.utils.mjs +52 -0
- package/esm2020/ngx-utils/utils/unique.utils.mjs +24 -0
- package/esm2020/ngx-utils/utils/vector.mjs +77 -0
- package/esm2020/public_api.mjs +86 -0
- package/esm2020/stemy-ngx-utils.mjs +5 -0
- package/esm2020/tools/config.mjs +71 -0
- package/esm2020/tools/public_api.mjs +2 -0
- package/esm2020/tools/stemy-ngx-utils-tools.mjs +5 -0
- package/fesm2015/stemy-ngx-utils-tools.mjs +77 -0
- package/fesm2015/stemy-ngx-utils-tools.mjs.map +1 -0
- package/fesm2015/stemy-ngx-utils.js +46 -24
- package/fesm2015/stemy-ngx-utils.js.map +1 -1
- package/fesm2015/stemy-ngx-utils.mjs +5190 -0
- package/fesm2015/stemy-ngx-utils.mjs.map +1 -0
- package/fesm2020/stemy-ngx-utils-tools.mjs +77 -0
- package/fesm2020/stemy-ngx-utils-tools.mjs.map +1 -0
- package/fesm2020/stemy-ngx-utils.mjs +5121 -0
- package/fesm2020/stemy-ngx-utils.mjs.map +1 -0
- package/ngx-utils/services/static-language.service.d.ts +1 -1
- package/ngx-utils/utils/file-system.d.ts +16 -0
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/stemy-ngx-utils.metadata.json +1 -1
- package/tools/config.d.ts +7 -0
- package/tools/package.json +10 -0
- package/tools/public_api.d.ts +1 -0
- package/tools/stemy-ngx-utils-tools.d.ts +5 -0
- package/bundles/stemy-ngx-utils.umd.min.js +0 -16
- package/bundles/stemy-ngx-utils.umd.min.js.map +0 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export class Vector {
|
|
2
|
+
constructor(x, y, z) {
|
|
3
|
+
this.x = x;
|
|
4
|
+
this.y = y;
|
|
5
|
+
this.z = z;
|
|
6
|
+
}
|
|
7
|
+
get negative() {
|
|
8
|
+
return new Vector(-this.x, -this.y, -this.z);
|
|
9
|
+
}
|
|
10
|
+
get length() {
|
|
11
|
+
return Math.sqrt(this.dot(this));
|
|
12
|
+
}
|
|
13
|
+
get unit() {
|
|
14
|
+
return this.divide(this.length);
|
|
15
|
+
}
|
|
16
|
+
get min() {
|
|
17
|
+
return Math.min(Math.min(this.x, this.y), this.z);
|
|
18
|
+
}
|
|
19
|
+
get max() {
|
|
20
|
+
return Math.max(Math.max(this.x, this.y), this.z);
|
|
21
|
+
}
|
|
22
|
+
get angles() {
|
|
23
|
+
return {
|
|
24
|
+
theta: Math.atan2(this.z, this.x),
|
|
25
|
+
phi: Math.asin(this.y / this.length)
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
add(v) {
|
|
29
|
+
if (v instanceof Vector)
|
|
30
|
+
return new Vector(this.x + v.x, this.y + v.y, this.z + v.z);
|
|
31
|
+
else
|
|
32
|
+
return new Vector(this.x + v, this.y + v, this.z + v);
|
|
33
|
+
}
|
|
34
|
+
subtract(v) {
|
|
35
|
+
if (v instanceof Vector)
|
|
36
|
+
return new Vector(this.x - v.x, this.y - v.y, this.z - v.z);
|
|
37
|
+
else
|
|
38
|
+
return new Vector(this.x - v, this.y - v, this.z - v);
|
|
39
|
+
}
|
|
40
|
+
multiply(v) {
|
|
41
|
+
if (v instanceof Vector)
|
|
42
|
+
return new Vector(this.x * v.x, this.y * v.y, this.z * v.z);
|
|
43
|
+
else
|
|
44
|
+
return new Vector(this.x * v, this.y * v, this.z * v);
|
|
45
|
+
}
|
|
46
|
+
divide(v) {
|
|
47
|
+
if (v instanceof Vector)
|
|
48
|
+
return new Vector(this.x / v.x, this.y / v.y, this.z / v.z);
|
|
49
|
+
else
|
|
50
|
+
return new Vector(this.x / v, this.y / v, this.z / v);
|
|
51
|
+
}
|
|
52
|
+
equals(v) {
|
|
53
|
+
return this.x == v.x && this.y == v.y && this.z == v.z;
|
|
54
|
+
}
|
|
55
|
+
dot(v) {
|
|
56
|
+
return this.x * v.x + this.y * v.y + this.z * v.z;
|
|
57
|
+
}
|
|
58
|
+
cross(v) {
|
|
59
|
+
return new Vector(this.y * v.z - this.z * v.y, this.z * v.x - this.x * v.z, this.x * v.y - this.y * v.x);
|
|
60
|
+
}
|
|
61
|
+
angleTo(v) {
|
|
62
|
+
return Math.acos(this.dot(v) / (this.length * v.length));
|
|
63
|
+
}
|
|
64
|
+
toArray(n) {
|
|
65
|
+
return [this.x, this.y, this.z].slice(0, n || 3);
|
|
66
|
+
}
|
|
67
|
+
clone() {
|
|
68
|
+
return new Vector(this.x, this.y, this.z);
|
|
69
|
+
}
|
|
70
|
+
init(x, y, z) {
|
|
71
|
+
this.x = x;
|
|
72
|
+
this.y = y;
|
|
73
|
+
this.z = z;
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy91dGlscy92ZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLE1BQU07SUE2QmYsWUFBbUIsQ0FBUyxFQUFTLENBQVMsRUFBUyxDQUFTO1FBQTdDLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBUTtJQUNoRSxDQUFDO0lBNUJELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU87WUFD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Q2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBWZWN0b3Ige1xyXG5cclxuICAgIGdldCBuZWdhdGl2ZSgpOiBWZWN0b3Ige1xyXG4gICAgICAgIHJldHVybiBuZXcgVmVjdG9yKC10aGlzLngsIC10aGlzLnksIC10aGlzLnopO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KHRoaXMuZG90KHRoaXMpKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdW5pdCgpOiBWZWN0b3Ige1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRpdmlkZSh0aGlzLmxlbmd0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IG1pbigpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBNYXRoLm1pbihNYXRoLm1pbih0aGlzLngsIHRoaXMueSksIHRoaXMueik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IG1heCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBNYXRoLm1heChNYXRoLm1heCh0aGlzLngsIHRoaXMueSksIHRoaXMueik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGFuZ2xlcygpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHRoZXRhOiBNYXRoLmF0YW4yKHRoaXMueiwgdGhpcy54KSxcclxuICAgICAgICAgICAgcGhpOiBNYXRoLmFzaW4odGhpcy55IC8gdGhpcy5sZW5ndGgpXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgeDogbnVtYmVyLCBwdWJsaWMgeTogbnVtYmVyLCBwdWJsaWMgejogbnVtYmVyKSB7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkKHY6IFZlY3RvciB8IG51bWJlcik6IFZlY3RvciB7XHJcbiAgICAgICAgaWYgKHYgaW5zdGFuY2VvZiBWZWN0b3IpIHJldHVybiBuZXcgVmVjdG9yKHRoaXMueCArIHYueCwgdGhpcy55ICsgdi55LCB0aGlzLnogKyB2LnopO1xyXG4gICAgICAgIGVsc2UgcmV0dXJuIG5ldyBWZWN0b3IodGhpcy54ICsgdiwgdGhpcy55ICsgdiwgdGhpcy56ICsgdik7XHJcbiAgICB9XHJcblxyXG4gICAgc3VidHJhY3QodjogVmVjdG9yIHwgbnVtYmVyKTogVmVjdG9yIHtcclxuICAgICAgICBpZiAodiBpbnN0YW5jZW9mIFZlY3RvcikgcmV0dXJuIG5ldyBWZWN0b3IodGhpcy54IC0gdi54LCB0aGlzLnkgLSB2LnksIHRoaXMueiAtIHYueik7XHJcbiAgICAgICAgZWxzZSByZXR1cm4gbmV3IFZlY3Rvcih0aGlzLnggLSB2LCB0aGlzLnkgLSB2LCB0aGlzLnogLSB2KTtcclxuICAgIH1cclxuXHJcbiAgICBtdWx0aXBseSh2OiBWZWN0b3IgfCBudW1iZXIpOiBWZWN0b3Ige1xyXG4gICAgICAgIGlmICh2IGluc3RhbmNlb2YgVmVjdG9yKSByZXR1cm4gbmV3IFZlY3Rvcih0aGlzLnggKiB2LngsIHRoaXMueSAqIHYueSwgdGhpcy56ICogdi56KTtcclxuICAgICAgICBlbHNlIHJldHVybiBuZXcgVmVjdG9yKHRoaXMueCAqIHYsIHRoaXMueSAqIHYsIHRoaXMueiAqIHYpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpdmlkZSh2OiBWZWN0b3IgfCBudW1iZXIpOiBWZWN0b3Ige1xyXG4gICAgICAgIGlmICh2IGluc3RhbmNlb2YgVmVjdG9yKSByZXR1cm4gbmV3IFZlY3Rvcih0aGlzLnggLyB2LngsIHRoaXMueSAvIHYueSwgdGhpcy56IC8gdi56KTtcclxuICAgICAgICBlbHNlIHJldHVybiBuZXcgVmVjdG9yKHRoaXMueCAvIHYsIHRoaXMueSAvIHYsIHRoaXMueiAvIHYpO1xyXG4gICAgfVxyXG5cclxuICAgIGVxdWFscyh2OiBWZWN0b3IpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy54ID09IHYueCAmJiB0aGlzLnkgPT0gdi55ICYmIHRoaXMueiA9PSB2Lno7XHJcbiAgICB9XHJcblxyXG4gICAgZG90KHY6IFZlY3Rvcik6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMueCAqIHYueCArIHRoaXMueSAqIHYueSArIHRoaXMueiAqIHYuejtcclxuICAgIH1cclxuXHJcbiAgICBjcm9zcyh2OiBWZWN0b3IpOiBWZWN0b3Ige1xyXG4gICAgICAgIHJldHVybiBuZXcgVmVjdG9yKFxyXG4gICAgICAgICAgICB0aGlzLnkgKiB2LnogLSB0aGlzLnogKiB2LnksXHJcbiAgICAgICAgICAgIHRoaXMueiAqIHYueCAtIHRoaXMueCAqIHYueixcclxuICAgICAgICAgICAgdGhpcy54ICogdi55IC0gdGhpcy55ICogdi54XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBhbmdsZVRvKHY6IFZlY3Rvcik6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIE1hdGguYWNvcyh0aGlzLmRvdCh2KSAvICh0aGlzLmxlbmd0aCAqIHYubGVuZ3RoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgdG9BcnJheShuPzogbnVtYmVyKTogbnVtYmVyW10ge1xyXG4gICAgICAgIHJldHVybiBbdGhpcy54LCB0aGlzLnksIHRoaXMuel0uc2xpY2UoMCwgbiB8fCAzKTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9uZSgpOiBWZWN0b3Ige1xyXG4gICAgICAgIHJldHVybiBuZXcgVmVjdG9yKHRoaXMueCwgdGhpcy55LCB0aGlzLnopO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXQoeDogbnVtYmVyLCB5OiBudW1iZXIsIHo6IG51bWJlcik6IFZlY3RvciB7XHJcbiAgICAgICAgdGhpcy54ID0geDtcclxuICAgICAgICB0aGlzLnkgPSB5O1xyXG4gICAgICAgIHRoaXMueiA9IHo7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export { CanvasColor, ICON_SERVICE, LANGUAGE_SERVICE, AUTH_SERVICE, PROMISE_SERVICE, StorageMode, TOASTER_SERVICE, UnorederedListTemplate, FactoryDependencies, PaginationItemContext, HttpPromise, EXPRESS_REQUEST, API_SERVICE, ResourceIfContext, APP_BASE_URL, IConfiguration, CONFIG_SERVICE, BASE_CONFIG, SCRIPT_PARAMS, ROOT_ELEMENT, ERROR_HANDLER, GLOBAL_TEMPLATES, ValuedPromise } from "./ngx-utils/common-types";
|
|
2
|
+
export { AjaxRequestHandler } from "./ngx-utils/utils/ajax-request-handler";
|
|
3
|
+
export { ObjectUtils } from "./ngx-utils/utils/object.utils";
|
|
4
|
+
export { DateUtils } from "./ngx-utils/utils/date.utils";
|
|
5
|
+
export { CanvasUtils } from "./ngx-utils/utils/canvas.utils";
|
|
6
|
+
export { FileUtils } from "./ngx-utils/utils/file.utils";
|
|
7
|
+
export { GenericValue } from "./ngx-utils/utils/generic-value";
|
|
8
|
+
export { FileSystemEntry } from "./ngx-utils/utils/file-system";
|
|
9
|
+
export { Rect, Circle, Point } from "./ngx-utils/utils/geometry";
|
|
10
|
+
export { Initializer } from "./ngx-utils/utils/initializer";
|
|
11
|
+
export { ReflectUtils } from "./ngx-utils/utils/reflect.utils";
|
|
12
|
+
export { LoaderUtils } from "./ngx-utils/utils/loader.utils";
|
|
13
|
+
export { MathUtils } from "./ngx-utils/utils/math.utils";
|
|
14
|
+
export { AuthGuard } from "./ngx-utils/utils/auth.guard";
|
|
15
|
+
export { ObservableUtils } from "./ngx-utils/utils/observable.utils";
|
|
16
|
+
export { StringUtils } from "./ngx-utils/utils/string.utils";
|
|
17
|
+
export { ArrayUtils } from "./ngx-utils/utils/array.utils";
|
|
18
|
+
export { SetUtils } from "./ngx-utils/utils/set.utils";
|
|
19
|
+
export { TimerUtils } from "./ngx-utils/utils/timer.utils";
|
|
20
|
+
export { UniqueUtils } from "./ngx-utils/utils/unique.utils";
|
|
21
|
+
export { Vector } from "./ngx-utils/utils/vector";
|
|
22
|
+
export { UniversalService } from "./ngx-utils/services/universal.service";
|
|
23
|
+
export { AclService } from "./ngx-utils/services/acl.service";
|
|
24
|
+
export { ApiService } from "./ngx-utils/services/api.service";
|
|
25
|
+
export { StaticAuthService } from "./ngx-utils/services/auth.service";
|
|
26
|
+
export { BaseHttpClient } from "./ngx-utils/services/base-http.client";
|
|
27
|
+
export { BaseHttpService } from "./ngx-utils/services/base-http.service";
|
|
28
|
+
export { ConfigService } from "./ngx-utils/services/config.service";
|
|
29
|
+
export { ErrorHandlerService } from "./ngx-utils/services/error-handler.service";
|
|
30
|
+
export { EventsService } from "./ngx-utils/services/events.service";
|
|
31
|
+
export { FormatterService } from "./ngx-utils/services/formatter.service";
|
|
32
|
+
export { GlobalTemplateService } from "./ngx-utils/services/global-template.service";
|
|
33
|
+
export { IconService } from "./ngx-utils/services/icon.service";
|
|
34
|
+
export { LanguageService } from "./ngx-utils/services/language.service";
|
|
35
|
+
export { OpenApiService } from "./ngx-utils/services/open-api.service";
|
|
36
|
+
export { StateService } from "./ngx-utils/services/state.service";
|
|
37
|
+
export { StaticLanguageService } from "./ngx-utils/services/static-language.service";
|
|
38
|
+
export { StorageService } from "./ngx-utils/services/storage.service";
|
|
39
|
+
export { ConsoleToasterService } from "./ngx-utils/services/toaster.service";
|
|
40
|
+
export { TranslatedUrlSerializer } from "./ngx-utils/services/translated-url.serializer";
|
|
41
|
+
export { PromiseService } from "./ngx-utils/services/promise.service";
|
|
42
|
+
export { ResizeEventPlugin } from "./ngx-utils/plugins/resize-event.plugin";
|
|
43
|
+
export { ScrollEventPlugin } from "./ngx-utils/plugins/scroll-event.plugin";
|
|
44
|
+
export { ChunkPipe } from "./ngx-utils/pipes/chunk.pipe";
|
|
45
|
+
export { EntriesPipe } from "./ngx-utils/pipes/entries.pipe";
|
|
46
|
+
export { ExtraItemPropertiesPipe } from "./ngx-utils/pipes/extra-item-properties.pipe";
|
|
47
|
+
export { FilterPipe } from "./ngx-utils/pipes/filter.pipe";
|
|
48
|
+
export { FindPipe } from "./ngx-utils/pipes/find.pipe";
|
|
49
|
+
export { FormatNumberPipe } from "./ngx-utils/pipes/format-number.pipe";
|
|
50
|
+
export { GetOffsetPipe } from "./ngx-utils/pipes/get-offset.pipe";
|
|
51
|
+
export { GetTypePipe } from "./ngx-utils/pipes/get-type.pipe";
|
|
52
|
+
export { GlobalTemplatePipe } from "./ngx-utils/pipes/global-template.pipe";
|
|
53
|
+
export { GroupByPipe } from "./ngx-utils/pipes/group-by.pipe";
|
|
54
|
+
export { IsTypePipe } from "./ngx-utils/pipes/is-type.pipe";
|
|
55
|
+
export { JoinPipe } from "./ngx-utils/pipes/join.pipe";
|
|
56
|
+
export { KeysPipe } from "./ngx-utils/pipes/keys.pipe";
|
|
57
|
+
export { MapPipe } from "./ngx-utils/pipes/map.pipe";
|
|
58
|
+
export { MaxPipe } from "./ngx-utils/pipes/max.pipe";
|
|
59
|
+
export { MinPipe } from "./ngx-utils/pipes/min.pipe";
|
|
60
|
+
export { ReducePipe } from "./ngx-utils/pipes/reduce.pipe";
|
|
61
|
+
export { RemapPipe } from "./ngx-utils/pipes/remap.pipe";
|
|
62
|
+
export { ReplacePipe } from "./ngx-utils/pipes/replace.pipe";
|
|
63
|
+
export { ReversePipe } from "./ngx-utils/pipes/reverse.pipe";
|
|
64
|
+
export { RoundPipe } from "./ngx-utils/pipes/round.pipe";
|
|
65
|
+
export { SafeHtmlPipe } from "./ngx-utils/pipes/safe-html.pipe";
|
|
66
|
+
export { TranslatePipe } from "./ngx-utils/pipes/translate.pipe";
|
|
67
|
+
export { ValuesPipe } from "./ngx-utils/pipes/values.pipe";
|
|
68
|
+
export { AsyncMethodBase } from "./ngx-utils/directives/async-method.base";
|
|
69
|
+
export { AsyncMethodDirective } from "./ngx-utils/directives/async-method.directive";
|
|
70
|
+
export { BackgroundDirective } from "./ngx-utils/directives/background.directive";
|
|
71
|
+
export { DynamicTableTemplateDirective } from "./ngx-utils/directives/dynamic-table-template.directive";
|
|
72
|
+
export { GlobalTemplateDirective } from "./ngx-utils/directives/global-template.directive";
|
|
73
|
+
export { IconDirective } from "./ngx-utils/directives/icon.directive";
|
|
74
|
+
export { NgxTemplateOutletDirective } from "./ngx-utils/directives/ngx-template-outlet.directive";
|
|
75
|
+
export { PaginationDirective } from "./ngx-utils/directives/pagination.directive";
|
|
76
|
+
export { PaginationItemDirective } from "./ngx-utils/directives/pagination-item.directive";
|
|
77
|
+
export { ResourceIfDirective } from "./ngx-utils/directives/resource-if.directive";
|
|
78
|
+
export { StickyDirective } from "./ngx-utils/directives/sticky.directive";
|
|
79
|
+
export { StickyClassDirective } from "./ngx-utils/directives/sticky-class.directive";
|
|
80
|
+
export { UnorderedListItemDirective } from "./ngx-utils/directives/unordered-list-item.directive";
|
|
81
|
+
export { UnorderedListTemplateDirective } from "./ngx-utils/directives/unordered-list-template.directive";
|
|
82
|
+
export { UnorderedListComponent } from "./ngx-utils/components/unordered-list/unordered-list.component";
|
|
83
|
+
export { DynamicTableComponent } from "./ngx-utils/components/dynamic-table/dynamic-table.component";
|
|
84
|
+
export { PaginationMenuComponent } from "./ngx-utils/components/pagination-menu/pagination-menu.component";
|
|
85
|
+
export { NgxUtilsModule } from "./ngx-utils/ngx-utils.module";
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxXQUFXLEVBRVgsWUFBWSxFQUtaLGdCQUFnQixFQUtoQixZQUFZLEVBR1osZUFBZSxFQUdmLFdBQVcsRUFFWCxlQUFlLEVBR2Ysc0JBQXNCLEVBUXRCLG1CQUFtQixFQVFuQixxQkFBcUIsRUFRckIsV0FBVyxFQUVYLGVBQWUsRUFFZixXQUFXLEVBUVgsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixjQUFjLEVBRWQsY0FBYyxFQUNkLFdBQVcsRUFDWCxhQUFhLEVBQ2IsWUFBWSxFQUVaLGFBQWEsRUFHYixnQkFBZ0IsRUFHaEIsYUFBYSxFQUNoQixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFtRCxlQUFlLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNoSCxPQUFPLEVBQVMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFP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T0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDekYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ25GLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBRXhHLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBRXpHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XHJcbiAgICBJUmVzb2x2ZUZhY3RvcnksXHJcbiAgICBDYW52YXNDb2xvcixcclxuICAgIElJY29uU2VydmljZSxcclxuICAgIElDT05fU0VSVklDRSxcclxuICAgIElUcmFuc2xhdGlvbixcclxuICAgIElUcmFuc2xhdGlvbnMsXHJcbiAgICBJTGFuZ3VhZ2VTZXR0aW5ncyxcclxuICAgIElMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBMQU5HVUFHRV9TRVJWSUNFLFxyXG4gICAgSUF1dGhTZXJ2aWNlLFxyXG4gICAgUm91dGVWYWxpZGF0b3IsXHJcbiAgICBJUm91dGVEYXRhLFxyXG4gICAgSVJvdXRlLFxyXG4gICAgQVVUSF9TRVJWSUNFLFxyXG4gICAgSUFjbENvbXBvbmVudCxcclxuICAgIElQcm9taXNlU2VydmljZSxcclxuICAgIFBST01JU0VfU0VSVklDRSxcclxuICAgIElSb3V0ZVN0YXRlSW5mbyxcclxuICAgIE5hdmlnYXRpb25VcmxQYXJhbSxcclxuICAgIFN0b3JhZ2VNb2RlLFxyXG4gICAgSVRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgVE9BU1RFUl9TRVJWSUNFLFxyXG4gICAgSUFzeW5jTWVzc2FnZSxcclxuICAgIEFzeW5jTWV0aG9kLFxyXG4gICAgVW5vcmVkZXJlZExpc3RUZW1wbGF0ZSxcclxuICAgIFVub3JkZXJlZExpc3RUZW1wbGF0ZXMsXHJcbiAgICBVbm9yZGVyZWRMaXN0U3R5bGUsXHJcbiAgICBJQWpheFJlcXVlc3REZXRhaWxzLFxyXG4gICAgQWpheFJlcXVlc3RDYWxsYmFjayxcclxuICAgIElTY3JpcHRQcm9taXNlcyxcclxuICAgIElTdHlsZVByb21pc2VzLFxyXG4gICAgSVNlYXJjaE9ic2VydmFibGUsXHJcbiAgICBGYWN0b3J5RGVwZW5kZW5jaWVzLFxyXG4gICAgSVRpbWVyLFxyXG4gICAgSUV4dHJhUHJvcGVydGllcyxcclxuICAgIElHcm91cE1hcCxcclxuICAgIFRyYW5zbGF0aW9uUXVlcnksXHJcbiAgICBJUGFnZUluZm8sXHJcbiAgICBJUGFnaW5hdGlvbkRhdGEsXHJcbiAgICBQYWdpbmF0aW9uRGF0YUxvYWRlcixcclxuICAgIFBhZ2luYXRpb25JdGVtQ29udGV4dCxcclxuICAgIElIdHRwSGVhZGVycyxcclxuICAgIElIdHRwUGFyYW1zLFxyXG4gICAgSVJlcXVlc3RPcHRpb25zLFxyXG4gICAgSUlzc3VlQ29udGV4dCxcclxuICAgIElQcm9ncmVzcyxcclxuICAgIFByb2dyZXNzTGlzdGVuZXIsXHJcbiAgICBQcm9taXNlRXhlY3V0b3IsXHJcbiAgICBIdHRwUHJvbWlzZSxcclxuICAgIElIdHRwU2VydmljZSxcclxuICAgIEVYUFJFU1NfUkVRVUVTVCxcclxuICAgIElBcGlTZXJ2aWNlLFxyXG4gICAgQVBJX1NFUlZJQ0UsXHJcbiAgICBJT3BlbkFwaVNjaGVtYVByb3BlcnR5LFxyXG4gICAgSU9wZW5BcGlTY2hlbWEsXHJcbiAgICBJT3BlbkFwaVNjaGVtYXMsXHJcbiAgICBJVGFibGVDb2x1bW5zLFxyXG4gICAgSVRhYmxlVGVtcGxhdGUsXHJcbiAgICBJVGFibGVUZW1wbGF0ZXMsXHJcbiAgICBUYWJsZURhdGFMb2FkZXIsXHJcbiAgICBSZXNvdXJjZUlmQ29udGV4dCxcclxuICAgIEFQUF9CQVNFX1VSTCxcclxuICAgIElDb25maWd1cmF0aW9uLFxyXG4gICAgSUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBDT05GSUdfU0VSVklDRSxcclxuICAgIEJBU0VfQ09ORklHLFxyXG4gICAgU0NSSVBUX1BBUkFNUyxcclxuICAgIFJPT1RfRUxFTUVOVCxcclxuICAgIEVycm9ySGFuZGxlckNhbGxiYWNrLFxyXG4gICAgRVJST1JfSEFORExFUixcclxuICAgIEdsb2JhbENvbXBvbmVudE1vZGlmaWVyLFxyXG4gICAgSUdsb2JhbFRlbXBsYXRlcyxcclxuICAgIEdMT0JBTF9URU1QTEFURVMsXHJcbiAgICBBcHBJbml0aWFsaXplckZ1bmMsXHJcbiAgICBJTW9kdWxlQ29uZmlnLFxyXG4gICAgVmFsdWVkUHJvbWlzZVxyXG59IGZyb20gXCIuL25neC11dGlscy9jb21tb24tdHlwZXNcIjtcclxuXHJcbmV4cG9ydCB7QWpheFJlcXVlc3RIYW5kbGVyfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvYWpheC1yZXF1ZXN0LWhhbmRsZXJcIjtcclxuZXhwb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5leHBvcnQge0RhdGVVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2RhdGUudXRpbHNcIjtcclxuZXhwb3J0IHtDYW52YXNVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2NhbnZhcy51dGlsc1wiO1xyXG5leHBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2ZpbGUudXRpbHNcIjtcclxuZXhwb3J0IHtHZW5lcmljVmFsdWV9IGZyb20gXCIuL25neC11dGlscy91dGlscy9nZW5lcmljLXZhbHVlXCI7XHJcbmV4cG9ydCB7RmlsZVN5c3RlbUVudHJ5T3BlblJlc3VsdCwgRmlsZVN5c3RlbUVudHJ5T3BlbkNiLCBGaWxlU3lzdGVtRW50cnl9IGZyb20gXCIuL25neC11dGlscy91dGlscy9maWxlLXN5c3RlbVwiO1xyXG5leHBvcnQge0lTaGFwZSwgUmVjdCwgQ2lyY2xlLCBQb2ludH0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2dlb21ldHJ5XCI7XHJcbmV4cG9ydCB7SW5pdGlhbGl6ZXJ9IGZyb20gXCIuL25neC11dGlscy91dGlscy9pbml0aWFsaXplclwiO1xyXG5leHBvcnQge1JlZmxlY3RVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3JlZmxlY3QudXRpbHNcIjtcclxuZXhwb3J0IHtMb2FkZXJVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2xvYWRlci51dGlsc1wiO1xyXG5leHBvcnQge01hdGhVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL21hdGgudXRpbHNcIjtcclxuZXhwb3J0IHtBdXRoR3VhcmR9IGZyb20gXCIuL25neC11dGlscy91dGlscy9hdXRoLmd1YXJkXCI7XHJcbmV4cG9ydCB7T2JzZXJ2YWJsZVV0aWxzLCBJU3Vic2NyaWJlckluZm99IGZyb20gXCIuL25neC11dGlscy91dGlscy9vYnNlcnZhYmxlLnV0aWxzXCI7XHJcbmV4cG9ydCB7U3RyaW5nVXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy9zdHJpbmcudXRpbHNcIjtcclxuZXhwb3J0IHtBcnJheVV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvYXJyYXkudXRpbHNcIjtcclxuZXhwb3J0IHtTZXRVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3NldC51dGlsc1wiO1xyXG5leHBvcnQge1RpbWVyVXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy90aW1lci51dGlsc1wiO1xyXG5leHBvcnQge1VuaXF1ZVV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvdW5pcXVlLnV0aWxzXCI7XHJcbmV4cG9ydCB7VmVjdG9yfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvdmVjdG9yXCI7XHJcblxyXG5leHBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy91bml2ZXJzYWwuc2VydmljZVwiO1xyXG5leHBvcnQge0FjbFNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9hY2wuc2VydmljZVwiO1xyXG5leHBvcnQge0FwaVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5leHBvcnQge1N0YXRpY0F1dGhTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7QmFzZUh0dHBDbGllbnR9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9iYXNlLWh0dHAuY2xpZW50XCI7XHJcbmV4cG9ydCB7QmFzZUh0dHBTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvYmFzZS1odHRwLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvY29uZmlnLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtFcnJvckhhbmRsZXJTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZXJyb3ItaGFuZGxlci5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7RXZlbnRzU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7Rm9ybWF0dGVyU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7R2xvYmFsVGVtcGxhdGVTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZ2xvYmFsLXRlbXBsYXRlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtJY29uU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2ljb24uc2VydmljZVwiO1xyXG5leHBvcnQge0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2xhbmd1YWdlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtPcGVuQXBpU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL29wZW4tYXBpLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtJU3RhdGVJbmZvLCBTdGF0ZVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9zdGF0ZS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7U3RhdGljTGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvc3RhdGljLWxhbmd1YWdlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtTdG9yYWdlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZVwiO1xyXG5leHBvcnQge0NvbnNvbGVUb2FzdGVyU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3RvYXN0ZXIuc2VydmljZVwiO1xyXG5leHBvcnQge0lVcmxEaWN0aW9uYXJ5LCBUcmFuc2xhdGVkVXJsU2VyaWFsaXplcn0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3RyYW5zbGF0ZWQtdXJsLnNlcmlhbGl6ZXJcIjtcclxuZXhwb3J0IHtQcm9taXNlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3Byb21pc2Uuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IHtSZXNpemVFdmVudFBsdWdpbn0gZnJvbSBcIi4vbmd4LXV0aWxzL3BsdWdpbnMvcmVzaXplLWV2ZW50LnBsdWdpblwiO1xyXG5leHBvcnQge1Njcm9sbEV2ZW50UGx1Z2lufSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGx1Z2lucy9zY3JvbGwtZXZlbnQucGx1Z2luXCI7XHJcblxyXG5leHBvcnQge0NodW5rUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2NodW5rLnBpcGVcIjtcclxuZXhwb3J0IHtFbnRyaWVzUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2VudHJpZXMucGlwZVwiO1xyXG5leHBvcnQge0V4dHJhSXRlbVByb3BlcnRpZXNQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZXh0cmEtaXRlbS1wcm9wZXJ0aWVzLnBpcGVcIjtcclxuZXhwb3J0IHtGaWx0ZXJQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZmlsdGVyLnBpcGVcIjtcclxuZXhwb3J0IHtGaW5kUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2ZpbmQucGlwZVwiO1xyXG5leHBvcnQge0Zvcm1hdE51bWJlclBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9mb3JtYXQtbnVtYmVyLnBpcGVcIjtcclxuZXhwb3J0IHtHZXRPZmZzZXRQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZ2V0LW9mZnNldC5waXBlXCI7XHJcbmV4cG9ydCB7R2V0VHlwZVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9nZXQtdHlwZS5waXBlXCI7XHJcbmV4cG9ydCB7R2xvYmFsVGVtcGxhdGVQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZ2xvYmFsLXRlbXBsYXRlLnBpcGVcIjtcclxuZXhwb3J0IHtHcm91cEJ5UGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2dyb3VwLWJ5LnBpcGVcIjtcclxuZXhwb3J0IHtJc1R5cGVQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvaXMtdHlwZS5waXBlXCI7XHJcbmV4cG9ydCB7Sm9pblBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9qb2luLnBpcGVcIjtcclxuZXhwb3J0IHtLZXlzUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2tleXMucGlwZVwiO1xyXG5leHBvcnQge01hcFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9tYXAucGlwZVwiO1xyXG5leHBvcnQge01heFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9tYXgucGlwZVwiO1xyXG5leHBvcnQge01pblBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9taW4ucGlwZVwiO1xyXG5leHBvcnQge1JlZHVjZVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9yZWR1Y2UucGlwZVwiO1xyXG5leHBvcnQge1JlbWFwUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3JlbWFwLnBpcGVcIjtcclxuZXhwb3J0IHtSZXBsYWNlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3JlcGxhY2UucGlwZVwiO1xyXG5leHBvcnQge1JldmVyc2VQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcmV2ZXJzZS5waXBlXCI7XHJcbmV4cG9ydCB7Um91bmRQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcm91bmQucGlwZVwiO1xyXG5leHBvcnQge1NhZmVIdG1sUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3NhZmUtaHRtbC5waXBlXCI7XHJcbmV4cG9ydCB7VHJhbnNsYXRlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3RyYW5zbGF0ZS5waXBlXCI7XHJcbmV4cG9ydCB7VmFsdWVzUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3ZhbHVlcy5waXBlXCI7XHJcblxyXG5leHBvcnQge0FzeW5jTWV0aG9kQmFzZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvYXN5bmMtbWV0aG9kLmJhc2VcIjtcclxuZXhwb3J0IHtBc3luY01ldGhvZERpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvYXN5bmMtbWV0aG9kLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge0JhY2tncm91bmREaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2JhY2tncm91bmQuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7RHluYW1pY1RhYmxlVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2R5bmFtaWMtdGFibGUtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7R2xvYmFsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2dsb2JhbC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtJY29uRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9pY29uLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge05neFRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9uZ3gtdGVtcGxhdGUtb3V0bGV0LmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1BhZ2luYXRpb25EaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3BhZ2luYXRpb24uZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7UGFnaW5hdGlvbkl0ZW1EaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3BhZ2luYXRpb24taXRlbS5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtSZXNvdXJjZUlmRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9yZXNvdXJjZS1pZi5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtTdGlja3lEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3N0aWNreS5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtTdGlja3lDbGFzc0RpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvc3RpY2t5LWNsYXNzLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1Vub3JkZXJlZExpc3RJdGVtRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy91bm9yZGVyZWQtbGlzdC1pdGVtLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1Vub3JkZXJlZExpc3RUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvdW5vcmRlcmVkLWxpc3QtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcblxyXG5leHBvcnQge1Vub3JkZXJlZExpc3RDb21wb25lbnR9IGZyb20gXCIuL25neC11dGlscy9jb21wb25lbnRzL3Vub3JkZXJlZC1saXN0L3Vub3JkZXJlZC1saXN0LmNvbXBvbmVudFwiO1xyXG5leHBvcnQge0R5bmFtaWNUYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4vbmd4LXV0aWxzL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudFwiO1xyXG5leHBvcnQge1BhZ2luYXRpb25NZW51Q29tcG9uZW50fSBmcm9tIFwiLi9uZ3gtdXRpbHMvY29tcG9uZW50cy9wYWdpbmF0aW9uLW1lbnUvcGFnaW5hdGlvbi1tZW51LmNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0IHtOZ3hVdGlsc01vZHVsZX0gZnJvbSBcIi4vbmd4LXV0aWxzL25neC11dGlscy5tb2R1bGVcIjtcclxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlbXktbmd4LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0ZW15LW5neC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export function isPrimitive(value) {
|
|
2
|
+
const type = typeof value;
|
|
3
|
+
return value == null || (type !== "object" && type !== "function");
|
|
4
|
+
}
|
|
5
|
+
export function isDate(value) {
|
|
6
|
+
return null !== value && !isNaN(value) && "undefined" !== typeof value.getDate;
|
|
7
|
+
}
|
|
8
|
+
function convertValue(value, type) {
|
|
9
|
+
switch (type) {
|
|
10
|
+
case "boolean":
|
|
11
|
+
value = typeof value == "string" ? value.toLowerCase() : value;
|
|
12
|
+
return (value == "no" || value == "false" || value == "0") ? false : !!value;
|
|
13
|
+
case "number":
|
|
14
|
+
const val = parseFloat(value);
|
|
15
|
+
return isNaN(val) ? 0 : val;
|
|
16
|
+
}
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
function getFromEnv(path, alternatives, value) {
|
|
20
|
+
const name = path.replace(/\.?([A-Z|0-9]+)/g, function (x, y) {
|
|
21
|
+
return "_" + y.toLowerCase();
|
|
22
|
+
}).replace(/\./gi, "_").replace(/^_/, "").toUpperCase();
|
|
23
|
+
const alts = Array.from(alternatives[name] || []);
|
|
24
|
+
alts.unshift(name);
|
|
25
|
+
for (const envName of alts) {
|
|
26
|
+
const envValue = process.env[envName];
|
|
27
|
+
if (typeof envValue !== "undefined") {
|
|
28
|
+
const val = convertValue(envValue, typeof value);
|
|
29
|
+
console.log(name, envName, val);
|
|
30
|
+
return convertValue(envValue, typeof value);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
console.log(name, value);
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
function createConfigRecursive(target, source, path, alternatives) {
|
|
37
|
+
if (isPrimitive(source) || isDate(source)) {
|
|
38
|
+
return getFromEnv(path, alternatives, source);
|
|
39
|
+
}
|
|
40
|
+
if (Array.isArray(source)) {
|
|
41
|
+
target = Array.isArray(target) ? Array.from(target) : [];
|
|
42
|
+
source.forEach((item, index) => {
|
|
43
|
+
if (target.length > index)
|
|
44
|
+
target[index] = createConfigRecursive(target[index], item, !path ? `${index}` : `${path}.${index}`, alternatives);
|
|
45
|
+
else
|
|
46
|
+
target.push(createConfigRecursive(null, item, !path ? `${index}` : `${path}.${index}`, alternatives));
|
|
47
|
+
});
|
|
48
|
+
return target;
|
|
49
|
+
}
|
|
50
|
+
return Object.keys(source).reduce((result, key) => {
|
|
51
|
+
result[key] = createConfigRecursive(result[key], source[key], !path ? `${key}` : `${path}.${key}`, alternatives);
|
|
52
|
+
return result;
|
|
53
|
+
}, Object.assign({}, target));
|
|
54
|
+
}
|
|
55
|
+
export function parseConfig(config) {
|
|
56
|
+
if (typeof config == "string") {
|
|
57
|
+
try {
|
|
58
|
+
config = JSON.parse(config);
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
return {};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return config;
|
|
65
|
+
}
|
|
66
|
+
export function createConfig(config, alternatives) {
|
|
67
|
+
alternatives = alternatives || {};
|
|
68
|
+
console.log("Parsing config...");
|
|
69
|
+
return createConfigRecursive(null, parseConfig(config), "", alternatives);
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG9vbHMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBVTtJQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLEtBQUssQ0FBQztJQUMxQixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUFVO0lBQzdCLE9BQU8sSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxXQUFXLEtBQUssT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBQ25GLENBQUM7QUFNRCxTQUFTLFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBWTtJQUMxQyxRQUFRLElBQUksRUFBRTtRQUNWLEtBQUssU0FBUztZQUNWLEtBQUssR0FBRyxPQUFPLEtBQUssSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQy9ELE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxPQUFPLElBQUksS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDakYsS0FBSyxRQUFRO1lBQ1QsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztLQUNuQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxJQUFZ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LEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksR0FBRyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDakgsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsTUFBVztJQUNuQyxJQUFJLE9BQU8sTUFBTSxJQUFJLFFBQVEsRUFBRTtRQUMzQixJQUFJO1lBQ0EsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0I7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE9BQU8sRUFBRSxDQUFDO1NBQ2I7S0FDSjtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQVcsRUFBRSxZQUF1QztJQUM3RSxZQUFZLEdBQUcsWUFBWSxJQUFJLEVBQUUsQ0FBQztJQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDakMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUM5RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzUHJpbWl0aXZlKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XHJcbiAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCAodHlwZSAhPT0gXCJvYmplY3RcIiAmJiB0eXBlICE9PSBcImZ1bmN0aW9uXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBEYXRlIHtcclxuICAgIHJldHVybiBudWxsICE9PSB2YWx1ZSAmJiAhaXNOYU4odmFsdWUpICYmIFwidW5kZWZpbmVkXCIgIT09IHR5cGVvZiB2YWx1ZS5nZXREYXRlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElFbnZpcm9ubWVudEFsdGVybmF0aXZlcyB7XHJcbiAgICBbbmFtZTogc3RyaW5nXTogc3RyaW5nW11cclxufVxyXG5cclxuZnVuY3Rpb24gY29udmVydFZhbHVlKHZhbHVlOiBhbnksIHR5cGU6IHN0cmluZyk6IGFueSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxyXG4gICAgICAgICAgICB2YWx1ZSA9IHR5cGVvZiB2YWx1ZSA9PSBcInN0cmluZ1wiID8gdmFsdWUudG9Mb3dlckNhc2UoKSA6IHZhbHVlO1xyXG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlID09IFwibm9cIiB8fCB2YWx1ZSA9PSBcImZhbHNlXCIgfHwgdmFsdWUgPT0gXCIwXCIpID8gZmFsc2UgOiAhIXZhbHVlO1xyXG4gICAgICAgIGNhc2UgXCJudW1iZXJcIjpcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gcGFyc2VGbG9hdCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHJldHVybiBpc05hTih2YWwpID8gMCA6IHZhbDtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0RnJvbUVudihwYXRoOiBzdHJpbmcsIGFsdGVybmF0aXZlczogSUVudmlyb25tZW50QWx0ZXJuYXRpdmVzLCB2YWx1ZTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IG5hbWUgPSBwYXRoLnJlcGxhY2UoL1xcLj8oW0EtWnwwLTldKykvZywgZnVuY3Rpb24gKHgseSl7XHJcbiAgICAgICAgcmV0dXJuIFwiX1wiICsgeS50b0xvd2VyQ2FzZSgpXHJcbiAgICB9KS5yZXBsYWNlKC9cXC4vZ2ksIFwiX1wiKS5yZXBsYWNlKC9eXy8sIFwiXCIpLnRvVXBwZXJDYXNlKCk7XHJcbiAgICBjb25zdCBhbHRzID0gQXJyYXkuZnJvbShhbHRlcm5hdGl2ZXNbbmFtZV0gfHwgW10pO1xyXG4gICAgYWx0cy51bnNoaWZ0KG5hbWUpO1xyXG4gICAgZm9yIChjb25zdCBlbnZOYW1lIG9mIGFsdHMpIHtcclxuICAgICAgICBjb25zdCBlbnZWYWx1ZSA9IHByb2Nlc3MuZW52W2Vudk5hbWVdO1xyXG4gICAgICAgIGlmICh0eXBlb2YgZW52VmFsdWUgIT09IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gY29udmVydFZhbHVlKGVudlZhbHVlLCB0eXBlb2YgdmFsdWUpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhuYW1lLCBlbnZOYW1lLCB2YWwpO1xyXG4gICAgICAgICAgICByZXR1cm4gY29udmVydFZhbHVlKGVudlZhbHVlLCB0eXBlb2YgdmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKG5hbWUsIHZhbHVlKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlQ29uZmlnUmVjdXJzaXZlKHRhcmdldDogYW55LCBzb3VyY2U6IGFueSwgcGF0aDogc3RyaW5nLCBhbHRlcm5hdGl2ZXM6IElFbnZpcm9ubWVudEFsdGVybmF0aXZlcyk6IGFueSB7XHJcbiAgICBpZiAoaXNQcmltaXRpdmUoc291cmNlKSB8fCBpc0RhdGUoc291cmNlKSkge1xyXG4gICAgICAgIHJldHVybiBnZXRGcm9tRW52KHBhdGgsIGFsdGVybmF0aXZlcywgc291cmNlKTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHNvdXJjZSkpIHtcclxuICAgICAgICB0YXJnZXQgPSBBcnJheS5pc0FycmF5KHRhcmdldCkgPyBBcnJheS5mcm9tKHRhcmdldCkgOiBbXTtcclxuICAgICAgICBzb3VyY2UuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRhcmdldC5sZW5ndGggPiBpbmRleClcclxuICAgICAgICAgICAgICAgIHRhcmdldFtpbmRleF0gPSBjcmVhdGVDb25maWdSZWN1cnNpdmUodGFyZ2V0W2luZGV4XSwgaXRlbSwgIXBhdGggPyBgJHtpbmRleH1gIDogYCR7cGF0aH0uJHtpbmRleH1gLCBhbHRlcm5hdGl2ZXMpO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucHVzaChjcmVhdGVDb25maWdSZWN1cnNpdmUobnVsbCwgaXRlbSwgIXBhdGggPyBgJHtpbmRleH1gIDogYCR7cGF0aH0uJHtpbmRleH1gLCBhbHRlcm5hdGl2ZXMpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdGFyZ2V0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHNvdXJjZSkucmVkdWNlKChyZXN1bHQsIGtleSkgPT4ge1xyXG4gICAgICAgIHJlc3VsdFtrZXldID0gY3JlYXRlQ29uZmlnUmVjdXJzaXZlKHJlc3VsdFtrZXldLCBzb3VyY2Vba2V5XSwgIXBhdGggPyBgJHtrZXl9YCA6IGAke3BhdGh9LiR7a2V5fWAsIGFsdGVybmF0aXZlcyk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH0sIE9iamVjdC5hc3NpZ24oe30sIHRhcmdldCkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb25maWcoY29uZmlnOiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHR5cGVvZiBjb25maWcgPT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbmZpZyA9IEpTT04ucGFyc2UoY29uZmlnKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7fTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29uZmlnO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29uZmlnKGNvbmZpZzogYW55LCBhbHRlcm5hdGl2ZXM/OiBJRW52aXJvbm1lbnRBbHRlcm5hdGl2ZXMpOiBhbnkge1xyXG4gICAgYWx0ZXJuYXRpdmVzID0gYWx0ZXJuYXRpdmVzIHx8IHt9O1xyXG4gICAgY29uc29sZS5sb2coXCJQYXJzaW5nIGNvbmZpZy4uLlwiKTtcclxuICAgIHJldHVybiBjcmVhdGVDb25maWdSZWN1cnNpdmUobnVsbCwgcGFyc2VDb25maWcoY29uZmlnKSwgXCJcIiwgYWx0ZXJuYXRpdmVzKTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { createConfig } from "./config";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rvb2xzL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBMkIsTUFBTSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge2NyZWF0ZUNvbmZpZywgSUVudmlyb25tZW50QWx0ZXJuYXRpdmVzfSBmcm9tIFwiLi9jb25maWdcIjtcclxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlbXktbmd4LXV0aWxzLXRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG9vbHMvc3RlbXktbmd4LXV0aWxzLXRvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
function isPrimitive(value) {
|
|
2
|
+
const type = typeof value;
|
|
3
|
+
return value == null || (type !== "object" && type !== "function");
|
|
4
|
+
}
|
|
5
|
+
function isDate(value) {
|
|
6
|
+
return null !== value && !isNaN(value) && "undefined" !== typeof value.getDate;
|
|
7
|
+
}
|
|
8
|
+
function convertValue(value, type) {
|
|
9
|
+
switch (type) {
|
|
10
|
+
case "boolean":
|
|
11
|
+
value = typeof value == "string" ? value.toLowerCase() : value;
|
|
12
|
+
return (value == "no" || value == "false" || value == "0") ? false : !!value;
|
|
13
|
+
case "number":
|
|
14
|
+
const val = parseFloat(value);
|
|
15
|
+
return isNaN(val) ? 0 : val;
|
|
16
|
+
}
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
function getFromEnv(path, alternatives, value) {
|
|
20
|
+
const name = path.replace(/\.?([A-Z|0-9]+)/g, function (x, y) {
|
|
21
|
+
return "_" + y.toLowerCase();
|
|
22
|
+
}).replace(/\./gi, "_").replace(/^_/, "").toUpperCase();
|
|
23
|
+
const alts = Array.from(alternatives[name] || []);
|
|
24
|
+
alts.unshift(name);
|
|
25
|
+
for (const envName of alts) {
|
|
26
|
+
const envValue = process.env[envName];
|
|
27
|
+
if (typeof envValue !== "undefined") {
|
|
28
|
+
const val = convertValue(envValue, typeof value);
|
|
29
|
+
console.log(name, envName, val);
|
|
30
|
+
return convertValue(envValue, typeof value);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
console.log(name, value);
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
function createConfigRecursive(target, source, path, alternatives) {
|
|
37
|
+
if (isPrimitive(source) || isDate(source)) {
|
|
38
|
+
return getFromEnv(path, alternatives, source);
|
|
39
|
+
}
|
|
40
|
+
if (Array.isArray(source)) {
|
|
41
|
+
target = Array.isArray(target) ? Array.from(target) : [];
|
|
42
|
+
source.forEach((item, index) => {
|
|
43
|
+
if (target.length > index)
|
|
44
|
+
target[index] = createConfigRecursive(target[index], item, !path ? `${index}` : `${path}.${index}`, alternatives);
|
|
45
|
+
else
|
|
46
|
+
target.push(createConfigRecursive(null, item, !path ? `${index}` : `${path}.${index}`, alternatives));
|
|
47
|
+
});
|
|
48
|
+
return target;
|
|
49
|
+
}
|
|
50
|
+
return Object.keys(source).reduce((result, key) => {
|
|
51
|
+
result[key] = createConfigRecursive(result[key], source[key], !path ? `${key}` : `${path}.${key}`, alternatives);
|
|
52
|
+
return result;
|
|
53
|
+
}, Object.assign({}, target));
|
|
54
|
+
}
|
|
55
|
+
function parseConfig(config) {
|
|
56
|
+
if (typeof config == "string") {
|
|
57
|
+
try {
|
|
58
|
+
config = JSON.parse(config);
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
return {};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return config;
|
|
65
|
+
}
|
|
66
|
+
function createConfig(config, alternatives) {
|
|
67
|
+
alternatives = alternatives || {};
|
|
68
|
+
console.log("Parsing config...");
|
|
69
|
+
return createConfigRecursive(null, parseConfig(config), "", alternatives);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Generated bundle index. Do not edit.
|
|
74
|
+
*/
|
|
75
|
+
|
|
76
|
+
export { createConfig };
|
|
77
|
+
//# sourceMappingURL=stemy-ngx-utils-tools.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stemy-ngx-utils-tools.mjs","sources":["../../tools/config.ts","../../tools/stemy-ngx-utils-tools.ts"],"sourcesContent":["export function isPrimitive(value: any): boolean {\r\n const type = typeof value;\r\n return value == null || (type !== \"object\" && type !== \"function\");\r\n}\r\n\r\nexport function isDate(value: any): value is Date {\r\n return null !== value && !isNaN(value) && \"undefined\" !== typeof value.getDate;\r\n}\r\n\r\nexport interface IEnvironmentAlternatives {\r\n [name: string]: string[]\r\n}\r\n\r\nfunction convertValue(value: any, type: string): any {\r\n switch (type) {\r\n case \"boolean\":\r\n value = typeof value == \"string\" ? value.toLowerCase() : value;\r\n return (value == \"no\" || value == \"false\" || value == \"0\") ? false : !!value;\r\n case \"number\":\r\n const val = parseFloat(value);\r\n return isNaN(val) ? 0 : val;\r\n }\r\n return value;\r\n}\r\n\r\nfunction getFromEnv(path: string, alternatives: IEnvironmentAlternatives, value: any): any {\r\n const name = path.replace(/\\.?([A-Z|0-9]+)/g, function (x,y){\r\n return \"_\" + y.toLowerCase()\r\n }).replace(/\\./gi, \"_\").replace(/^_/, \"\").toUpperCase();\r\n const alts = Array.from(alternatives[name] || []);\r\n alts.unshift(name);\r\n for (const envName of alts) {\r\n const envValue = process.env[envName];\r\n if (typeof envValue !== \"undefined\") {\r\n const val = convertValue(envValue, typeof value);\r\n console.log(name, envName, val);\r\n return convertValue(envValue, typeof value);\r\n }\r\n }\r\n console.log(name, value);\r\n return value;\r\n}\r\n\r\nfunction createConfigRecursive(target: any, source: any, path: string, alternatives: IEnvironmentAlternatives): any {\r\n if (isPrimitive(source) || isDate(source)) {\r\n return getFromEnv(path, alternatives, source);\r\n }\r\n if (Array.isArray(source)) {\r\n target = Array.isArray(target) ? Array.from(target) : [];\r\n source.forEach((item, index) => {\r\n if (target.length > index)\r\n target[index] = createConfigRecursive(target[index], item, !path ? `${index}` : `${path}.${index}`, alternatives);\r\n else\r\n target.push(createConfigRecursive(null, item, !path ? `${index}` : `${path}.${index}`, alternatives));\r\n });\r\n return target;\r\n }\r\n return Object.keys(source).reduce((result, key) => {\r\n result[key] = createConfigRecursive(result[key], source[key], !path ? `${key}` : `${path}.${key}`, alternatives);\r\n return result;\r\n }, Object.assign({}, target));\r\n}\r\n\r\nexport function parseConfig(config: any): any {\r\n if (typeof config == \"string\") {\r\n try {\r\n config = JSON.parse(config);\r\n } catch (e) {\r\n return {};\r\n }\r\n }\r\n return config;\r\n}\r\n\r\nexport function createConfig(config: any, alternatives?: IEnvironmentAlternatives): any {\r\n alternatives = alternatives || {};\r\n console.log(\"Parsing config...\");\r\n return createConfigRecursive(null, parseConfig(config), \"\", alternatives);\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@ import { ActivatedRouteSnapshot, NavigationEnd, Router, DefaultUrlSerializer, Ur
|
|
|
9
9
|
import { isPlatformBrowser, isPlatformServer, DOCUMENT, CommonModule } from '@angular/common';
|
|
10
10
|
import { DeviceDetectorService } from 'ngx-device-detector';
|
|
11
11
|
import { HttpClient, HttpHeaders, HttpParams, HttpUrlEncodingCodec, HttpHandler, HttpEventType } from '@angular/common/http';
|
|
12
|
-
import { parse } from 'json5';
|
|
13
12
|
import { ɵangular_packages_platform_browser_platform_browser_g, DomSanitizer, EVENT_MANAGER_PLUGINS } from '@angular/platform-browser';
|
|
14
13
|
import { addListener, removeListener } from 'resize-detector';
|
|
15
14
|
import { FormsModule } from '@angular/forms';
|
|
@@ -980,6 +979,26 @@ class GenericValue extends Subject {
|
|
|
980
979
|
}
|
|
981
980
|
}
|
|
982
981
|
|
|
982
|
+
class FileSystemEntry {
|
|
983
|
+
constructor(label, meta, image, data, parent, openCb) {
|
|
984
|
+
this.label = label;
|
|
985
|
+
this.meta = meta;
|
|
986
|
+
this.image = image;
|
|
987
|
+
this.data = data;
|
|
988
|
+
this.parent = parent;
|
|
989
|
+
this.openCb = openCb;
|
|
990
|
+
this.path = !parent ? [this] : parent.path.concat([this]);
|
|
991
|
+
this.level = this.path.length - 1;
|
|
992
|
+
this.classes = this.path
|
|
993
|
+
.filter(t => typeof t.data === "string" && t.data.length > 0).map(t => t.data)
|
|
994
|
+
.concat([`level-${this.level}`]);
|
|
995
|
+
}
|
|
996
|
+
open() {
|
|
997
|
+
this.result = this.result || this.openCb(this.data, this);
|
|
998
|
+
return this.result;
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
|
|
983
1002
|
class Rect {
|
|
984
1003
|
constructor(x, y, width, height, rotation = 0) {
|
|
985
1004
|
this.x = x;
|
|
@@ -1971,6 +1990,8 @@ class AclService {
|
|
|
1971
1990
|
return;
|
|
1972
1991
|
info.dirty = false;
|
|
1973
1992
|
const component = info.component;
|
|
1993
|
+
if (!info.component)
|
|
1994
|
+
return;
|
|
1974
1995
|
if (info.first) {
|
|
1975
1996
|
if (ObjectUtils.isFunction(component.onUserInitialized)) {
|
|
1976
1997
|
component.onUserInitialized();
|
|
@@ -2079,7 +2100,7 @@ class StorageService {
|
|
|
2079
2100
|
this.universal = universal;
|
|
2080
2101
|
}
|
|
2081
2102
|
get(key, defaultValue, mode = StorageMode.Local) {
|
|
2082
|
-
if (this.universal.
|
|
2103
|
+
if (!this.universal.isBrowser)
|
|
2083
2104
|
return defaultValue;
|
|
2084
2105
|
const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
|
|
2085
2106
|
const item = storage.getItem(key);
|
|
@@ -2093,7 +2114,7 @@ class StorageService {
|
|
|
2093
2114
|
}
|
|
2094
2115
|
}
|
|
2095
2116
|
set(key, value, mode = StorageMode.Local) {
|
|
2096
|
-
if (this.universal.
|
|
2117
|
+
if (!this.universal.isBrowser)
|
|
2097
2118
|
return;
|
|
2098
2119
|
const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
|
|
2099
2120
|
if (typeof value == "string") {
|
|
@@ -2103,7 +2124,7 @@ class StorageService {
|
|
|
2103
2124
|
storage.setItem(key, JSON.stringify(value));
|
|
2104
2125
|
}
|
|
2105
2126
|
remove(key, mode = StorageMode.Local) {
|
|
2106
|
-
if (this.universal.
|
|
2127
|
+
if (!this.universal.isBrowser)
|
|
2107
2128
|
return;
|
|
2108
2129
|
const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
|
|
2109
2130
|
storage.removeItem(key);
|
|
@@ -2437,6 +2458,7 @@ class StaticAuthService {
|
|
|
2437
2458
|
}
|
|
2438
2459
|
}
|
|
2439
2460
|
|
|
2461
|
+
const JSON5 = require("json5");
|
|
2440
2462
|
class ConfigService {
|
|
2441
2463
|
constructor(http, universal, rootElement, baseConfig = null, scriptParams = null) {
|
|
2442
2464
|
this.http = http;
|
|
@@ -2503,7 +2525,7 @@ class ConfigService {
|
|
|
2503
2525
|
const configUrl = this.configUrl;
|
|
2504
2526
|
try {
|
|
2505
2527
|
const config5 = yield this.http.get(isDevMode() ? `${configUrl}5` : configUrl, { responseType: "text" }).toPromise();
|
|
2506
|
-
return parse(config5);
|
|
2528
|
+
return JSON5.parse(config5);
|
|
2507
2529
|
}
|
|
2508
2530
|
catch (e) {
|
|
2509
2531
|
try {
|
|
@@ -2532,7 +2554,7 @@ class ConfigService {
|
|
|
2532
2554
|
return this.loadedConfig[key];
|
|
2533
2555
|
}
|
|
2534
2556
|
getQueryParameter(name, url) {
|
|
2535
|
-
url = url || (this.universal.
|
|
2557
|
+
url = url || (this.universal.isBrowser ? window.location.href : "");
|
|
2536
2558
|
name = name.replace(/[\[\]]/g, "\\$&");
|
|
2537
2559
|
const regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
|
|
2538
2560
|
if (!results)
|
|
@@ -2735,7 +2757,7 @@ class StaticLanguageService {
|
|
|
2735
2757
|
this.initService();
|
|
2736
2758
|
}
|
|
2737
2759
|
get defaultLanguage() {
|
|
2738
|
-
return this.configs.getQueryParameter("lang") || this.storage.get("language", this.
|
|
2760
|
+
return this.configs.getQueryParameter("lang") || this.storage.get("language", this.getDefaultLanguage());
|
|
2739
2761
|
}
|
|
2740
2762
|
get dictionary() {
|
|
2741
2763
|
return this.translations[this.currentLanguage] || {};
|
|
@@ -2772,21 +2794,6 @@ class StaticLanguageService {
|
|
|
2772
2794
|
get config() {
|
|
2773
2795
|
return this.configs.config;
|
|
2774
2796
|
}
|
|
2775
|
-
get browserLang() {
|
|
2776
|
-
if (this.universal.isServer || typeof window.navigator === "undefined") {
|
|
2777
|
-
return "de";
|
|
2778
|
-
}
|
|
2779
|
-
let browserLang = (window.navigator.languages ? window.navigator.languages[0] : null)
|
|
2780
|
-
|| window.navigator.language || window.navigator["browserLanguage"] || window.navigator["userLanguage"] || null;
|
|
2781
|
-
if (!browserLang)
|
|
2782
|
-
return browserLang;
|
|
2783
|
-
["-", "_"].forEach(splitter => {
|
|
2784
|
-
if (browserLang.indexOf(splitter) >= 0) {
|
|
2785
|
-
browserLang = browserLang.split(splitter)[0];
|
|
2786
|
-
}
|
|
2787
|
-
});
|
|
2788
|
-
return browserLang;
|
|
2789
|
-
}
|
|
2790
2797
|
get universal() {
|
|
2791
2798
|
return this.storage.universal;
|
|
2792
2799
|
}
|
|
@@ -2852,6 +2859,21 @@ class StaticLanguageService {
|
|
|
2852
2859
|
return ObjectUtils.isDefined(r) ? r : substring;
|
|
2853
2860
|
});
|
|
2854
2861
|
}
|
|
2862
|
+
getDefaultLanguage() {
|
|
2863
|
+
if (!this.universal.isBrowser || typeof window.navigator === "undefined") {
|
|
2864
|
+
return "de";
|
|
2865
|
+
}
|
|
2866
|
+
let browserLang = (window.navigator.languages ? window.navigator.languages[0] : null)
|
|
2867
|
+
|| window.navigator.language || window.navigator["browserLanguage"] || window.navigator["userLanguage"] || null;
|
|
2868
|
+
if (!browserLang)
|
|
2869
|
+
return browserLang;
|
|
2870
|
+
["-", "_"].forEach(splitter => {
|
|
2871
|
+
if (browserLang.indexOf(splitter) >= 0) {
|
|
2872
|
+
browserLang = browserLang.split(splitter)[0];
|
|
2873
|
+
}
|
|
2874
|
+
});
|
|
2875
|
+
return browserLang;
|
|
2876
|
+
}
|
|
2855
2877
|
}
|
|
2856
2878
|
StaticLanguageService.decorators = [
|
|
2857
2879
|
{ type: Injectable }
|
|
@@ -4407,7 +4429,7 @@ class UnorderedListComponent {
|
|
|
4407
4429
|
UnorderedListComponent.decorators = [
|
|
4408
4430
|
{ type: Component, args: [{
|
|
4409
4431
|
selector: "unordered-list",
|
|
4410
|
-
template: "<ng-template let-keyPrefix=\"keyPrefix\" let-key=\"item.key\" let-isArray=\"isArray\" #defaultKeyTemplate>\r\n {{ (keyPrefix ? keyPrefix + key : key) | translate }}:\r\n</ng-template>\r\n<ng-template let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-val=\"item.value\" let-path=\"path\"\r\n let-templates=\"templates\" let-isObject=\"valueIsObject\" let-isArray=\"valueIsArray\" #defaultValueTemplate>\r\n <ng-template #value
|
|
4432
|
+
template: "<ng-template let-keyPrefix=\"keyPrefix\" let-key=\"item.key\" let-isArray=\"isArray\" #defaultKeyTemplate>\r\n {{ (keyPrefix ? keyPrefix + key : key) | translate }}:\r\n</ng-template>\r\n<ng-template let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-val=\"item.value\" let-path=\"path\"\r\n let-templates=\"templates\" let-isObject=\"valueIsObject\" let-isArray=\"valueIsArray\" #defaultValueTemplate>\r\n <ng-template #value>\r\n <span [innerHTML]=\"val\"></span>\r\n </ng-template>\r\n <unordered-list [data]=\"val\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level + 1\"\r\n [templates]=\"templates\"\r\n *ngIf=\"(isObject || isArray); else value\"></unordered-list>\r\n</ng-template>\r\n<ng-template let-item=\"item\" let-data=\"data\" let-keyPrefix=\"keyPrefix\" let-listStyle=\"listStyle\" let-path=\"path\" let-level=\"level\" let-templates=\"templates\" #defaultItemTemplate>\r\n <ng-template #itemKey>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"key\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-template #itemValue>\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"value\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </ng-template>\r\n <ng-container *ngIf=\"!isArray\">\r\n <th *ngIf=\"listStyle == 'table'; else itemKey\">\r\n <ng-container [ngTemplateOutlet]=\"itemKey\"></ng-container>\r\n </th>\r\n </ng-container>\r\n <td *ngIf=\"listStyle == 'table'; else itemValue\">\r\n <ng-container [ngTemplateOutlet]=\"itemValue\"></ng-container>\r\n </td>\r\n</ng-template>\r\n<ng-template #value>\r\n <span [innerHTML]=\"data\"></span>\r\n</ng-template>\r\n<ng-container *ngIf=\"(isObject || isArray); else value\" [ngSwitch]=\"listStyle\">\r\n <ul [ngClass]=\"'level-' + level\" *ngSwitchCase=\"'list'\">\r\n <li *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </li>\r\n </ul>\r\n <table [ngClass]=\"'level-' + level\" *ngSwitchDefault>\r\n <tr *ngFor=\"let item of data | entries\" [ngClass]=\"item.classList\">\r\n <ng-container [unorderedListItem]=\"item\"\r\n type=\"item\"\r\n [data]=\"data\"\r\n [keyPrefix]=\"keyPrefix\"\r\n [listStyle]=\"listStyle\"\r\n [path]=\"path ? path + '.' + item.key : item.key\"\r\n [level]=\"level\"\r\n [templates]=\"templates\"\r\n [defaultTemplates]=\"defaultTemplates\"></ng-container>\r\n </tr>\r\n </table>\r\n</ng-container>\r\n"
|
|
4411
4433
|
},] }
|
|
4412
4434
|
];
|
|
4413
4435
|
UnorderedListComponent.ctorParameters = () => [
|
|
@@ -4856,5 +4878,5 @@ NgxUtilsModule.decorators = [
|
|
|
4856
4878
|
* Generated bundle index. Do not edit.
|
|
4857
4879
|
*/
|
|
4858
4880
|
|
|
4859
|
-
export { API_SERVICE, AUTH_SERVICE, AclService, AjaxRequestHandler, ApiService, ArrayUtils, AsyncMethodBase, AsyncMethodDirective, AuthGuard, BASE_CONFIG, BackgroundDirective, BaseHttpClient, BaseHttpService, CONFIG_SERVICE, CanvasColor, CanvasUtils, ChunkPipe, Circle, ConfigService, ConsoleToasterService, DateUtils, DynamicTableComponent, DynamicTableTemplateDirective, ERROR_HANDLER, EXPRESS_REQUEST, EntriesPipe, ErrorHandlerService, EventsService, ExtraItemPropertiesPipe, FactoryDependencies, FileUtils, FilterPipe, FindPipe, FormatNumberPipe, FormatterService, GLOBAL_TEMPLATES, GenericValue, GetOffsetPipe, GetTypePipe, GlobalTemplateDirective, GlobalTemplatePipe, GlobalTemplateService, GroupByPipe, HttpPromise, ICON_SERVICE, IConfiguration, IconDirective, IconService, Initializer, IsTypePipe, JoinPipe, KeysPipe, LANGUAGE_SERVICE, LanguageService, LoaderUtils, MapPipe, MathUtils, MaxPipe, MinPipe, NgxTemplateOutletDirective, NgxUtilsModule, ObjectUtils, ObservableUtils, OpenApiService, PROMISE_SERVICE, PaginationDirective, PaginationItemContext, PaginationItemDirective, PaginationMenuComponent, Point, PromiseService, ROOT_ELEMENT, Rect, ReducePipe, ReflectUtils, RemapPipe, ReplacePipe, ResizeEventPlugin, ResourceIfContext, ResourceIfDirective, ReversePipe, RoundPipe, SCRIPT_PARAMS, SafeHtmlPipe, ScrollEventPlugin, SetUtils, StateService, StaticAuthService, StaticLanguageService, StickyDirective, StorageMode, StorageService, StringUtils, TOASTER_SERVICE, TimerUtils, TranslatePipe, TranslatedUrlSerializer, UniqueUtils, UniversalService, UnorderedListComponent, UnorderedListItemDirective, UnorderedListTemplateDirective, UnorederedListTemplate, ValuedPromise, ValuesPipe, Vector, pipes as ɵa, directives as ɵb, components as ɵc, providers as ɵd, loadConfig as ɵe, StickyClassDirective as ɵf };
|
|
4881
|
+
export { API_SERVICE, AUTH_SERVICE, AclService, AjaxRequestHandler, ApiService, ArrayUtils, AsyncMethodBase, AsyncMethodDirective, AuthGuard, BASE_CONFIG, BackgroundDirective, BaseHttpClient, BaseHttpService, CONFIG_SERVICE, CanvasColor, CanvasUtils, ChunkPipe, Circle, ConfigService, ConsoleToasterService, DateUtils, DynamicTableComponent, DynamicTableTemplateDirective, ERROR_HANDLER, EXPRESS_REQUEST, EntriesPipe, ErrorHandlerService, EventsService, ExtraItemPropertiesPipe, FactoryDependencies, FileSystemEntry, FileUtils, FilterPipe, FindPipe, FormatNumberPipe, FormatterService, GLOBAL_TEMPLATES, GenericValue, GetOffsetPipe, GetTypePipe, GlobalTemplateDirective, GlobalTemplatePipe, GlobalTemplateService, GroupByPipe, HttpPromise, ICON_SERVICE, IConfiguration, IconDirective, IconService, Initializer, IsTypePipe, JoinPipe, KeysPipe, LANGUAGE_SERVICE, LanguageService, LoaderUtils, MapPipe, MathUtils, MaxPipe, MinPipe, NgxTemplateOutletDirective, NgxUtilsModule, ObjectUtils, ObservableUtils, OpenApiService, PROMISE_SERVICE, PaginationDirective, PaginationItemContext, PaginationItemDirective, PaginationMenuComponent, Point, PromiseService, ROOT_ELEMENT, Rect, ReducePipe, ReflectUtils, RemapPipe, ReplacePipe, ResizeEventPlugin, ResourceIfContext, ResourceIfDirective, ReversePipe, RoundPipe, SCRIPT_PARAMS, SafeHtmlPipe, ScrollEventPlugin, SetUtils, StateService, StaticAuthService, StaticLanguageService, StickyDirective, StorageMode, StorageService, StringUtils, TOASTER_SERVICE, TimerUtils, TranslatePipe, TranslatedUrlSerializer, UniqueUtils, UniversalService, UnorderedListComponent, UnorderedListItemDirective, UnorderedListTemplateDirective, UnorederedListTemplate, ValuedPromise, ValuesPipe, Vector, pipes as ɵa, directives as ɵb, components as ɵc, providers as ɵd, loadConfig as ɵe, StickyClassDirective as ɵf };
|
|
4860
4882
|
//# sourceMappingURL=stemy-ngx-utils.js.map
|