@meshmakers/shared-services 0.0.0-0 → 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -9
- package/fesm2022/meshmakers-shared-services.mjs +515 -0
- package/fesm2022/meshmakers-shared-services.mjs.map +1 -0
- package/index.d.ts +179 -5
- package/package.json +10 -14
- package/esm2020/lib/dataSources/autoCompleteDataSource.mjs +0 -2
- package/esm2020/lib/dataSources/dataSourceBase.mjs +0 -31
- package/esm2020/lib/dataSources/entitySelectDataSource.mjs +0 -2
- package/esm2020/lib/dataSources/genericDataSource.mjs +0 -18
- package/esm2020/lib/models/autoCompleteResult.mjs +0 -3
- package/esm2020/lib/models/errorMessage.mjs +0 -3
- package/esm2020/lib/models/pagedResultDto.mjs +0 -9
- package/esm2020/lib/services/message.service.mjs +0 -43
- package/esm2020/lib/shared/enumReader.mjs +0 -19
- package/esm2020/lib/shared/isoDateTime.mjs +0 -19
- package/esm2020/lib/shared/objectCloner.mjs +0 -21
- package/esm2020/lib/shared-services.module.mjs +0 -25
- package/esm2020/meshmakers-shared-services.mjs +0 -5
- package/esm2020/public-api.mjs +0 -16
- package/fesm2015/meshmakers-shared-services.mjs +0 -197
- package/fesm2015/meshmakers-shared-services.mjs.map +0 -1
- package/fesm2020/meshmakers-shared-services.mjs +0 -197
- package/fesm2020/meshmakers-shared-services.mjs.map +0 -1
- package/lib/dataSources/autoCompleteDataSource.d.ts +0 -6
- package/lib/dataSources/dataSourceBase.d.ts +0 -16
- package/lib/dataSources/entitySelectDataSource.d.ts +0 -6
- package/lib/dataSources/genericDataSource.d.ts +0 -10
- package/lib/models/autoCompleteResult.d.ts +0 -4
- package/lib/models/errorMessage.d.ts +0 -4
- package/lib/models/pagedResultDto.d.ts +0 -7
- package/lib/services/message.service.d.ts +0 -17
- package/lib/shared/enumReader.d.ts +0 -11
- package/lib/shared/isoDateTime.d.ts +0 -5
- package/lib/shared/objectCloner.d.ts +0 -4
- package/lib/shared-services.module.d.ts +0 -8
- package/public-api.d.ts +0 -12
package/index.d.ts
CHANGED
|
@@ -1,5 +1,179 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
3
|
+
import * as rxjs from 'rxjs';
|
|
4
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
5
|
+
import { DataSource, CollectionViewer } from '@angular/cdk/collections';
|
|
6
|
+
|
|
7
|
+
declare class SharedServicesModule {
|
|
8
|
+
static forRoot(): ModuleWithProviders<SharedServicesModule>;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SharedServicesModule, never>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SharedServicesModule, never, never, never>;
|
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<SharedServicesModule>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface Breadcrumb {
|
|
15
|
+
label: string;
|
|
16
|
+
url: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
declare class BreadcrumbService {
|
|
20
|
+
private readonly _breadcrumbLabels;
|
|
21
|
+
private readonly _newBreadcrumb;
|
|
22
|
+
constructor();
|
|
23
|
+
get breadcrumbLabels(): BehaviorSubject<any>;
|
|
24
|
+
get newBreadcrumb(): BehaviorSubject<Breadcrumb[]>;
|
|
25
|
+
updateBreadcrumbLabels(labels: any): void;
|
|
26
|
+
updateBreadcrumb(newBreadcrumb: Breadcrumb[]): void;
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbService, never>;
|
|
28
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BreadcrumbService>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare class ErrorMessage {
|
|
32
|
+
title?: string;
|
|
33
|
+
message?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
declare class MessageService {
|
|
37
|
+
private readonly snackBar;
|
|
38
|
+
latestErrorMessage: BehaviorSubject<ErrorMessage | null>;
|
|
39
|
+
errorMessages: ErrorMessage[];
|
|
40
|
+
constructor();
|
|
41
|
+
getErrorMessageCount(): number;
|
|
42
|
+
getErrorMessage(index: number): ErrorMessage;
|
|
43
|
+
getLatestErrorMessage(): Observable<ErrorMessage | null>;
|
|
44
|
+
showError(message: string, title: string): void;
|
|
45
|
+
showErrorWithDetails(error: any): void;
|
|
46
|
+
showErrorMessage(message: string): void;
|
|
47
|
+
showInformation(message: string): void;
|
|
48
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MessageService, never>;
|
|
49
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MessageService>;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
declare class AutoCompleteResult {
|
|
53
|
+
searchTerm?: string;
|
|
54
|
+
list?: string[];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
declare class PagedResultDto<T> {
|
|
58
|
+
skip: number;
|
|
59
|
+
take: number;
|
|
60
|
+
totalCount: number;
|
|
61
|
+
list: T[];
|
|
62
|
+
constructor();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
declare class DataSourceBase<TDto> implements DataSource<TDto> {
|
|
66
|
+
private readonly dataSubject;
|
|
67
|
+
private readonly loadingSubject;
|
|
68
|
+
private readonly totalCountSubject;
|
|
69
|
+
readonly loading$: Observable<boolean>;
|
|
70
|
+
readonly totalCount$: Observable<number>;
|
|
71
|
+
private readonly addedDtoList;
|
|
72
|
+
private readonly removedDtoList;
|
|
73
|
+
private lastPagedResult;
|
|
74
|
+
get totalCount(): Observable<number>;
|
|
75
|
+
reset(): void;
|
|
76
|
+
addTemporaryDto(dto: TDto): void;
|
|
77
|
+
removeTemporaryDto(dto: TDto): void;
|
|
78
|
+
get addedTemporaryDtos(): TDto[];
|
|
79
|
+
get removedTemporaryDtos(): TDto[];
|
|
80
|
+
connect(_: CollectionViewer): Observable<readonly TDto[]>;
|
|
81
|
+
disconnect(_: CollectionViewer): void;
|
|
82
|
+
clear(): void;
|
|
83
|
+
protected onBeginLoad(): void;
|
|
84
|
+
protected onCompleteLoad(pagedResult: PagedResultDto<TDto>): void;
|
|
85
|
+
private onEndLoad;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
declare class GenericDataSource<TEntity> implements DataSource<TEntity> {
|
|
89
|
+
data: TEntity[];
|
|
90
|
+
private readonly dataSubject;
|
|
91
|
+
constructor(data: TEntity[]);
|
|
92
|
+
emitChanged(): void;
|
|
93
|
+
connect(_: CollectionViewer): Observable<TEntity[]>;
|
|
94
|
+
disconnect(_: CollectionViewer): void;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
interface EntitySelectDataSource<T> {
|
|
98
|
+
onFilter: (filter: string) => Promise<PagedResultDto<T>>;
|
|
99
|
+
onDisplayEntity: (entity: T) => string;
|
|
100
|
+
getIdEntity: (entity: T) => any;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
interface AutoCompleteDataSource {
|
|
104
|
+
onFilter: (filter: string) => Observable<AutoCompleteResult>;
|
|
105
|
+
onPreprocessSearchString: (search: string) => string;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
declare class IsoDateTime {
|
|
109
|
+
static utcToLocalDateTimeIso(utcDateTime: string): string | null;
|
|
110
|
+
static localToUtcDateTimeIso(localDateTime: string): string | null;
|
|
111
|
+
static currentUtcDateTimeIso(): string;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
declare class EnumTuple<TValue = number> {
|
|
115
|
+
id: string | undefined;
|
|
116
|
+
name: TValue | undefined;
|
|
117
|
+
}
|
|
118
|
+
declare class EnumReader<TValue = number> {
|
|
119
|
+
private readonly value;
|
|
120
|
+
constructor(value: Record<string, TValue>);
|
|
121
|
+
getNamesAndValues(): EnumTuple<TValue>[];
|
|
122
|
+
getNames(): string[];
|
|
123
|
+
private getObjValues;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
declare class ObjectCloner {
|
|
127
|
+
static cloneArray<TR, TS1>(source: TS1[], ignoreProperties?: string[] | null): TR[];
|
|
128
|
+
static cloneObject<TR, TS1>(source: TS1, ignoreProperties?: string[] | null): TR;
|
|
129
|
+
static cloneObject2<TR, TS1, TS2>(source: TS1, source2: TS2, ignoreProperties?: string[] | null): TR;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
declare class NfcReaderService {
|
|
133
|
+
private ndef;
|
|
134
|
+
private abortController;
|
|
135
|
+
private nfcStatusSubject;
|
|
136
|
+
nfcStatus$: rxjs.Observable<string>;
|
|
137
|
+
constructor();
|
|
138
|
+
private convertSerialToEmployeeNumber;
|
|
139
|
+
startScan(onSuccess: (serial: string, employeeNumber: string, messages: string[]) => void, onError: (error: string) => void): Promise<void>;
|
|
140
|
+
stopScan(): void;
|
|
141
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NfcReaderService, never>;
|
|
142
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NfcReaderService>;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
declare class QrCodeScannerService {
|
|
146
|
+
private stream;
|
|
147
|
+
isSupported(): Promise<boolean>;
|
|
148
|
+
scan(video: HTMLVideoElement): Promise<string>;
|
|
149
|
+
stop(): void;
|
|
150
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QrCodeScannerService, never>;
|
|
151
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<QrCodeScannerService>;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
interface ParseResult {
|
|
155
|
+
location: string;
|
|
156
|
+
machineId: string;
|
|
157
|
+
}
|
|
158
|
+
interface ParseResponse {
|
|
159
|
+
success: boolean;
|
|
160
|
+
message: string;
|
|
161
|
+
data?: ParseResult;
|
|
162
|
+
}
|
|
163
|
+
declare class MacoSchemeDecoderService {
|
|
164
|
+
private locationMap;
|
|
165
|
+
/**
|
|
166
|
+
* Parses a MACO scheme URL and extracts a mapped location code and machine ID from the last URL segment.
|
|
167
|
+
*
|
|
168
|
+
* @param url - The URL to parse.
|
|
169
|
+
* @returns A `ParseResponse` containing:
|
|
170
|
+
* - `success: true` with extracted location and machine ID if parsing is successful.
|
|
171
|
+
* - `success: false` with an error message if the input is invalid or cannot be parsed.
|
|
172
|
+
*/
|
|
173
|
+
parseUrl(url: string): ParseResponse;
|
|
174
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MacoSchemeDecoderService, never>;
|
|
175
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MacoSchemeDecoderService>;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export { AutoCompleteResult, BreadcrumbService, DataSourceBase, EnumReader, EnumTuple, ErrorMessage, GenericDataSource, IsoDateTime, MacoSchemeDecoderService, MessageService, NfcReaderService, ObjectCloner, PagedResultDto, QrCodeScannerService, SharedServicesModule };
|
|
179
|
+
export type { AutoCompleteDataSource, Breadcrumb, EntitySelectDataSource, ParseResponse, ParseResult };
|
package/package.json
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshmakers/shared-services",
|
|
3
|
-
"version": "0.0.0
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^20.1.2",
|
|
6
|
+
"@angular/core": "^20.1.2"
|
|
7
|
+
},
|
|
4
8
|
"dependencies": {
|
|
5
|
-
"tslib": "^2.
|
|
9
|
+
"tslib": "^2.8.1"
|
|
6
10
|
},
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"esm2020": "esm2020/meshmakers-shared-services.mjs",
|
|
10
|
-
"fesm2020": "fesm2020/meshmakers-shared-services.mjs",
|
|
11
|
-
"fesm2015": "fesm2015/meshmakers-shared-services.mjs",
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"module": "fesm2022/meshmakers-shared-services.mjs",
|
|
12
13
|
"typings": "index.d.ts",
|
|
13
14
|
"exports": {
|
|
14
15
|
"./package.json": {
|
|
@@ -16,12 +17,7 @@
|
|
|
16
17
|
},
|
|
17
18
|
".": {
|
|
18
19
|
"types": "./index.d.ts",
|
|
19
|
-
"
|
|
20
|
-
"es2020": "./fesm2020/meshmakers-shared-services.mjs",
|
|
21
|
-
"es2015": "./fesm2015/meshmakers-shared-services.mjs",
|
|
22
|
-
"node": "./fesm2015/meshmakers-shared-services.mjs",
|
|
23
|
-
"default": "./fesm2020/meshmakers-shared-services.mjs"
|
|
20
|
+
"default": "./fesm2022/meshmakers-shared-services.mjs"
|
|
24
21
|
}
|
|
25
|
-
}
|
|
26
|
-
"sideEffects": false
|
|
22
|
+
}
|
|
27
23
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b0NvbXBsZXRlRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvZGF0YVNvdXJjZXMvYXV0b0NvbXBsZXRlRGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtBdXRvQ29tcGxldGVSZXN1bHR9IGZyb20gXCIuLi9tb2RlbHMvYXV0b0NvbXBsZXRlUmVzdWx0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0NvbXBsZXRlRGF0YVNvdXJjZSB7XG4gIG9uRmlsdGVyKGZpbHRlcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxBdXRvQ29tcGxldGVSZXN1bHQ+O1xuXG4gIG9uUHJlcHJvY2Vzc1NlYXJjaFN0cmluZyhzZWFyY2g6IHN0cmluZyk6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject } from "rxjs";
|
|
2
|
-
export class DataSourceBase {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.dataSubject = new BehaviorSubject([]);
|
|
5
|
-
this.loadingSubject = new BehaviorSubject(false);
|
|
6
|
-
this.loading$ = this.loadingSubject.asObservable();
|
|
7
|
-
this.totalCountSubject = new BehaviorSubject(0);
|
|
8
|
-
this.totalCount$ = this.totalCountSubject.asObservable();
|
|
9
|
-
}
|
|
10
|
-
connect(collectionViewer) {
|
|
11
|
-
return this.dataSubject.asObservable();
|
|
12
|
-
}
|
|
13
|
-
disconnect(collectionViewer) {
|
|
14
|
-
this.dataSubject.complete();
|
|
15
|
-
this.loadingSubject.complete();
|
|
16
|
-
}
|
|
17
|
-
clear() {
|
|
18
|
-
this.loadingSubject.next(false);
|
|
19
|
-
this.dataSubject.next([]);
|
|
20
|
-
this.totalCountSubject.next(0);
|
|
21
|
-
}
|
|
22
|
-
onBeginLoad() {
|
|
23
|
-
this.loadingSubject.next(true);
|
|
24
|
-
}
|
|
25
|
-
onCompleteLoad(pagedResult) {
|
|
26
|
-
this.loadingSubject.next(false);
|
|
27
|
-
this.dataSubject.next(pagedResult.list);
|
|
28
|
-
this.totalCountSubject.next(pagedResult.totalCount);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YVNvdXJjZUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL2RhdGFTb3VyY2VzL2RhdGFTb3VyY2VCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFJakQsTUFBTSxPQUFPLGNBQWM7SUFPekI7UUFOUSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDN0MsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEQsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFHcEUsQ0FBQztJQUVELE9BQU8sQ0FBQyxnQkFBa0M7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxVQUFVLENBQUMsZ0JBQWtDO1FBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVTLFdBQVc7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVTLGNBQWMsQ0FBQyxXQUFpQztRQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0NvbGxlY3Rpb25WaWV3ZXIsIERhdGFTb3VyY2V9IGZyb20gXCJAYW5ndWxhci9jZGsvY29sbGVjdGlvbnNcIjtcbmltcG9ydCB7UGFnZWRSZXN1bHREdG99IGZyb20gXCIuLi9tb2RlbHMvcGFnZWRSZXN1bHREdG9cIjtcblxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VCYXNlPFREdG8+IGltcGxlbWVudHMgRGF0YVNvdXJjZTxURHRvPiB7XG4gIHByaXZhdGUgZGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PFREdG8+PihbXSk7XG4gIHByaXZhdGUgbG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckID0gdGhpcy5sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgcHJpdmF0ZSB0b3RhbENvdW50U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgcHVibGljIHJlYWRvbmx5IHRvdGFsQ291bnQkID0gdGhpcy50b3RhbENvdW50U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIGNvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IE9ic2VydmFibGU8VER0b1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBkaXNjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5sb2FkaW5nU3ViamVjdC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLmRhdGFTdWJqZWN0Lm5leHQoW10pO1xuICAgIHRoaXMudG90YWxDb3VudFN1YmplY3QubmV4dCgwKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkJlZ2luTG9hZCgpIHtcbiAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Db21wbGV0ZUxvYWQocGFnZWRSZXN1bHQ6IFBhZ2VkUmVzdWx0RHRvPFREdG8+KSB7XG4gICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLmRhdGFTdWJqZWN0Lm5leHQocGFnZWRSZXN1bHQubGlzdCk7XG4gICAgdGhpcy50b3RhbENvdW50U3ViamVjdC5uZXh0KHBhZ2VkUmVzdWx0LnRvdGFsQ291bnQpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5U2VsZWN0RGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvZGF0YVNvdXJjZXMvZW50aXR5U2VsZWN0RGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtQYWdlZFJlc3VsdER0b30gZnJvbSBcIi4uL21vZGVscy9wYWdlZFJlc3VsdER0b1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVNlbGVjdERhdGFTb3VyY2U8VD4ge1xuXG4gIG9uRmlsdGVyKGZpbHRlcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxQYWdlZFJlc3VsdER0bzxUPj47XG5cbiAgb25EaXNwbGF5RW50aXR5KGVudGl0eTogVCk6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject } from "rxjs";
|
|
2
|
-
export class GenericDataSource {
|
|
3
|
-
constructor(data) {
|
|
4
|
-
this.data = data;
|
|
5
|
-
this.dataSubject = new BehaviorSubject([]);
|
|
6
|
-
this.dataSubject.next(data);
|
|
7
|
-
}
|
|
8
|
-
emitChanged() {
|
|
9
|
-
this.dataSubject.next(this.data);
|
|
10
|
-
}
|
|
11
|
-
connect(collectionViewer) {
|
|
12
|
-
return this.dataSubject.asObservable();
|
|
13
|
-
}
|
|
14
|
-
disconnect(collectionViewer) {
|
|
15
|
-
this.dataSubject.complete();
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY0RhdGFTb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL2RhdGFTb3VyY2VzL2dlbmVyaWNEYXRhU291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFHakQsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUFtQixJQUFvQjtRQUFwQixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQUYvQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFpQixFQUFFLENBQUMsQ0FBQztRQUk1RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBR0QsT0FBTyxDQUFDLGdCQUFrQztRQUN4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFVBQVUsQ0FBQyxnQkFBa0M7UUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7Q29sbGVjdGlvblZpZXdlciwgRGF0YVNvdXJjZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2xsZWN0aW9uc1wiO1xuXG5leHBvcnQgY2xhc3MgR2VuZXJpY0RhdGFTb3VyY2U8VEVudGl0eT4gaW1wbGVtZW50cyBEYXRhU291cmNlPFRFbnRpdHk+IHtcbiAgcHJpdmF0ZSBkYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8VEVudGl0eT4+KFtdKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YTogQXJyYXk8VEVudGl0eT4pIHtcblxuICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dChkYXRhKTtcblxuICB9XG5cbiAgZW1pdENoYW5nZWQoKSB7XG4gICAgdGhpcy5kYXRhU3ViamVjdC5uZXh0KHRoaXMuZGF0YSk7XG4gIH1cblxuXG4gIGNvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IE9ic2VydmFibGU8VEVudGl0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBkaXNjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class AutoCompleteResult {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b0NvbXBsZXRlUmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9tb2RlbHMvYXV0b0NvbXBsZXRlUmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7Q0FLOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlUmVzdWx0IHtcblxuICBzZWFyY2hUZXJtOiBzdHJpbmc7XG5cbiAgbGlzdDogQXJyYXk8c3RyaW5nPjtcbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class ErrorMessage {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JNZXNzYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9tb2RlbHMvZXJyb3JNZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0NBR3hCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVycm9yTWVzc2FnZSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export class PagedResultDto {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.skip = 0;
|
|
4
|
-
this.take = 0;
|
|
5
|
-
this.totalCount = 0;
|
|
6
|
-
this.list = new Array();
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWRSZXN1bHREdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL21vZGVscy9wYWdlZFJlc3VsdER0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztJQU96QjtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksS0FBSyxFQUFLLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFBhZ2VkUmVzdWx0RHRvPFQ+IHtcblxuICBza2lwOiBudW1iZXI7XG4gIHRha2U6IG51bWJlcjtcbiAgdG90YWxDb3VudDogbnVtYmVyO1xuICBsaXN0OiBBcnJheTxUPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNraXAgPSAwO1xuICAgIHRoaXMudGFrZSA9IDA7XG4gICAgdGhpcy50b3RhbENvdW50ID0gMDtcbiAgICB0aGlzLmxpc3QgPSBuZXcgQXJyYXk8VD4oKTtcbiAgfVxufVxuIl19
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from "rxjs";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/snack-bar";
|
|
5
|
-
export class MessageService {
|
|
6
|
-
constructor(snackBar) {
|
|
7
|
-
this.snackBar = snackBar;
|
|
8
|
-
this.latestErrorMessage = new BehaviorSubject(null);
|
|
9
|
-
this.errorMessages = new Array();
|
|
10
|
-
}
|
|
11
|
-
getErrorMessageCount() {
|
|
12
|
-
return this.errorMessages.length;
|
|
13
|
-
}
|
|
14
|
-
getErrorMessage(index) {
|
|
15
|
-
return this.errorMessages[index];
|
|
16
|
-
}
|
|
17
|
-
getLatestErrorMessage() {
|
|
18
|
-
return this.latestErrorMessage.asObservable();
|
|
19
|
-
}
|
|
20
|
-
showError(message, title) {
|
|
21
|
-
console.error(message);
|
|
22
|
-
const errorMessage = {
|
|
23
|
-
title: title,
|
|
24
|
-
message: message
|
|
25
|
-
};
|
|
26
|
-
this.errorMessages.push(errorMessage);
|
|
27
|
-
this.latestErrorMessage.next(errorMessage);
|
|
28
|
-
}
|
|
29
|
-
showInformation(message) {
|
|
30
|
-
this.snackBar.open(message, null, {
|
|
31
|
-
duration: 3000,
|
|
32
|
-
// here specify the position
|
|
33
|
-
horizontalPosition: "center",
|
|
34
|
-
verticalPosition: 'bottom'
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MessageService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
|
-
MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MessageService });
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MessageService, decorators: [{
|
|
41
|
-
type: Injectable
|
|
42
|
-
}], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7QUFJakQsTUFBTSxPQUFPLGNBQWM7SUFPekIsWUFBb0IsUUFBcUI7UUFBckIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUV2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxlQUFlLENBQWUsSUFBSSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBZ0IsQ0FBQztJQUNqRCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxTQUFTLENBQUMsT0FBZSxFQUFFLEtBQWE7UUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2QixNQUFNLFlBQVksR0FBaUI7WUFDakMsS0FBSyxFQUFFLEtBQUs7WUFDWixPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWU7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtZQUNoQyxRQUFRLEVBQUUsSUFBSTtZQUNkLDRCQUE0QjtZQUM1QixrQkFBa0IsRUFBRSxRQUFRO1lBQzVCLGdCQUFnQixFQUFFLFFBQVE7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MkdBNUNVLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0U25hY2tCYXJ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXJcIjtcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtFcnJvck1lc3NhZ2V9IGZyb20gXCIuLi9tb2RlbHMvZXJyb3JNZXNzYWdlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU2VydmljZSB7XG5cbiAgbGF0ZXN0RXJyb3JNZXNzYWdlOiBCZWhhdmlvclN1YmplY3Q8RXJyb3JNZXNzYWdlPjtcblxuICBlcnJvck1lc3NhZ2VzOiBBcnJheTxFcnJvck1lc3NhZ2U+O1xuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIpIHtcblxuICAgIHRoaXMubGF0ZXN0RXJyb3JNZXNzYWdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFcnJvck1lc3NhZ2U+KG51bGwpO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IG5ldyBBcnJheTxFcnJvck1lc3NhZ2U+KCk7XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2VDb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aDtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZShpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JNZXNzYWdlc1tpbmRleF07XG4gIH1cblxuICBnZXRMYXRlc3RFcnJvck1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxFcnJvck1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5sYXRlc3RFcnJvck1lc3NhZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzaG93RXJyb3IobWVzc2FnZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nKSB7XG4gICAgY29uc29sZS5lcnJvcihtZXNzYWdlKTtcblxuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IDxFcnJvck1lc3NhZ2U+e1xuICAgICAgdGl0bGU6IHRpdGxlLFxuICAgICAgbWVzc2FnZTogbWVzc2FnZVxuICAgIH07XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goZXJyb3JNZXNzYWdlKTtcblxuICAgIHRoaXMubGF0ZXN0RXJyb3JNZXNzYWdlLm5leHQoZXJyb3JNZXNzYWdlKTtcbiAgfVxuXG4gIHNob3dJbmZvcm1hdGlvbihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4obWVzc2FnZSwgbnVsbCwge1xuICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICAvLyBoZXJlIHNwZWNpZnkgdGhlIHBvc2l0aW9uXG4gICAgICBob3Jpem9udGFsUG9zaXRpb246IFwiY2VudGVyXCIsXG4gICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiAnYm90dG9tJ1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export class EnumTuple {
|
|
2
|
-
}
|
|
3
|
-
export class EnumReader {
|
|
4
|
-
constructor(value) {
|
|
5
|
-
this.value = value;
|
|
6
|
-
}
|
|
7
|
-
getNamesAndValues() {
|
|
8
|
-
return this.getNames().map((n) => {
|
|
9
|
-
return { name: this.value[n], id: n };
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
getNames() {
|
|
13
|
-
return Object.keys(this.value);
|
|
14
|
-
}
|
|
15
|
-
getObjValues() {
|
|
16
|
-
return Object.keys(this.value).map(k => this.value[k]);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bVJlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvc2hhcmVkL2VudW1SZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFNBQVM7Q0FHckI7QUFFRCxNQUFNLE9BQU8sVUFBVTtJQUdyQixZQUFvQixLQUFhO1FBQWIsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUNqQyxDQUFDO0lBRU0saUJBQWlCO1FBRXRCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9CLE9BQTBCLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFbnVtVHVwbGU8VFZhbHVlID0gbnVtYmVyPiB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IFRWYWx1ZTtcbn1cblxuZXhwb3J0IGNsYXNzIEVudW1SZWFkZXI8VFZhbHVlID0gbnVtYmVyPiB7XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbHVlOiBPYmplY3QpIHtcbiAgfVxuXG4gIHB1YmxpYyBnZXROYW1lc0FuZFZhbHVlcygpOiBFbnVtVHVwbGU8VFZhbHVlPltdIHtcblxuICAgIHJldHVybiB0aGlzLmdldE5hbWVzKCkubWFwKChuKSA9PiB7XG4gICAgICByZXR1cm4gPEVudW1UdXBsZTxUVmFsdWU+PntuYW1lOiB0aGlzLnZhbHVlW25dIGFzIFRWYWx1ZSwgaWQ6IG59O1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldE9ialZhbHVlcygpOiBUVmFsdWVbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMudmFsdWUpLm1hcChrID0+IHRoaXMudmFsdWVba10pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import moment from 'moment';
|
|
2
|
-
export class IsoDateTime {
|
|
3
|
-
static utcToLocalDateTimeIso(utcDateTime) {
|
|
4
|
-
if (!utcDateTime) {
|
|
5
|
-
return null;
|
|
6
|
-
}
|
|
7
|
-
return moment(utcDateTime).local().format("YYYY-MM-DDTHH:mm:ss");
|
|
8
|
-
}
|
|
9
|
-
static localToUtcDateTimeIso(localDateTime) {
|
|
10
|
-
if (!localDateTime) {
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
return moment(localDateTime).toISOString();
|
|
14
|
-
}
|
|
15
|
-
static currentUtcDateTimeIso() {
|
|
16
|
-
return moment(Date.now()).toISOString();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvRGF0ZVRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbGliL3NoYXJlZC9pc29EYXRlVGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFPLFdBQVc7SUFDZixNQUFNLENBQUMscUJBQXFCLENBQUMsV0FBbUI7UUFDckQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxhQUFxQjtRQUN2RCxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU0sTUFBTSxDQUFDLHFCQUFxQjtRQUNqQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5cbmV4cG9ydCBjbGFzcyBJc29EYXRlVGltZSB7XG4gIHB1YmxpYyBzdGF0aWMgdXRjVG9Mb2NhbERhdGVUaW1lSXNvKHV0Y0RhdGVUaW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIXV0Y0RhdGVUaW1lKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIG1vbWVudCh1dGNEYXRlVGltZSkubG9jYWwoKS5mb3JtYXQoXCJZWVlZLU1NLUREVEhIOm1tOnNzXCIpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBsb2NhbFRvVXRjRGF0ZVRpbWVJc28obG9jYWxEYXRlVGltZTogc3RyaW5nKSB7XG4gICAgaWYgKCFsb2NhbERhdGVUaW1lKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIG1vbWVudChsb2NhbERhdGVUaW1lKS50b0lTT1N0cmluZygpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjdXJyZW50VXRjRGF0ZVRpbWVJc28oKSB7XG4gICAgcmV0dXJuIG1vbWVudChEYXRlLm5vdygpKS50b0lTT1N0cmluZygpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export class ObjectCloner {
|
|
2
|
-
static cloneObject(source, ignoreProperties = null) {
|
|
3
|
-
let clonedObject = Object.assign({}, source);
|
|
4
|
-
if (ignoreProperties) {
|
|
5
|
-
for (let prop of ignoreProperties) {
|
|
6
|
-
delete clonedObject[prop];
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
return clonedObject;
|
|
10
|
-
}
|
|
11
|
-
static cloneObject2(source, source2, ignoreProperties = null) {
|
|
12
|
-
let clonedObject = Object.assign({}, source, source2);
|
|
13
|
-
if (ignoreProperties) {
|
|
14
|
-
for (let prop of ignoreProperties) {
|
|
15
|
-
delete clonedObject[prop];
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return clonedObject;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0Q2xvbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXMvc3JjL2xpYi9zaGFyZWQvb2JqZWN0Q2xvbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxXQUFXLENBQVUsTUFBVyxFQUFFLG1CQUE2QixJQUFJO1FBQy9FLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUssRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRWpELElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsS0FBSyxJQUFJLElBQUksSUFBSSxnQkFBZ0IsRUFBRTtnQkFDakMsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0I7U0FDRjtRQUNELE9BQVcsWUFBWSxDQUFDO0lBQzFCLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFlLE1BQVcsRUFBRSxPQUFZLEVBQUUsbUJBQTZCLElBQUk7UUFDbkcsSUFBSSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTFELElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsS0FBSyxJQUFJLElBQUksSUFBSSxnQkFBZ0IsRUFBRTtnQkFDakMsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0I7U0FDRjtRQUNELE9BQVcsWUFBWSxDQUFDO0lBQzFCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBPYmplY3RDbG9uZXIge1xuICBwdWJsaWMgc3RhdGljIGNsb25lT2JqZWN0PFRSLCBUUzE+KHNvdXJjZTogVFMxLCBpZ25vcmVQcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IG51bGwpOiBUUiB7XG4gICAgbGV0IGNsb25lZE9iamVjdCA9IE9iamVjdC5hc3NpZ24oPFRSPnt9LCBzb3VyY2UpO1xuXG4gICAgaWYgKGlnbm9yZVByb3BlcnRpZXMpIHtcbiAgICAgIGZvciAobGV0IHByb3Agb2YgaWdub3JlUHJvcGVydGllcykge1xuICAgICAgICBkZWxldGUgY2xvbmVkT2JqZWN0W3Byb3BdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gPFRSPmNsb25lZE9iamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY2xvbmVPYmplY3QyPFRSLCBUUzEsIFRTMj4oc291cmNlOiBUUzEsIHNvdXJjZTI6IFRTMiwgaWdub3JlUHJvcGVydGllczogc3RyaW5nW10gPSBudWxsKTogVFIge1xuICAgIGxldCBjbG9uZWRPYmplY3QgPSBPYmplY3QuYXNzaWduKDxUUj57fSwgc291cmNlLCBzb3VyY2UyKTtcblxuICAgIGlmIChpZ25vcmVQcm9wZXJ0aWVzKSB7XG4gICAgICBmb3IgKGxldCBwcm9wIG9mIGlnbm9yZVByb3BlcnRpZXMpIHtcbiAgICAgICAgZGVsZXRlIGNsb25lZE9iamVjdFtwcm9wXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIDxUUj5jbG9uZWRPYmplY3Q7XG4gIH1cblxufVxuIl19
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { MessageService } from "./services/message.service";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SharedServicesModule {
|
|
5
|
-
static forRoot() {
|
|
6
|
-
return {
|
|
7
|
-
ngModule: SharedServicesModule,
|
|
8
|
-
providers: [
|
|
9
|
-
MessageService
|
|
10
|
-
]
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
SharedServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
-
SharedServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule });
|
|
16
|
-
SharedServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule });
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: SharedServicesModule, decorators: [{
|
|
18
|
-
type: NgModule,
|
|
19
|
-
args: [{
|
|
20
|
-
declarations: [],
|
|
21
|
-
imports: [],
|
|
22
|
-
exports: []
|
|
23
|
-
}]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXNlcnZpY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9saWIvc2hhcmVkLXNlcnZpY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7O0FBUTFELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixTQUFTLEVBQUU7Z0JBQ1QsY0FBYzthQUNmO1NBQ0YsQ0FBQTtJQUNILENBQUM7O2lIQVJVLG9CQUFvQjtrSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWVzc2FnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZVwiO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRTZXJ2aWNlc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U2hhcmVkU2VydmljZXNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFNoYXJlZFNlcnZpY2VzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1lc3NhZ2VTZXJ2aWNlXG4gICAgICBdXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaG1ha2Vycy1zaGFyZWQtc2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcy9zcmMvbWVzaG1ha2Vycy1zaGFyZWQtc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
package/esm2020/public-api.mjs
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of shared-services
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/shared-services.module';
|
|
5
|
-
export * from './lib/services/message.service';
|
|
6
|
-
export * from './lib/models/autoCompleteResult';
|
|
7
|
-
export * from './lib/models/errorMessage';
|
|
8
|
-
export * from './lib/models/pagedResultDto';
|
|
9
|
-
export * from './lib/dataSources/dataSourceBase';
|
|
10
|
-
export * from './lib/dataSources/genericDataSource';
|
|
11
|
-
export * from './lib/dataSources/entitySelectDataSource';
|
|
12
|
-
export * from './lib/dataSources/autoCompleteDataSource';
|
|
13
|
-
export * from './lib/shared/isoDateTime';
|
|
14
|
-
export * from './lib/shared/enumReader';
|
|
15
|
-
export * from './lib/shared/objectCloner';
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNoYXJlZC1zZXJ2aWNlc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC1zZXJ2aWNlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9hdXRvQ29tcGxldGVSZXN1bHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Vycm9yTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcGFnZWRSZXN1bHREdG8nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YVNvdXJjZXMvZGF0YVNvdXJjZUJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YVNvdXJjZXMvZ2VuZXJpY0RhdGFTb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YVNvdXJjZXMvZW50aXR5U2VsZWN0RGF0YVNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhU291cmNlcy9hdXRvQ29tcGxldGVEYXRhU291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9pc29EYXRlVGltZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvZW51bVJlYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvb2JqZWN0Q2xvbmVyJztcbiJdfQ==
|