@stemy/ngx-utils 12.1.2 → 12.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/stemy-ngx-utils.umd.js +51 -30
- package/bundles/stemy-ngx-utils.umd.js.map +1 -1
- package/esm2015/ngx-utils/components/unordered-list/unordered-list.component.js +2 -2
- package/esm2015/ngx-utils/services/acl.service.js +3 -1
- package/esm2015/ngx-utils/services/config.service.js +4 -4
- package/esm2015/ngx-utils/services/static-language.service.js +17 -17
- package/esm2015/ngx-utils/services/storage.service.js +4 -4
- package/esm2015/ngx-utils/utils/file-system.js +20 -0
- package/esm2015/public_api.js +2 -1
- package/esm2020/ngx-utils/common-types.mjs +117 -0
- package/esm2020/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +178 -0
- package/esm2020/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +101 -0
- package/esm2020/ngx-utils/components/unordered-list/unordered-list.component.mjs +65 -0
- package/esm2020/ngx-utils/directives/async-method.base.mjs +78 -0
- package/esm2020/ngx-utils/directives/async-method.directive.mjs +21 -0
- package/esm2020/ngx-utils/directives/background.directive.mjs +51 -0
- package/esm2020/ngx-utils/directives/dynamic-table-template.directive.mjs +20 -0
- package/esm2020/ngx-utils/directives/global-template.directive.mjs +30 -0
- package/esm2020/ngx-utils/directives/icon.directive.mjs +67 -0
- package/esm2020/ngx-utils/directives/ngx-template-outlet.directive.mjs +90 -0
- package/esm2020/ngx-utils/directives/pagination-item.directive.mjs +33 -0
- package/esm2020/ngx-utils/directives/pagination.directive.mjs +83 -0
- package/esm2020/ngx-utils/directives/resource-if.directive.mjs +50 -0
- package/esm2020/ngx-utils/directives/sticky-class.directive.mjs +34 -0
- package/esm2020/ngx-utils/directives/sticky.directive.mjs +55 -0
- package/esm2020/ngx-utils/directives/unordered-list-item.directive.mjs +77 -0
- package/esm2020/ngx-utils/directives/unordered-list-template.directive.mjs +26 -0
- package/esm2020/ngx-utils/ngx-utils.imports.mjs +165 -0
- package/esm2020/ngx-utils/ngx-utils.module.mjs +178 -0
- package/esm2020/ngx-utils/pipes/chunk.pipe.mjs +25 -0
- package/esm2020/ngx-utils/pipes/entries.pipe.mjs +28 -0
- package/esm2020/ngx-utils/pipes/extra-item-properties.pipe.mjs +31 -0
- package/esm2020/ngx-utils/pipes/filter.pipe.mjs +42 -0
- package/esm2020/ngx-utils/pipes/find.pipe.mjs +29 -0
- package/esm2020/ngx-utils/pipes/format-number.pipe.mjs +21 -0
- package/esm2020/ngx-utils/pipes/get-offset.pipe.mjs +17 -0
- package/esm2020/ngx-utils/pipes/get-type.pipe.mjs +16 -0
- package/esm2020/ngx-utils/pipes/global-template.pipe.mjs +41 -0
- package/esm2020/ngx-utils/pipes/group-by.pipe.mjs +27 -0
- package/esm2020/ngx-utils/pipes/is-type.pipe.mjs +16 -0
- package/esm2020/ngx-utils/pipes/join.pipe.mjs +19 -0
- package/esm2020/ngx-utils/pipes/keys.pipe.mjs +22 -0
- package/esm2020/ngx-utils/pipes/map.pipe.mjs +29 -0
- package/esm2020/ngx-utils/pipes/max.pipe.mjs +26 -0
- package/esm2020/ngx-utils/pipes/min.pipe.mjs +26 -0
- package/esm2020/ngx-utils/pipes/reduce.pipe.mjs +30 -0
- package/esm2020/ngx-utils/pipes/remap.pipe.mjs +32 -0
- package/esm2020/ngx-utils/pipes/replace.pipe.mjs +16 -0
- package/esm2020/ngx-utils/pipes/reverse.pipe.mjs +24 -0
- package/esm2020/ngx-utils/pipes/round.pipe.mjs +21 -0
- package/esm2020/ngx-utils/pipes/safe-html.pipe.mjs +34 -0
- package/esm2020/ngx-utils/pipes/translate.pipe.mjs +86 -0
- package/esm2020/ngx-utils/pipes/values.pipe.mjs +22 -0
- package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +59 -0
- package/esm2020/ngx-utils/plugins/scroll-event.plugin.mjs +39 -0
- package/esm2020/ngx-utils/services/acl.service.mjs +83 -0
- package/esm2020/ngx-utils/services/api.service.mjs +38 -0
- package/esm2020/ngx-utils/services/auth.service.mjs +14 -0
- package/esm2020/ngx-utils/services/base-http.client.mjs +47 -0
- package/esm2020/ngx-utils/services/base-http.service.mjs +298 -0
- package/esm2020/ngx-utils/services/config.service.mjs +116 -0
- package/esm2020/ngx-utils/services/error-handler.service.mjs +49 -0
- package/esm2020/ngx-utils/services/events.service.mjs +26 -0
- package/esm2020/ngx-utils/services/formatter.service.mjs +47 -0
- package/esm2020/ngx-utils/services/global-template.service.mjs +37 -0
- package/esm2020/ngx-utils/services/icon.service.mjs +26 -0
- package/esm2020/ngx-utils/services/language.service.mjs +113 -0
- package/esm2020/ngx-utils/services/open-api.service.mjs +40 -0
- package/esm2020/ngx-utils/services/promise.service.mjs +55 -0
- package/esm2020/ngx-utils/services/state.service.mjs +173 -0
- package/esm2020/ngx-utils/services/static-language.service.mjs +166 -0
- package/esm2020/ngx-utils/services/storage.service.mjs +49 -0
- package/esm2020/ngx-utils/services/toaster.service.mjs +32 -0
- package/esm2020/ngx-utils/services/translated-url.serializer.mjs +73 -0
- package/esm2020/ngx-utils/services/universal.service.mjs +78 -0
- package/esm2020/ngx-utils/utils/ajax-request-handler.mjs +40 -0
- package/esm2020/ngx-utils/utils/array.utils.mjs +100 -0
- package/esm2020/ngx-utils/utils/auth.guard.mjs +181 -0
- package/esm2020/ngx-utils/utils/canvas.utils.mjs +388 -0
- package/esm2020/ngx-utils/utils/date.utils.mjs +28 -0
- package/esm2020/ngx-utils/utils/file-system.mjs +20 -0
- package/esm2020/ngx-utils/utils/file.utils.mjs +90 -0
- package/esm2020/ngx-utils/utils/generic-value.mjs +20 -0
- package/esm2020/ngx-utils/utils/geometry.mjs +132 -0
- package/esm2020/ngx-utils/utils/initializer.mjs +20 -0
- package/esm2020/ngx-utils/utils/loader.utils.mjs +55 -0
- package/esm2020/ngx-utils/utils/math.utils.mjs +15 -0
- package/esm2020/ngx-utils/utils/object.utils.mjs +261 -0
- package/esm2020/ngx-utils/utils/observable.utils.mjs +63 -0
- package/esm2020/ngx-utils/utils/reflect.utils.mjs +33 -0
- package/esm2020/ngx-utils/utils/set.utils.mjs +20 -0
- package/esm2020/ngx-utils/utils/string.utils.mjs +41 -0
- package/esm2020/ngx-utils/utils/timer.utils.mjs +52 -0
- package/esm2020/ngx-utils/utils/unique.utils.mjs +24 -0
- package/esm2020/ngx-utils/utils/vector.mjs +77 -0
- package/esm2020/public_api.mjs +86 -0
- package/esm2020/stemy-ngx-utils.mjs +5 -0
- package/esm2020/tools/config.mjs +71 -0
- package/esm2020/tools/public_api.mjs +2 -0
- package/esm2020/tools/stemy-ngx-utils-tools.mjs +5 -0
- package/fesm2015/stemy-ngx-utils-tools.mjs +77 -0
- package/fesm2015/stemy-ngx-utils-tools.mjs.map +1 -0
- package/fesm2015/stemy-ngx-utils.js +46 -24
- package/fesm2015/stemy-ngx-utils.js.map +1 -1
- package/fesm2015/stemy-ngx-utils.mjs +5190 -0
- package/fesm2015/stemy-ngx-utils.mjs.map +1 -0
- package/fesm2020/stemy-ngx-utils-tools.mjs +77 -0
- package/fesm2020/stemy-ngx-utils-tools.mjs.map +1 -0
- package/fesm2020/stemy-ngx-utils.mjs +5121 -0
- package/fesm2020/stemy-ngx-utils.mjs.map +1 -0
- package/ngx-utils/services/static-language.service.d.ts +1 -1
- package/ngx-utils/utils/file-system.d.ts +16 -0
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/stemy-ngx-utils.metadata.json +1 -1
- package/tools/config.d.ts +7 -0
- package/tools/package.json +10 -0
- package/tools/public_api.d.ts +1 -0
- package/tools/stemy-ngx-utils-tools.d.ts +5 -0
- package/bundles/stemy-ngx-utils.umd.min.js +0 -16
- package/bundles/stemy-ngx-utils.umd.min.js.map +0 -1
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { APP_INITIALIZER, Injector, NgModule } from "@angular/core";
|
|
2
|
+
import { APP_BASE_HREF, CommonModule } from "@angular/common";
|
|
3
|
+
import { FormsModule } from "@angular/forms";
|
|
4
|
+
import { API_SERVICE, APP_BASE_URL, AUTH_SERVICE, CONFIG_SERVICE, GLOBAL_TEMPLATES, ICON_SERVICE, LANGUAGE_SERVICE, PROMISE_SERVICE, ROOT_ELEMENT, TOASTER_SERVICE } from "./common-types";
|
|
5
|
+
import { components, directives, loadConfig, pipes, providers } from "./ngx-utils.imports";
|
|
6
|
+
import { ApiService } from "./services/api.service";
|
|
7
|
+
import { StaticAuthService } from "./services/auth.service";
|
|
8
|
+
import { IconService } from "./services/icon.service";
|
|
9
|
+
import { StaticLanguageService } from "./services/static-language.service";
|
|
10
|
+
import { ConsoleToasterService } from "./services/toaster.service";
|
|
11
|
+
import { PromiseService } from "./services/promise.service";
|
|
12
|
+
import { ConfigService } from "./services/config.service";
|
|
13
|
+
import { GlobalTemplateService } from "./services/global-template.service";
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "./pipes/chunk.pipe";
|
|
16
|
+
import * as i2 from "./pipes/entries.pipe";
|
|
17
|
+
import * as i3 from "./pipes/extra-item-properties.pipe";
|
|
18
|
+
import * as i4 from "./pipes/filter.pipe";
|
|
19
|
+
import * as i5 from "./pipes/find.pipe";
|
|
20
|
+
import * as i6 from "./pipes/format-number.pipe";
|
|
21
|
+
import * as i7 from "./pipes/get-offset.pipe";
|
|
22
|
+
import * as i8 from "./pipes/get-type.pipe";
|
|
23
|
+
import * as i9 from "./pipes/global-template.pipe";
|
|
24
|
+
import * as i10 from "./pipes/group-by.pipe";
|
|
25
|
+
import * as i11 from "./pipes/is-type.pipe";
|
|
26
|
+
import * as i12 from "./pipes/join.pipe";
|
|
27
|
+
import * as i13 from "./pipes/keys.pipe";
|
|
28
|
+
import * as i14 from "./pipes/map.pipe";
|
|
29
|
+
import * as i15 from "./pipes/max.pipe";
|
|
30
|
+
import * as i16 from "./pipes/min.pipe";
|
|
31
|
+
import * as i17 from "./pipes/reduce.pipe";
|
|
32
|
+
import * as i18 from "./pipes/remap.pipe";
|
|
33
|
+
import * as i19 from "./pipes/replace.pipe";
|
|
34
|
+
import * as i20 from "./pipes/reverse.pipe";
|
|
35
|
+
import * as i21 from "./pipes/round.pipe";
|
|
36
|
+
import * as i22 from "./pipes/safe-html.pipe";
|
|
37
|
+
import * as i23 from "./pipes/translate.pipe";
|
|
38
|
+
import * as i24 from "./pipes/values.pipe";
|
|
39
|
+
import * as i25 from "./directives/async-method.base";
|
|
40
|
+
import * as i26 from "./directives/async-method.directive";
|
|
41
|
+
import * as i27 from "./directives/background.directive";
|
|
42
|
+
import * as i28 from "./directives/dynamic-table-template.directive";
|
|
43
|
+
import * as i29 from "./directives/global-template.directive";
|
|
44
|
+
import * as i30 from "./directives/icon.directive";
|
|
45
|
+
import * as i31 from "./directives/ngx-template-outlet.directive";
|
|
46
|
+
import * as i32 from "./directives/pagination.directive";
|
|
47
|
+
import * as i33 from "./directives/pagination-item.directive";
|
|
48
|
+
import * as i34 from "./directives/resource-if.directive";
|
|
49
|
+
import * as i35 from "./directives/sticky.directive";
|
|
50
|
+
import * as i36 from "./directives/sticky-class.directive";
|
|
51
|
+
import * as i37 from "./directives/unordered-list-item.directive";
|
|
52
|
+
import * as i38 from "./directives/unordered-list-template.directive";
|
|
53
|
+
import * as i39 from "./components/dynamic-table/dynamic-table.component";
|
|
54
|
+
import * as i40 from "./components/pagination-menu/pagination-menu.component";
|
|
55
|
+
import * as i41 from "./components/unordered-list/unordered-list.component";
|
|
56
|
+
export function loadBaseUrl() {
|
|
57
|
+
if (typeof (document) === "undefined" || typeof (location) === "undefined")
|
|
58
|
+
return "/";
|
|
59
|
+
const currentScript = document.currentScript;
|
|
60
|
+
if (!currentScript) {
|
|
61
|
+
try {
|
|
62
|
+
// noinspection ExceptionCaughtLocallyJS
|
|
63
|
+
throw new Error();
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
const qualifiedUrl = location.protocol + "//" + location.host;
|
|
67
|
+
const stack = (e.stack || "");
|
|
68
|
+
const srcUrl = (stack.match(new RegExp(qualifiedUrl + ".*?\\.js", "g")) || stack.match(/http([A-Z:\/\-.]+)\.js/gi)).shift();
|
|
69
|
+
const lastIndex = srcUrl.lastIndexOf("/");
|
|
70
|
+
return lastIndex < 0 ? "/" : srcUrl.substring(0, lastIndex + 1);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const scriptSrc = currentScript.src;
|
|
74
|
+
const lastIndex = scriptSrc.lastIndexOf("/");
|
|
75
|
+
return lastIndex < 0 ? "/" : scriptSrc.substring(0, lastIndex + 1);
|
|
76
|
+
}
|
|
77
|
+
export function loadBaseHref(baseUrl) {
|
|
78
|
+
try {
|
|
79
|
+
return new URL(baseUrl).pathname;
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
console.log(e);
|
|
83
|
+
return "/";
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
export class NgxUtilsModule {
|
|
87
|
+
constructor() {
|
|
88
|
+
}
|
|
89
|
+
static forRoot(config) {
|
|
90
|
+
return {
|
|
91
|
+
ngModule: NgxUtilsModule,
|
|
92
|
+
providers: [
|
|
93
|
+
...providers,
|
|
94
|
+
{
|
|
95
|
+
provide: API_SERVICE,
|
|
96
|
+
useExisting: (!config ? null : config.apiService) || ApiService
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
provide: AUTH_SERVICE,
|
|
100
|
+
useExisting: (!config ? null : config.authService) || StaticAuthService
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
provide: ICON_SERVICE,
|
|
104
|
+
useExisting: (!config ? null : config.iconService) || IconService
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
provide: LANGUAGE_SERVICE,
|
|
108
|
+
useExisting: (!config ? null : config.languageService) || StaticLanguageService
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
provide: TOASTER_SERVICE,
|
|
112
|
+
useExisting: (!config ? null : config.toasterService) || ConsoleToasterService
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
provide: PROMISE_SERVICE,
|
|
116
|
+
useExisting: (!config ? null : config.promiseService) || PromiseService
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
provide: CONFIG_SERVICE,
|
|
120
|
+
useExisting: (!config ? null : config.configService) || ConfigService
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
provide: GLOBAL_TEMPLATES,
|
|
124
|
+
useExisting: (!config ? null : config.globalTemplates) || GlobalTemplateService
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
provide: APP_BASE_URL,
|
|
128
|
+
useFactory: (!config ? null : config.baseUrl) || loadBaseUrl,
|
|
129
|
+
deps: [Injector]
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
provide: ROOT_ELEMENT,
|
|
133
|
+
useValue: null
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
provide: APP_INITIALIZER,
|
|
137
|
+
useFactory: (!config ? null : config.initializeApp) || loadConfig,
|
|
138
|
+
multi: true,
|
|
139
|
+
deps: [(!config ? null : config.initializeApp) ? Injector : CONFIG_SERVICE]
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
provide: APP_BASE_HREF,
|
|
143
|
+
useFactory: loadBaseHref,
|
|
144
|
+
deps: [APP_BASE_URL]
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
NgxUtilsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxUtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
151
|
+
NgxUtilsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxUtilsModule, declarations: [i1.ChunkPipe, i2.EntriesPipe, i3.ExtraItemPropertiesPipe, i4.FilterPipe, i5.FindPipe, i6.FormatNumberPipe, i7.GetOffsetPipe, i8.GetTypePipe, i9.GlobalTemplatePipe, i10.GroupByPipe, i11.IsTypePipe, i12.JoinPipe, i13.KeysPipe, i14.MapPipe, i15.MaxPipe, i16.MinPipe, i17.ReducePipe, i18.RemapPipe, i19.ReplacePipe, i20.ReversePipe, i21.RoundPipe, i22.SafeHtmlPipe, i23.TranslatePipe, i24.ValuesPipe, i25.AsyncMethodBase, i26.AsyncMethodDirective, i27.BackgroundDirective, i28.DynamicTableTemplateDirective, i29.GlobalTemplateDirective, i30.IconDirective, i31.NgxTemplateOutletDirective, i32.PaginationDirective, i33.PaginationItemDirective, i34.ResourceIfDirective, i35.StickyDirective, i36.StickyClassDirective, i37.UnorderedListItemDirective, i38.UnorderedListTemplateDirective, i39.DynamicTableComponent, i40.PaginationMenuComponent, i41.UnorderedListComponent], imports: [CommonModule,
|
|
152
|
+
FormsModule], exports: [i1.ChunkPipe, i2.EntriesPipe, i3.ExtraItemPropertiesPipe, i4.FilterPipe, i5.FindPipe, i6.FormatNumberPipe, i7.GetOffsetPipe, i8.GetTypePipe, i9.GlobalTemplatePipe, i10.GroupByPipe, i11.IsTypePipe, i12.JoinPipe, i13.KeysPipe, i14.MapPipe, i15.MaxPipe, i16.MinPipe, i17.ReducePipe, i18.RemapPipe, i19.ReplacePipe, i20.ReversePipe, i21.RoundPipe, i22.SafeHtmlPipe, i23.TranslatePipe, i24.ValuesPipe, i25.AsyncMethodBase, i26.AsyncMethodDirective, i27.BackgroundDirective, i28.DynamicTableTemplateDirective, i29.GlobalTemplateDirective, i30.IconDirective, i31.NgxTemplateOutletDirective, i32.PaginationDirective, i33.PaginationItemDirective, i34.ResourceIfDirective, i35.StickyDirective, i36.StickyClassDirective, i37.UnorderedListItemDirective, i38.UnorderedListTemplateDirective, i39.DynamicTableComponent, i40.PaginationMenuComponent, i41.UnorderedListComponent, FormsModule] });
|
|
153
|
+
NgxUtilsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxUtilsModule, providers: pipes, imports: [[
|
|
154
|
+
CommonModule,
|
|
155
|
+
FormsModule
|
|
156
|
+
], FormsModule] });
|
|
157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxUtilsModule, decorators: [{
|
|
158
|
+
type: NgModule,
|
|
159
|
+
args: [{
|
|
160
|
+
declarations: [
|
|
161
|
+
...pipes,
|
|
162
|
+
...directives,
|
|
163
|
+
...components
|
|
164
|
+
],
|
|
165
|
+
imports: [
|
|
166
|
+
CommonModule,
|
|
167
|
+
FormsModule
|
|
168
|
+
],
|
|
169
|
+
exports: [
|
|
170
|
+
...pipes,
|
|
171
|
+
...directives,
|
|
172
|
+
...components,
|
|
173
|
+
FormsModule
|
|
174
|
+
],
|
|
175
|
+
providers: pipes
|
|
176
|
+
}]
|
|
177
|
+
}], ctorParameters: function () { return []; } });
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXV0aWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLFlBQVksRUFFWixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFlBQVksRUFDWixlQUFlLEVBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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b0JBQ2pFLEtBQUssRUFBRSxJQUFJO29CQUNYLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztpQkFDOUU7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFVBQVUsRUFBRSxZQUFZO29CQUN4QixJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3ZCO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQzs7MkdBN0RRLGNBQWM7NEdBQWQsY0FBYywwM0JBWG5CLFlBQVk7UUFDWixXQUFXLDIyQkFNWCxXQUFXOzRHQUlOLGNBQWMsYUFGWixLQUFLLFlBVlA7WUFDTCxZQUFZO1lBQ1osV0FBVztTQUNkLEVBS0csV0FBVzsyRkFJTixjQUFjO2tCQWxCMUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsR0FBRyxLQUFLO3dCQUNSLEdBQUcsVUFBVTt3QkFDYixHQUFHLFVBQVU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLEdBQUcsS0FBSzt3QkFDUixHQUFHLFVBQVU7d0JBQ2IsR0FBRyxVQUFVO3dCQUNiLFdBQVc7cUJBQ2Q7b0JBQ0QsU0FBUyxFQUFFLEtBQUs7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBUFBfSU5JVElBTElaRVIsIEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBUFBfQkFTRV9IUkVGLCBDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7XHJcbiAgICBBUElfU0VSVklDRSxcclxuICAgIEFQUF9CQVNFX1VSTCxcclxuICAgIEFVVEhfU0VSVklDRSxcclxuICAgIENPTkZJR19TRVJWSUNFLFxyXG4gICAgR0xPQkFMX1RFTVBMQVRFUyxcclxuICAgIElDT05fU0VSVklDRSxcclxuICAgIElNb2R1bGVDb25maWcsXHJcbiAgICBMQU5HVUFHRV9TRVJWSUNFLFxyXG4gICAgUFJPTUlTRV9TRVJWSUNFLFxyXG4gICAgUk9PVF9FTEVNRU5ULFxyXG4gICAgVE9BU1RFUl9TRVJWSUNFXHJcbn0gZnJvbSBcIi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7Y29tcG9uZW50cywgZGlyZWN0aXZlcywgbG9hZENvbmZpZywgcGlwZXMsIHByb3ZpZGVyc30gZnJvbSBcIi4vbmd4LXV0aWxzLmltcG9ydHNcIjtcclxuaW1wb3J0IHtBcGlTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0YXRpY0F1dGhTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29uU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvaWNvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RhdGljTGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9zdGF0aWMtbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvbnNvbGVUb2FzdGVyU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UHJvbWlzZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3Byb21pc2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7R2xvYmFsVGVtcGxhdGVTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9nbG9iYWwtdGVtcGxhdGUuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRCYXNlVXJsKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodHlwZW9mIChkb2N1bWVudCkgPT09IFwidW5kZWZpbmVkXCIgfHwgdHlwZW9mIChsb2NhdGlvbikgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiBcIi9cIjtcclxuICAgIGNvbnN0IGN1cnJlbnRTY3JpcHQgPSAoZG9jdW1lbnQuY3VycmVudFNjcmlwdCBhcyBIVE1MU2NyaXB0RWxlbWVudCk7XHJcbiAgICBpZiAoIWN1cnJlbnRTY3JpcHQpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyBub2luc3BlY3Rpb24gRXhjZXB0aW9uQ2F1Z2h0TG9jYWxseUpTXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc3QgcXVhbGlmaWVkVXJsID0gbG9jYXRpb24ucHJvdG9jb2wgKyBcIi8vXCIgKyBsb2NhdGlvbi5ob3N0O1xyXG4gICAgICAgICAgICBjb25zdCBzdGFjayA9IChlLnN0YWNrIHx8IFwiXCIpIGFzIHN0cmluZztcclxuICAgICAgICAgICAgY29uc3Qgc3JjVXJsID0gKHN0YWNrLm1hdGNoKG5ldyBSZWdFeHAocXVhbGlmaWVkVXJsICsgXCIuKj9cXFxcLmpzXCIsIFwiZ1wiKSkgfHwgc3RhY2subWF0Y2goL2h0dHAoW0EtWjpcXC9cXC0uXSspXFwuanMvZ2kpKS5zaGlmdCgpO1xyXG4gICAgICAgICAgICBjb25zdCBsYXN0SW5kZXggPSBzcmNVcmwubGFzdEluZGV4T2YoXCIvXCIpO1xyXG4gICAgICAgICAgICByZXR1cm4gbGFzdEluZGV4IDwgMCA/IFwiL1wiIDogc3JjVXJsLnN1YnN0cmluZygwLCBsYXN0SW5kZXggKyAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBzY3JpcHRTcmMgPSBjdXJyZW50U2NyaXB0LnNyYztcclxuICAgIGNvbnN0IGxhc3RJbmRleCA9IHNjcmlwdFNyYy5sYXN0SW5kZXhPZihcIi9cIik7XHJcbiAgICByZXR1cm4gbGFzdEluZGV4IDwgMCA/IFwiL1wiIDogc2NyaXB0U3JjLnN1YnN0cmluZygwLCBsYXN0SW5kZXggKyAxKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRCYXNlSHJlZihiYXNlVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgdHJ5IHtcclxuICAgICAgICByZXR1cm4gbmV3IFVSTChiYXNlVXJsKS5wYXRobmFtZTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgICByZXR1cm4gXCIvXCI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICAuLi5waXBlcyxcclxuICAgICAgICAuLi5kaXJlY3RpdmVzLFxyXG4gICAgICAgIC4uLmNvbXBvbmVudHNcclxuICAgIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIC4uLnBpcGVzLFxyXG4gICAgICAgIC4uLmRpcmVjdGl2ZXMsXHJcbiAgICAgICAgLi4uY29tcG9uZW50cyxcclxuICAgICAgICBGb3Jtc01vZHVsZVxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogcGlwZXNcclxufSlcclxuZXhwb3J0IGNsYXNzIE5neFV0aWxzTW9kdWxlIHtcclxuXHJcbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBJTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hVdGlsc01vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hVdGlsc01vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICAuLi5wcm92aWRlcnMsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBJX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5hcGlTZXJ2aWNlKSB8fCBBcGlTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFVVEhfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmF1dGhTZXJ2aWNlKSB8fCBTdGF0aWNBdXRoU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBJQ09OX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5pY29uU2VydmljZSkgfHwgSWNvblNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogTEFOR1VBR0VfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmxhbmd1YWdlU2VydmljZSkgfHwgU3RhdGljTGFuZ3VhZ2VTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFRPQVNURVJfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLnRvYXN0ZXJTZXJ2aWNlKSB8fCBDb25zb2xlVG9hc3RlclNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogUFJPTUlTRV9TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcucHJvbWlzZVNlcnZpY2UpIHx8IFByb21pc2VTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IENPTkZJR19TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuY29uZmlnU2VydmljZSkgfHwgQ29uZmlnU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBHTE9CQUxfVEVNUExBVEVTLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuZ2xvYmFsVGVtcGxhdGVzKSB8fCBHbG9iYWxUZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0JBU0VfVVJMLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5iYXNlVXJsKSB8fCBsb2FkQmFzZVVybCxcclxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFJPT1RfRUxFTUVOVCxcclxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogbnVsbFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmluaXRpYWxpemVBcHApIHx8IGxvYWRDb25maWcsXHJcbiAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZGVwczogWyghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5pbml0aWFsaXplQXBwKSA/IEluamVjdG9yIDogQ09ORklHX1NFUlZJQ0VdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9CQVNFX0hSRUYsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogbG9hZEJhc2VIcmVmLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtBUFBfQkFTRV9VUkxdXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -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=
|
|
@@ -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
|