@stemy/ngx-utils 12.1.3 → 12.1.6

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.
Files changed (119) hide show
  1. package/bundles/stemy-ngx-utils.umd.js +32 -1
  2. package/bundles/stemy-ngx-utils.umd.js.map +1 -1
  3. package/esm2015/ngx-utils/components/unordered-list/unordered-list.component.js +2 -2
  4. package/esm2015/ngx-utils/services/acl.service.js +3 -1
  5. package/esm2015/ngx-utils/utils/array.utils.js +8 -1
  6. package/esm2015/ngx-utils/utils/file-system.js +20 -0
  7. package/esm2015/public_api.js +2 -1
  8. package/esm2020/ngx-utils/common-types.mjs +117 -0
  9. package/esm2020/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +178 -0
  10. package/esm2020/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +101 -0
  11. package/esm2020/ngx-utils/components/unordered-list/unordered-list.component.mjs +65 -0
  12. package/esm2020/ngx-utils/directives/async-method.base.mjs +78 -0
  13. package/esm2020/ngx-utils/directives/async-method.directive.mjs +21 -0
  14. package/esm2020/ngx-utils/directives/background.directive.mjs +51 -0
  15. package/esm2020/ngx-utils/directives/dynamic-table-template.directive.mjs +20 -0
  16. package/esm2020/ngx-utils/directives/global-template.directive.mjs +30 -0
  17. package/esm2020/ngx-utils/directives/icon.directive.mjs +67 -0
  18. package/esm2020/ngx-utils/directives/ngx-template-outlet.directive.mjs +90 -0
  19. package/esm2020/ngx-utils/directives/pagination-item.directive.mjs +33 -0
  20. package/esm2020/ngx-utils/directives/pagination.directive.mjs +83 -0
  21. package/esm2020/ngx-utils/directives/resource-if.directive.mjs +50 -0
  22. package/esm2020/ngx-utils/directives/sticky-class.directive.mjs +34 -0
  23. package/esm2020/ngx-utils/directives/sticky.directive.mjs +55 -0
  24. package/esm2020/ngx-utils/directives/unordered-list-item.directive.mjs +77 -0
  25. package/esm2020/ngx-utils/directives/unordered-list-template.directive.mjs +26 -0
  26. package/esm2020/ngx-utils/ngx-utils.imports.mjs +165 -0
  27. package/esm2020/ngx-utils/ngx-utils.module.mjs +178 -0
  28. package/esm2020/ngx-utils/pipes/chunk.pipe.mjs +25 -0
  29. package/esm2020/ngx-utils/pipes/entries.pipe.mjs +28 -0
  30. package/esm2020/ngx-utils/pipes/extra-item-properties.pipe.mjs +31 -0
  31. package/esm2020/ngx-utils/pipes/filter.pipe.mjs +42 -0
  32. package/esm2020/ngx-utils/pipes/find.pipe.mjs +29 -0
  33. package/esm2020/ngx-utils/pipes/format-number.pipe.mjs +21 -0
  34. package/esm2020/ngx-utils/pipes/get-offset.pipe.mjs +17 -0
  35. package/esm2020/ngx-utils/pipes/get-type.pipe.mjs +16 -0
  36. package/esm2020/ngx-utils/pipes/global-template.pipe.mjs +41 -0
  37. package/esm2020/ngx-utils/pipes/group-by.pipe.mjs +27 -0
  38. package/esm2020/ngx-utils/pipes/is-type.pipe.mjs +16 -0
  39. package/esm2020/ngx-utils/pipes/join.pipe.mjs +19 -0
  40. package/esm2020/ngx-utils/pipes/keys.pipe.mjs +22 -0
  41. package/esm2020/ngx-utils/pipes/map.pipe.mjs +29 -0
  42. package/esm2020/ngx-utils/pipes/max.pipe.mjs +26 -0
  43. package/esm2020/ngx-utils/pipes/min.pipe.mjs +26 -0
  44. package/esm2020/ngx-utils/pipes/reduce.pipe.mjs +30 -0
  45. package/esm2020/ngx-utils/pipes/remap.pipe.mjs +32 -0
  46. package/esm2020/ngx-utils/pipes/replace.pipe.mjs +16 -0
  47. package/esm2020/ngx-utils/pipes/reverse.pipe.mjs +24 -0
  48. package/esm2020/ngx-utils/pipes/round.pipe.mjs +21 -0
  49. package/esm2020/ngx-utils/pipes/safe-html.pipe.mjs +34 -0
  50. package/esm2020/ngx-utils/pipes/translate.pipe.mjs +86 -0
  51. package/esm2020/ngx-utils/pipes/values.pipe.mjs +22 -0
  52. package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +59 -0
  53. package/esm2020/ngx-utils/plugins/scroll-event.plugin.mjs +39 -0
  54. package/esm2020/ngx-utils/services/acl.service.mjs +83 -0
  55. package/esm2020/ngx-utils/services/api.service.mjs +38 -0
  56. package/esm2020/ngx-utils/services/auth.service.mjs +14 -0
  57. package/esm2020/ngx-utils/services/base-http.client.mjs +47 -0
  58. package/esm2020/ngx-utils/services/base-http.service.mjs +298 -0
  59. package/esm2020/ngx-utils/services/config.service.mjs +116 -0
  60. package/esm2020/ngx-utils/services/error-handler.service.mjs +49 -0
  61. package/esm2020/ngx-utils/services/events.service.mjs +26 -0
  62. package/esm2020/ngx-utils/services/formatter.service.mjs +47 -0
  63. package/esm2020/ngx-utils/services/global-template.service.mjs +37 -0
  64. package/esm2020/ngx-utils/services/icon.service.mjs +26 -0
  65. package/esm2020/ngx-utils/services/language.service.mjs +113 -0
  66. package/esm2020/ngx-utils/services/open-api.service.mjs +40 -0
  67. package/esm2020/ngx-utils/services/promise.service.mjs +55 -0
  68. package/esm2020/ngx-utils/services/state.service.mjs +173 -0
  69. package/esm2020/ngx-utils/services/static-language.service.mjs +166 -0
  70. package/esm2020/ngx-utils/services/storage.service.mjs +49 -0
  71. package/esm2020/ngx-utils/services/toaster.service.mjs +32 -0
  72. package/esm2020/ngx-utils/services/translated-url.serializer.mjs +73 -0
  73. package/esm2020/ngx-utils/services/universal.service.mjs +78 -0
  74. package/esm2020/ngx-utils/utils/ajax-request-handler.mjs +40 -0
  75. package/esm2020/ngx-utils/utils/array.utils.mjs +100 -0
  76. package/esm2020/ngx-utils/utils/auth.guard.mjs +181 -0
  77. package/esm2020/ngx-utils/utils/canvas.utils.mjs +388 -0
  78. package/esm2020/ngx-utils/utils/date.utils.mjs +28 -0
  79. package/esm2020/ngx-utils/utils/file-system.mjs +20 -0
  80. package/esm2020/ngx-utils/utils/file.utils.mjs +90 -0
  81. package/esm2020/ngx-utils/utils/generic-value.mjs +20 -0
  82. package/esm2020/ngx-utils/utils/geometry.mjs +132 -0
  83. package/esm2020/ngx-utils/utils/initializer.mjs +20 -0
  84. package/esm2020/ngx-utils/utils/loader.utils.mjs +55 -0
  85. package/esm2020/ngx-utils/utils/math.utils.mjs +15 -0
  86. package/esm2020/ngx-utils/utils/object.utils.mjs +261 -0
  87. package/esm2020/ngx-utils/utils/observable.utils.mjs +63 -0
  88. package/esm2020/ngx-utils/utils/reflect.utils.mjs +33 -0
  89. package/esm2020/ngx-utils/utils/set.utils.mjs +20 -0
  90. package/esm2020/ngx-utils/utils/string.utils.mjs +41 -0
  91. package/esm2020/ngx-utils/utils/timer.utils.mjs +52 -0
  92. package/esm2020/ngx-utils/utils/unique.utils.mjs +24 -0
  93. package/esm2020/ngx-utils/utils/vector.mjs +77 -0
  94. package/esm2020/public_api.mjs +86 -0
  95. package/esm2020/stemy-ngx-utils.mjs +5 -0
  96. package/esm2020/tools/config.mjs +71 -0
  97. package/esm2020/tools/public_api.mjs +2 -0
  98. package/esm2020/tools/stemy-ngx-utils-tools.mjs +5 -0
  99. package/fesm2015/stemy-ngx-utils-tools.mjs +77 -0
  100. package/fesm2015/stemy-ngx-utils-tools.mjs.map +1 -0
  101. package/fesm2015/stemy-ngx-utils.js +31 -2
  102. package/fesm2015/stemy-ngx-utils.js.map +1 -1
  103. package/fesm2015/stemy-ngx-utils.mjs +5190 -0
  104. package/fesm2015/stemy-ngx-utils.mjs.map +1 -0
  105. package/fesm2020/stemy-ngx-utils-tools.mjs +77 -0
  106. package/fesm2020/stemy-ngx-utils-tools.mjs.map +1 -0
  107. package/fesm2020/stemy-ngx-utils.mjs +5121 -0
  108. package/fesm2020/stemy-ngx-utils.mjs.map +1 -0
  109. package/ngx-utils/utils/array.utils.d.ts +1 -0
  110. package/ngx-utils/utils/file-system.d.ts +16 -0
  111. package/package.json +1 -1
  112. package/public_api.d.ts +1 -0
  113. package/stemy-ngx-utils.metadata.json +1 -1
  114. package/tools/config.d.ts +7 -0
  115. package/tools/package.json +10 -0
  116. package/tools/public_api.d.ts +1 -0
  117. package/tools/stemy-ngx-utils-tools.d.ts +5 -0
  118. package/bundles/stemy-ngx-utils.umd.min.js +0 -16
  119. 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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"}
