@stemy/ngx-utils 12.1.1 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/bundles/stemy-ngx-utils.umd.js +27 -30
  2. package/bundles/stemy-ngx-utils.umd.js.map +1 -1
  3. package/esm2015/ngx-utils/services/config.service.js +4 -4
  4. package/esm2015/ngx-utils/services/error-handler.service.js +2 -2
  5. package/esm2015/ngx-utils/services/static-language.service.js +17 -17
  6. package/esm2015/ngx-utils/services/storage.service.js +4 -4
  7. package/esm2020/ngx-utils/common-types.mjs +116 -0
  8. package/esm2020/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +178 -0
  9. package/esm2020/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +101 -0
  10. package/esm2020/ngx-utils/components/unordered-list/unordered-list.component.mjs +65 -0
  11. package/esm2020/ngx-utils/directives/async-method.base.mjs +68 -0
  12. package/esm2020/ngx-utils/directives/async-method.directive.mjs +28 -0
  13. package/esm2020/ngx-utils/directives/background.directive.mjs +51 -0
  14. package/esm2020/ngx-utils/directives/dynamic-table-template.directive.mjs +20 -0
  15. package/esm2020/ngx-utils/directives/global-template.directive.mjs +30 -0
  16. package/esm2020/ngx-utils/directives/icon.directive.mjs +67 -0
  17. package/esm2020/ngx-utils/directives/ngx-template-outlet.directive.mjs +90 -0
  18. package/esm2020/ngx-utils/directives/pagination-item.directive.mjs +33 -0
  19. package/esm2020/ngx-utils/directives/pagination.directive.mjs +83 -0
  20. package/esm2020/ngx-utils/directives/resource-if.directive.mjs +50 -0
  21. package/esm2020/ngx-utils/directives/sticky-class.directive.mjs +34 -0
  22. package/esm2020/ngx-utils/directives/sticky.directive.mjs +55 -0
  23. package/esm2020/ngx-utils/directives/unordered-list-item.directive.mjs +77 -0
  24. package/esm2020/ngx-utils/directives/unordered-list-template.directive.mjs +26 -0
  25. package/esm2020/ngx-utils/ngx-utils.module.mjs +321 -0
  26. package/esm2020/ngx-utils/pipes/chunk.pipe.mjs +25 -0
  27. package/esm2020/ngx-utils/pipes/entries.pipe.mjs +28 -0
  28. package/esm2020/ngx-utils/pipes/extra-item-properties.pipe.mjs +31 -0
  29. package/esm2020/ngx-utils/pipes/filter.pipe.mjs +42 -0
  30. package/esm2020/ngx-utils/pipes/find.pipe.mjs +29 -0
  31. package/esm2020/ngx-utils/pipes/format-number.pipe.mjs +21 -0
  32. package/esm2020/ngx-utils/pipes/get-offset.pipe.mjs +17 -0
  33. package/esm2020/ngx-utils/pipes/get-type.pipe.mjs +16 -0
  34. package/esm2020/ngx-utils/pipes/global-template.pipe.mjs +41 -0
  35. package/esm2020/ngx-utils/pipes/group-by.pipe.mjs +27 -0
  36. package/esm2020/ngx-utils/pipes/is-type.pipe.mjs +16 -0
  37. package/esm2020/ngx-utils/pipes/join.pipe.mjs +19 -0
  38. package/esm2020/ngx-utils/pipes/keys.pipe.mjs +22 -0
  39. package/esm2020/ngx-utils/pipes/map.pipe.mjs +29 -0
  40. package/esm2020/ngx-utils/pipes/max.pipe.mjs +26 -0
  41. package/esm2020/ngx-utils/pipes/min.pipe.mjs +26 -0
  42. package/esm2020/ngx-utils/pipes/reduce.pipe.mjs +30 -0
  43. package/esm2020/ngx-utils/pipes/remap.pipe.mjs +32 -0
  44. package/esm2020/ngx-utils/pipes/replace.pipe.mjs +16 -0
  45. package/esm2020/ngx-utils/pipes/reverse.pipe.mjs +24 -0
  46. package/esm2020/ngx-utils/pipes/round.pipe.mjs +21 -0
  47. package/esm2020/ngx-utils/pipes/safe-html.pipe.mjs +34 -0
  48. package/esm2020/ngx-utils/pipes/translate.pipe.mjs +86 -0
  49. package/esm2020/ngx-utils/pipes/values.pipe.mjs +22 -0
  50. package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +59 -0
  51. package/esm2020/ngx-utils/plugins/scroll-event.plugin.mjs +39 -0
  52. package/esm2020/ngx-utils/services/acl.service.mjs +81 -0
  53. package/esm2020/ngx-utils/services/api.service.mjs +38 -0
  54. package/esm2020/ngx-utils/services/auth.service.mjs +14 -0
  55. package/esm2020/ngx-utils/services/base-http.client.mjs +47 -0
  56. package/esm2020/ngx-utils/services/base-http.service.mjs +298 -0
  57. package/esm2020/ngx-utils/services/config.service.mjs +130 -0
  58. package/esm2020/ngx-utils/services/error-handler.service.mjs +49 -0
  59. package/esm2020/ngx-utils/services/events.service.mjs +26 -0
  60. package/esm2020/ngx-utils/services/formatter.service.mjs +47 -0
  61. package/esm2020/ngx-utils/services/global-template.service.mjs +37 -0
  62. package/esm2020/ngx-utils/services/icon.service.mjs +26 -0
  63. package/esm2020/ngx-utils/services/language.service.mjs +113 -0
  64. package/esm2020/ngx-utils/services/open-api.service.mjs +40 -0
  65. package/esm2020/ngx-utils/services/promise.service.mjs +55 -0
  66. package/esm2020/ngx-utils/services/state.service.mjs +173 -0
  67. package/esm2020/ngx-utils/services/static-language.service.mjs +166 -0
  68. package/esm2020/ngx-utils/services/storage.service.mjs +49 -0
  69. package/esm2020/ngx-utils/services/toaster.service.mjs +32 -0
  70. package/esm2020/ngx-utils/services/translated-url.serializer.mjs +73 -0
  71. package/esm2020/ngx-utils/services/universal.service.mjs +78 -0
  72. package/esm2020/ngx-utils/utils/ajax-request-handler.mjs +40 -0
  73. package/esm2020/ngx-utils/utils/array.utils.mjs +100 -0
  74. package/esm2020/ngx-utils/utils/auth.guard.mjs +181 -0
  75. package/esm2020/ngx-utils/utils/canvas.utils.mjs +388 -0
  76. package/esm2020/ngx-utils/utils/date.utils.mjs +28 -0
  77. package/esm2020/ngx-utils/utils/file.utils.mjs +90 -0
  78. package/esm2020/ngx-utils/utils/generic-value.mjs +20 -0
  79. package/esm2020/ngx-utils/utils/geometry.mjs +132 -0
  80. package/esm2020/ngx-utils/utils/initializer.mjs +20 -0
  81. package/esm2020/ngx-utils/utils/loader.utils.mjs +55 -0
  82. package/esm2020/ngx-utils/utils/math.utils.mjs +15 -0
  83. package/esm2020/ngx-utils/utils/object.utils.mjs +261 -0
  84. package/esm2020/ngx-utils/utils/observable.utils.mjs +63 -0
  85. package/esm2020/ngx-utils/utils/reflect.utils.mjs +33 -0
  86. package/esm2020/ngx-utils/utils/set.utils.mjs +20 -0
  87. package/esm2020/ngx-utils/utils/string.utils.mjs +28 -0
  88. package/esm2020/ngx-utils/utils/timer.utils.mjs +52 -0
  89. package/esm2020/ngx-utils/utils/unique.utils.mjs +24 -0
  90. package/esm2020/ngx-utils/utils/vector.mjs +77 -0
  91. package/esm2020/public_api.mjs +85 -0
  92. package/esm2020/stemy-ngx-utils.mjs +5 -0
  93. package/fesm2015/stemy-ngx-utils.js +23 -23
  94. package/fesm2015/stemy-ngx-utils.js.map +1 -1
  95. package/fesm2015/stemy-ngx-utils.mjs +5196 -0
  96. package/fesm2015/stemy-ngx-utils.mjs.map +1 -0
  97. package/fesm2020/stemy-ngx-utils.mjs +5127 -0
  98. package/fesm2020/stemy-ngx-utils.mjs.map +1 -0
  99. package/ngx-utils/components/dynamic-table/dynamic-table.component.d.ts +3 -0
  100. package/ngx-utils/components/pagination-menu/pagination-menu.component.d.ts +3 -0
  101. package/ngx-utils/components/unordered-list/unordered-list.component.d.ts +3 -0
  102. package/ngx-utils/directives/async-method.base.d.ts +3 -0
  103. package/ngx-utils/directives/async-method.directive.d.ts +3 -0
  104. package/ngx-utils/directives/background.directive.d.ts +3 -0
  105. package/ngx-utils/directives/dynamic-table-template.directive.d.ts +3 -0
  106. package/ngx-utils/directives/global-template.directive.d.ts +3 -0
  107. package/ngx-utils/directives/icon.directive.d.ts +3 -0
  108. package/ngx-utils/directives/ngx-template-outlet.directive.d.ts +3 -0
  109. package/ngx-utils/directives/pagination-item.directive.d.ts +3 -0
  110. package/ngx-utils/directives/pagination.directive.d.ts +3 -0
  111. package/ngx-utils/directives/resource-if.directive.d.ts +3 -0
  112. package/ngx-utils/directives/sticky-class.directive.d.ts +3 -0
  113. package/ngx-utils/directives/sticky.directive.d.ts +3 -0
  114. package/ngx-utils/directives/unordered-list-item.directive.d.ts +3 -0
  115. package/ngx-utils/directives/unordered-list-template.directive.d.ts +3 -0
  116. package/ngx-utils/pipes/chunk.pipe.d.ts +3 -0
  117. package/ngx-utils/pipes/entries.pipe.d.ts +3 -0
  118. package/ngx-utils/pipes/extra-item-properties.pipe.d.ts +3 -0
  119. package/ngx-utils/pipes/filter.pipe.d.ts +3 -0
  120. package/ngx-utils/pipes/find.pipe.d.ts +3 -0
  121. package/ngx-utils/pipes/format-number.pipe.d.ts +3 -0
  122. package/ngx-utils/pipes/get-offset.pipe.d.ts +3 -0
  123. package/ngx-utils/pipes/get-type.pipe.d.ts +3 -0
  124. package/ngx-utils/pipes/global-template.pipe.d.ts +3 -0
  125. package/ngx-utils/pipes/group-by.pipe.d.ts +3 -0
  126. package/ngx-utils/pipes/is-type.pipe.d.ts +3 -0
  127. package/ngx-utils/pipes/join.pipe.d.ts +3 -0
  128. package/ngx-utils/pipes/keys.pipe.d.ts +3 -0
  129. package/ngx-utils/pipes/map.pipe.d.ts +3 -0
  130. package/ngx-utils/pipes/max.pipe.d.ts +3 -0
  131. package/ngx-utils/pipes/min.pipe.d.ts +3 -0
  132. package/ngx-utils/pipes/reduce.pipe.d.ts +3 -0
  133. package/ngx-utils/pipes/remap.pipe.d.ts +3 -0
  134. package/ngx-utils/pipes/replace.pipe.d.ts +3 -0
  135. package/ngx-utils/pipes/reverse.pipe.d.ts +3 -0
  136. package/ngx-utils/pipes/round.pipe.d.ts +3 -0
  137. package/ngx-utils/pipes/safe-html.pipe.d.ts +3 -0
  138. package/ngx-utils/pipes/translate.pipe.d.ts +4 -0
  139. package/ngx-utils/pipes/values.pipe.d.ts +3 -0
  140. package/ngx-utils/plugins/resize-event.plugin.d.ts +4 -1
  141. package/ngx-utils/plugins/scroll-event.plugin.d.ts +4 -1
  142. package/ngx-utils/services/acl.service.d.ts +3 -0
  143. package/ngx-utils/services/api.service.d.ts +3 -0
  144. package/ngx-utils/services/base-http.client.d.ts +3 -0
  145. package/ngx-utils/services/base-http.service.d.ts +3 -0
  146. package/ngx-utils/services/config.service.d.ts +3 -0
  147. package/ngx-utils/services/error-handler.service.d.ts +3 -0
  148. package/ngx-utils/services/events.service.d.ts +3 -0
  149. package/ngx-utils/services/formatter.service.d.ts +3 -0
  150. package/ngx-utils/services/global-template.service.d.ts +3 -0
  151. package/ngx-utils/services/icon.service.d.ts +3 -0
  152. package/ngx-utils/services/language.service.d.ts +3 -0
  153. package/ngx-utils/services/open-api.service.d.ts +3 -0
  154. package/ngx-utils/services/promise.service.d.ts +3 -0
  155. package/ngx-utils/services/state.service.d.ts +3 -0
  156. package/ngx-utils/services/static-language.service.d.ts +4 -1
  157. package/ngx-utils/services/storage.service.d.ts +3 -0
  158. package/ngx-utils/services/toaster.service.d.ts +3 -0
  159. package/ngx-utils/services/translated-url.serializer.d.ts +3 -0
  160. package/ngx-utils/services/universal.service.d.ts +3 -0
  161. package/ngx-utils/utils/auth.guard.d.ts +3 -0
  162. package/package.json +38 -19
  163. package/public_api.d.ts +1 -0
  164. package/stemy-ngx-utils.d.ts +1 -2
  165. package/stemy-ngx-utils.metadata.json +1 -1
