@stemy/ngx-utils 12.1.2 → 13.0.1

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 (164) hide show
  1. package/bundles/stemy-ngx-utils.umd.js +26 -29
  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/static-language.service.js +17 -17
  5. package/esm2015/ngx-utils/services/storage.service.js +4 -4
  6. package/esm2020/ngx-utils/common-types.mjs +116 -0
  7. package/esm2020/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +178 -0
  8. package/esm2020/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +101 -0
  9. package/esm2020/ngx-utils/components/unordered-list/unordered-list.component.mjs +65 -0
  10. package/esm2020/ngx-utils/directives/async-method.base.mjs +68 -0
  11. package/esm2020/ngx-utils/directives/async-method.directive.mjs +28 -0
  12. package/esm2020/ngx-utils/directives/background.directive.mjs +51 -0
  13. package/esm2020/ngx-utils/directives/dynamic-table-template.directive.mjs +20 -0
  14. package/esm2020/ngx-utils/directives/global-template.directive.mjs +30 -0
  15. package/esm2020/ngx-utils/directives/icon.directive.mjs +67 -0
  16. package/esm2020/ngx-utils/directives/ngx-template-outlet.directive.mjs +90 -0
  17. package/esm2020/ngx-utils/directives/pagination-item.directive.mjs +33 -0
  18. package/esm2020/ngx-utils/directives/pagination.directive.mjs +83 -0
  19. package/esm2020/ngx-utils/directives/resource-if.directive.mjs +50 -0
  20. package/esm2020/ngx-utils/directives/sticky-class.directive.mjs +34 -0
  21. package/esm2020/ngx-utils/directives/sticky.directive.mjs +55 -0
  22. package/esm2020/ngx-utils/directives/unordered-list-item.directive.mjs +77 -0
  23. package/esm2020/ngx-utils/directives/unordered-list-template.directive.mjs +26 -0
  24. package/esm2020/ngx-utils/ngx-utils.module.mjs +321 -0
  25. package/esm2020/ngx-utils/pipes/chunk.pipe.mjs +25 -0
  26. package/esm2020/ngx-utils/pipes/entries.pipe.mjs +28 -0
  27. package/esm2020/ngx-utils/pipes/extra-item-properties.pipe.mjs +31 -0
  28. package/esm2020/ngx-utils/pipes/filter.pipe.mjs +42 -0
  29. package/esm2020/ngx-utils/pipes/find.pipe.mjs +29 -0
  30. package/esm2020/ngx-utils/pipes/format-number.pipe.mjs +21 -0
  31. package/esm2020/ngx-utils/pipes/get-offset.pipe.mjs +17 -0
  32. package/esm2020/ngx-utils/pipes/get-type.pipe.mjs +16 -0
  33. package/esm2020/ngx-utils/pipes/global-template.pipe.mjs +41 -0
  34. package/esm2020/ngx-utils/pipes/group-by.pipe.mjs +27 -0
  35. package/esm2020/ngx-utils/pipes/is-type.pipe.mjs +16 -0
  36. package/esm2020/ngx-utils/pipes/join.pipe.mjs +19 -0
  37. package/esm2020/ngx-utils/pipes/keys.pipe.mjs +22 -0
  38. package/esm2020/ngx-utils/pipes/map.pipe.mjs +29 -0
  39. package/esm2020/ngx-utils/pipes/max.pipe.mjs +26 -0
  40. package/esm2020/ngx-utils/pipes/min.pipe.mjs +26 -0
  41. package/esm2020/ngx-utils/pipes/reduce.pipe.mjs +30 -0
  42. package/esm2020/ngx-utils/pipes/remap.pipe.mjs +32 -0
  43. package/esm2020/ngx-utils/pipes/replace.pipe.mjs +16 -0
  44. package/esm2020/ngx-utils/pipes/reverse.pipe.mjs +24 -0
  45. package/esm2020/ngx-utils/pipes/round.pipe.mjs +21 -0
  46. package/esm2020/ngx-utils/pipes/safe-html.pipe.mjs +34 -0
  47. package/esm2020/ngx-utils/pipes/translate.pipe.mjs +86 -0
  48. package/esm2020/ngx-utils/pipes/values.pipe.mjs +22 -0
  49. package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +59 -0
  50. package/esm2020/ngx-utils/plugins/scroll-event.plugin.mjs +39 -0
  51. package/esm2020/ngx-utils/services/acl.service.mjs +81 -0
  52. package/esm2020/ngx-utils/services/api.service.mjs +38 -0
  53. package/esm2020/ngx-utils/services/auth.service.mjs +14 -0
  54. package/esm2020/ngx-utils/services/base-http.client.mjs +47 -0
  55. package/esm2020/ngx-utils/services/base-http.service.mjs +298 -0
  56. package/esm2020/ngx-utils/services/config.service.mjs +129 -0
  57. package/esm2020/ngx-utils/services/error-handler.service.mjs +49 -0
  58. package/esm2020/ngx-utils/services/events.service.mjs +26 -0
  59. package/esm2020/ngx-utils/services/formatter.service.mjs +47 -0
  60. package/esm2020/ngx-utils/services/global-template.service.mjs +37 -0
  61. package/esm2020/ngx-utils/services/icon.service.mjs +26 -0
  62. package/esm2020/ngx-utils/services/language.service.mjs +113 -0
  63. package/esm2020/ngx-utils/services/open-api.service.mjs +40 -0
  64. package/esm2020/ngx-utils/services/promise.service.mjs +55 -0
  65. package/esm2020/ngx-utils/services/state.service.mjs +173 -0
  66. package/esm2020/ngx-utils/services/static-language.service.mjs +166 -0
  67. package/esm2020/ngx-utils/services/storage.service.mjs +49 -0
  68. package/esm2020/ngx-utils/services/toaster.service.mjs +32 -0
  69. package/esm2020/ngx-utils/services/translated-url.serializer.mjs +73 -0
  70. package/esm2020/ngx-utils/services/universal.service.mjs +78 -0
  71. package/esm2020/ngx-utils/utils/ajax-request-handler.mjs +40 -0
  72. package/esm2020/ngx-utils/utils/array.utils.mjs +100 -0
  73. package/esm2020/ngx-utils/utils/auth.guard.mjs +181 -0
  74. package/esm2020/ngx-utils/utils/canvas.utils.mjs +388 -0
  75. package/esm2020/ngx-utils/utils/date.utils.mjs +28 -0
  76. package/esm2020/ngx-utils/utils/file.utils.mjs +90 -0
  77. package/esm2020/ngx-utils/utils/generic-value.mjs +20 -0
  78. package/esm2020/ngx-utils/utils/geometry.mjs +132 -0
  79. package/esm2020/ngx-utils/utils/initializer.mjs +20 -0
  80. package/esm2020/ngx-utils/utils/loader.utils.mjs +55 -0
  81. package/esm2020/ngx-utils/utils/math.utils.mjs +15 -0
  82. package/esm2020/ngx-utils/utils/object.utils.mjs +261 -0
  83. package/esm2020/ngx-utils/utils/observable.utils.mjs +63 -0
  84. package/esm2020/ngx-utils/utils/reflect.utils.mjs +33 -0
  85. package/esm2020/ngx-utils/utils/set.utils.mjs +20 -0
  86. package/esm2020/ngx-utils/utils/string.utils.mjs +28 -0
  87. package/esm2020/ngx-utils/utils/timer.utils.mjs +52 -0
  88. package/esm2020/ngx-utils/utils/unique.utils.mjs +24 -0
  89. package/esm2020/ngx-utils/utils/vector.mjs +77 -0
  90. package/esm2020/public_api.mjs +85 -0
  91. package/esm2020/stemy-ngx-utils.mjs +5 -0
  92. package/fesm2015/stemy-ngx-utils.js +22 -22
  93. package/fesm2015/stemy-ngx-utils.js.map +1 -1
  94. package/fesm2015/stemy-ngx-utils.mjs +5195 -0
  95. package/fesm2015/stemy-ngx-utils.mjs.map +1 -0
  96. package/fesm2020/stemy-ngx-utils.mjs +5126 -0
  97. package/fesm2020/stemy-ngx-utils.mjs.map +1 -0
  98. package/ngx-utils/components/dynamic-table/dynamic-table.component.d.ts +3 -0
  99. package/ngx-utils/components/pagination-menu/pagination-menu.component.d.ts +3 -0
  100. package/ngx-utils/components/unordered-list/unordered-list.component.d.ts +3 -0
  101. package/ngx-utils/directives/async-method.base.d.ts +3 -0
  102. package/ngx-utils/directives/async-method.directive.d.ts +3 -0
  103. package/ngx-utils/directives/background.directive.d.ts +3 -0
  104. package/ngx-utils/directives/dynamic-table-template.directive.d.ts +3 -0
  105. package/ngx-utils/directives/global-template.directive.d.ts +3 -0
  106. package/ngx-utils/directives/icon.directive.d.ts +3 -0
  107. package/ngx-utils/directives/ngx-template-outlet.directive.d.ts +3 -0
  108. package/ngx-utils/directives/pagination-item.directive.d.ts +3 -0
  109. package/ngx-utils/directives/pagination.directive.d.ts +3 -0
  110. package/ngx-utils/directives/resource-if.directive.d.ts +3 -0
  111. package/ngx-utils/directives/sticky-class.directive.d.ts +3 -0
  112. package/ngx-utils/directives/sticky.directive.d.ts +3 -0
  113. package/ngx-utils/directives/unordered-list-item.directive.d.ts +3 -0
  114. package/ngx-utils/directives/unordered-list-template.directive.d.ts +3 -0
  115. package/ngx-utils/pipes/chunk.pipe.d.ts +3 -0
  116. package/ngx-utils/pipes/entries.pipe.d.ts +3 -0
  117. package/ngx-utils/pipes/extra-item-properties.pipe.d.ts +3 -0
  118. package/ngx-utils/pipes/filter.pipe.d.ts +3 -0
  119. package/ngx-utils/pipes/find.pipe.d.ts +3 -0
  120. package/ngx-utils/pipes/format-number.pipe.d.ts +3 -0
  121. package/ngx-utils/pipes/get-offset.pipe.d.ts +3 -0
  122. package/ngx-utils/pipes/get-type.pipe.d.ts +3 -0
  123. package/ngx-utils/pipes/global-template.pipe.d.ts +3 -0
  124. package/ngx-utils/pipes/group-by.pipe.d.ts +3 -0
  125. package/ngx-utils/pipes/is-type.pipe.d.ts +3 -0
  126. package/ngx-utils/pipes/join.pipe.d.ts +3 -0
  127. package/ngx-utils/pipes/keys.pipe.d.ts +3 -0
  128. package/ngx-utils/pipes/map.pipe.d.ts +3 -0
  129. package/ngx-utils/pipes/max.pipe.d.ts +3 -0
  130. package/ngx-utils/pipes/min.pipe.d.ts +3 -0
  131. package/ngx-utils/pipes/reduce.pipe.d.ts +3 -0
  132. package/ngx-utils/pipes/remap.pipe.d.ts +3 -0
  133. package/ngx-utils/pipes/replace.pipe.d.ts +3 -0
  134. package/ngx-utils/pipes/reverse.pipe.d.ts +3 -0
  135. package/ngx-utils/pipes/round.pipe.d.ts +3 -0
  136. package/ngx-utils/pipes/safe-html.pipe.d.ts +3 -0
  137. package/ngx-utils/pipes/translate.pipe.d.ts +4 -0
  138. package/ngx-utils/pipes/values.pipe.d.ts +3 -0
  139. package/ngx-utils/plugins/resize-event.plugin.d.ts +4 -1
  140. package/ngx-utils/plugins/scroll-event.plugin.d.ts +4 -1
  141. package/ngx-utils/services/acl.service.d.ts +3 -0
  142. package/ngx-utils/services/api.service.d.ts +3 -0
  143. package/ngx-utils/services/base-http.client.d.ts +3 -0
  144. package/ngx-utils/services/base-http.service.d.ts +3 -0
  145. package/ngx-utils/services/config.service.d.ts +3 -0
  146. package/ngx-utils/services/error-handler.service.d.ts +3 -0
  147. package/ngx-utils/services/events.service.d.ts +3 -0
  148. package/ngx-utils/services/formatter.service.d.ts +3 -0
  149. package/ngx-utils/services/global-template.service.d.ts +3 -0
  150. package/ngx-utils/services/icon.service.d.ts +3 -0
  151. package/ngx-utils/services/language.service.d.ts +3 -0
  152. package/ngx-utils/services/open-api.service.d.ts +3 -0
  153. package/ngx-utils/services/promise.service.d.ts +3 -0
  154. package/ngx-utils/services/state.service.d.ts +3 -0
  155. package/ngx-utils/services/static-language.service.d.ts +4 -1
  156. package/ngx-utils/services/storage.service.d.ts +3 -0
  157. package/ngx-utils/services/toaster.service.d.ts +3 -0
  158. package/ngx-utils/services/translated-url.serializer.d.ts +3 -0
  159. package/ngx-utils/services/universal.service.d.ts +3 -0
  160. package/ngx-utils/utils/auth.guard.d.ts +3 -0
  161. package/package.json +34 -19
  162. package/public_api.d.ts +1 -0
  163. package/stemy-ngx-utils.d.ts +1 -2
  164. package/stemy-ngx-utils.metadata.json +1 -1