@@ -979,6 +979,26 @@ class GenericValue extends Subject {
979
979
  }
980
980
  }
981
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
+
982
1002
  class Rect {
983
1003
  constructor(x, y, width, height, rotation = 0) {
984
1004
  this.x = x;
@@ -1831,6 +1851,13 @@ class ArrayUtils {
1831
1851
  }
1832
1852
  return result;
1833
1853
  }
1854
+ static unique(arr) {
1855
+ if (!ObjectUtils.isArray(arr))
1856
+ return [];
1857
+ return arr.filter((value, index, self) => {
1858
+ return self.indexOf(value) === index;
1859
+ });
1860
+ }
1834
1861
  }
1835
1862
 
1836
1863
  class SetUtils {
@@ -1970,6 +1997,8 @@ class AclService {
1970
1997
  return;
1971
1998
  info.dirty = false;
1972
1999
  const component = info.component;
2000
+ if (!info.component)
2001
+ return;
1973
2002
  if (info.first) {
1974
2003
  if (ObjectUtils.isFunction(component.onUserInitialized)) {
1975
2004
  component.onUserInitialized();
@@ -4407,7 +4436,7 @@ class UnorderedListComponent {
4407
4436
  UnorderedListComponent.decorators = [
4408
4437
  { type: Component, args: [{
4409
4438
  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>{{ val }}</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 {{ data }}\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"
4439
+ 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
4440
  },] }
4412
4441
  ];
4413
4442
  UnorderedListComponent.ctorParameters = () => [
@@ -4856,5 +4885,5 @@ NgxUtilsModule.decorators = [
4856
4885
  * Generated bundle index. Do not edit.
4857
4886
  */
4858
4887
 
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 };
4888
+ 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
4889
  //# sourceMappingURL=stemy-ngx-utils.js.map