@@ -0,0 +1,77 @@
1
+ import { Directive, ElementRef, Input, Renderer2, ViewContainerRef } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export class UnorderedListItemDirective {
5
+ constructor(elementRef, renderer, viewContainer) {
6
+ this.elementRef = elementRef;
7
+ this.renderer = renderer;
8
+ this.viewContainer = viewContainer;
9
+ }
10
+ get elem() {
11
+ return this.elementRef.nativeElement;
12
+ }
13
+ ngOnChanges(changes) {
14
+ if (!this.templates || !this.defaultTemplates || !this.item)
15
+ return;
16
+ const promise = this.item.value instanceof Promise ? this.item.value : Promise.resolve(this.item.value);
17
+ promise.then(value => {
18
+ this.item.value = value;
19
+ this.path = ObjectUtils.isNullOrUndefined(this.path) ? "" : this.path.toString();
20
+ this.isArray = ObjectUtils.isArray(this.data);
21
+ this.isObject = ObjectUtils.isObject(this.data);
22
+ this.valueIsArray = ObjectUtils.isArray(this.item.value);
23
+ this.valueIsObject = ObjectUtils.isObject(this.item.value);
24
+ this.valueType = ObjectUtils.getType(this.item.value);
25
+ const context = this;
26
+ const template = this.templates.find(t => t.type == this.type && ObjectUtils.evaluate(t.selector, context)) || this.defaultTemplates[this.type];
27
+ // Set view
28
+ this.viewContainer.clear();
29
+ this.viewContainer.createEmbeddedView(template, context);
30
+ // Set classes
31
+ if (this.type !== "item")
32
+ return;
33
+ this.item.classList = [];
34
+ this.isClass("is-array", this.valueIsArray);
35
+ this.isClass("is-object", this.valueIsObject);
36
+ this.isClass("is-value", !this.valueIsObject && !this.valueIsArray);
37
+ this.isClass(`type-${this.valueType}`);
38
+ this.isClass(`path-${this.path.replace(/\./g, "-")}`);
39
+ this.isClass(`key-${this.item.key}`);
40
+ }, reason => {
41
+ console.log("Can't handle promise rejection", reason);
42
+ });
43
+ }
44
+ isClass(className, value = true) {
45
+ if (!value)
46
+ return;
47
+ this.item.classList.push(className);
48
+ }
49
+ }
50
+ UnorderedListItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: UnorderedListItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
51
+ UnorderedListItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: UnorderedListItemDirective, selector: "[unorderedListItem]", inputs: { item: ["unorderedListItem", "item"], type: "type", data: "data", keyPrefix: "keyPrefix", listStyle: "listStyle", path: "path", level: "level", templates: "templates", defaultTemplates: "defaultTemplates" }, usesOnChanges: true, ngImport: i0 });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: UnorderedListItemDirective, decorators: [{
53
+ type: Directive,
54
+ args: [{
55
+ selector: "[unorderedListItem]"
56
+ }]
57
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }]; }, propDecorators: { item: [{
58
+ type: Input,
59
+ args: ["unorderedListItem"]
60
+ }], type: [{
61
+ type: Input
62
+ }], data: [{
63
+ type: Input
64
+ }], keyPrefix: [{
65
+ type: Input
66
+ }], listStyle: [{
67
+ type: Input
68
+ }], path: [{
69
+ type: Input
70
+ }], level: [{
71
+ type: Input
72
+ }], templates: [{
73
+ type: Input
74
+ }], defaultTemplates: [{
75
+ type: Input
76
+ }] } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL2RpcmVjdGl2ZXMvdW5vcmRlcmVkLWxpc3QtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBaUIsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbEgsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQU1sRCxNQUFNLE9BQU8sMEJBQTBCO0lBc0JuQyxZQUFvQixVQUFzQixFQUFVLFFBQW1CLEVBQVUsYUFBK0I7UUFBNUYsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7SUFFaEgsQ0FBQztJQU5ELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQU1ELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUNwRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssWUFBWSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFB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bUI7Z0JBQ2pCLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1Vub3JkZXJlZExpc3RTdHlsZSwgVW5vcmRlcmVkTGlzdFRlbXBsYXRlcywgVW5vcmVkZXJlZExpc3RUZW1wbGF0ZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcbmltcG9ydCB7U3RyaW5nVXRpbHN9IGZyb20gXCIuLi91dGlscy9zdHJpbmcudXRpbHNcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IFwiW3Vub3JkZXJlZExpc3RJdGVtXVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbm9yZGVyZWRMaXN0SXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gICAgQElucHV0KFwidW5vcmRlcmVkTGlzdEl0ZW1cIikgaXRlbTogYW55O1xyXG4gICAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZGF0YTogYW55O1xyXG4gICAgQElucHV0KCkga2V5UHJlZml4OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBsaXN0U3R5bGU6IFVub3JkZXJlZExpc3RTdHlsZTtcclxuICAgIEBJbnB1dCgpIHBhdGg6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGxldmVsOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSB0ZW1wbGF0ZXM6IFVub3JlZGVyZWRMaXN0VGVtcGxhdGVbXTtcclxuICAgIEBJbnB1dCgpIGRlZmF1bHRUZW1wbGF0ZXM6IFVub3JkZXJlZExpc3RUZW1wbGF0ZXM7XHJcblxyXG4gICAgaXNBcnJheTogYm9vbGVhbjtcclxuICAgIGlzT2JqZWN0OiBib29sZWFuO1xyXG4gICAgdmFsdWVJc0FycmF5OiBib29sZWFuO1xyXG4gICAgdmFsdWVJc09iamVjdDogYm9vbGVhbjtcclxuICAgIHZhbHVlVHlwZTogc3RyaW5nO1xyXG5cclxuICAgIGdldCBlbGVtKCk6IEhUTUxFbGVtZW50IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBsYXRlcyB8fCAhdGhpcy5kZWZhdWx0VGVtcGxhdGVzIHx8ICF0aGlzLml0ZW0pIHJldHVybjtcclxuICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5pdGVtLnZhbHVlIGluc3RhbmNlb2YgUHJvbWlzZSA/IHRoaXMuaXRlbS52YWx1ZSA6IFByb21pc2UucmVzb2x2ZSh0aGlzLml0ZW0udmFsdWUpO1xyXG4gICAgICAgIHByb21pc2UudGhlbih2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbS52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLnBhdGggPSBPYmplY3RVdGlscy5pc051bGxPclVuZGVmaW5lZCh0aGlzLnBhdGgpID8gXCJcIiA6IHRoaXMucGF0aC50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB0aGlzLmlzQXJyYXkgPSBPYmplY3RVdGlscy5pc0FycmF5KHRoaXMuZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNPYmplY3QgPSBPYmplY3RVdGlscy5pc09iamVjdCh0aGlzLmRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlSXNBcnJheSA9IE9iamVjdFV0aWxzLmlzQXJyYXkodGhpcy5pdGVtLnZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZUlzT2JqZWN0ID0gT2JqZWN0VXRpbHMuaXNPYmplY3QodGhpcy5pdGVtLnZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZVR5cGUgPSBPYmplY3RVdGlscy5nZXRUeXBlKHRoaXMuaXRlbS52YWx1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRleHQ6IGFueSA9IHRoaXM7XHJcbiAgICAgICAgICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy50ZW1wbGF0ZXMuZmluZCh0ID0+IHQudHlwZSA9PSB0aGlzLnR5cGUgJiYgT2JqZWN0VXRpbHMuZXZhbHVhdGUodC5zZWxlY3RvciwgY29udGV4dCkpIHx8IHRoaXMuZGVmYXVsdFRlbXBsYXRlc1t0aGlzLnR5cGVdO1xyXG4gICAgICAgICAgICAvLyBTZXQgdmlld1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgY29udGV4dCk7XHJcbiAgICAgICAgICAgIC8vIFNldCBjbGFzc2VzXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgIT09IFwiaXRlbVwiKSByZXR1cm47XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbS5jbGFzc0xpc3QgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5pc0NsYXNzKFwiaXMtYXJyYXlcIiwgdGhpcy52YWx1ZUlzQXJyYXkpO1xyXG4gICAgICAgICAgICB0aGlzLmlzQ2xhc3MoXCJpcy1vYmplY3RcIiwgdGhpcy52YWx1ZUlzT2JqZWN0KTtcclxuICAgICAgICAgICAgdGhpcy5pc0NsYXNzKFwiaXMtdmFsdWVcIiwgIXRoaXMudmFsdWVJc09iamVjdCAmJiAhdGhpcy52YWx1ZUlzQXJyYXkpO1xyXG4gICAgICAgICAgICB0aGlzLmlzQ2xhc3MoYHR5cGUtJHt0aGlzLnZhbHVlVHlwZX1gKTtcclxuICAgICAgICAgICAgdGhpcy5pc0NsYXNzKGBwYXRoLSR7dGhpcy5wYXRoLnJlcGxhY2UoL1xcLi9nLCBcIi1cIil9YCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNDbGFzcyhga2V5LSR7dGhpcy5pdGVtLmtleX1gKTtcclxuICAgICAgICB9LCByZWFzb24gPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkNhbid0IGhhbmRsZSBwcm9taXNlIHJlamVjdGlvblwiLCByZWFzb24pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNDbGFzcyhjbGFzc05hbWU6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuaXRlbS5jbGFzc0xpc3QucHVzaChjbGFzc05hbWUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Directive, ElementRef, Input, TemplateRef } from "@angular/core";
2
+ import { UnorederedListTemplate } from "../common-types";
3
+ import * as i0 from "@angular/core";
4
+ export class UnorderedListTemplateDirective extends UnorederedListTemplate {
5
+ constructor(elementRef, templateRef) {
6
+ super();
7
+ this.elementRef = elementRef;
8
+ this.templateRef = templateRef;
9
+ }
10
+ createEmbeddedView(context) {
11
+ return this.templateRef.createEmbeddedView(context);
12
+ }
13
+ }
14
+ UnorderedListTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: UnorderedListTemplateDirective, deps: [{ token: i0.ElementRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
15
+ UnorderedListTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: UnorderedListTemplateDirective, selector: "ng-template[type][selector]", inputs: { type: "type", selector: "selector" }, usesInheritance: true, ngImport: i0 });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: UnorderedListTemplateDirective, decorators: [{
17
+ type: Directive,
18
+ args: [{
19
+ selector: "ng-template[type][selector]"
20
+ }]
21
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.TemplateRef }]; }, propDecorators: { type: [{
22
+ type: Input
23
+ }], selector: [{
24
+ type: Input
25
+ }] } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QtdGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBbUIsS0FBSyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNdkQsTUFBTSxPQUFPLDhCQUErQixTQUFRLHNCQUFzQjtJQUt0RSxZQUFtQixVQUFzQixFQUFTLFdBQTZCO1FBQzNFLEtBQUssRUFBRSxDQUFDO1FBRE8sZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUUvRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7MkhBWFEsOEJBQThCOytHQUE5Qiw4QkFBOEI7MkZBQTlCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNkJBQTZCO2lCQUMxQzsySEFJWSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIElucHV0LCBUZW1wbGF0ZVJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtVbm9yZWRlcmVkTGlzdFRlbXBsYXRlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBcIm5nLXRlbXBsYXRlW3R5cGVdW3NlbGVjdG9yXVwiXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVW5vcmRlcmVkTGlzdFRlbXBsYXRlRGlyZWN0aXZlIGV4dGVuZHMgVW5vcmVkZXJlZExpc3RUZW1wbGF0ZSB7XHJcblxyXG4gICAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgc2VsZWN0b3I6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVFbWJlZGRlZFZpZXcoY29udGV4dDogYW55KTogRW1iZWRkZWRWaWV3UmVmPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRlbXBsYXRlUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyhjb250ZXh0KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,321 @@
1
+ import { APP_INITIALIZER, ErrorHandler, Injector, NgModule } from "@angular/core";
2
+ import { EVENT_MANAGER_PLUGINS } from "@angular/platform-browser";
3
+ import { CommonModule } from "@angular/common";
4
+ import { FormsModule } from "@angular/forms";
5
+ import { UrlSerializer } from "@angular/router";
6
+ import { DeviceDetectorService } from "ngx-device-detector";
7
+ import { API_SERVICE, AUTH_SERVICE, CONFIG_SERVICE, GLOBAL_TEMPLATES, ICON_SERVICE, LANGUAGE_SERVICE, PROMISE_SERVICE, ROOT_ELEMENT, TOASTER_SERVICE } from "./common-types";
8
+ import { AuthGuard } from "./utils/auth.guard";
9
+ import { AclService } from "./services/acl.service";
10
+ import { ApiService } from "./services/api.service";
11
+ import { StaticAuthService } from "./services/auth.service";
12
+ import { BaseHttpClient } from "./services/base-http.client";
13
+ import { BaseHttpService } from "./services/base-http.service";
14
+ import { ConfigService } from "./services/config.service";
15
+ import { ErrorHandlerService } from "./services/error-handler.service";
16
+ import { EventsService } from "./services/events.service";
17
+ import { FormatterService } from "./services/formatter.service";
18
+ import { GlobalTemplateService } from "./services/global-template.service";
19
+ import { IconService } from "./services/icon.service";
20
+ import { LanguageService } from "./services/language.service";
21
+ import { PromiseService } from "./services/promise.service";
22
+ import { OpenApiService } from "./services/open-api.service";
23
+ import { StateService } from "./services/state.service";
24
+ import { StaticLanguageService } from "./services/static-language.service";
25
+ import { StorageService } from "./services/storage.service";
26
+ import { ConsoleToasterService } from "./services/toaster.service";
27
+ import { TranslatedUrlSerializer } from "./services/translated-url.serializer";
28
+ import { UniversalService } from "./services/universal.service";
29
+ import { ResizeEventPlugin } from "./plugins/resize-event.plugin";
30
+ import { ScrollEventPlugin } from "./plugins/scroll-event.plugin";
31
+ import { AsyncMethodDirective } from "./directives/async-method.directive";
32
+ import { BackgroundDirective } from "./directives/background.directive";
33
+ import { DynamicTableTemplateDirective } from "./directives/dynamic-table-template.directive";
34
+ import { GlobalTemplateDirective } from "./directives/global-template.directive";
35
+ import { IconDirective } from "./directives/icon.directive";
36
+ import { NgxTemplateOutletDirective } from "./directives/ngx-template-outlet.directive";
37
+ import { PaginationDirective } from "./directives/pagination.directive";
38
+ import { PaginationItemDirective } from "./directives/pagination-item.directive";
39
+ import { ResourceIfDirective } from "./directives/resource-if.directive";
40
+ import { StickyDirective } from "./directives/sticky.directive";
41
+ import { StickyClassDirective } from "./directives/sticky-class.directive";
42
+ import { UnorderedListItemDirective } from "./directives/unordered-list-item.directive";
43
+ import { UnorderedListTemplateDirective } from "./directives/unordered-list-template.directive";
44
+ import { ChunkPipe } from "./pipes/chunk.pipe";
45
+ import { EntriesPipe } from "./pipes/entries.pipe";
46
+ import { ExtraItemPropertiesPipe } from "./pipes/extra-item-properties.pipe";
47
+ import { FilterPipe } from "./pipes/filter.pipe";
48
+ import { FindPipe } from "./pipes/find.pipe";
49
+ import { FormatNumberPipe } from "./pipes/format-number.pipe";
50
+ import { GetOffsetPipe } from "./pipes/get-offset.pipe";
51
+ import { GetTypePipe } from "./pipes/get-type.pipe";
52
+ import { GlobalTemplatePipe } from "./pipes/global-template.pipe";
53
+ import { GroupByPipe } from "./pipes/group-by.pipe";
54
+ import { IsTypePipe } from "./pipes/is-type.pipe";
55
+ import { JoinPipe } from "./pipes/join.pipe";
56
+ import { KeysPipe } from "./pipes/keys.pipe";
57
+ import { MapPipe } from "./pipes/map.pipe";
58
+ import { MaxPipe } from "./pipes/max.pipe";
59
+ import { MinPipe } from "./pipes/min.pipe";
60
+ import { ReducePipe } from "./pipes/reduce.pipe";
61
+ import { RemapPipe } from "./pipes/remap.pipe";
62
+ import { ReplacePipe } from "./pipes/replace.pipe";
63
+ import { ReversePipe } from "./pipes/reverse.pipe";
64
+ import { RoundPipe } from "./pipes/round.pipe";
65
+ import { SafeHtmlPipe } from "./pipes/safe-html.pipe";
66
+ import { TranslatePipe } from "./pipes/translate.pipe";
67
+ import { ValuesPipe } from "./pipes/values.pipe";
68
+ import { DynamicTableComponent } from "./components/dynamic-table/dynamic-table.component";
69
+ import { PaginationMenuComponent } from "./components/pagination-menu/pagination-menu.component";
70
+ import { UnorderedListComponent } from "./components/unordered-list/unordered-list.component";
71
+ import * as i0 from "@angular/core";
72
+ // --- Pipes ---
73
+ export const pipes = [
74
+ ChunkPipe,
75
+ EntriesPipe,
76
+ ExtraItemPropertiesPipe,
77
+ FilterPipe,
78
+ FindPipe,
79
+ FormatNumberPipe,
80
+ GetOffsetPipe,
81
+ GetTypePipe,
82
+ GlobalTemplatePipe,
83
+ GroupByPipe,
84
+ IsTypePipe,
85
+ JoinPipe,
86
+ KeysPipe,
87
+ MapPipe,
88
+ MaxPipe,
89
+ MinPipe,
90
+ ReducePipe,
91
+ RemapPipe,
92
+ ReplacePipe,
93
+ ReversePipe,
94
+ RoundPipe,
95
+ SafeHtmlPipe,
96
+ TranslatePipe,
97
+ ValuesPipe
98
+ ];
99
+ // --- Directives ---
100
+ export const directives = [
101
+ AsyncMethodDirective,
102
+ BackgroundDirective,
103
+ DynamicTableTemplateDirective,
104
+ GlobalTemplateDirective,
105
+ IconDirective,
106
+ NgxTemplateOutletDirective,
107
+ PaginationDirective,
108
+ PaginationItemDirective,
109
+ ResourceIfDirective,
110
+ StickyDirective,
111
+ StickyClassDirective,
112
+ UnorderedListItemDirective,
113
+ UnorderedListTemplateDirective
114
+ ];
115
+ // --- Components ---
116
+ export const components = [
117
+ DynamicTableComponent,
118
+ PaginationMenuComponent,
119
+ UnorderedListComponent
120
+ ];
121
+ export const providers = [
122
+ ...pipes,
123
+ BaseHttpClient,
124
+ BaseHttpService,
125
+ AuthGuard,
126
+ AclService,
127
+ ApiService,
128
+ StaticAuthService,
129
+ ConfigService,
130
+ ErrorHandlerService,
131
+ EventsService,
132
+ FormatterService,
133
+ GlobalTemplateService,
134
+ IconService,
135
+ LanguageService,
136
+ OpenApiService,
137
+ PromiseService,
138
+ StateService,
139
+ StaticLanguageService,
140
+ StorageService,
141
+ ConsoleToasterService,
142
+ TranslatedUrlSerializer,
143
+ UniversalService,
144
+ DeviceDetectorService,
145
+ {
146
+ provide: EVENT_MANAGER_PLUGINS,
147
+ useClass: ResizeEventPlugin,
148
+ multi: true
149
+ },
150
+ {
151
+ provide: EVENT_MANAGER_PLUGINS,
152
+ useClass: ScrollEventPlugin,
153
+ multi: true
154
+ },
155
+ {
156
+ provide: UrlSerializer,
157
+ useExisting: TranslatedUrlSerializer
158
+ },
159
+ {
160
+ provide: ErrorHandler,
161
+ useExisting: ErrorHandlerService
162
+ }
163
+ ];
164
+ export function loadConfig(config) {
165
+ return config.load;
166
+ }
167
+ export class NgxUtilsModule {
168
+ static forRoot(config) {
169
+ return {
170
+ ngModule: NgxUtilsModule,
171
+ providers: [
172
+ ...providers,
173
+ {
174
+ provide: API_SERVICE,
175
+ useExisting: (!config ? null : config.apiService) || ApiService
176
+ },
177
+ {
178
+ provide: AUTH_SERVICE,
179
+ useExisting: (!config ? null : config.authService) || StaticAuthService
180
+ },
181
+ {
182
+ provide: ICON_SERVICE,
183
+ useExisting: (!config ? null : config.iconService) || IconService
184
+ },
185
+ {
186
+ provide: LANGUAGE_SERVICE,
187
+ useExisting: (!config ? null : config.languageService) || StaticLanguageService
188
+ },
189
+ {
190
+ provide: TOASTER_SERVICE,
191
+ useExisting: (!config ? null : config.toasterService) || ConsoleToasterService
192
+ },
193
+ {
194
+ provide: PROMISE_SERVICE,
195
+ useExisting: (!config ? null : config.promiseService) || PromiseService
196
+ },
197
+ {
198
+ provide: CONFIG_SERVICE,
199
+ useExisting: (!config ? null : config.configService) || ConfigService
200
+ },
201
+ {
202
+ provide: GLOBAL_TEMPLATES,
203
+ useExisting: (!config ? null : config.globalTemplates) || GlobalTemplateService
204
+ },
205
+ {
206
+ provide: ROOT_ELEMENT,
207
+ useValue: null
208
+ },
209
+ {
210
+ provide: APP_INITIALIZER,
211
+ useFactory: (!config ? null : config.initializeApp) || loadConfig,
212
+ multi: true,
213
+ deps: [(!config ? null : config.initializeApp) ? Injector : CONFIG_SERVICE]
214
+ }
215
+ ]
216
+ };
217
+ }
218
+ }
219
+ NgxUtilsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxUtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
220
+ NgxUtilsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxUtilsModule, declarations: [ChunkPipe,
221
+ EntriesPipe,
222
+ ExtraItemPropertiesPipe,
223
+ FilterPipe,
224
+ FindPipe,
225
+ FormatNumberPipe,
226
+ GetOffsetPipe,
227
+ GetTypePipe,
228
+ GlobalTemplatePipe,
229
+ GroupByPipe,
230
+ IsTypePipe,
231
+ JoinPipe,
232
+ KeysPipe,
233
+ MapPipe,
234
+ MaxPipe,
235
+ MinPipe,
236
+ ReducePipe,
237
+ RemapPipe,
238
+ ReplacePipe,
239
+ ReversePipe,
240
+ RoundPipe,
241
+ SafeHtmlPipe,
242
+ TranslatePipe,
243
+ ValuesPipe, AsyncMethodDirective,
244
+ BackgroundDirective,
245
+ DynamicTableTemplateDirective,
246
+ GlobalTemplateDirective,
247
+ IconDirective,
248
+ NgxTemplateOutletDirective,
249
+ PaginationDirective,
250
+ PaginationItemDirective,
251
+ ResourceIfDirective,
252
+ StickyDirective,
253
+ StickyClassDirective,
254
+ UnorderedListItemDirective,
255
+ UnorderedListTemplateDirective, DynamicTableComponent,
256
+ PaginationMenuComponent,
257
+ UnorderedListComponent], imports: [CommonModule,
258
+ FormsModule], exports: [ChunkPipe,
259
+ EntriesPipe,
260
+ ExtraItemPropertiesPipe,
261
+ FilterPipe,
262
+ FindPipe,
263
+ FormatNumberPipe,
264
+ GetOffsetPipe,
265
+ GetTypePipe,
266
+ GlobalTemplatePipe,
267
+ GroupByPipe,
268
+ IsTypePipe,
269
+ JoinPipe,
270
+ KeysPipe,
271
+ MapPipe,
272
+ MaxPipe,
273
+ MinPipe,
274
+ ReducePipe,
275
+ RemapPipe,
276
+ ReplacePipe,
277
+ ReversePipe,
278
+ RoundPipe,
279
+ SafeHtmlPipe,
280
+ TranslatePipe,
281
+ ValuesPipe, AsyncMethodDirective,
282
+ BackgroundDirective,
283
+ DynamicTableTemplateDirective,
284
+ GlobalTemplateDirective,
285
+ IconDirective,
286
+ NgxTemplateOutletDirective,
287
+ PaginationDirective,
288
+ PaginationItemDirective,
289
+ ResourceIfDirective,
290
+ StickyDirective,
291
+ StickyClassDirective,
292
+ UnorderedListItemDirective,
293
+ UnorderedListTemplateDirective, DynamicTableComponent,
294
+ PaginationMenuComponent,
295
+ UnorderedListComponent, FormsModule] });
296
+ NgxUtilsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxUtilsModule, providers: pipes, imports: [[
297
+ CommonModule,
298
+ FormsModule
299
+ ], FormsModule] });
300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxUtilsModule, decorators: [{
301
+ type: NgModule,
302
+ args: [{
303
+ declarations: [
304
+ ...pipes,
305
+ ...directives,
306
+ ...components
307
+ ],
308
+ imports: [
309
+ CommonModule,
310
+ FormsModule
311
+ ],
312
+ exports: [
313
+ ...pipes,
314
+ ...directives,
315
+ ...components,
316
+ FormsModule
317
+ ],
318
+ providers: pipes
319
+ }]
320
+ }] });
321
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXV0aWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBVSxRQUFRLEVBQXVCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxPQUFPLEVBQ0gsV0FBVyxFQUNYLFlBQVksRUFDWixjQUFjLEVBQUUsZ0JBQWdCLEVBQ2hDLFlBQVksRUFHWixnQkFBZ0IsRUFDaEIsZUFBZSxFQUFFLFlBQVksRUFDN0IsZUFBZSxFQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRTlGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNEQUFzRCxDQUFDOztBQUU1RixnQkFBZ0I7QUFDaEIsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ2pCLFNBQVM7SUFDVCxXQUFXO0lBQ1gsdUJBQXVCO0lBQ3ZCLFVBQVU7SUFDVixRQUFRO0lBQ1IsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxVQUFVO0lBQ1YsUUFBUTtJQUNSLFFBQVE7SUFDUixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxVQUFVO0lBQ1YsU0FBUztJQUNULFdBQVc7SUFDWCxXQUFXO0lBQ1gsU0FBUztJQUNULFlBQVk7SUFDWixhQUFhO0lBQ2IsVUFBVTtDQUNiLENBQUM7QUFFRixxQkFBcUI7QUFDckIsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsNkJBQTZCO0lBQzdCLHVCQUF1QjtJQUN2QixhQUFhO0lBQ2IsMEJBQTBCO0lBQzFCLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIsMEJBQTBCO0lBQzFCLDhCQUE4QjtDQUNqQyxDQUFDO0FBRUYscUJBQXFCO0FBQ3JCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLHNCQUFzQjtDQUN6QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3JCLEdBQUcsS0FBSztJQUNSLGNBQWM7SUFDZCxlQUFlO0lBQ2YsU0FBUztJQUNULFVBQVU7SUFDVixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsV0FBVztJQUNYLGVBQWU7SUFDZixjQUFjO0lBQ2QsY0FBYztJQUNkLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsY0FBYztJQUNkLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUNyQjtRQUNJLE9BQU8sRUFBRSxxQkFBcUI7UUFDOUIsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixLQUFLLEVBQUUsSUFBSTtLQUNkO0lBQ0Q7UUFDSSxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsS0FBSyxFQUFFLElBQUk7S0FDZDtJQUNEO1FBQ0ksT0FBTyxFQUFFLGFBQWE7UUFDdEIsV0FBVyxFQUFFLHVCQUF1QjtLQUN2QztJQUNEO1FBQ0ksT0FBTyxFQUFFLFlBQVk7UUFDckIsV0FBVyxFQUFFLG1CQUFtQjtLQUNuQztDQUVKLENBQUM7QUFFRixNQUFNLFVBQVUsVUFBVSxDQUFDLE1BQXNCO0lBQzdDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztBQUN2QixDQUFDO0FBb0JELE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBc0I7UUFDakMsT0FBTztZQUNILFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRTtnQkFDUCxHQUFHLFNBQVM7Z0JBQ1o7b0JBQ0ksT0FBTyxFQUFFLFdBQVc7b0JBQ3BCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVO2lCQUNsRTtnQkFDRDtvQkFDSSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGlCQUFpQjtpQkFDMUU7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxXQUFXO2lCQUNwRTtnQkFDRDtvQkFDSSxPQUFPLEVBQUUsZ0JBQWdCO29CQUN6QixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUkscUJBQXFCO2lCQUNsRjtnQkFDRDtvQkFDSSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLHFCQUFxQjtpQkFDakY7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxjQUFjO2lCQUMxRTtnQkFDRDtvQkFDSSxPQUFPLEVBQUUsY0FBYztvQkFDdkIsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLGFBQWE7aUJBQ3hFO2dCQUNEO29CQUNJLE9BQU8sRUFBRSxnQkFBZ0I7b0JBQ3pCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxxQkFBcUI7aUJBQ2xGO2dCQUNEO29CQUNJLE9BQU8sRUFBRSxZQUFZO29CQUNyQixRQUFRLEVBQUUsSUFBSTtpQkFDakI7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxVQUFVO29CQUNqRSxLQUFLLEVBQUUsSUFBSTtvQkFDWCxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7aUJBQzlFO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQzs7MkdBbERRLGNBQWM7NEdBQWQsY0FBYyxpQkFySHZCLFNBQVM7UUFDVCxXQUFXO1FBQ1gsdUJBQXVCO1FBQ3ZCLFVBQVU7UUFDVixRQUFRO1FBQ1IsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLFdBQVc7UUFDWCxVQUFVO1FBQ1YsUUFBUTtRQUNSLFFBQVE7UUFDUixPQUFPO1FBQ1AsT0FBTztRQUNQLE9BQU87UUFDUCxVQUFVO1FBQ1YsU0FBUztRQUNULFdBQVc7UUFDWCxXQUFXO1FBQ1gsU0FBUztRQUNULFlBQVk7UUFDWixhQUFhO1FBQ2IsVUFBVSxFQUtWLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsNkJBQTZCO1FBQzdCLHVCQUF1QjtRQUN2QixhQUFhO1FBQ2IsMEJBQTBCO1FBQzFCLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixvQkFBb0I7UUFDcEIsMEJBQTBCO1FBQzFCLDhCQUE4QixFQUs5QixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLHNCQUFzQixhQTJEbEIsWUFBWTtRQUNaLFdBQVcsYUEzR2YsU0FBUztRQUNULFdBQVc7UUFDWCx1QkFBdUI7UUFDdkIsVUFBVTtRQUNWLFFBQVE7UUFDUixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsV0FBVztRQUNYLFVBQVU7UUFDVixRQUFRO1FBQ1IsUUFBUTtRQUNSLE9BQU87UUFDUCxPQUFPO1FBQ1AsT0FBTztRQUNQLFVBQVU7UUFDVixTQUFTO1FBQ1QsV0FBVztRQUNYLFdBQVc7UUFDWCxTQUFTO1FBQ1QsWUFBWTtRQUNaLGFBQWE7UUFDYixVQUFVLEVBS1Ysb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQiw2QkFBNkI7UUFDN0IsdUJBQXVCO1FBQ3ZCLGFBQWE7UUFDYiwwQkFBMEI7UUFDMUIsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQiwwQkFBMEI7UUFDMUIsOEJBQThCLEVBSzlCLHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkIsc0JBQXNCLEVBa0VsQixXQUFXOzRHQUlOLGNBQWMsYUFGWixLQUFLLFlBVlA7WUFDTCxZQUFZO1lBQ1osV0FBVztTQUNkLEVBS0csV0FBVzsyRkFJTixjQUFjO2tCQWxCMUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsR0FBRyxLQUFLO3dCQUNSLEdBQUcsVUFBVTt3QkFDYixHQUFHLFVBQVU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLEdBQUcsS0FBSzt3QkFDUixHQUFHLFVBQVU7d0JBQ2IsR0FBRyxVQUFVO3dCQUNiLFdBQVc7cUJBQ2Q7b0JBQ0QsU0FBUyxFQUFFLEtBQUs7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBUFBfSU5JVElBTElaRVIsIEVycm9ySGFuZGxlciwgSW5qZWN0LCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7RVZFTlRfTUFOQUdFUl9QTFVHSU5TfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtVcmxTZXJpYWxpemVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7RGV2aWNlRGV0ZWN0b3JTZXJ2aWNlfSBmcm9tIFwibmd4LWRldmljZS1kZXRlY3RvclwiO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIEFQSV9TRVJWSUNFLFxyXG4gICAgQVVUSF9TRVJWSUNFLFxyXG4gICAgQ09ORklHX1NFUlZJQ0UsIEdMT0JBTF9URU1QTEFURVMsXHJcbiAgICBJQ09OX1NFUlZJQ0UsXHJcbiAgICBJQ29uZmlnU2VydmljZSxcclxuICAgIElNb2R1bGVDb25maWcsXHJcbiAgICBMQU5HVUFHRV9TRVJWSUNFLFxyXG4gICAgUFJPTUlTRV9TRVJWSUNFLCBST09UX0VMRU1FTlQsXHJcbiAgICBUT0FTVEVSX1NFUlZJQ0VcclxufSBmcm9tIFwiLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbmltcG9ydCB7QXV0aEd1YXJkfSBmcm9tIFwiLi91dGlscy9hdXRoLmd1YXJkXCI7XHJcbmltcG9ydCB7QWNsU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYWNsLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBcGlTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0YXRpY0F1dGhTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtCYXNlSHR0cENsaWVudH0gZnJvbSBcIi4vc2VydmljZXMvYmFzZS1odHRwLmNsaWVudFwiO1xyXG5pbXBvcnQge0Jhc2VIdHRwU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYmFzZS1odHRwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZVwiO1xyXG5pbXBvcnQge0Vycm9ySGFuZGxlclNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2Vycm9yLWhhbmRsZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge0V2ZW50c1NlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Rm9ybWF0dGVyU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvZm9ybWF0dGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtHbG9iYWxUZW1wbGF0ZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2dsb2JhbC10ZW1wbGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvblNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2ljb24uc2VydmljZVwiO1xyXG5pbXBvcnQge0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge1Byb21pc2VTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9wcm9taXNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtPcGVuQXBpU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvb3Blbi1hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0YXRlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvc3RhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0YXRpY0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvc3RhdGljLWxhbmd1YWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdG9yYWdlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q29uc29sZVRvYXN0ZXJTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy90b2FzdGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2xhdGVkVXJsU2VyaWFsaXplcn0gZnJvbSBcIi4vc2VydmljZXMvdHJhbnNsYXRlZC11cmwuc2VyaWFsaXplclwiO1xyXG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3VuaXZlcnNhbC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UmVzaXplRXZlbnRQbHVnaW59IGZyb20gXCIuL3BsdWdpbnMvcmVzaXplLWV2ZW50LnBsdWdpblwiO1xyXG5pbXBvcnQge1Njcm9sbEV2ZW50UGx1Z2lufSBmcm9tIFwiLi9wbHVnaW5zL3Njcm9sbC1ldmVudC5wbHVnaW5cIjtcclxuaW1wb3J0IHtBc3luY01ldGhvZERpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9hc3luYy1tZXRob2QuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7QmFja2dyb3VuZERpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9iYWNrZ3JvdW5kLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge0R5bmFtaWNUYWJsZVRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2R5bmFtaWMtdGFibGUtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7R2xvYmFsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvZ2xvYmFsLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge0ljb25EaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtOZ3hUZW1wbGF0ZU91dGxldERpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9uZ3gtdGVtcGxhdGUtb3V0bGV0LmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1BhZ2luYXRpb25EaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtQYWdpbmF0aW9uSXRlbURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9wYWdpbmF0aW9uLWl0ZW0uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7UmVzb3VyY2VJZkRpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9yZXNvdXJjZS1pZi5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtTdGlja3lEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvc3RpY2t5LmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1N0aWNreUNsYXNzRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3N0aWNreS1jbGFzcy5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtVbm9yZGVyZWRMaXN0SXRlbURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy91bm9yZGVyZWQtbGlzdC1pdGVtLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1Vub3JkZXJlZExpc3RUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy91bm9yZGVyZWQtbGlzdC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuXHJcbmltcG9ydCB7Q2h1bmtQaXBlfSBmcm9tIFwiLi9waXBlcy9jaHVuay5waXBlXCI7XHJcbmltcG9ydCB7RW50cmllc1BpcGV9IGZyb20gXCIuL3BpcGVzL2VudHJpZXMucGlwZVwiO1xyXG5pbXBvcnQge0V4dHJhSXRlbVByb3BlcnRpZXNQaXBlfSBmcm9tIFwiLi9waXBlcy9leHRyYS1pdGVtLXByb3BlcnRpZXMucGlwZVwiO1xyXG5pbXBvcnQge0ZpbHRlclBpcGV9IGZyb20gXCIuL3BpcGVzL2ZpbHRlci5waXBlXCI7XHJcbmltcG9ydCB7RmluZFBpcGV9IGZyb20gXCIuL3BpcGVzL2ZpbmQucGlwZVwiO1xyXG5pbXBvcnQge0Zvcm1hdE51bWJlclBpcGV9IGZyb20gXCIuL3BpcGVzL2Zvcm1hdC1udW1iZXIucGlwZVwiO1xyXG5pbXBvcnQge0dldE9mZnNldFBpcGV9IGZyb20gXCIuL3BpcGVzL2dldC1vZmZzZXQucGlwZVwiO1xyXG5pbXBvcnQge0dldFR5cGVQaXBlfSBmcm9tIFwiLi9waXBlcy9nZXQtdHlwZS5waXBlXCI7XHJcbmltcG9ydCB7R2xvYmFsVGVtcGxhdGVQaXBlfSBmcm9tIFwiLi9waXBlcy9nbG9iYWwtdGVtcGxhdGUucGlwZVwiO1xyXG5pbXBvcnQge0dyb3VwQnlQaXBlfSBmcm9tIFwiLi9waXBlcy9ncm91cC1ieS5waXBlXCI7XHJcbmltcG9ydCB7SXNUeXBlUGlwZX0gZnJvbSBcIi4vcGlwZXMvaXMtdHlwZS5waXBlXCI7XHJcbmltcG9ydCB7Sm9pblBpcGV9IGZyb20gXCIuL3BpcGVzL2pvaW4ucGlwZVwiO1xyXG5pbXBvcnQge0tleXNQaXBlfSBmcm9tIFwiLi9waXBlcy9rZXlzLnBpcGVcIjtcclxuaW1wb3J0IHtNYXBQaXBlfSBmcm9tIFwiLi9waXBlcy9tYXAucGlwZVwiO1xyXG5pbXBvcnQge01heFBpcGV9IGZyb20gXCIuL3BpcGVzL21heC5waXBlXCI7XHJcbmltcG9ydCB7TWluUGlwZX0gZnJvbSBcIi4vcGlwZXMvbWluLnBpcGVcIjtcclxuaW1wb3J0IHtSZWR1Y2VQaXBlfSBmcm9tIFwiLi9waXBlcy9yZWR1Y2UucGlwZVwiO1xyXG5pbXBvcnQge1JlbWFwUGlwZX0gZnJvbSBcIi4vcGlwZXMvcmVtYXAucGlwZVwiO1xyXG5pbXBvcnQge1JlcGxhY2VQaXBlfSBmcm9tIFwiLi9waXBlcy9yZXBsYWNlLnBpcGVcIjtcclxuaW1wb3J0IHtSZXZlcnNlUGlwZX0gZnJvbSBcIi4vcGlwZXMvcmV2ZXJzZS5waXBlXCI7XHJcbmltcG9ydCB7Um91bmRQaXBlfSBmcm9tIFwiLi9waXBlcy9yb3VuZC5waXBlXCI7XHJcbmltcG9ydCB7U2FmZUh0bWxQaXBlfSBmcm9tIFwiLi9waXBlcy9zYWZlLWh0bWwucGlwZVwiO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVBpcGV9IGZyb20gXCIuL3BpcGVzL3RyYW5zbGF0ZS5waXBlXCI7XHJcbmltcG9ydCB7VmFsdWVzUGlwZX0gZnJvbSBcIi4vcGlwZXMvdmFsdWVzLnBpcGVcIjtcclxuXHJcbmltcG9ydCB7RHluYW1pY1RhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtQYWdpbmF0aW9uTWVudUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9wYWdpbmF0aW9uLW1lbnUvcGFnaW5hdGlvbi1tZW51LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1Vub3JkZXJlZExpc3RDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvdW5vcmRlcmVkLWxpc3QvdW5vcmRlcmVkLWxpc3QuY29tcG9uZW50XCI7XHJcblxyXG4vLyAtLS0gUGlwZXMgLS0tXHJcbmV4cG9ydCBjb25zdCBwaXBlcyA9IFtcclxuICAgIENodW5rUGlwZSxcclxuICAgIEVudHJpZXNQaXBlLFxyXG4gICAgRXh0cmFJdGVtUHJvcGVydGllc1BpcGUsXHJcbiAgICBGaWx0ZXJQaXBlLFxyXG4gICAgRmluZFBpcGUsXHJcbiAgICBGb3JtYXROdW1iZXJQaXBlLFxyXG4gICAgR2V0T2Zmc2V0UGlwZSxcclxuICAgIEdldFR5cGVQaXBlLFxyXG4gICAgR2xvYmFsVGVtcGxhdGVQaXBlLFxyXG4gICAgR3JvdXBCeVBpcGUsXHJcbiAgICBJc1R5cGVQaXBlLFxyXG4gICAgSm9pblBpcGUsXHJcbiAgICBLZXlzUGlwZSxcclxuICAgIE1hcFBpcGUsXHJcbiAgICBNYXhQaXBlLFxyXG4gICAgTWluUGlwZSxcclxuICAgIFJlZHVjZVBpcGUsXHJcbiAgICBSZW1hcFBpcGUsXHJcbiAgICBSZXBsYWNlUGlwZSxcclxuICAgIFJldmVyc2VQaXBlLFxyXG4gICAgUm91bmRQaXBlLFxyXG4gICAgU2FmZUh0bWxQaXBlLFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICAgIFZhbHVlc1BpcGVcclxuXTtcclxuXHJcbi8vIC0tLSBEaXJlY3RpdmVzIC0tLVxyXG5leHBvcnQgY29uc3QgZGlyZWN0aXZlcyA9IFtcclxuICAgIEFzeW5jTWV0aG9kRGlyZWN0aXZlLFxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIER5bmFtaWNUYWJsZVRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gICAgR2xvYmFsVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICBJY29uRGlyZWN0aXZlLFxyXG4gICAgTmd4VGVtcGxhdGVPdXRsZXREaXJlY3RpdmUsXHJcbiAgICBQYWdpbmF0aW9uRGlyZWN0aXZlLFxyXG4gICAgUGFnaW5hdGlvbkl0ZW1EaXJlY3RpdmUsXHJcbiAgICBSZXNvdXJjZUlmRGlyZWN0aXZlLFxyXG4gICAgU3RpY2t5RGlyZWN0aXZlLFxyXG4gICAgU3RpY2t5Q2xhc3NEaXJlY3RpdmUsXHJcbiAgICBVbm9yZGVyZWRMaXN0SXRlbURpcmVjdGl2ZSxcclxuICAgIFVub3JkZXJlZExpc3RUZW1wbGF0ZURpcmVjdGl2ZVxyXG5dO1xyXG5cclxuLy8gLS0tIENvbXBvbmVudHMgLS0tXHJcbmV4cG9ydCBjb25zdCBjb21wb25lbnRzID0gW1xyXG4gICAgRHluYW1pY1RhYmxlQ29tcG9uZW50LFxyXG4gICAgUGFnaW5hdGlvbk1lbnVDb21wb25lbnQsXHJcbiAgICBVbm9yZGVyZWRMaXN0Q29tcG9uZW50XHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgcHJvdmlkZXJzID0gW1xyXG4gICAgLi4ucGlwZXMsXHJcbiAgICBCYXNlSHR0cENsaWVudCxcclxuICAgIEJhc2VIdHRwU2VydmljZSxcclxuICAgIEF1dGhHdWFyZCxcclxuICAgIEFjbFNlcnZpY2UsXHJcbiAgICBBcGlTZXJ2aWNlLFxyXG4gICAgU3RhdGljQXV0aFNlcnZpY2UsXHJcbiAgICBDb25maWdTZXJ2aWNlLFxyXG4gICAgRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICAgIEV2ZW50c1NlcnZpY2UsXHJcbiAgICBGb3JtYXR0ZXJTZXJ2aWNlLFxyXG4gICAgR2xvYmFsVGVtcGxhdGVTZXJ2aWNlLFxyXG4gICAgSWNvblNlcnZpY2UsXHJcbiAgICBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBPcGVuQXBpU2VydmljZSxcclxuICAgIFByb21pc2VTZXJ2aWNlLFxyXG4gICAgU3RhdGVTZXJ2aWNlLFxyXG4gICAgU3RhdGljTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBDb25zb2xlVG9hc3RlclNlcnZpY2UsXHJcbiAgICBUcmFuc2xhdGVkVXJsU2VyaWFsaXplcixcclxuICAgIFVuaXZlcnNhbFNlcnZpY2UsXHJcbiAgICBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogRVZFTlRfTUFOQUdFUl9QTFVHSU5TLFxyXG4gICAgICAgIHVzZUNsYXNzOiBSZXNpemVFdmVudFBsdWdpbixcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwcm92aWRlOiBFVkVOVF9NQU5BR0VSX1BMVUdJTlMsXHJcbiAgICAgICAgdXNlQ2xhc3M6IFNjcm9sbEV2ZW50UGx1Z2luLFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHByb3ZpZGU6IFVybFNlcmlhbGl6ZXIsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IFRyYW5zbGF0ZWRVcmxTZXJpYWxpemVyXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHByb3ZpZGU6IEVycm9ySGFuZGxlcixcclxuICAgICAgICB1c2VFeGlzdGluZzogRXJyb3JIYW5kbGVyU2VydmljZVxyXG4gICAgfVxyXG5cclxuXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkQ29uZmlnKGNvbmZpZzogSUNvbmZpZ1NlcnZpY2UpOiBhbnkge1xyXG4gICAgcmV0dXJuIGNvbmZpZy5sb2FkO1xyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgLi4ucGlwZXMsXHJcbiAgICAgICAgLi4uZGlyZWN0aXZlcyxcclxuICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZVxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICAuLi5waXBlcyxcclxuICAgICAgICAuLi5kaXJlY3RpdmVzLFxyXG4gICAgICAgIC4uLmNvbXBvbmVudHMsXHJcbiAgICAgICAgRm9ybXNNb2R1bGVcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IHBpcGVzXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hVdGlsc01vZHVsZSB7XHJcbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBJTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hVdGlsc01vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hVdGlsc01vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICAuLi5wcm92aWRlcnMsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBJX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5hcGlTZXJ2aWNlKSB8fCBBcGlTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFVVEhfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmF1dGhTZXJ2aWNlKSB8fCBTdGF0aWNBdXRoU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBJQ09OX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5pY29uU2VydmljZSkgfHwgSWNvblNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTEFOR1VBR0VfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmxhbmd1YWdlU2VydmljZSkgfHwgU3RhdGljTGFuZ3VhZ2VTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFRPQVNURVJfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLnRvYXN0ZXJTZXJ2aWNlKSB8fCBDb25zb2xlVG9hc3RlclNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUFJPTUlTRV9TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcucHJvbWlzZVNlcnZpY2UpIHx8IFByb21pc2VTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IENPTkZJR19TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuY29uZmlnU2VydmljZSkgfHwgQ29uZmlnU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBHTE9CQUxfVEVNUExBVEVTLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuZ2xvYmFsVGVtcGxhdGVzKSB8fCBHbG9iYWxUZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUk9PVF9FTEVNRU5ULFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBudWxsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuaW5pdGlhbGl6ZUFwcCkgfHwgbG9hZENvbmZpZyxcclxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbKCFjb25maWcgPyBudWxsIDogY29uZmlnLmluaXRpYWxpemVBcHApID8gSW5qZWN0b3IgOiBDT05GSUdfU0VSVklDRV1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,25 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class ChunkPipe {
4
+ transform(items, count) {
5
+ const result = [];
6
+ let subResult = null;
7
+ items.forEach((item, index) => {
8
+ if (index % count == 0) {
9
+ subResult = [];
10
+ result.push(subResult);
11
+ }
12
+ subResult.push(item);
13
+ });
14
+ return result;
15
+ }
16
+ }
17
+ ChunkPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ChunkPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
+ ChunkPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ChunkPipe, name: "chunk" });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ChunkPipe, decorators: [{
20
+ type: Pipe,
21
+ args: [{
22
+ name: "chunk"
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmsucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGlwZXMvY2h1bmsucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLFNBQVM7SUFDbEIsU0FBUyxDQUFDLEtBQVksRUFBRSxLQUFhO1FBQ2pDLE1BQU0sTUFBTSxHQUFVLEVBQUUsQ0FBQztRQUN6QixJQUFJLFNBQVMsR0FBVSxJQUFJLENBQUM7UUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMxQixJQUFJLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxFQUFFO2dCQUNwQixTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDMUI7WUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7c0dBWlEsU0FBUztvR0FBVCxTQUFTOzJGQUFULFNBQVM7a0JBSHJCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLE9BQU87aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJjaHVua1wiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaHVua1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybShpdGVtczogYW55W10sIGNvdW50OiBudW1iZXIpOiBhbnlbXSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGxldCBzdWJSZXN1bHQ6IGFueVtdID0gbnVsbDtcclxuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggJSBjb3VudCA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICBzdWJSZXN1bHQgPSBbXTtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHN1YlJlc3VsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3ViUmVzdWx0LnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ const emptyEntries = [];
5
+ export class EntriesPipe {
6
+ transform(value) {
7
+ if (!value)
8
+ return emptyEntries;
9
+ const entries = [];
10
+ ObjectUtils.iterate(value, (val, key) => {
11
+ entries.push({
12
+ key: key,
13
+ value: val,
14
+ index: entries.length
15
+ });
16
+ });
17
+ return entries;
18
+ }
19
+ }
20
+ EntriesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EntriesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
+ EntriesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EntriesPipe, name: "entries" });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: EntriesPipe, decorators: [{
23
+ type: Pipe,
24
+ args: [{
25
+ name: "entries"
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cmllcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9lbnRyaWVzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQVFsRCxNQUFNLFlBQVksR0FBYSxFQUFFLENBQUM7QUFLbEMsTUFBTSxPQUFPLFdBQVc7SUFFcEIsU0FBUyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLFlBQVksQ0FBQztRQUNoQyxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFDN0IsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDVCxHQUFHLEVBQUUsR0FBRztnQkFDUixLQUFLLEVBQUUsR0FBRztnQkFDVixLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU07YUFDeEIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDOzt3R0FiUSxXQUFXO3NHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsU0FBUztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUVudHJ5IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdmFsdWU6IGFueTtcclxuICAgIGluZGV4OiBudW1iZXI7XHJcbn1cclxuXHJcbmNvbnN0IGVtcHR5RW50cmllczogSUVudHJ5W10gPSBbXTtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZW50cmllc1wiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRyaWVzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55KTogSUVudHJ5W10ge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybiBlbXB0eUVudHJpZXM7XHJcbiAgICAgICAgY29uc3QgZW50cmllczogSUVudHJ5W10gPSBbXTtcclxuICAgICAgICBPYmplY3RVdGlscy5pdGVyYXRlKHZhbHVlLCAodmFsLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgZW50cmllcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGtleToga2V5LFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbCxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBlbnRyaWVzLmxlbmd0aFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gZW50cmllcztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export class ExtraItemPropertiesPipe {
5
+ transform(items, properties, params = {}) {
6
+ const keys = Object.keys(properties);
7
+ keys.forEach(key => {
8
+ const value = properties[key];
9
+ properties[key] = ObjectUtils.isFunction(value) ? value : (item, index, params) => {
10
+ return ObjectUtils.evaluate(value, {
11
+ item: item,
12
+ index: index,
13
+ params: params
14
+ });
15
+ };
16
+ });
17
+ return (items || []).map((item, index) => keys.reduce((result, key) => {
18
+ result[key] = properties[key](item, index, params);
19
+ return result;
20
+ }, { ...item }));
21
+ }
22
+ }
23
+ ExtraItemPropertiesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ExtraItemPropertiesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
24
+ ExtraItemPropertiesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ExtraItemPropertiesPipe, name: "extraItemProperties" });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ExtraItemPropertiesPipe, decorators: [{
26
+ type: Pipe,
27
+ args: [{
28
+ name: "extraItemProperties"
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtaXRlbS1wcm9wZXJ0aWVzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2V4dHJhLWl0ZW0tcHJvcGVydGllcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxTQUFTLENBQUMsS0FBWSxFQUFFLFVBQTRCLEVBQUUsU0FBYyxFQUFFO1FBQ2xFLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQzlFLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7b0JBQy9CLElBQUksRUFBRSxJQUFJO29CQUNWLEtBQUssRUFBRSxLQUFLO29CQUNaLE1BQU0sRUFBRSxNQUFNO2lCQUNqQixDQUFDLENBQUM7WUFDUCxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbkQsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxFQUFFLEVBQUMsR0FBRyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQzs7b0hBakJRLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBSG5DLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHFCQUFxQjtpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SUV4dHJhUHJvcGVydGllc30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImV4dHJhSXRlbVByb3BlcnRpZXNcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXh0cmFJdGVtUHJvcGVydGllc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybShpdGVtczogYW55W10sIHByb3BlcnRpZXM6IElFeHRyYVByb3BlcnRpZXMsIHBhcmFtczogYW55ID0ge30pOiBhbnlbXSB7XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHByb3BlcnRpZXMpO1xyXG4gICAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHByb3BlcnRpZXNba2V5XTtcclxuICAgICAgICAgICAgcHJvcGVydGllc1trZXldID0gT2JqZWN0VXRpbHMuaXNGdW5jdGlvbih2YWx1ZSkgPyB2YWx1ZSA6IChpdGVtLCBpbmRleCwgcGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuZXZhbHVhdGUodmFsdWUsIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtOiBpdGVtLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIChpdGVtcyB8fCBbXSkubWFwKChpdGVtLCBpbmRleCkgPT4ga2V5cy5yZWR1Y2UoKHJlc3VsdCwga2V5KSA9PiB7XHJcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gcHJvcGVydGllc1trZXldKGl0ZW0sIGluZGV4LCBwYXJhbXMpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0sIHsuLi5pdGVtfSkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export function defaultFilter() {
5
+ return true;
6
+ }
7
+ export class FilterPipe {
8
+ transform(values, filter = defaultFilter, params = {}) {
9
+ const isObject = ObjectUtils.isObject(values);
10
+ if (!isObject && !ObjectUtils.isArray(values))
11
+ return [];
12
+ const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, key, params) => {
13
+ return ObjectUtils.evaluate(filter, {
14
+ value: value,
15
+ key: key,
16
+ item: value,
17
+ index: key,
18
+ params: params
19
+ });
20
+ };
21
+ if (isObject) {
22
+ return Object.keys(values).filter(key => {
23
+ return filterFunc(values[key], key, params);
24
+ }).reduce((result, key) => {
25
+ result[key] = values[key];
26
+ return result;
27
+ }, {});
28
+ }
29
+ return values.filter((value, key) => {
30
+ return filterFunc(value, key, params);
31
+ });
32
+ }
33
+ }
34
+ FilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
35
+ FilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FilterPipe, name: "filter" });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FilterPipe, decorators: [{
37
+ type: Pipe,
38
+ args: [{
39
+ name: "filter"
40
+ }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2ZpbHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFbEQsTUFBTSxVQUFVLGFBQWE7SUFDekIsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUtELE1BQU0sT0FBTyxVQUFVO0lBQ25CLFNBQVMsQ0FBQyxNQUFXLEVBQUUsU0FBYyxhQUFhLEVBQUUsU0FBYyxFQUFFO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDekQsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDaEYsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDaEMsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osR0FBRyxFQUFFLEdBQUc7Z0JBQ1IsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsTUFBTSxFQUFFLE1BQU07YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxRQUFRLEVBQUU7WUFDVixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNwQyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1NBQ1Q7UUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDaEMsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3VHQXhCUSxVQUFVO3FHQUFWLFVBQVU7MkZBQVYsVUFBVTtrQkFIdEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsUUFBUTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0RmlsdGVyKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZmlsdGVyXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZXM6IGFueSwgZmlsdGVyOiBhbnkgPSBkZWZhdWx0RmlsdGVyLCBwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcclxuICAgICAgICBjb25zdCBpc09iamVjdCA9IE9iamVjdFV0aWxzLmlzT2JqZWN0KHZhbHVlcyk7XHJcbiAgICAgICAgaWYgKCFpc09iamVjdCAmJiAhT2JqZWN0VXRpbHMuaXNBcnJheSh2YWx1ZXMpKSByZXR1cm4gW107XHJcbiAgICAgICAgY29uc3QgZmlsdGVyRnVuYyA9IE9iamVjdFV0aWxzLmlzRnVuY3Rpb24oZmlsdGVyKSA/IGZpbHRlciA6ICh2YWx1ZSwga2V5LCBwYXJhbXMpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLmV2YWx1YXRlKGZpbHRlciwge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICAgICAgICAgICAga2V5OiBrZXksXHJcbiAgICAgICAgICAgICAgICBpdGVtOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBrZXksXHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmIChpc09iamVjdCkge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModmFsdWVzKS5maWx0ZXIoa2V5ID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJGdW5jKHZhbHVlc1trZXldLCBrZXksIHBhcmFtcyk7XHJcbiAgICAgICAgICAgIH0pLnJlZHVjZSgocmVzdWx0LCBrZXkpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWVzW2tleV07XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICB9LCB7fSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoKHZhbHVlLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGZpbHRlckZ1bmModmFsdWUsIGtleSwgcGFyYW1zKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=