@@ -0,0 +1,29 @@
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 FindPipe {
8
+ transform(values, filter = defaultFilter, params = {}) {
9
+ if (!ObjectUtils.isArray(values))
10
+ return [];
11
+ const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, index, params) => {
12
+ return ObjectUtils.evaluate(filter, {
13
+ value: value,
14
+ index: index,
15
+ params: params
16
+ });
17
+ };
18
+ return values.find((value, index) => filterFunc(value, index, params));
19
+ }
20
+ }
21
+ FindPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FindPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
22
+ FindPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FindPipe, name: "find" });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FindPipe, decorators: [{
24
+ type: Pipe,
25
+ args: [{
26
+ name: "find"
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9maW5kLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUVsRCxNQUFNLFVBQVUsYUFBYTtJQUN6QixPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBS0QsTUFBTSxPQUFPLFFBQVE7SUFDakIsU0FBUyxDQUFDLE1BQWEsRUFBRSxTQUFjLGFBQWEsRUFBRSxTQUFjLEVBQUU7UUFDbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbEYsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDaEMsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLEtBQUs7Z0JBQ1osTUFBTSxFQUFFLE1BQU07YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDOztxR0FYUSxRQUFRO21HQUFSLFFBQVE7MkZBQVIsUUFBUTtrQkFIcEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsTUFBTTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRGaWx0ZXIoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJmaW5kXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbmRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0odmFsdWVzOiBhbnlbXSwgZmlsdGVyOiBhbnkgPSBkZWZhdWx0RmlsdGVyLCBwYXJhbXM6IGFueSA9IHt9KTogYW55W10ge1xyXG4gICAgICAgIGlmICghT2JqZWN0VXRpbHMuaXNBcnJheSh2YWx1ZXMpKSByZXR1cm4gW107XHJcbiAgICAgICAgY29uc3QgZmlsdGVyRnVuYyA9IE9iamVjdFV0aWxzLmlzRnVuY3Rpb24oZmlsdGVyKSA/IGZpbHRlciA6ICh2YWx1ZSwgaW5kZXgsIHBhcmFtcykgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuZXZhbHVhdGUoZmlsdGVyLCB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXHJcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiB2YWx1ZXMuZmluZCgodmFsdWUsIGluZGV4KSA9PiBmaWx0ZXJGdW5jKHZhbHVlLCBpbmRleCwgcGFyYW1zKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,21 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { FormatterService } from "../services/formatter.service";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../services/formatter.service";
5
+ export class FormatNumberPipe {
6
+ constructor(formatter) {
7
+ this.formatter = formatter;
8
+ }
9
+ transform(value, format, precision, divider) {
10
+ return this.formatter.formatNumber(value, format, precision, divider);
11
+ }
12
+ }
13
+ FormatNumberPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FormatNumberPipe, deps: [{ token: i1.FormatterService }], target: i0.ɵɵFactoryTarget.Pipe });
14
+ FormatNumberPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FormatNumberPipe, name: "formatNumber" });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: FormatNumberPipe, decorators: [{
16
+ type: Pipe,
17
+ args: [{
18
+ name: "formatNumber"
19
+ }]
20
+ }], ctorParameters: function () { return [{ type: i1.FormatterService }]; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW51bWJlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9mb3JtYXQtbnVtYmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sK0JBQStCLENBQUM7OztBQUsvRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXpCLFlBQW9CLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQy9DLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLE1BQWUsRUFBRSxTQUFrQixFQUFFLE9BQWdCO1FBQzFFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7NkdBUFEsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFINUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsY0FBYztpQkFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Rm9ybWF0dGVyU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImZvcm1hdE51bWJlclwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtYXROdW1iZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtYXR0ZXI6IEZvcm1hdHRlclNlcnZpY2UpIHtcclxuICAgIH1cclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlciwgZm9ybWF0Pzogc3RyaW5nLCBwcmVjaXNpb24/OiBudW1iZXIsIGRpdmlkZXI/OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlci5mb3JtYXROdW1iZXIodmFsdWUsIGZvcm1hdCwgcHJlY2lzaW9uLCBkaXZpZGVyKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export class GetOffsetPipe {
5
+ transform(value, offset) {
6
+ return value ? (ObjectUtils.isNullOrUndefined(offset) ? value : value[offset]) : null;
7
+ }
8
+ }
9
+ GetOffsetPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GetOffsetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ GetOffsetPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GetOffsetPipe, name: "getOffset" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GetOffsetPipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{
14
+ name: "getOffset"
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9mZnNldC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9nZXQtb2Zmc2V0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUtsRCxNQUFNLE9BQU8sYUFBYTtJQUN0QixTQUFTLENBQUMsS0FBVSxFQUFFLE1BQVc7UUFDN0IsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUYsQ0FBQzs7MEdBSFEsYUFBYTt3R0FBYixhQUFhOzJGQUFiLGFBQWE7a0JBSHpCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFdBQVc7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImdldE9mZnNldFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZXRPZmZzZXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgb2Zmc2V0OiBhbnkpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZSA/IChPYmplY3RVdGlscy5pc051bGxPclVuZGVmaW5lZChvZmZzZXQpID8gdmFsdWUgOiB2YWx1ZVtvZmZzZXRdKSA6IG51bGw7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class GetTypePipe {
4
+ transform(value) {
5
+ return typeof value;
6
+ }
7
+ }
8
+ GetTypePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GetTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ GetTypePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GetTypePipe, name: "getType" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GetTypePipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: "getType"
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXR5cGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGlwZXMvZ2V0LXR5cGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLFdBQVc7SUFDcEIsU0FBUyxDQUFDLEtBQVU7UUFDaEIsT0FBTyxPQUFPLEtBQUssQ0FBQztJQUN4QixDQUFDOzt3R0FIUSxXQUFXO3NHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsU0FBUztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImdldFR5cGVcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2V0VHlwZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55KTogYW55IHtcclxuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Inject, Pipe } from "@angular/core";
2
+ import { GLOBAL_TEMPLATES } from "../common-types";
3
+ import * as i0 from "@angular/core";
4
+ export class GlobalTemplatePipe {
5
+ constructor(globalTemplates) {
6
+ this.globalTemplates = globalTemplates;
7
+ this.cachedTemplateId = null;
8
+ this.cachedTemplate = null;
9
+ }
10
+ ngOnInit() {
11
+ this.templatesUpdated = this.globalTemplates.templatesUpdated.subscribe(() => {
12
+ this.cachedTemplate = null;
13
+ });
14
+ }
15
+ ngOnDestroy() {
16
+ if (this.templatesUpdated)
17
+ this.templatesUpdated.unsubscribe();
18
+ }
19
+ transform(templateId, component) {
20
+ if (!templateId)
21
+ return null;
22
+ if (this.cachedTemplate === null || this.cachedTemplateId !== templateId) {
23
+ this.cachedTemplateId = templateId;
24
+ this.cachedTemplate = this.globalTemplates.get(templateId, component);
25
+ }
26
+ return this.cachedTemplate;
27
+ }
28
+ }
29
+ GlobalTemplatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GlobalTemplatePipe, deps: [{ token: GLOBAL_TEMPLATES }], target: i0.ɵɵFactoryTarget.Pipe });
30
+ GlobalTemplatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GlobalTemplatePipe, name: "globalTemplate", pure: false });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GlobalTemplatePipe, decorators: [{
32
+ type: Pipe,
33
+ args: [{
34
+ pure: false,
35
+ name: "globalTemplate"
36
+ }]
37
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
38
+ type: Inject,
39
+ args: [GLOBAL_TEMPLATES]
40
+ }] }]; } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXRlbXBsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2dsb2JhbC10ZW1wbGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQXFCLElBQUksRUFBNkIsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFDLGdCQUFnQixFQUFtQixNQUFNLGlCQUFpQixDQUFDOztBQU1uRSxNQUFNLE9BQU8sa0JBQWtCO0lBTzNCLFlBQWdELGVBQWlDO1FBQWpDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUM3RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6RSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsU0FBUyxDQUFDLFVBQWtCLEVBQUUsU0FBZTtRQUN6QyxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLFVBQVUsRUFBRTtZQUN0RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO1lBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7OytHQTlCUSxrQkFBa0Isa0JBT1AsZ0JBQWdCOzZHQVAzQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsS0FBSztvQkFDWCxJQUFJLEVBQUUsZ0JBQWdCO2lCQUN6Qjs7MEJBUWdCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBUZW1wbGF0ZVJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7R0xPQkFMX1RFTVBMQVRFUywgSUdsb2JhbFRlbXBsYXRlc30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgcHVyZTogZmFsc2UsXHJcbiAgICBuYW1lOiBcImdsb2JhbFRlbXBsYXRlXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEdsb2JhbFRlbXBsYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgdGVtcGxhdGVzVXBkYXRlZDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIHByb3RlY3RlZCBjYWNoZWRUZW1wbGF0ZUlkOiBzdHJpbmc7XHJcbiAgICBwcm90ZWN0ZWQgY2FjaGVkVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChHTE9CQUxfVEVNUExBVEVTKSBwcm90ZWN0ZWQgZ2xvYmFsVGVtcGxhdGVzOiBJR2xvYmFsVGVtcGxhdGVzKSB7XHJcbiAgICAgICAgdGhpcy5jYWNoZWRUZW1wbGF0ZUlkID0gbnVsbDtcclxuICAgICAgICB0aGlzLmNhY2hlZFRlbXBsYXRlID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlc1VwZGF0ZWQgPSB0aGlzLmdsb2JhbFRlbXBsYXRlcy50ZW1wbGF0ZXNVcGRhdGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVkVGVtcGxhdGUgPSBudWxsO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnRlbXBsYXRlc1VwZGF0ZWQpXHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVzVXBkYXRlZC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyYW5zZm9ybSh0ZW1wbGF0ZUlkOiBzdHJpbmcsIGNvbXBvbmVudD86IGFueSk6IFRlbXBsYXRlUmVmPHN0cmluZz4ge1xyXG4gICAgICAgIGlmICghdGVtcGxhdGVJZCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgaWYgKHRoaXMuY2FjaGVkVGVtcGxhdGUgPT09IG51bGwgfHwgdGhpcy5jYWNoZWRUZW1wbGF0ZUlkICE9PSB0ZW1wbGF0ZUlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVkVGVtcGxhdGVJZCA9IHRlbXBsYXRlSWQ7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVkVGVtcGxhdGUgPSB0aGlzLmdsb2JhbFRlbXBsYXRlcy5nZXQodGVtcGxhdGVJZCwgY29tcG9uZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGVkVGVtcGxhdGU7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,27 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export class GroupByPipe {
5
+ transform(records, column, map = null) {
6
+ const groups = (records || []).reduce((result, item) => {
7
+ const key = ObjectUtils.getValue(item, column) || "";
8
+ const col = map ? (map[key] || "") : key;
9
+ const group = result[col] || [];
10
+ group.push(item);
11
+ result[col] = group;
12
+ return result;
13
+ }, {});
14
+ return Object.keys(groups).map(key => {
15
+ return { group: key, items: groups[key] };
16
+ });
17
+ }
18
+ }
19
+ GroupByPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GroupByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
20
+ GroupByPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GroupByPipe, name: "groupBy" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: GroupByPipe, decorators: [{
22
+ type: Pipe,
23
+ args: [{
24
+ name: "groupBy"
25
+ }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGlwZXMvZ3JvdXAtYnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBS2xELE1BQU0sT0FBTyxXQUFXO0lBRXBCLFNBQVMsQ0FBQyxPQUFjLEVBQUUsTUFBYyxFQUFFLE1BQWlCLElBQUk7UUFDM0QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBVyxFQUFFLElBQVMsRUFBRSxFQUFFO1lBQzdELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDekMsTUFBTSxLQUFLLEdBQVUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDcEIsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqQyxPQUFPLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzt3R0FkUSxXQUFXO3NHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsU0FBUztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SUdyb3VwTWFwfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZ3JvdXBCeVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcm91cEJ5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHRyYW5zZm9ybShyZWNvcmRzOiBhbnlbXSwgY29sdW1uOiBzdHJpbmcsIG1hcDogSUdyb3VwTWFwID0gbnVsbCk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gKHJlY29yZHMgfHwgW10pLnJlZHVjZSgocmVzdWx0OiBhbnksIGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBrZXkgPSBPYmplY3RVdGlscy5nZXRWYWx1ZShpdGVtLCBjb2x1bW4pIHx8IFwiXCI7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbCA9IG1hcCA/IChtYXBba2V5XSB8fCBcIlwiKSA6IGtleTtcclxuICAgICAgICAgICAgY29uc3QgZ3JvdXA6IGFueVtdID0gcmVzdWx0W2NvbF0gfHwgW107XHJcbiAgICAgICAgICAgIGdyb3VwLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIHJlc3VsdFtjb2xdID0gZ3JvdXA7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgfSwge30pO1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhncm91cHMpLm1hcChrZXkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge2dyb3VwOiBrZXksIGl0ZW1zOiBncm91cHNba2V5XX07XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class IsTypePipe {
4
+ transform(value, type) {
5
+ return (typeof value) === type;
6
+ }
7
+ }
8
+ IsTypePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: IsTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ IsTypePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: IsTypePipe, name: "isType" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: IsTypePipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: "isType"
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtdHlwZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9pcy10eXBlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBS2xELE1BQU0sT0FBTyxVQUFVO0lBQ25CLFNBQVMsQ0FBQyxLQUFVLEVBQUUsSUFBWTtRQUM5QixPQUFPLENBQUMsT0FBTyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUM7SUFDbkMsQ0FBQzs7dUdBSFEsVUFBVTtxR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBSHRCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJpc1R5cGVcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgSXNUeXBlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHR5cGU6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuICh0eXBlb2YgdmFsdWUpID09PSB0eXBlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export class JoinPipe {
5
+ transform(value, separator = ", ") {
6
+ return (ObjectUtils.isArray(value))
7
+ ? value.join(separator)
8
+ : "";
9
+ }
10
+ }
11
+ JoinPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: JoinPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12
+ JoinPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: JoinPipe, name: "join" });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: JoinPipe, decorators: [{
14
+ type: Pipe,
15
+ args: [{
16
+ name: "join"
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9pbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9qb2luLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUtsRCxNQUFNLE9BQU8sUUFBUTtJQUVqQixTQUFTLENBQUMsS0FBVSxFQUFFLFlBQW9CLElBQUk7UUFDMUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDYixDQUFDOztxR0FOUSxRQUFRO21HQUFSLFFBQVE7MkZBQVIsUUFBUTtrQkFIcEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsTUFBTTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJqb2luXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEpvaW5QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHNlcGFyYXRvcjogc3RyaW5nID0gXCIsIFwiKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gKE9iamVjdFV0aWxzLmlzQXJyYXkodmFsdWUpKVxyXG4gICAgICAgICAgICA/IHZhbHVlLmpvaW4oc2VwYXJhdG9yKVxyXG4gICAgICAgICAgICA6IFwiXCI7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,22 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ const emptyKeys = [];
5
+ export class KeysPipe {
6
+ transform(value) {
7
+ if (!value)
8
+ return emptyKeys;
9
+ return ObjectUtils.isArray(value)
10
+ ? Array.from(value.keys())
11
+ : Object.keys(value);
12
+ }
13
+ }
14
+ KeysPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
15
+ KeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: KeysPipe, name: "keys" });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: KeysPipe, decorators: [{
17
+ type: Pipe,
18
+ args: [{
19
+ name: "keys"
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9rZXlzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUVsRCxNQUFNLFNBQVMsR0FBVSxFQUFFLENBQUM7QUFLNUIsTUFBTSxPQUFPLFFBQVE7SUFFakIsU0FBUyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUM3QixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDOztxR0FQUSxRQUFRO21HQUFSLFFBQVE7MkZBQVIsUUFBUTtrQkFIcEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsTUFBTTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5cclxuY29uc3QgZW1wdHlLZXlzOiBhbnlbXSA9IFtdO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJrZXlzXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEtleXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnkpOiBhbnlbXSB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuIGVtcHR5S2V5cztcclxuICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuaXNBcnJheSh2YWx1ZSlcclxuICAgICAgICAgICAgPyBBcnJheS5mcm9tKHZhbHVlLmtleXMoKSlcclxuICAgICAgICAgICAgOiBPYmplY3Qua2V5cyh2YWx1ZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,29 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export function defaultMapper(item) {
5
+ return item;
6
+ }
7
+ export class MapPipe {
8
+ transform(values, mapper = defaultMapper, params = {}) {
9
+ if (!ObjectUtils.isArray(values))
10
+ return [];
11
+ const mapperFunc = ObjectUtils.isFunction(mapper) ? mapper : (value, index, params) => {
12
+ return ObjectUtils.evaluate(mapper, {
13
+ value: value,
14
+ index: index,
15
+ params: params
16
+ });
17
+ };
18
+ return values.map((value, index) => mapperFunc(value, index, params));
19
+ }
20
+ }
21
+ MapPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MapPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
22
+ MapPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MapPipe, name: "map" });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MapPipe, decorators: [{
24
+ type: Pipe,
25
+ args: [{
26
+ name: "map"
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL21hcC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFbEQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFJO0lBQzlCLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFLRCxNQUFNLE9BQU8sT0FBTztJQUNoQixTQUFTLENBQUMsTUFBYSxFQUFFLFNBQWMsYUFBYSxFQUFFLFNBQWMsRUFBRTtRQUNsRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNsRixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUNoQyxLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUUsS0FBSztnQkFDWixNQUFNLEVBQUUsTUFBTTthQUNqQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7O29HQVhRLE9BQU87a0dBQVAsT0FBTzsyRkFBUCxPQUFPO2tCQUhuQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxLQUFLO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdE1hcHBlcihpdGVtKSB7XHJcbiAgICByZXR1cm4gaXRlbTtcclxufVxyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJtYXBcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFwUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlczogYW55W10sIG1hcHBlcjogYW55ID0gZGVmYXVsdE1hcHBlciwgcGFyYW1zOiBhbnkgPSB7fSk6IGFueVtdIHtcclxuICAgICAgICBpZiAoIU9iamVjdFV0aWxzLmlzQXJyYXkodmFsdWVzKSkgcmV0dXJuIFtdO1xyXG4gICAgICAgIGNvbnN0IG1hcHBlckZ1bmMgPSBPYmplY3RVdGlscy5pc0Z1bmN0aW9uKG1hcHBlcikgPyBtYXBwZXIgOiAodmFsdWUsIGluZGV4LCBwYXJhbXMpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLmV2YWx1YXRlKG1hcHBlciwge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxyXG4gICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXNcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gdmFsdWVzLm1hcCgodmFsdWUsIGluZGV4KSA9PiBtYXBwZXJGdW5jKHZhbHVlLCBpbmRleCwgcGFyYW1zKSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,26 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import { ArrayUtils } from "../utils/array.utils";
4
+ import * as i0 from "@angular/core";
5
+ export class MaxPipe {
6
+ transform(value, selector = null, params = {}) {
7
+ selector = selector || (item => item);
8
+ const maxSelector = ObjectUtils.isFunction(value) ? value : (item, index, params) => {
9
+ return ObjectUtils.evaluate(selector, {
10
+ item: item,
11
+ index: index,
12
+ params: params
13
+ });
14
+ };
15
+ return ArrayUtils.max(value, (item, index) => maxSelector(item, index, params));
16
+ }
17
+ }
18
+ MaxPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MaxPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
19
+ MaxPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MaxPipe, name: "max" });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MaxPipe, decorators: [{
21
+ type: Pipe,
22
+ args: [{
23
+ name: "max"
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL21heC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7O0FBS2hELE1BQU0sT0FBTyxPQUFPO0lBQ2hCLFNBQVMsQ0FBQyxLQUFZLEVBQUUsV0FBZ0IsSUFBSSxFQUFFLFNBQWMsRUFBRTtRQUMxRCxRQUFRLEdBQUcsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUM5QyxNQUFNLFdBQVcsR0FBYSxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMxRixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO2dCQUNsQyxJQUFJLEVBQUUsSUFBSTtnQkFDVixLQUFLLEVBQUUsS0FBSztnQkFDWixNQUFNLEVBQUUsTUFBTTthQUNqQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFDRixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDOztvR0FYUSxPQUFPO2tHQUFQLE9BQU87MkZBQVAsT0FBTztrQkFIbkIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsS0FBSztpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5pbXBvcnQge0FycmF5VXRpbHN9IGZyb20gXCIuLi91dGlscy9hcnJheS51dGlsc1wiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJtYXhcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF4UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnlbXSwgc2VsZWN0b3I6IGFueSA9IG51bGwsIHBhcmFtczogYW55ID0ge30pOiBudW1iZXIge1xyXG4gICAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3IgfHwgKGl0ZW0gPT4gPG51bWJlcj5pdGVtKTtcclxuICAgICAgICBjb25zdCBtYXhTZWxlY3RvcjogRnVuY3Rpb24gPSBPYmplY3RVdGlscy5pc0Z1bmN0aW9uKHZhbHVlKSA/IHZhbHVlIDogKGl0ZW0sIGluZGV4LCBwYXJhbXMpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLmV2YWx1YXRlKHNlbGVjdG9yLCB7XHJcbiAgICAgICAgICAgICAgICBpdGVtOiBpdGVtLFxyXG4gICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxyXG4gICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXNcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gQXJyYXlVdGlscy5tYXgodmFsdWUsIChpdGVtLCBpbmRleCkgPT4gbWF4U2VsZWN0b3IoaXRlbSwgaW5kZXgsIHBhcmFtcykpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import { ArrayUtils } from "../utils/array.utils";
4
+ import * as i0 from "@angular/core";
5
+ export class MinPipe {
6
+ transform(value, selector = null, params = {}) {
7
+ selector = selector || (item => item);
8
+ const minSelector = ObjectUtils.isFunction(value) ? value : (item, index, params) => {
9
+ return ObjectUtils.evaluate(selector, {
10
+ item: item,
11
+ index: index,
12
+ params: params
13
+ });
14
+ };
15
+ return ArrayUtils.min(value, (item, index) => minSelector(item, index, params));
16
+ }
17
+ }
18
+ MinPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MinPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
19
+ MinPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MinPipe, name: "min" });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MinPipe, decorators: [{
21
+ type: Pipe,
22
+ args: [{
23
+ name: "min"
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL21pbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7O0FBS2hELE1BQU0sT0FBTyxPQUFPO0lBQ2hCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsV0FBZ0IsSUFBSSxFQUFFLFNBQWMsRUFBRTtRQUN4RCxRQUFRLEdBQUcsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBUyxJQUFJLENBQUMsQ0FBQztRQUM5QyxNQUFNLFdBQVcsR0FBYSxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMxRixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO2dCQUNsQyxJQUFJLEVBQUUsSUFBSTtnQkFDVixLQUFLLEVBQUUsS0FBSztnQkFDWixNQUFNLEVBQUUsTUFBTTthQUNqQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFDRixPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDOztvR0FYUSxPQUFPO2tHQUFQLE9BQU87MkZBQVAsT0FBTztrQkFIbkIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsS0FBSztpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5pbXBvcnQge0FycmF5VXRpbHN9IGZyb20gXCIuLi91dGlscy9hcnJheS51dGlsc1wiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJtaW5cIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWluUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHNlbGVjdG9yOiBhbnkgPSBudWxsLCBwYXJhbXM6IGFueSA9IHt9KTogbnVtYmVyIHtcclxuICAgICAgICBzZWxlY3RvciA9IHNlbGVjdG9yIHx8IChpdGVtID0+IDxudW1iZXI+aXRlbSk7XHJcbiAgICAgICAgY29uc3QgbWluU2VsZWN0b3I6IEZ1bmN0aW9uID0gT2JqZWN0VXRpbHMuaXNGdW5jdGlvbih2YWx1ZSkgPyB2YWx1ZSA6IChpdGVtLCBpbmRleCwgcGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3RVdGlscy5ldmFsdWF0ZShzZWxlY3Rvciwge1xyXG4gICAgICAgICAgICAgICAgaXRlbTogaXRlbSxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIEFycmF5VXRpbHMubWluKHZhbHVlLCAoaXRlbSwgaW5kZXgpID0+IG1pblNlbGVjdG9yKGl0ZW0sIGluZGV4LCBwYXJhbXMpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export function defaultReducer(result) {
5
+ return result;
6
+ }
7
+ export class ReducePipe {
8
+ transform(values, source, reducer = defaultReducer, params = {}) {
9
+ if (!ObjectUtils.isArray(values))
10
+ return [];
11
+ const mapperFunc = ObjectUtils.isFunction(reducer) ? reducer : (result, value, index, params) => {
12
+ return ObjectUtils.evaluate(reducer, {
13
+ result: result,
14
+ value: value,
15
+ index: index,
16
+ params: params
17
+ });
18
+ };
19
+ return values.reduce((result, value, index) => mapperFunc(result, value, index, params), source);
20
+ }
21
+ }
22
+ ReducePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ReducePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
23
+ ReducePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ReducePipe, name: "reduce" });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ReducePipe, decorators: [{
25
+ type: Pipe,
26
+ args: [{
27
+ name: "reduce"
28
+ }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL3JlZHVjZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFbEQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFNO0lBQ2pDLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFLRCxNQUFNLE9BQU8sVUFBVTtJQUNuQixTQUFTLENBQUMsTUFBYSxFQUFFLE1BQVcsRUFBRSxVQUFlLGNBQWMsRUFBRSxTQUFjLEVBQUU7UUFDakYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzVGLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pDLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxLQUFLO2dCQUNaLE1BQU0sRUFBRSxNQUFNO2FBQ2pCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckcsQ0FBQzs7dUdBWlEsVUFBVTtxR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBSHRCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFFBQVE7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdFJlZHVjZXIocmVzdWx0KSB7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcInJlZHVjZVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWR1Y2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0odmFsdWVzOiBhbnlbXSwgc291cmNlOiBhbnksIHJlZHVjZXI6IGFueSA9IGRlZmF1bHRSZWR1Y2VyLCBwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcclxuICAgICAgICBpZiAoIU9iamVjdFV0aWxzLmlzQXJyYXkodmFsdWVzKSkgcmV0dXJuIFtdO1xyXG4gICAgICAgIGNvbnN0IG1hcHBlckZ1bmMgPSBPYmplY3RVdGlscy5pc0Z1bmN0aW9uKHJlZHVjZXIpID8gcmVkdWNlciA6IChyZXN1bHQsIHZhbHVlLCBpbmRleCwgcGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3RVdGlscy5ldmFsdWF0ZShyZWR1Y2VyLCB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ6IHJlc3VsdCxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5yZWR1Y2UoKHJlc3VsdCwgdmFsdWUsIGluZGV4KSA9PiBtYXBwZXJGdW5jKHJlc3VsdCwgdmFsdWUsIGluZGV4LCBwYXJhbXMpLCBzb3VyY2UpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ const empty = {};
5
+ export class RemapPipe {
6
+ transform(map, source, defaultValue = "key") {
7
+ if (!map)
8
+ return empty;
9
+ if (!source)
10
+ return map;
11
+ const remapped = ObjectUtils.filter({ map: ObjectUtils.copy(map) }, (value, key, target) => {
12
+ if (ObjectUtils.isArray(value) && value.every(ObjectUtils.isString)) {
13
+ target[key] = value.reduce((result, k) => {
14
+ result[k] = ObjectUtils.getValue(source, k, ObjectUtils.evaluate(defaultValue, { key: k, map: map, source: source }));
15
+ return result;
16
+ }, {});
17
+ return false;
18
+ }
19
+ return true;
20
+ });
21
+ return remapped.map;
22
+ }
23
+ }
24
+ RemapPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: RemapPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
25
+ RemapPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: RemapPipe, name: "remap" });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: RemapPipe, decorators: [{
27
+ type: Pipe,
28
+ args: [{
29
+ name: "remap"
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtYXAucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGlwZXMvcmVtYXAucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBRWxELE1BQU0sS0FBSyxHQUFRLEVBQUUsQ0FBQztBQUt0QixNQUFNLE9BQU8sU0FBUztJQUVsQixTQUFTLENBQUMsR0FBUSxFQUFFLE1BQVcsRUFBRSxlQUF1QixLQUFLO1FBQ3pELElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUN4QixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckYsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNqRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDckMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwSCxPQUFPLE1BQU0sQ0FBQztnQkFDbEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNQLE9BQU8sS0FBSyxDQUFDO2FBQ2hCO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDeEIsQ0FBQzs7c0dBaEJRLFNBQVM7b0dBQVQsU0FBUzsyRkFBVCxTQUFTO2tCQUhyQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxPQUFPO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5cclxuY29uc3QgZW1wdHk6IGFueSA9IHt9O1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJyZW1hcFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW1hcFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgICB0cmFuc2Zvcm0obWFwOiBhbnksIHNvdXJjZTogYW55LCBkZWZhdWx0VmFsdWU6IHN0cmluZyA9IFwia2V5XCIpOiBhbnkge1xyXG4gICAgICAgIGlmICghbWFwKSByZXR1cm4gZW1wdHk7XHJcbiAgICAgICAgaWYgKCFzb3VyY2UpIHJldHVybiBtYXA7XHJcbiAgICAgICAgY29uc3QgcmVtYXBwZWQgPSBPYmplY3RVdGlscy5maWx0ZXIoe21hcDogT2JqZWN0VXRpbHMuY29weShtYXApfSwgKHZhbHVlLCBrZXksIHRhcmdldCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoT2JqZWN0VXRpbHMuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUuZXZlcnkoT2JqZWN0VXRpbHMuaXNTdHJpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXRba2V5XSA9IHZhbHVlLnJlZHVjZSgocmVzdWx0LCBrKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2tdID0gT2JqZWN0VXRpbHMuZ2V0VmFsdWUoc291cmNlLCBrLCBPYmplY3RVdGlscy5ldmFsdWF0ZShkZWZhdWx0VmFsdWUsIHtrZXk6IGssIG1hcDogbWFwLCBzb3VyY2U6IHNvdXJjZX0pKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgfSwge30pO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiByZW1hcHBlZC5tYXA7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,16 @@
1
+ import { Pipe } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class ReplacePipe {
4
+ transform(value, from, to) {
5
+ return value ? value.replace(from, to) : value;
6
+ }
7
+ }
8
+ ReplacePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ReplacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ ReplacePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ReplacePipe, name: "replace" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ReplacePipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: "replace"
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9yZXBsYWNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBS2xELE1BQU0sT0FBTyxXQUFXO0lBRXBCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBcUIsRUFBRSxFQUFVO1FBQ3RELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ25ELENBQUM7O3dHQUpRLFdBQVc7c0dBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUh2QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxTQUFTO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwicmVwbGFjZVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBsYWNlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBmcm9tOiBzdHJpbmcgfCBSZWdFeHAsIHRvOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnJlcGxhY2UoZnJvbSwgdG8pIDogdmFsdWU7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,24 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ const emptyArray = [];
5
+ export class ReversePipe {
6
+ transform(value) {
7
+ if (!ObjectUtils.isArray(value))
8
+ return emptyArray;
9
+ const result = [];
10
+ for (let i = value.length - 1; i >= 0; i--) {
11
+ result.push(value[i]);
12
+ }
13
+ return result;
14
+ }
15
+ }
16
+ ReversePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ReversePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
17
+ ReversePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ReversePipe, name: "reverse" });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ReversePipe, decorators: [{
19
+ type: Pipe,
20
+ args: [{
21
+ name: "reverse"
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2ZXJzZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9yZXZlcnNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUVsRCxNQUFNLFVBQVUsR0FBVSxFQUFFLENBQUM7QUFLN0IsTUFBTSxPQUFPLFdBQVc7SUFFcEIsU0FBUyxDQUFDLEtBQVk7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxVQUFVLENBQUM7UUFDbkQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7d0dBVFEsV0FBVztzR0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBSHZCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFNBQVM7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5jb25zdCBlbXB0eUFycmF5OiBhbnlbXSA9IFtdO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJyZXZlcnNlXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFJldmVyc2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnlbXSk6IGFueVtdIHtcclxuICAgICAgICBpZiAoIU9iamVjdFV0aWxzLmlzQXJyYXkodmFsdWUpKSByZXR1cm4gZW1wdHlBcnJheTtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gdmFsdWUubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICAgICAgcmVzdWx0LnB1c2godmFsdWVbaV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { FormatterService } from "../services/formatter.service";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../services/formatter.service";
5
+ export class RoundPipe {
6
+ constructor(formatter) {
7
+ this.formatter = formatter;
8
+ }
9
+ transform(value, precision = 2, divider = 1) {
10
+ return this.formatter.roundNumber(value, precision, divider);
11
+ }
12
+ }
13
+ RoundPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: RoundPipe, deps: [{ token: i1.FormatterService }], target: i0.ɵɵFactoryTarget.Pipe });
14
+ RoundPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: RoundPipe, name: "round" });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: RoundPipe, decorators: [{
16
+ type: Pipe,
17
+ args: [{
18
+ name: "round"
19
+ }]
20
+ }], ctorParameters: function () { return [{ type: i1.FormatterService }]; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGlwZXMvcm91bmQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBSy9ELE1BQU0sT0FBTyxTQUFTO0lBRWxCLFlBQW9CLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQy9DLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLFlBQW9CLENBQUMsRUFBRSxVQUFrQixDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDOztzR0FQUSxTQUFTO29HQUFULFNBQVM7MkZBQVQsU0FBUztrQkFIckIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsT0FBTztpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Rm9ybWF0dGVyU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcInJvdW5kXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvdW5kUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybWF0dGVyOiBGb3JtYXR0ZXJTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIsIHByZWNpc2lvbjogbnVtYmVyID0gMiwgZGl2aWRlcjogbnVtYmVyID0gMSk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJvdW5kTnVtYmVyKHZhbHVlLCBwcmVjaXNpb24sIGRpdmlkZXIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { DomSanitizer } from "@angular/platform-browser";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/platform-browser";
5
+ export class SafeHtmlPipe {
6
+ constructor(sanitizer) {
7
+ this.sanitizer = sanitizer;
8
+ }
9
+ transform(value, type = "html") {
10
+ switch (type) {
11
+ case "html":
12
+ return this.sanitizer.bypassSecurityTrustHtml(value);
13
+ case "style":
14
+ return this.sanitizer.bypassSecurityTrustStyle(value);
15
+ case "script":
16
+ return this.sanitizer.bypassSecurityTrustScript(value);
17
+ case "url":
18
+ return this.sanitizer.bypassSecurityTrustUrl(value);
19
+ case "resourceUrl":
20
+ return this.sanitizer.bypassSecurityTrustResourceUrl(value);
21
+ default:
22
+ throw new Error(`SafePipe unable to bypass security for invalid type: ${type}`);
23
+ }
24
+ }
25
+ }
26
+ SafeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
27
+ SafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: SafeHtmlPipe, name: "safe" });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: SafeHtmlPipe, decorators: [{
29
+ type: Pipe,
30
+ args: [{
31
+ name: "safe"
32
+ }]
33
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL3NhZmUtaHRtbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxZQUFZLEVBQVcsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBS2pFLE1BQU0sT0FBTyxZQUFZO0lBRXJCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFFM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhLEVBQUUsT0FBZSxNQUFNO1FBQzFDLFFBQVEsSUFBSSxFQUFFO1lBQ1YsS0FBSyxNQUFNO2dCQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6RCxLQUFLLE9BQU87Z0JBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFELEtBQUssUUFBUTtnQkFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0QsS0FBSyxLQUFLO2dCQUNOLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RCxLQUFLLGFBQWE7Z0JBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hFO2dCQUNJLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELElBQUksRUFBRSxDQUFDLENBQUM7U0FDdkY7SUFDTCxDQUFDOzt5R0FyQlEsWUFBWTt1R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLE1BQU07aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlSHRtbH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwic2FmZVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWZlSHRtbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcgPSBcImh0bWxcIik6IFNhZmVIdG1sIHtcclxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBcImh0bWxcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIGNhc2UgXCJzdHlsZVwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZSh2YWx1ZSk7XHJcbiAgICAgICAgICAgIGNhc2UgXCJzY3JpcHRcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U2NyaXB0KHZhbHVlKTtcclxuICAgICAgICAgICAgY2FzZSBcInVybFwiOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwodmFsdWUpO1xyXG4gICAgICAgICAgICBjYXNlIFwicmVzb3VyY2VVcmxcIjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodmFsdWUpO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTYWZlUGlwZSB1bmFibGUgdG8gYnlwYXNzIHNlY3VyaXR5IGZvciBpbnZhbGlkIHR5cGU6ICR7dHlwZX1gKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19