@pepperi-addons/ngx-lib 0.2.58-tomer.1 → 0.2.59-beta.2
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/pepperi-addons-ngx-lib.umd.js +62 -23
- package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
- package/core/common/services/addon.service.d.ts +2 -1
- package/core/common/services/file.service.d.ts +4 -4
- package/esm2015/core/common/services/addon.service.js +19 -4
- package/esm2015/core/common/services/file.service.js +9 -9
- package/esm2015/core/common/services/utilities.service.js +31 -13
- package/fesm2015/pepperi-addons-ngx-lib.js +56 -23
- package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
- package/package.json +1 -1
- package/src/core/style/abstracts/mixins.scss +3 -3
|
@@ -24,8 +24,9 @@ export declare class PepAddonService {
|
|
|
24
24
|
getAddonApiCall(addonUUID: string, fileName: string, functionName: string, httpOptions?: {}, isAsync?: boolean): Observable<any>;
|
|
25
25
|
postAddonApiCall(addonUUID: string, fileName: string, functionName: string, body?: {}, httpOptions?: {}, isAsync?: boolean): Observable<any>;
|
|
26
26
|
fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
27
|
-
getNgxLibTranslationResource(subAddonUUID?: string): ITranslationResource;
|
|
27
|
+
getNgxLibTranslationResource(subAddonUUID?: string, libName?: string): ITranslationResource;
|
|
28
28
|
getAddonTranslationResource(subAddonUUID?: string): ITranslationResource;
|
|
29
29
|
setDefaultTranslateLang(translate: TranslateService, urlLangParam?: string): void;
|
|
30
30
|
static createDefaultMultiTranslateLoader(http: HttpClient, fileService: PepFileService, addonService: PepAddonService, subAddonUUID?: string): import("ngx-translate-multi-http-loader").MultiTranslateHttpLoader;
|
|
31
|
+
static createMultiTranslateLoader(addonService: PepAddonService, libsName?: string[], subAddonUUID?: string): import("ngx-translate-multi-http-loader").MultiTranslateHttpLoader;
|
|
31
32
|
}
|
|
@@ -16,9 +16,9 @@ export declare class PepFileService {
|
|
|
16
16
|
getFileExtension(filePath: string): string;
|
|
17
17
|
isValidUrl(url: string): boolean;
|
|
18
18
|
convertFromb64toBlob(b64Data: any, contentType?: string, sliceSize?: number): Blob;
|
|
19
|
-
getAssetsPath(assetsDomain?: string): string;
|
|
20
|
-
getAssetsTranslationsSuffix(): string;
|
|
21
|
-
getAssetsTranslationsPath(assetsDomain?: string): string;
|
|
22
|
-
getAssetsImagesPath(assetsDomain?: string, image?: string): string;
|
|
19
|
+
getAssetsPath(assetsDomain?: string, libName?: string): string;
|
|
20
|
+
getAssetsTranslationsSuffix(libName?: string): string;
|
|
21
|
+
getAssetsTranslationsPath(assetsDomain?: string, libName?: string): string;
|
|
22
|
+
getAssetsImagesPath(assetsDomain?: string, image?: string, libName?: string): string;
|
|
23
23
|
getSvgAsImageSrc(svg: string): string;
|
|
24
24
|
}
|
|
@@ -64,10 +64,10 @@ export class PepAddonService {
|
|
|
64
64
|
this.loaderService.hide();
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
|
-
getNgxLibTranslationResource(subAddonUUID = '') {
|
|
67
|
+
getNgxLibTranslationResource(subAddonUUID = '', libName = 'ngx-lib') {
|
|
68
68
|
const addonStaticFolder = this.getAddonStaticFolder(subAddonUUID);
|
|
69
|
-
const translationsPath = this.fileService.getAssetsTranslationsPath(addonStaticFolder);
|
|
70
|
-
const translationsSuffix = this.fileService.getAssetsTranslationsSuffix();
|
|
69
|
+
const translationsPath = this.fileService.getAssetsTranslationsPath(addonStaticFolder, libName);
|
|
70
|
+
const translationsSuffix = this.fileService.getAssetsTranslationsSuffix(libName);
|
|
71
71
|
return {
|
|
72
72
|
prefix: translationsPath,
|
|
73
73
|
suffix: translationsSuffix,
|
|
@@ -84,6 +84,7 @@ export class PepAddonService {
|
|
|
84
84
|
setDefaultTranslateLang(translate, urlLangParam = 'userLang') {
|
|
85
85
|
this.translateService.setDefaultTranslateLang(translate, urlLangParam);
|
|
86
86
|
}
|
|
87
|
+
// Deprecated need to delete in next major.
|
|
87
88
|
static createDefaultMultiTranslateLoader(http, fileService, addonService, subAddonUUID = '') {
|
|
88
89
|
const ngxLibTranslationResource = addonService.getNgxLibTranslationResource(subAddonUUID);
|
|
89
90
|
const addonTranslationResource = addonService.getAddonTranslationResource(subAddonUUID);
|
|
@@ -92,6 +93,20 @@ export class PepAddonService {
|
|
|
92
93
|
addonTranslationResource
|
|
93
94
|
]);
|
|
94
95
|
}
|
|
96
|
+
static createMultiTranslateLoader(addonService, libsName = ['ngx-lib'], subAddonUUID = '') {
|
|
97
|
+
const ngxLibTranslationResources = [];
|
|
98
|
+
if ((libsName === null || libsName === void 0 ? void 0 : libsName.length) > 0) {
|
|
99
|
+
for (let index = 0; index < libsName.length; index++) {
|
|
100
|
+
const libName = libsName[index];
|
|
101
|
+
ngxLibTranslationResources.push(addonService.getNgxLibTranslationResource(subAddonUUID, libName));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const addonTranslationResource = addonService.getAddonTranslationResource(subAddonUUID);
|
|
105
|
+
return addonService.translateService.createMultiTranslateLoader([
|
|
106
|
+
...ngxLibTranslationResources,
|
|
107
|
+
addonTranslationResource
|
|
108
|
+
]);
|
|
109
|
+
}
|
|
95
110
|
}
|
|
96
111
|
PepAddonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PepAddonService_Factory() { return new PepAddonService(i0.ɵɵinject(i1.PepSessionService), i0.ɵɵinject(i2.PepHttpService), i0.ɵɵinject(i3.PepLoaderService), i0.ɵɵinject(i4.PepTranslateService), i0.ɵɵinject(i5.PepFileService)); }, token: PepAddonService, providedIn: "root" });
|
|
97
112
|
PepAddonService.decorators = [
|
|
@@ -106,4 +121,4 @@ PepAddonService.ctorParameters = () => [
|
|
|
106
121
|
{ type: PepTranslateService },
|
|
107
122
|
{ type: PepFileService }
|
|
108
123
|
];
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc3JjL2NvcmUvY29tbW9uL3NlcnZpY2VzL2FkZG9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBS3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBRTFEOztFQUVFO0FBSUYsTUFBTSxPQUFPLGVBQWU7SUFNeEIsWUFDWSxjQUFpQyxFQUNqQyxXQUEyQixFQUMzQixhQUErQixFQUNoQyxnQkFBcUMsRUFDckMsV0FBMkI7UUFKMUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQUNyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFWckIsMEJBQXFCLEdBQUcsaUJBQWlCLENBQUM7UUFDMUMsc0NBQWlDLEdBQUcsNEJBQTRCLENBQUM7UUFDakUsNEJBQXVCLEdBQUcsYUFBYSxDQUFDO1FBQ3hDLGtDQUE2QixHQUFHLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixRQUFRLENBQUM7UUFTckYsRUFBRTtJQUNOLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxPQUFnQjtRQUM3QyxPQUFPLE9BQU87WUFDVixDQUFDLENBQUMsSUFBSSxDQUFD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IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBlcFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVwRmlsZVNlcnZpY2UgfSBmcm9tICcuL2ZpbGUuc2VydmljZSc7XG5pbXBvcnQgeyBQZXBIdHRwU2VydmljZSB9IGZyb20gJy4uLy4uL2h0dHAvc2VydmljZXMvaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcExvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9odHRwL3NlcnZpY2VzL2xvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJVHJhbnNsYXRpb25SZXNvdXJjZSB9IGZyb20gJ25neC10cmFuc2xhdGUtbXVsdGktaHR0cC1sb2FkZXInO1xuaW1wb3J0IHsgUGVwVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xuXG4vKlxuICAgIFRoaXMgc2VydmljZSBpcyB0aGUgd2ViYXBwIGFwaSBmb3IgYWRkb24gdXNlZ2UuXG4qL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGVwQWRkb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IEFERE9OX0FTU0VUU19QQVRIX0tFWSA9ICdBZGRvbkFzc2V0c1BhdGgnO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQURET05TX0RJQ1RJT05BUllfQVNTRVRTX1BBVEhfS0VZID0gJ0FkZG9uc0RpY3Rpb25hcnlBc3NldHNQYXRoJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IEFERE9OX0FQSV9SRUxBVElWRV9QQVRIID0gJy9hZGRvbnMvYXBpJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IEFERE9OX0FQSV9BU1lOQ19SRUxBVElWRV9QQVRIID0gYCR7dGhpcy5BRERPTl9BUElfUkVMQVRJVkVfUEFUSH0vYXN5bmNgO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvblNlcnZpY2U6IFBlcFNlc3Npb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGh0dHBTZXJ2aWNlOiBQZXBIdHRwU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBQZXBMb2FkZXJTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgdHJhbnNsYXRlU2VydmljZTogUGVwVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHVibGljIGZpbGVTZXJ2aWNlOiBQZXBGaWxlU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFkZG9uQmFzZVJlbGF0aXZlUGF0aChpc0FzeW5jOiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGlzQXN5bmNcbiAgICAgICAgICAgID8gdGhpcy5BRERPTl9BUElfQVNZTkNfUkVMQVRJVkVfUEFUSFxuICAgICAgICAgICAgOiB0aGlzLkFERE9OX0FQSV9SRUxBVElWRV9QQVRIO1xuICAgIH1cblxuICAgIGdldEFkZG9uU3RhdGljRm9sZGVyKHN1YkFkZG9uVVVJRCA9ICcnKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHN1YkFkZG9uVVVJRC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBhZGRvbnNEaWN0aW9uYXJ5ID0gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRPYmplY3QodGhpcy5BRERPTlNfRElDVElPTkFSWV9BU1NFVFNfUEFUSF9LRVkpO1xuICAgICAgICAgICAgcmV0dXJuIGFkZG9uc0RpY3Rpb25hcnkgJiYgYWRkb25zRGljdGlvbmFyeVtzdWJBZGRvblVVSURdID8gYWRkb25zRGljdGlvbmFyeVtzdWJBZGRvblVVSURdIDogJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRPYmplY3QodGhpcy5BRERPTl9BU1NFVFNfUEFUSF9LRVkpIHx8ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0QWRkb25TdGF0aWNGb2xkZXIocGF0aDogc3RyaW5nLCBzdWJBZGRvblVVSUQgPSAnJyk6IHZvaWQge1xuICAgICAgICBpZiAoc3ViQWRkb25VVUlELmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uc0RpY3Rpb25hcnkgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLmdldE9iamVjdCh0aGlzLkFERE9OU19ESUNUSU9OQVJZX0FTU0VUU19QQVRIX0tFWSkgPz8ge307XG4gICAgICAgICAgICBhZGRvbnNEaWN0aW9uYXJ5W3N1YkFkZG9uVVVJRF0gPSBwYXRoO1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5zZXRPYmplY3QodGhpcy5BRERPTlNfRElDVElPTkFSWV9BU1NFVFNfUEFUSF9LRVksIGFkZG9uc0RpY3Rpb25hcnkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2Vzc2lvblNlcnZpY2Uuc2V0T2JqZWN0KHRoaXMuQURET05fQVNTRVRTX1BBVEhfS0VZLCBwYXRoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEFkZG9uQXBpQ2FsbChcbiAgICAgICAgYWRkb25VVUlEOiBzdHJpbmcsXG4gICAgICAgIGZpbGVOYW1lOiBzdHJpbmcsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogc3RyaW5nLFxuICAgICAgICBodHRwT3B0aW9ucyA9IHt9LFxuICAgICAgICBpc0FzeW5jID0gZmFsc2VcbiAgICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXRQYXBpQXBpQ2FsbChcbiAgICAgICAgICAgIGAke3RoaXMuZ2V0QWRkb25CYXNlUmVsYXRpdmVQYXRoKFxuICAgICAgICAgICAgICAgIGlzQXN5bmNcbiAgICAgICAgICAgICl9LyR7YWRkb25VVUlEfS8ke2ZpbGVOYW1lfS8ke2Z1bmN0aW9uTmFtZX1gLFxuICAgICAgICAgICAgaHR0cE9wdGlvbnNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwb3N0QWRkb25BcGlDYWxsKFxuICAgICAgICBhZGRvblVVSUQ6IHN0cmluZyxcbiAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4gICAgICAgIGJvZHkgPSB7fSxcbiAgICAgICAgaHR0cE9wdGlvbnMgPSB7fSxcbiAgICAgICAgaXNBc3luYyA9IGZhbHNlXG4gICAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdFBhcGlBcGlDYWxsKFxuICAgICAgICAgICAgYCR7dGhpcy5nZXRBZGRvbkJhc2VSZWxhdGl2ZVBhdGgoXG4gICAgICAgICAgICAgICAgaXNBc3luY1xuICAgICAgICAgICAgKX0vJHthZGRvblVVSUR9LyR7ZmlsZU5hbWV9LyR7ZnVuY3Rpb25OYW1lfWAsXG4gICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgaHR0cE9wdGlvbnNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBuZWVkIHRvIGNoZWsgdGhpcyBpZiB0aGUgbG9hZGVyIGlzIHdvcmtpbmcuXG4gICAgZmV0Y2goaW5wdXQ6IFJlcXVlc3RJbmZvLCBpbml0PzogUmVxdWVzdEluaXQpOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgICAgIHRoaXMubG9hZGVyU2VydmljZS5zaG93KCk7XG5cbiAgICAgICAgcmV0dXJuIHdpbmRvdy5mZXRjaChpbnB1dCwgaW5pdCkuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRlclNlcnZpY2UuaGlkZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXROZ3hMaWJUcmFuc2xhdGlvblJlc291cmNlKHN1YkFkZG9uVVVJRCA9ICcnKTogSVRyYW5zbGF0aW9uUmVzb3VyY2Uge1xuICAgICAgICBjb25zdCBhZGRvblN0YXRpY0ZvbGRlciA9IHRoaXMuZ2V0QWRkb25TdGF0aWNGb2xkZXIoc3ViQWRkb25VVUlEKTtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25zUGF0aDogc3RyaW5nID0gdGhpcy5maWxlU2VydmljZS5nZXRBc3NldHNUcmFuc2xhdGlvbnNQYXRoKGFkZG9uU3RhdGljRm9sZGVyKTtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25zU3VmZml4OiBzdHJpbmcgPSB0aGlzLmZpbGVTZXJ2aWNlLmdldEFzc2V0c1RyYW5zbGF0aW9uc1N1ZmZpeCgpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXg6IHRyYW5zbGF0aW9uc1BhdGgsXG4gICAgICAgICAgICBzdWZmaXg6IHRyYW5zbGF0aW9uc1N1ZmZpeCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRBZGRvblRyYW5zbGF0aW9uUmVzb3VyY2Uoc3ViQWRkb25VVUlEID0gJycpOiBJVHJhbnNsYXRpb25SZXNvdXJjZSB7XG4gICAgICAgIGNvbnN0IGFkZG9uU3RhdGljRm9sZGVyID0gdGhpcy5nZXRBZGRvblN0YXRpY0ZvbGRlcihzdWJBZGRvblVVSUQpO1xuICAgICAgICBjb25zdCBkZWZhdWx0U3ViRm9sZGVyID0gJ2Fzc2V0cy9pMThuLyc7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeDogYWRkb25TdGF0aWNGb2xkZXIubGVuZ3RoID4gMCA/IGAke2FkZG9uU3RhdGljRm9sZGVyfSR7ZGVmYXVsdFN1YkZvbGRlcn1gIDogYC8ke2RlZmF1bHRTdWJGb2xkZXJ9YCxcbiAgICAgICAgICAgIHN1ZmZpeDogJy5qc29uJyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzZXREZWZhdWx0VHJhbnNsYXRlTGFuZyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHVybExhbmdQYXJhbSA9ICd1c2VyTGFuZycpIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldERlZmF1bHRUcmFuc2xhdGVMYW5nKHRyYW5zbGF0ZSwgdXJsTGFuZ1BhcmFtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZURlZmF1bHRNdWx0aVRyYW5zbGF0ZUxvYWRlcihcbiAgICAgICAgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgZmlsZVNlcnZpY2U6IFBlcEZpbGVTZXJ2aWNlLFxuICAgICAgICBhZGRvblNlcnZpY2U6IFBlcEFkZG9uU2VydmljZSxcbiAgICAgICAgc3ViQWRkb25VVUlEID0gJydcbiAgICApIHtcbiAgICAgICAgY29uc3Qgbmd4TGliVHJhbnNsYXRpb25SZXNvdXJjZSA9IGFkZG9uU2VydmljZS5nZXROZ3hMaWJUcmFuc2xhdGlvblJlc291cmNlKHN1YkFkZG9uVVVJRCk7XG4gICAgICAgIGNvbnN0IGFkZG9uVHJhbnNsYXRpb25SZXNvdXJjZSA9IGFkZG9uU2VydmljZS5nZXRBZGRvblRyYW5zbGF0aW9uUmVzb3VyY2Uoc3ViQWRkb25VVUlEKTtcblxuICAgICAgICByZXR1cm4gYWRkb25TZXJ2aWNlLnRyYW5zbGF0ZVNlcnZpY2UuY3JlYXRlTXVsdGlUcmFuc2xhdGVMb2FkZXIoW1xuICAgICAgICAgICAgbmd4TGliVHJhbnNsYXRpb25SZXNvdXJjZSxcbiAgICAgICAgICAgIGFkZG9uVHJhbnNsYXRpb25SZXNvdXJjZVxuICAgICAgICBdKTtcbiAgICB9XG59XG4iXX0=
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc3JjL2NvcmUvY29tbW9uL3NlcnZpY2VzL2FkZG9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBS3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBRTFEOztFQUVFO0FBSUYsTUFBTSxPQUFPLGVBQWU7SUFNeEIsWUFDWSxjQUFpQyxFQUNqQyxXQUEyQixFQUMzQixhQUErQixFQUNoQyxnQkFBcUMsRUFDckMsV0FBMkI7UUFKMUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQUNyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFWckIsMEJBQXFCLEdBQUcsaUJBQWlCLENBQUM7UUFDMUMsc0NBQWlDLEdBQUcsNEJBQTRCLENBQUM7UUFDakUsNEJBQXVCLEdBQUcsYUFBYSxDQUFDO1FBQ3hDLGtDQUE2QixHQUFHLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixRQUFRLENBQUM7UUFTckYsRUFBRTtJQUNOLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxPQUFnQjtRQUM3QyxPQUFPLE9BQU87WUFDVixDQUFDLENBQUMsSUFBSSxDQUFD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QUFFO1FBRWpCLE1BQU0sMEJBQTBCLEdBQUcsRUFBRSxDQUFDO1FBRXRDLElBQUksQ0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsTUFBTSxJQUFHLENBQUMsRUFBRTtZQUN0QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDbEQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ3JHO1NBQ0o7UUFFRCxNQUFNLHdCQUF3QixHQUFHLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV4RixPQUFPLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsQ0FBQztZQUM1RCxHQUFHLDBCQUEwQjtZQUM3Qix3QkFBd0I7U0FDM0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OztZQWxKSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQWZRLGlCQUFpQjtZQUVqQixjQUFjO1lBQ2QsZ0JBQWdCO1lBS2hCLG1CQUFtQjtZQVBuQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVwU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Nlc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBQZXBGaWxlU2VydmljZSB9IGZyb20gJy4vZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaHR0cC9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVwTG9hZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2h0dHAvc2VydmljZXMvbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IElUcmFuc2xhdGlvblJlc291cmNlIH0gZnJvbSAnbmd4LXRyYW5zbGF0ZS1tdWx0aS1odHRwLWxvYWRlcic7XG5pbXBvcnQgeyBQZXBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XG5cbi8qXG4gICAgVGhpcyBzZXJ2aWNlIGlzIHRoZSB3ZWJhcHAgYXBpIGZvciBhZGRvbiB1c2VnZS5cbiovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBBZGRvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQURET05fQVNTRVRTX1BBVEhfS0VZID0gJ0FkZG9uQXNzZXRzUGF0aCc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBBRERPTlNfRElDVElPTkFSWV9BU1NFVFNfUEFUSF9LRVkgPSAnQWRkb25zRGljdGlvbmFyeUFzc2V0c1BhdGgnO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQURET05fQVBJX1JFTEFUSVZFX1BBVEggPSAnL2FkZG9ucy9hcGknO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQURET05fQVBJX0FTWU5DX1JFTEFUSVZFX1BBVEggPSBgJHt0aGlzLkFERE9OX0FQSV9SRUxBVElWRV9QQVRIfS9hc3luY2A7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZTogUGVwU2Vzc2lvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IFBlcEh0dHBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGxvYWRlclNlcnZpY2U6IFBlcExvYWRlclNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyB0cmFuc2xhdGVTZXJ2aWNlOiBQZXBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgZmlsZVNlcnZpY2U6IFBlcEZpbGVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWRkb25CYXNlUmVsYXRpdmVQYXRoKGlzQXN5bmM6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaXNBc3luY1xuICAgICAgICAgICAgPyB0aGlzLkFERE9OX0FQSV9BU1lOQ19SRUxBVElWRV9QQVRIXG4gICAgICAgICAgICA6IHRoaXMuQURET05fQVBJX1JFTEFUSVZFX1BBVEg7XG4gICAgfVxuXG4gICAgZ2V0QWRkb25TdGF0aWNGb2xkZXIoc3ViQWRkb25VVUlEID0gJycpOiBzdHJpbmcge1xuICAgICAgICBpZiAoc3ViQWRkb25VVUlELmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uc0RpY3Rpb25hcnkgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLmdldE9iamVjdCh0aGlzLkFERE9OU19ESUNUSU9OQVJZX0FTU0VUU19QQVRIX0tFWSk7XG4gICAgICAgICAgICByZXR1cm4gYWRkb25zRGljdGlvbmFyeSAmJiBhZGRvbnNEaWN0aW9uYXJ5W3N1YkFkZG9uVVVJRF0gPyBhZGRvbnNEaWN0aW9uYXJ5W3N1YkFkZG9uVVVJRF0gOiAnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlc3Npb25TZXJ2aWNlLmdldE9iamVjdCh0aGlzLkFERE9OX0FTU0VUU19QQVRIX0tFWSkgfHwgJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRBZGRvblN0YXRpY0ZvbGRlcihwYXRoOiBzdHJpbmcsIHN1YkFkZG9uVVVJRCA9ICcnKTogdm9pZCB7XG4gICAgICAgIGlmIChzdWJBZGRvblVVSUQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgYWRkb25zRGljdGlvbmFyeSA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0T2JqZWN0KHRoaXMuQURET05TX0RJQ1RJT05BUllfQVNTRVRTX1BBVEhfS0VZKSA/PyB7fTtcbiAgICAgICAgICAgIGFkZG9uc0RpY3Rpb25hcnlbc3ViQWRkb25VVUlEXSA9IHBhdGg7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLnNldE9iamVjdCh0aGlzLkFERE9OU19ESUNUSU9OQVJZX0FTU0VUU19QQVRIX0tFWSwgYWRkb25zRGljdGlvbmFyeSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uU2VydmljZS5zZXRPYmplY3QodGhpcy5BRERPTl9BU1NFVFNfUEFUSF9LRVksIHBhdGgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0QWRkb25BcGlDYWxsKFxuICAgICAgICBhZGRvblVVSUQ6IHN0cmluZyxcbiAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4gICAgICAgIGh0dHBPcHRpb25zID0ge30sXG4gICAgICAgIGlzQXN5bmMgPSBmYWxzZVxuICAgICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldFBhcGlBcGlDYWxsKFxuICAgICAgICAgICAgYCR7dGhpcy5nZXRBZGRvbkJhc2VSZWxhdGl2ZVBhdGgoXG4gICAgICAgICAgICAgICAgaXNBc3luY1xuICAgICAgICAgICAgKX0vJHthZGRvblVVSUR9LyR7ZmlsZU5hbWV9LyR7ZnVuY3Rpb25OYW1lfWAsXG4gICAgICAgICAgICBodHRwT3B0aW9uc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHBvc3RBZGRvbkFwaUNhbGwoXG4gICAgICAgIGFkZG9uVVVJRDogc3RyaW5nLFxuICAgICAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgICAgICBmdW5jdGlvbk5hbWU6IHN0cmluZyxcbiAgICAgICAgYm9keSA9IHt9LFxuICAgICAgICBodHRwT3B0aW9ucyA9IHt9LFxuICAgICAgICBpc0FzeW5jID0gZmFsc2VcbiAgICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0UGFwaUFwaUNhbGwoXG4gICAgICAgICAgICBgJHt0aGlzLmdldEFkZG9uQmFzZVJlbGF0aXZlUGF0aChcbiAgICAgICAgICAgICAgICBpc0FzeW5jXG4gICAgICAgICAgICApfS8ke2FkZG9uVVVJRH0vJHtmaWxlTmFtZX0vJHtmdW5jdGlvbk5hbWV9YCxcbiAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICBodHRwT3B0aW9uc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFRPRE86IG5lZWQgdG8gY2hlayB0aGlzIGlmIHRoZSBsb2FkZXIgaXMgd29ya2luZy5cbiAgICBmZXRjaChpbnB1dDogUmVxdWVzdEluZm8sIGluaXQ/OiBSZXF1ZXN0SW5pdCk6IFByb21pc2U8UmVzcG9uc2U+IHtcbiAgICAgICAgdGhpcy5sb2FkZXJTZXJ2aWNlLnNob3coKTtcblxuICAgICAgICByZXR1cm4gd2luZG93LmZldGNoKGlucHV0LCBpbml0KS5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGVyU2VydmljZS5oaWRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldE5neExpYlRyYW5zbGF0aW9uUmVzb3VyY2Uoc3ViQWRkb25VVUlEID0gJycsIGxpYk5hbWUgPSAnbmd4LWxpYicpOiBJVHJhbnNsYXRpb25SZXNvdXJjZSB7XG4gICAgICAgIGNvbnN0IGFkZG9uU3RhdGljRm9sZGVyID0gdGhpcy5nZXRBZGRvblN0YXRpY0ZvbGRlcihzdWJBZGRvblVVSUQpO1xuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbnNQYXRoOiBzdHJpbmcgPSB0aGlzLmZpbGVTZXJ2aWNlLmdldEFzc2V0c1RyYW5zbGF0aW9uc1BhdGgoYWRkb25TdGF0aWNGb2xkZXIsIGxpYk5hbWUpO1xuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbnNTdWZmaXg6IHN0cmluZyA9IHRoaXMuZmlsZVNlcnZpY2UuZ2V0QXNzZXRzVHJhbnNsYXRpb25zU3VmZml4KGxpYk5hbWUpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVmaXg6IHRyYW5zbGF0aW9uc1BhdGgsXG4gICAgICAgICAgICBzdWZmaXg6IHRyYW5zbGF0aW9uc1N1ZmZpeCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRBZGRvblRyYW5zbGF0aW9uUmVzb3VyY2Uoc3ViQWRkb25VVUlEID0gJycpOiBJVHJhbnNsYXRpb25SZXNvdXJjZSB7XG4gICAgICAgIGNvbnN0IGFkZG9uU3RhdGljRm9sZGVyID0gdGhpcy5nZXRBZGRvblN0YXRpY0ZvbGRlcihzdWJBZGRvblVVSUQpO1xuICAgICAgICBjb25zdCBkZWZhdWx0U3ViRm9sZGVyID0gJ2Fzc2V0cy9pMThuLyc7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZWZpeDogYWRkb25TdGF0aWNGb2xkZXIubGVuZ3RoID4gMCA/IGAke2FkZG9uU3RhdGljRm9sZGVyfSR7ZGVmYXVsdFN1YkZvbGRlcn1gIDogYC8ke2RlZmF1bHRTdWJGb2xkZXJ9YCxcbiAgICAgICAgICAgIHN1ZmZpeDogJy5qc29uJyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzZXREZWZhdWx0VHJhbnNsYXRlTGFuZyh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHVybExhbmdQYXJhbSA9ICd1c2VyTGFuZycpIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldERlZmF1bHRUcmFuc2xhdGVMYW5nKHRyYW5zbGF0ZSwgdXJsTGFuZ1BhcmFtKTtcbiAgICB9XG5cbiAgICAvLyBEZXByZWNhdGVkIG5lZWQgdG8gZGVsZXRlIGluIG5leHQgbWFqb3IuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVEZWZhdWx0TXVsdGlUcmFuc2xhdGVMb2FkZXIoXG4gICAgICAgIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIGZpbGVTZXJ2aWNlOiBQZXBGaWxlU2VydmljZSxcbiAgICAgICAgYWRkb25TZXJ2aWNlOiBQZXBBZGRvblNlcnZpY2UsXG4gICAgICAgIHN1YkFkZG9uVVVJRCA9ICcnXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IG5neExpYlRyYW5zbGF0aW9uUmVzb3VyY2UgPSBhZGRvblNlcnZpY2UuZ2V0Tmd4TGliVHJhbnNsYXRpb25SZXNvdXJjZShzdWJBZGRvblVVSUQpO1xuICAgICAgICBjb25zdCBhZGRvblRyYW5zbGF0aW9uUmVzb3VyY2UgPSBhZGRvblNlcnZpY2UuZ2V0QWRkb25UcmFuc2xhdGlvblJlc291cmNlKHN1YkFkZG9uVVVJRCk7XG5cbiAgICAgICAgcmV0dXJuIGFkZG9uU2VydmljZS50cmFuc2xhdGVTZXJ2aWNlLmNyZWF0ZU11bHRpVHJhbnNsYXRlTG9hZGVyKFtcbiAgICAgICAgICAgIG5neExpYlRyYW5zbGF0aW9uUmVzb3VyY2UsXG4gICAgICAgICAgICBhZGRvblRyYW5zbGF0aW9uUmVzb3VyY2VcbiAgICAgICAgXSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGVNdWx0aVRyYW5zbGF0ZUxvYWRlcihcbiAgICAgICAgYWRkb25TZXJ2aWNlOiBQZXBBZGRvblNlcnZpY2UsXG4gICAgICAgIGxpYnNOYW1lID0gWyduZ3gtbGliJ10sXG4gICAgICAgIHN1YkFkZG9uVVVJRCA9ICcnXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IG5neExpYlRyYW5zbGF0aW9uUmVzb3VyY2VzID0gW107XG5cbiAgICAgICAgaWYgKGxpYnNOYW1lPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGlic05hbWUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGliTmFtZSA9IGxpYnNOYW1lW2luZGV4XTtcbiAgICAgICAgICAgICAgICBuZ3hMaWJUcmFuc2xhdGlvblJlc291cmNlcy5wdXNoKGFkZG9uU2VydmljZS5nZXROZ3hMaWJUcmFuc2xhdGlvblJlc291cmNlKHN1YkFkZG9uVVVJRCwgbGliTmFtZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWRkb25UcmFuc2xhdGlvblJlc291cmNlID0gYWRkb25TZXJ2aWNlLmdldEFkZG9uVHJhbnNsYXRpb25SZXNvdXJjZShzdWJBZGRvblVVSUQpO1xuXG4gICAgICAgIHJldHVybiBhZGRvblNlcnZpY2UudHJhbnNsYXRlU2VydmljZS5jcmVhdGVNdWx0aVRyYW5zbGF0ZUxvYWRlcihbXG4gICAgICAgICAgICAuLi5uZ3hMaWJUcmFuc2xhdGlvblJlc291cmNlcyxcbiAgICAgICAgICAgIGFkZG9uVHJhbnNsYXRpb25SZXNvdXJjZVxuICAgICAgICBdKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -183,18 +183,18 @@ export class PepFileService {
|
|
|
183
183
|
const blob = new Blob(byteArrays, { type: contentType });
|
|
184
184
|
return blob;
|
|
185
185
|
}
|
|
186
|
-
getAssetsPath(assetsDomain = '') {
|
|
186
|
+
getAssetsPath(assetsDomain = '', libName = 'ngx-lib') {
|
|
187
187
|
const concatChar = assetsDomain === '' || assetsDomain.endsWith('/') ? '' : '/';
|
|
188
|
-
return `${assetsDomain}${concatChar}assets
|
|
188
|
+
return `${assetsDomain}${concatChar}assets/${libName}/`;
|
|
189
189
|
}
|
|
190
|
-
getAssetsTranslationsSuffix() {
|
|
191
|
-
return
|
|
190
|
+
getAssetsTranslationsSuffix(libName = 'ngx-lib') {
|
|
191
|
+
return `.${libName}.json`;
|
|
192
192
|
}
|
|
193
|
-
getAssetsTranslationsPath(assetsDomain = '') {
|
|
194
|
-
return `${this.getAssetsPath(assetsDomain)}i18n/`;
|
|
193
|
+
getAssetsTranslationsPath(assetsDomain = '', libName = 'ngx-lib') {
|
|
194
|
+
return `${this.getAssetsPath(assetsDomain, libName)}i18n/`;
|
|
195
195
|
}
|
|
196
|
-
getAssetsImagesPath(assetsDomain = '', image = '') {
|
|
197
|
-
return `${this.getAssetsPath(assetsDomain)}images/${image}`;
|
|
196
|
+
getAssetsImagesPath(assetsDomain = '', image = '', libName = 'ngx-lib') {
|
|
197
|
+
return `${this.getAssetsPath(assetsDomain, libName)}images/${image}`;
|
|
198
198
|
}
|
|
199
199
|
getSvgAsImageSrc(svg) {
|
|
200
200
|
const blob = new Blob([svg], { type: 'image/svg+xml' });
|
|
@@ -209,4 +209,4 @@ PepFileService.decorators = [
|
|
|
209
209
|
},] }
|
|
210
210
|
];
|
|
211
211
|
PepFileService.ctorParameters = () => [];
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9zcmMvY29yZS9jb21tb24vc2VydmljZXMvZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBYzNDLE1BQU0sT0FBTyxjQUFjO0lBSXZCO1FBQ0ksSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBNEMsQ0FBQztRQUNuRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxFQUE0QyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBOEI7UUFDcEMsTUFBTSxRQUFRLEdBQVUsRUFBRSxDQUFDO1FBQzNCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUN2QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDNUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDL0IsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQzdDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUE4QjtRQUN0QyxLQUNJLElBQUksS0FBSyxHQUFHLENBQUMsRUFDYixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU07WUFDcEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUk7WUFDakIsS0FBSyxDQUFDLEtBQUss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QUM7SUFDekQsQ0FBQztJQUVELDJCQUEyQjtRQUN2QixPQUFPLGVBQWUsQ0FBQztJQUMzQixDQUFDO0lBRUQseUJBQXlCLENBQUMsWUFBWSxHQUFHLEVBQUU7UUFDdkMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztJQUN0RCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsWUFBWSxHQUFHLEVBQUUsRUFBRSxLQUFLLEdBQUcsRUFBRTtRQUM3QyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsVUFBVSxLQUFLLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBVztRQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDeEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7Ozs7WUF6UEosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBQZXBGaWxlVHlwZSA9ICdzY3JpcHQnIHwgJ3N0eWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBJUGVwRXh0ZXJuYWxGaWxlTW9kZWwge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICB0eXBlOiBQZXBGaWxlVHlwZTtcbn1cblxuZGVjbGFyZSBsZXQgZG9jdW1lbnQ6IGFueTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGVwRmlsZVNlcnZpY2Uge1xuICAgIHByaXZhdGUgc2NyaXB0czogTWFwPHN0cmluZywgeyBsb2FkZWQ6IGJvb2xlYW47IHNyYzogc3RyaW5nIH0+O1xuICAgIHByaXZhdGUgc3R5bGVzOiBNYXA8c3RyaW5nLCB7IGxvYWRlZDogYm9vbGVhbjsgc3JjOiBzdHJpbmcgfT47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zY3JpcHRzID0gbmV3IE1hcDxzdHJpbmcsIHsgbG9hZGVkOiBib29sZWFuOyBzcmM6IHN0cmluZyB9PigpO1xuICAgICAgICB0aGlzLnN0eWxlcyA9IG5ldyBNYXA8c3RyaW5nLCB7IGxvYWRlZDogYm9vbGVhbjsgc3JjOiBzdHJpbmcgfT4oKTtcbiAgICB9XG5cbiAgICBsb2FkRmlsZXMoZmlsZXM6IElQZXBFeHRlcm5hbEZpbGVNb2RlbFtdKTogUHJvbWlzZTxhbnlbXT4ge1xuICAgICAgICBjb25zdCBwcm9taXNlczogYW55W10gPSBbXTtcbiAgICAgICAgZmlsZXMuZm9yRWFjaCgoZmlsZSkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpbGUudHlwZSA9PT0gJ3N0eWxlJykge1xuICAgICAgICAgICAgICAgIHByb21pc2VzLnB1c2godGhpcy5sb2FkU3R5bGUoZmlsZS5wYXRoKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGZpbGUudHlwZSA9PT0gJ3NjcmlwdCcpIHtcbiAgICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKHRoaXMubG9hZFNjcmlwdChmaWxlLnBhdGgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgfVxuXG4gICAgcmVtb3ZlRmlsZXMoZmlsZXM6IElQZXBFeHRlcm5hbEZpbGVNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIGZvciAoXG4gICAgICAgICAgICBsZXQgaW5kZXggPSAwO1xuICAgICAgICAgICAgaW5kZXggPCBmaWxlcy5sZW5ndGggJiZcbiAgICAgICAgICAgIGZpbGVzW2luZGV4XS5wYXRoICYmXG4gICAgICAgICAgICBmaWxlc1tpbmRleF0ucGF0aC50cmltKCkgIT09ICcnO1xuICAgICAgICAgICAgaW5kZXgrK1xuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldEZpbGVOYW1lKGZpbGVzW2luZGV4XS5wYXRoLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChuYW1lKTtcbiAgICAgICAgICAgIGVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtZW50KTtcblxuICAgICAgICAgICAgaWYgKGZpbGVzW2luZGV4XS50eXBlID09PSAnc2NyaXB0JyAmJiB0aGlzLnNjcmlwdHMuaGFzKG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JpcHRzLmRlbGV0ZShuYW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZmlsZXNbaW5kZXhdLnR5cGUgPT09ICdzdHlsZScgJiYgdGhpcy5zdHlsZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdHlsZXMuZGVsZXRlKG5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9hZFNjcmlwdChwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0RmlsZU5hbWUocGF0aCwgdHJ1ZSk7XG5cbiAgICAgICAgICAgIC8vIElmIHRoZSBzY3JpcHQgaXNuJ3QgZXhpc3QgYWRkIGl0LlxuICAgICAgICAgICAgaWYgKCF0aGlzLnNjcmlwdHMuaGFzKG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JpcHRzLnNldChuYW1lLCB7IGxvYWRlZDogZmFsc2UsIHNyYzogcGF0aCB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgc2NyaXB0SXRlbSA9IHRoaXMuc2NyaXB0cy5nZXQobmFtZSk7XG5cbiAgICAgICAgICAgIC8vIFJlc29sdmUgaWYgYWxyZWFkeSBsb2FkZWRcbiAgICAgICAgICAgIGlmIChzY3JpcHRJdGVtLmxvYWRlZCkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgICAgICAgICBzY3JpcHQ6IG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnQWxyZWFkeSBMb2FkZWQnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBMb2FkIHNjcmlwdFxuICAgICAgICAgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICAgICAgICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgICAgICAgICAgICAgc2NyaXB0LnNyYyA9IHNjcmlwdEl0ZW0uc3JjO1xuICAgICAgICAgICAgICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoJ2lkJywgbmFtZSk7XG4gICAgICAgICAgICAgICAgc2NyaXB0LmFzeW5jID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICBpZiAoc2NyaXB0LnJlYWR5U3RhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSUVcbiAgICAgICAgICAgICAgICAgICAgc2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQucmVhZHlTdGF0ZSA9PT0gJ2xvYWRlZCcgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQucmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0SXRlbS5sb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc2NyaXB0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6ICdMb2FkZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIE90aGVyc1xuICAgICAgICAgICAgICAgICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0SXRlbS5sb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc2NyaXB0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnTG9hZGVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzY3JpcHQub25lcnJvciA9IChlcnJvcjogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc2NyaXB0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6ICdMb2FkZWQnLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxvYWRTdHlsZShwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IHRoaXMuZ2V0RmlsZU5hbWUocGF0aCwgdHJ1ZSk7XG5cbiAgICAgICAgICAgIC8vIElmIHRoZSBzdHlsZSBpc24ndCBleGlzdCBhZGQgaXQuXG4gICAgICAgICAgICBpZiAoIXRoaXMuc3R5bGVzLmhhcyhuYW1lKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVzLnNldChuYW1lLCB7IGxvYWRlZDogZmFsc2UsIHNyYzogcGF0aCB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgc3R5bGVJdGVtID0gdGhpcy5zdHlsZXMuZ2V0KG5hbWUpO1xuXG4gICAgICAgICAgICAvLyBSZXNvbHZlIGlmIGFscmVhZHkgbG9hZGVkXG4gICAgICAgICAgICBpZiAoc3R5bGVJdGVtLmxvYWRlZCkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3R5bGUnLFxuICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ0FscmVhZHkgTG9hZGVkJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gTG9hZCBzdHlsZVxuICAgICAgICAgICAgICAgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgICAgICAgICAgIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgICAgICAgICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgICAgICAgICAgICBzdHlsZS5ocmVmID0gc3R5bGVJdGVtLnNyYztcbiAgICAgICAgICAgICAgICBzdHlsZS5tZWRpYSA9ICdhbGwnO1xuICAgICAgICAgICAgICAgIHN0eWxlLnNldEF0dHJpYnV0ZSgnaWQnLCBuYW1lKTtcblxuICAgICAgICAgICAgICAgIHN0eWxlSXRlbS5sb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3R5bGUnLFxuICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ0xvYWRlZCcsXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbG9hZEZvbnRTdHlsZShzdHlsZUlkOiBzdHJpbmcsIGhyZWY6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcblxuICAgICAgICBjb25zdCBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICAgICAgICAgIHN0eWxlSWRcbiAgICAgICAgKSBhcyBIVE1MTGlua0VsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHN0eWxlRWxlbWVudCkge1xuICAgICAgICAgICAgc3R5bGVFbGVtZW50LmhyZWYgPSBocmVmO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgICAgICBzdHlsZS5pZCA9IHN0eWxlSWQ7XG4gICAgICAgICAgICBzdHlsZS5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgICAgICBzdHlsZS5ocmVmID0gYCR7aHJlZn1gO1xuXG4gICAgICAgICAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEZpbGVOYW1lKGZpbGVQYXRoOiBzdHJpbmcsIHdpdGhFeHRlbnN0aW9uID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBsYXN0SW5kZXggPSB3aXRoRXh0ZW5zdGlvblxuICAgICAgICAgICAgPyBmaWxlUGF0aC5sZW5ndGggLSAxXG4gICAgICAgICAgICA6IGZpbGVQYXRoLmxhc3RJbmRleE9mKCcuJyk7XG5cbiAgICAgICAgcmV0dXJuIGZpbGVQYXRoLnN1YnN0cihmaWxlUGF0aC5sYXN0SW5kZXhPZignLycpICsgMSwgbGFzdEluZGV4KTtcbiAgICB9XG5cbiAgICBnZXRGaWxlRXh0ZW5zaW9uKGZpbGVQYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmaWxlU3BsaXQgPSBmaWxlUGF0aC5zcGxpdCgnLicpO1xuICAgICAgICBsZXQgZmlsZUV4dCA9ICcnO1xuICAgICAgICBpZiAoZmlsZVNwbGl0Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGZpbGVFeHQgPSBmaWxlU3BsaXRbZmlsZVNwbGl0Lmxlbmd0aCAtIDJdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWxlRXh0O1xuICAgIH1cblxuICAgIC8qIFJldHVybnMgdHJ1ZSBpZiB1cmwgaXMgdmFsaWQgKi9cbiAgICBpc1ZhbGlkVXJsKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIC8qIFRyeSBjcmVhdGluZyBhIHZhbGlkIFVSTCAqL1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgdG1wID0gbmV3IFVSTCh1cmwpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnZlcnRGcm9tYjY0dG9CbG9iKFxuICAgICAgICBiNjREYXRhOiBhbnksXG4gICAgICAgIGNvbnRlbnRUeXBlID0gJycsXG4gICAgICAgIHNsaWNlU2l6ZSA9IDUxMlxuICAgICk6IEJsb2Ige1xuICAgICAgICBjb25zdCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoYjY0RGF0YSk7XG4gICAgICAgIGNvbnN0IGJ5dGVBcnJheXMgPSBbXTtcblxuICAgICAgICBmb3IgKFxuICAgICAgICAgICAgbGV0IG9mZnNldCA9IDA7XG4gICAgICAgICAgICBvZmZzZXQgPCBieXRlQ2hhcmFjdGVycy5sZW5ndGg7XG4gICAgICAgICAgICBvZmZzZXQgKz0gc2xpY2VTaXplXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3Qgc2xpY2UgPSBieXRlQ2hhcmFjdGVycy5zbGljZShvZmZzZXQsIG9mZnNldCArIHNsaWNlU2l6ZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGJ5dGVOdW1iZXJzID0gbmV3IEFycmF5KHNsaWNlLmxlbmd0aCk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNsaWNlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgYnl0ZU51bWJlcnNbaV0gPSBzbGljZS5jaGFyQ29kZUF0KGkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBieXRlQXJyYXkgPSBuZXcgVWludDhBcnJheShieXRlTnVtYmVycyk7XG4gICAgICAgICAgICBieXRlQXJyYXlzLnB1c2goYnl0ZUFycmF5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihieXRlQXJyYXlzLCB7IHR5cGU6IGNvbnRlbnRUeXBlIH0pO1xuICAgICAgICByZXR1cm4gYmxvYjtcbiAgICB9XG5cbiAgICBnZXRBc3NldHNQYXRoKGFzc2V0c0RvbWFpbiA9ICcnKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY29uY2F0Q2hhciA9XG4gICAgICAgICAgICBhc3NldHNEb21haW4gPT09ICcnIHx8IGFzc2V0c0RvbWFpbi5lbmRzV2l0aCgnLycpID8gJycgOiAnLyc7XG4gICAgICAgIHJldHVybiBgJHthc3NldHNEb21haW59JHtjb25jYXRDaGFyfWFzc2V0cy9uZ3gtbGliL2A7XG4gICAgfVxuXG4gICAgZ2V0QXNzZXRzVHJhbnNsYXRpb25zU3VmZml4KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnLm5neC1saWIuanNvbic7XG4gICAgfVxuXG4gICAgZ2V0QXNzZXRzVHJhbnNsYXRpb25zUGF0aChhc3NldHNEb21haW4gPSAnJyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmdldEFzc2V0c1BhdGgoYXNzZXRzRG9tYWluKX1pMThuL2A7XG4gICAgfVxuXG4gICAgZ2V0QXNzZXRzSW1hZ2VzUGF0aChhc3NldHNEb21haW4gPSAnJywgaW1hZ2UgPSAnJyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmdldEFzc2V0c1BhdGgoYXNzZXRzRG9tYWluKX1pbWFnZXMvJHtpbWFnZX1gO1xuICAgIH1cblxuICAgIGdldFN2Z0FzSW1hZ2VTcmMoc3ZnOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3N2Z10sIHsgdHlwZTogJ2ltYWdlL3N2Zyt4bWwnIH0pO1xuICAgICAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICByZXR1cm4gdXJsO1xuICAgIH1cbn1cbiJdfQ==
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9zcmMvY29yZS9jb21tb24vc2VydmljZXMvZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBYzNDLE1BQU0sT0FBTyxjQUFjO0lBSXZCO1FBQ0ksSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBNEMsQ0FBQztRQUNuRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxFQUE0QyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBOEI7UUFDcEMsTUFBTSxRQUFRLEdBQVUsRUFBRSxDQUFDO1FBQzNCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUN2QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDNUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDL0IsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQzdDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUE4QjtRQUN0QyxLQUNJLElBQUksS0FBSyxHQUFHLENBQUMsRUFDYixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU07WUFDcEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUk7WUFDakIsS0FBSyxDQUFDLEtBQUss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LEdBQUcsVUFBVSxVQUFVLE9BQU8sR0FBRyxDQUFDO0lBQzVELENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxPQUFPLEdBQUcsU0FBUztRQUMzQyxPQUFPLElBQUksT0FBTyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVELHlCQUF5QixDQUFDLFlBQVksR0FBRyxFQUFFLEVBQUUsT0FBTyxHQUFHLFNBQVM7UUFDNUQsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDL0QsQ0FBQztJQUVELG1CQUFtQixDQUFDLFlBQVksR0FBRyxFQUFFLEVBQUUsS0FBSyxHQUFHLEVBQUUsRUFBRSxPQUFPLEdBQUcsU0FBUztRQUNsRSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFVBQVUsS0FBSyxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQVc7UUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDOzs7O1lBelBKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgUGVwRmlsZVR5cGUgPSAnc2NyaXB0JyB8ICdzdHlsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcEV4dGVybmFsRmlsZU1vZGVsIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgdHlwZTogUGVwRmlsZVR5cGU7XG59XG5cbmRlY2xhcmUgbGV0IGRvY3VtZW50OiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcEZpbGVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHNjcmlwdHM6IE1hcDxzdHJpbmcsIHsgbG9hZGVkOiBib29sZWFuOyBzcmM6IHN0cmluZyB9PjtcbiAgICBwcml2YXRlIHN0eWxlczogTWFwPHN0cmluZywgeyBsb2FkZWQ6IGJvb2xlYW47IHNyYzogc3RyaW5nIH0+O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuc2NyaXB0cyA9IG5ldyBNYXA8c3RyaW5nLCB7IGxvYWRlZDogYm9vbGVhbjsgc3JjOiBzdHJpbmcgfT4oKTtcbiAgICAgICAgdGhpcy5zdHlsZXMgPSBuZXcgTWFwPHN0cmluZywgeyBsb2FkZWQ6IGJvb2xlYW47IHNyYzogc3RyaW5nIH0+KCk7XG4gICAgfVxuXG4gICAgbG9hZEZpbGVzKGZpbGVzOiBJUGVwRXh0ZXJuYWxGaWxlTW9kZWxbXSk6IFByb21pc2U8YW55W10+IHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXM6IGFueVtdID0gW107XG4gICAgICAgIGZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgICAgICAgIGlmIChmaWxlLnR5cGUgPT09ICdzdHlsZScpIHtcbiAgICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKHRoaXMubG9hZFN0eWxlKGZpbGUucGF0aCkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmaWxlLnR5cGUgPT09ICdzY3JpcHQnKSB7XG4gICAgICAgICAgICAgICAgcHJvbWlzZXMucHVzaCh0aGlzLmxvYWRTY3JpcHQoZmlsZS5wYXRoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgIH1cblxuICAgIHJlbW92ZUZpbGVzKGZpbGVzOiBJUGVwRXh0ZXJuYWxGaWxlTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBmb3IgKFxuICAgICAgICAgICAgbGV0IGluZGV4ID0gMDtcbiAgICAgICAgICAgIGluZGV4IDwgZmlsZXMubGVuZ3RoICYmXG4gICAgICAgICAgICBmaWxlc1tpbmRleF0ucGF0aCAmJlxuICAgICAgICAgICAgZmlsZXNbaW5kZXhdLnBhdGgudHJpbSgpICE9PSAnJztcbiAgICAgICAgICAgIGluZGV4KytcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gdGhpcy5nZXRGaWxlTmFtZShmaWxlc1tpbmRleF0ucGF0aCwgdHJ1ZSk7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobmFtZSk7XG4gICAgICAgICAgICBlbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZWxlbWVudCk7XG5cbiAgICAgICAgICAgIGlmIChmaWxlc1tpbmRleF0udHlwZSA9PT0gJ3NjcmlwdCcgJiYgdGhpcy5zY3JpcHRzLmhhcyhuYW1lKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2NyaXB0cy5kZWxldGUobmFtZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGZpbGVzW2luZGV4XS50eXBlID09PSAnc3R5bGUnICYmIHRoaXMuc3R5bGVzLmhhcyhuYW1lKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVzLmRlbGV0ZShuYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvYWRTY3JpcHQocGF0aDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldEZpbGVOYW1lKHBhdGgsIHRydWUpO1xuXG4gICAgICAgICAgICAvLyBJZiB0aGUgc2NyaXB0IGlzbid0IGV4aXN0IGFkZCBpdC5cbiAgICAgICAgICAgIGlmICghdGhpcy5zY3JpcHRzLmhhcyhuYW1lKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2NyaXB0cy5zZXQobmFtZSwgeyBsb2FkZWQ6IGZhbHNlLCBzcmM6IHBhdGggfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHNjcmlwdEl0ZW0gPSB0aGlzLnNjcmlwdHMuZ2V0KG5hbWUpO1xuXG4gICAgICAgICAgICAvLyBSZXNvbHZlIGlmIGFscmVhZHkgbG9hZGVkXG4gICAgICAgICAgICBpZiAoc2NyaXB0SXRlbS5sb2FkZWQpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAgICAgc2NyaXB0OiBuYW1lLFxuICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ0FscmVhZHkgTG9hZGVkJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gTG9hZCBzY3JpcHRcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgICAgICAgIHNjcmlwdC5zcmMgPSBzY3JpcHRJdGVtLnNyYztcbiAgICAgICAgICAgICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKCdpZCcsIG5hbWUpO1xuICAgICAgICAgICAgICAgIHNjcmlwdC5hc3luYyA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgaWYgKHNjcmlwdC5yZWFkeVN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIElFXG4gICAgICAgICAgICAgICAgICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0LnJlYWR5U3RhdGUgPT09ICdsb2FkZWQnIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0LnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdEl0ZW0ubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3NjcmlwdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnTG9hZGVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcnNcbiAgICAgICAgICAgICAgICAgICAgc2NyaXB0Lm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdEl0ZW0ubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3NjcmlwdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogJ0xvYWRlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2NyaXB0Lm9uZXJyb3IgPSAoZXJyb3I6IGFueSkgPT5cbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3NjcmlwdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnTG9hZGVkJyxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBsb2FkU3R5bGUocGF0aDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldEZpbGVOYW1lKHBhdGgsIHRydWUpO1xuXG4gICAgICAgICAgICAvLyBJZiB0aGUgc3R5bGUgaXNuJ3QgZXhpc3QgYWRkIGl0LlxuICAgICAgICAgICAgaWYgKCF0aGlzLnN0eWxlcy5oYXMobmFtZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0eWxlcy5zZXQobmFtZSwgeyBsb2FkZWQ6IGZhbHNlLCBzcmM6IHBhdGggfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHN0eWxlSXRlbSA9IHRoaXMuc3R5bGVzLmdldChuYW1lKTtcblxuICAgICAgICAgICAgLy8gUmVzb2x2ZSBpZiBhbHJlYWR5IGxvYWRlZFxuICAgICAgICAgICAgaWYgKHN0eWxlSXRlbS5sb2FkZWQpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0eWxlJyxcbiAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6ICdBbHJlYWR5IExvYWRlZCcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIExvYWQgc3R5bGVcbiAgICAgICAgICAgICAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgICAgICAgICBzdHlsZS50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgICAgICAgICAgICBzdHlsZS5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgICAgICAgICAgc3R5bGUuaHJlZiA9IHN0eWxlSXRlbS5zcmM7XG4gICAgICAgICAgICAgICAgc3R5bGUubWVkaWEgPSAnYWxsJztcbiAgICAgICAgICAgICAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoJ2lkJywgbmFtZSk7XG5cbiAgICAgICAgICAgICAgICBzdHlsZUl0ZW0ubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0eWxlJyxcbiAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6ICdMb2FkZWQnLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChzdHlsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxvYWRGb250U3R5bGUoc3R5bGVJZDogc3RyaW5nLCBocmVmOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG5cbiAgICAgICAgY29uc3Qgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXG4gICAgICAgICAgICBzdHlsZUlkXG4gICAgICAgICkgYXMgSFRNTExpbmtFbGVtZW50O1xuXG4gICAgICAgIGlmIChzdHlsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHN0eWxlRWxlbWVudC5ocmVmID0gaHJlZjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgICAgICAgc3R5bGUuaWQgPSBzdHlsZUlkO1xuICAgICAgICAgICAgc3R5bGUucmVsID0gJ3N0eWxlc2hlZXQnO1xuICAgICAgICAgICAgc3R5bGUuaHJlZiA9IGAke2hyZWZ9YDtcblxuICAgICAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRGaWxlTmFtZShmaWxlUGF0aDogc3RyaW5nLCB3aXRoRXh0ZW5zdGlvbiA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbGFzdEluZGV4ID0gd2l0aEV4dGVuc3Rpb25cbiAgICAgICAgICAgID8gZmlsZVBhdGgubGVuZ3RoIC0gMVxuICAgICAgICAgICAgOiBmaWxlUGF0aC5sYXN0SW5kZXhPZignLicpO1xuXG4gICAgICAgIHJldHVybiBmaWxlUGF0aC5zdWJzdHIoZmlsZVBhdGgubGFzdEluZGV4T2YoJy8nKSArIDEsIGxhc3RJbmRleCk7XG4gICAgfVxuXG4gICAgZ2V0RmlsZUV4dGVuc2lvbihmaWxlUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZmlsZVNwbGl0ID0gZmlsZVBhdGguc3BsaXQoJy4nKTtcbiAgICAgICAgbGV0IGZpbGVFeHQgPSAnJztcbiAgICAgICAgaWYgKGZpbGVTcGxpdC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICBmaWxlRXh0ID0gZmlsZVNwbGl0W2ZpbGVTcGxpdC5sZW5ndGggLSAyXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsZUV4dDtcbiAgICB9XG5cbiAgICAvKiBSZXR1cm5zIHRydWUgaWYgdXJsIGlzIHZhbGlkICovXG4gICAgaXNWYWxpZFVybCh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICAvKiBUcnkgY3JlYXRpbmcgYSB2YWxpZCBVUkwgKi9cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHRtcCA9IG5ldyBVUkwodXJsKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb252ZXJ0RnJvbWI2NHRvQmxvYihcbiAgICAgICAgYjY0RGF0YTogYW55LFxuICAgICAgICBjb250ZW50VHlwZSA9ICcnLFxuICAgICAgICBzbGljZVNpemUgPSA1MTJcbiAgICApOiBCbG9iIHtcbiAgICAgICAgY29uc3QgYnl0ZUNoYXJhY3RlcnMgPSBhdG9iKGI2NERhdGEpO1xuICAgICAgICBjb25zdCBieXRlQXJyYXlzID0gW107XG5cbiAgICAgICAgZm9yIChcbiAgICAgICAgICAgIGxldCBvZmZzZXQgPSAwO1xuICAgICAgICAgICAgb2Zmc2V0IDwgYnl0ZUNoYXJhY3RlcnMubGVuZ3RoO1xuICAgICAgICAgICAgb2Zmc2V0ICs9IHNsaWNlU2l6ZVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHNsaWNlID0gYnl0ZUNoYXJhY3RlcnMuc2xpY2Uob2Zmc2V0LCBvZmZzZXQgKyBzbGljZVNpemUpO1xuXG4gICAgICAgICAgICBjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShzbGljZS5sZW5ndGgpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzbGljZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGJ5dGVOdW1iZXJzW2ldID0gc2xpY2UuY2hhckNvZGVBdChpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYnl0ZUFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYnl0ZU51bWJlcnMpO1xuICAgICAgICAgICAgYnl0ZUFycmF5cy5wdXNoKGJ5dGVBcnJheSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoYnl0ZUFycmF5cywgeyB0eXBlOiBjb250ZW50VHlwZSB9KTtcbiAgICAgICAgcmV0dXJuIGJsb2I7XG4gICAgfVxuXG4gICAgZ2V0QXNzZXRzUGF0aChhc3NldHNEb21haW4gPSAnJywgbGliTmFtZSA9ICduZ3gtbGliJyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNvbmNhdENoYXIgPVxuICAgICAgICAgICAgYXNzZXRzRG9tYWluID09PSAnJyB8fCBhc3NldHNEb21haW4uZW5kc1dpdGgoJy8nKSA/ICcnIDogJy8nO1xuICAgICAgICByZXR1cm4gYCR7YXNzZXRzRG9tYWlufSR7Y29uY2F0Q2hhcn1hc3NldHMvJHtsaWJOYW1lfS9gO1xuICAgIH1cblxuICAgIGdldEFzc2V0c1RyYW5zbGF0aW9uc1N1ZmZpeChsaWJOYW1lID0gJ25neC1saWInKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAuJHtsaWJOYW1lfS5qc29uYDtcbiAgICB9XG5cbiAgICBnZXRBc3NldHNUcmFuc2xhdGlvbnNQYXRoKGFzc2V0c0RvbWFpbiA9ICcnLCBsaWJOYW1lID0gJ25neC1saWInKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0QXNzZXRzUGF0aChhc3NldHNEb21haW4sIGxpYk5hbWUpfWkxOG4vYDtcbiAgICB9XG5cbiAgICBnZXRBc3NldHNJbWFnZXNQYXRoKGFzc2V0c0RvbWFpbiA9ICcnLCBpbWFnZSA9ICcnLCBsaWJOYW1lID0gJ25neC1saWInKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0QXNzZXRzUGF0aChhc3NldHNEb21haW4sIGxpYk5hbWUpfWltYWdlcy8ke2ltYWdlfWA7XG4gICAgfVxuXG4gICAgZ2V0U3ZnQXNJbWFnZVNyYyhzdmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbc3ZnXSwgeyB0eXBlOiAnaW1hZ2Uvc3ZnK3htbCcgfSk7XG4gICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICAgIHJldHVybiB1cmw7XG4gICAgfVxufVxuIl19
|
|
@@ -27,23 +27,41 @@ export class PepUtilitiesService {
|
|
|
27
27
|
.toLocaleString(this.culture)
|
|
28
28
|
.substring(1, 2);
|
|
29
29
|
}
|
|
30
|
+
// parseDate(dateStr: string, showTime = false): Date {
|
|
31
|
+
// let retVal: Date = null;
|
|
32
|
+
// if (dateStr !== '') {
|
|
33
|
+
// retVal = new Date(dateStr);
|
|
34
|
+
// // Convert to date with no offset.
|
|
35
|
+
// if (!showTime) {
|
|
36
|
+
// const index = dateStr.indexOf('T');
|
|
37
|
+
// if (index > 0) {
|
|
38
|
+
// dateStr = dateStr.substring(0, index);
|
|
39
|
+
// }
|
|
40
|
+
// const dateText = dateStr.split('-');
|
|
41
|
+
// if (dateText.length === 3) {
|
|
42
|
+
// const year = Number(dateText[0]);
|
|
43
|
+
// const month = Number(dateText[1]) - 1;
|
|
44
|
+
// const day = Number(dateText[2]);
|
|
45
|
+
// retVal = new Date(year, month, day, 0, retVal.getTimezoneOffset() * -1);
|
|
46
|
+
// }
|
|
47
|
+
// }
|
|
48
|
+
// }
|
|
49
|
+
// if (retVal && isNaN(retVal.getTime())) {
|
|
50
|
+
// retVal = null;
|
|
51
|
+
// }
|
|
52
|
+
// return retVal;
|
|
53
|
+
// }
|
|
30
54
|
parseDate(dateStr, showTime = false) {
|
|
31
55
|
let retVal = null;
|
|
32
56
|
if (dateStr !== '') {
|
|
33
57
|
retVal = new Date(dateStr);
|
|
34
58
|
// Convert to date with no offset.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if (dateText.length === 3) {
|
|
42
|
-
const year = Number(dateText[0]);
|
|
43
|
-
const month = Number(dateText[1]) - 1;
|
|
44
|
-
const day = Number(dateText[2]);
|
|
45
|
-
retVal = new Date(year, month, day, 0, retVal.getTimezoneOffset() * -1);
|
|
46
|
-
}
|
|
59
|
+
const dateText = dateStr.split('-');
|
|
60
|
+
if (dateText.length === 3 && !showTime) {
|
|
61
|
+
const year = Number(dateText[0]);
|
|
62
|
+
const month = Number(dateText[1]) - 1;
|
|
63
|
+
const day = Number(dateText[2]);
|
|
64
|
+
retVal = new Date(year, month, day);
|
|
47
65
|
}
|
|
48
66
|
}
|
|
49
67
|
if (retVal && isNaN(retVal.getTime())) {
|
|
@@ -140,4 +158,4 @@ PepUtilitiesService.decorators = [
|
|
|
140
158
|
PepUtilitiesService.ctorParameters = () => [
|
|
141
159
|
{ type: TranslateService, decorators: [{ type: Optional }] }
|
|
142
160
|
];
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NyYy9jb3JlL2NvbW1vbi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFJNUIsWUFBZ0MsWUFBOEIsSUFBSTs7UUFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFGMUQsWUFBTyxHQUFHLE9BQU8sQ0FBQztRQUd0QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUEsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxxQkFBcUIsRUFBRSxLQUFJLE9BQU8sQ0FBQztRQUNsRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZELHFCQUFxQixFQUFFLENBQUM7U0FDM0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHNCQUFzQixDQUFDLEtBQWEsRUFBRSxPQUFPLEdBQUcsS0FBSztRQUN6RCxrQ0FBa0M7UUFDbEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxHQUFHLEVBQUU7WUFDcEMscUVBQXFFO1lBQ3JFLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUN2RTtRQUVELE9BQU8sS0FBSyxDQUFD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LFdBQVcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUN6QyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQzFCLElBQUksQ0FDUCxDQUFDO1FBRUYsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQVUsRUFBRSxhQUFhLEdBQUcsQ0FBQztRQUM5QyxtREFBbUQ7UUFDbkQsS0FBSyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzQyxPQUFPLG9CQUFvQixDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs7O1lBbktKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBSlEsZ0JBQWdCLHVCQVNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBVdGlsaXRpZXNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIG51bWJlckZvcm1hdHRlcjogSW50bC5OdW1iZXJGb3JtYXQ7XG4gICAgcHJpdmF0ZSBjdWx0dXJlID0gJ2VuLVVTJztcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlID0gbnVsbCkge1xuICAgICAgICB0aGlzLmN1bHR1cmUgPSB0aGlzLnRyYW5zbGF0ZT8uZ2V0QnJvd3NlckN1bHR1cmVMYW5nKCkgfHwgJ2VuLVVTJztcbiAgICAgICAgdGhpcy5udW1iZXJGb3JtYXR0ZXIgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jdWx0dXJlLCB7XG4gICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDIsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlRGVjaW1hbFNlcGVyYXRvcih2YWx1ZTogc3RyaW5nLCByZXZlcnNlID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICAvLyBJZiB0aGUgZGVjaW1hbCBzZXBhcmF0b3IgaXMgJywnXG4gICAgICAgIGlmICh0aGlzLmdldERlY2ltYWxTZXBhcmF0b3IoKSA9PT0gJywnKSB7XG4gICAgICAgICAgICAvLyBJZiByZXZlcnNlIGNoYW5nZSB0aGUgbnVtYmVyIGZyb20gJy4nIHRvICcsJyBlbHNlIGRvIHRoZSBvcHBvc2l0ZS5cbiAgICAgICAgICAgIHZhbHVlID0gcmV2ZXJzZSA/IHZhbHVlLnJlcGxhY2UoJy4nLCAnLCcpIDogdmFsdWUucmVwbGFjZSgnLCcsICcuJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWNpbWFsU2VwYXJhdG9yKCkge1xuICAgICAgICBjb25zdCBudW1iZXJXaXRoRGVjaW1hbFNlcGFyYXRvciA9IDEuMTtcblxuICAgICAgICByZXR1cm4gbnVtYmVyV2l0aERlY2ltYWxTZXBhcmF0b3JcbiAgICAgICAgICAgIC50b0xvY2FsZVN0cmluZyh0aGlzLmN1bHR1cmUpXG4gICAgICAgICAgICAuc3Vic3RyaW5nKDEsIDIpO1xuICAgIH1cblxuICAgIHBhcnNlRGF0ZShkYXRlU3RyOiBzdHJpbmcsIHNob3dUaW1lID0gZmFsc2UpOiBEYXRlIHtcbiAgICAgICAgbGV0IHJldFZhbDogRGF0ZSA9IG51bGw7XG4gICAgICAgIGlmIChkYXRlU3RyICE9PSAnJykge1xuICAgICAgICAgICAgcmV0VmFsID0gbmV3IERhdGUoZGF0ZVN0cik7XG5cbiAgICAgICAgICAgIC8vIENvbnZlcnQgdG8gZGF0ZSB3aXRoIG5vIG9mZnNldC5cbiAgICAgICAgICAgIGlmICghc2hvd1RpbWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IGRhdGVTdHIuaW5kZXhPZignVCcpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBkYXRlU3RyID0gZGF0ZVN0ci5zdWJzdHJpbmcoMCwgaW5kZXgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVUZXh0ID0gZGF0ZVN0ci5zcGxpdCgnLScpO1xuICAgICAgICAgICAgICAgIGlmIChkYXRlVGV4dC5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeWVhciA9IE51bWJlcihkYXRlVGV4dFswXSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vbnRoID0gTnVtYmVyKGRhdGVUZXh0WzFdKSAtIDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRheSA9IE51bWJlcihkYXRlVGV4dFsyXSk7XG4gICAgICAgICAgICAgICAgICAgIHJldFZhbCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXksIDAsIHJldFZhbC5nZXRUaW1lem9uZU9mZnNldCgpICogLTEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocmV0VmFsICYmIGlzTmFOKHJldFZhbC5nZXRUaW1lKCkpKSB7XG4gICAgICAgICAgICByZXRWYWwgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXRWYWw7XG4gICAgfVxuXG4gICAgc3RyaW5naWZ5RGF0ZShkYXRlOiBEYXRlLCBzaG93VGltZSA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIGlmIChzaG93VGltZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7IC8vIGluY2x1ZGUgLSBvZmZzZXRcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0ZVRleHQgPSBbXTtcbiAgICAgICAgICAgICAgICBkYXRlVGV4dC5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgICAgICAgICAgICctJyxcbiAgICAgICAgICAgICAgICAgICAgZGF0ZS5nZXRNb250aCgpICsgMSxcbiAgICAgICAgICAgICAgICAgICAgJy0nLFxuICAgICAgICAgICAgICAgICAgICBkYXRlLmdldERhdGUoKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGVUZXh0LmpvaW4oJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaWYgKGRhdGUpIHtcbiAgICAgICAgLy8gICAgIGNvbnN0IGRhdGVUZXh0ID0gW107XG4gICAgICAgIC8vICAgICBkYXRlVGV4dC5wdXNoKFxuICAgICAgICAvLyAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgLy8gICAgICAgICAnLScsXG4gICAgICAgIC8vICAgICAgICAgZGF0ZS5nZXRNb250aCgpICsgMSxcbiAgICAgICAgLy8gICAgICAgICAnLScsXG4gICAgICAgIC8vICAgICAgICAgZGF0ZS5nZXREYXRlKClcbiAgICAgICAgLy8gICAgICk7XG5cbiAgICAgICAgLy8gICAgIGlmIChzaG93VGltZSkge1xuICAgICAgICAvLyAgICAgICAgIGRhdGVUZXh0LnB1c2goXG4gICAgICAgIC8vICAgICAgICAgICAgICdUJyxcbiAgICAgICAgLy8gICAgICAgICAgICAgKGRhdGUuZ2V0SG91cnMoKSA8IDEwID8gJzAnIDogJycpICsgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICAvLyAgICAgICAgICAgICAnOicsXG4gICAgICAgIC8vICAgICAgICAgICAgIChkYXRlLmdldE1pbnV0ZXMoKSA8IDEwID8gJzAnIDogJycpICsgZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgICAgIC8vICAgICAgICAgICAgICc6JyxcbiAgICAgICAgLy8gICAgICAgICAgICAgKGRhdGUuZ2V0U2Vjb25kcygpIDwgMTAgPyAnMCcgOiAnJykgKyBkYXRlLmdldFNlY29uZHMoKSxcbiAgICAgICAgLy8gICAgICAgICAgICAgJ1onXG4gICAgICAgIC8vICAgICAgICAgKTtcbiAgICAgICAgLy8gICAgIH1cblxuICAgICAgICAvLyAgICAgcmV0dXJuIGRhdGVUZXh0LmpvaW4oJycpO1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgcmV0dXJuICcnO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgaXNWYWx1ZUh0bWwodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgcmVzID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IFJFR0VYUCA9IC88XFwvP1thLXpdW1xcc1xcU10qPi9pO1xuICAgICAgICByZXMgPSBSRUdFWFAudGVzdCh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBpc0pzb25TdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIEpTT04ucGFyc2Uoc3RyKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGdldFN2Z0VsZW1lbnRGcm9tU3RyaW5nKGRvY3VtZW50LCBzdmdDb250ZW50OiBzdHJpbmcpOiBTVkdFbGVtZW50IHtcbiAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnRElWJyk7XG4gICAgICAgIGRpdi5pbm5lckhUTUwgPSBzdmdDb250ZW50O1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZGl2LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpIHx8XG4gICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3BhdGgnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZvcm1hdE51bWJlcih2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbnVtYmVyID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIHJldHVybiB0aGlzLm51bWJlckZvcm1hdHRlci5mb3JtYXQobnVtYmVyKTtcbiAgICB9XG5cbiAgICBpbmNyZW1lbnROdW1iZXIodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBudW1iZXJWYWx1ZSA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBjb25zdCBuZXdOdW1iZXIgPSB0aGlzLmNoYW5nZURlY2ltYWxTZXBlcmF0b3IoXG4gICAgICAgICAgICAoKytudW1iZXJWYWx1ZSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gbmV3TnVtYmVyO1xuICAgIH1cblxuICAgIGRlY3JlbWVudE51bWJlcih2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG51bWJlclZhbHVlID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG5ld051bWJlciA9IHRoaXMuY2hhbmdlRGVjaW1hbFNlcGVyYXRvcihcbiAgICAgICAgICAgICgtLW51bWJlclZhbHVlKS50b1N0cmluZygpLFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBuZXdOdW1iZXI7XG4gICAgfVxuXG4gICAgY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWU6IGFueSwgZmFsbGJhY2tWYWx1ZSA9IDApOiBudW1iZXIge1xuICAgICAgICAvLyBJZiB0aGUgZGVjaW1hbCBzZXBhcmF0b3IgaXMgJywnIGNoYW5nZSBpdCB0byAnLidcbiAgICAgICAgdmFsdWUgPSB0aGlzLmNoYW5nZURlY2ltYWxTZXBlcmF0b3IodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSwgZmFsbGJhY2tWYWx1ZSk7XG4gICAgfVxufVxuIl19
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NyYy9jb3JlL2NvbW1vbi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFJNUIsWUFBZ0MsWUFBOEIsSUFBSTs7UUFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFGMUQsWUFBTyxHQUFHLE9BQU8sQ0FBQztRQUd0QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUEsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxxQkFBcUIsRUFBRSxLQUFJLE9BQU8sQ0FBQztRQUNsRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZELHFCQUFxQixFQUFFLENBQUM7U0FDM0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHNCQUFzQixDQUFDLEtBQWEsRUFBRSxPQUFPLEdBQUcsS0FBSztRQUN6RCxrQ0FBa0M7UUFDbEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxHQUFHLEVBQUU7WUFDcEMscUVBQXFFO1lBQ3JFLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUN2RTtRQUVELE9BQU8sS0FBSyxDQUFD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QUksQ0FDUCxDQUFDO1FBRUYsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3RCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQ3pDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFDMUIsSUFBSSxDQUNQLENBQUM7UUFFRixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBVSxFQUFFLGFBQWEsR0FBRyxDQUFDO1FBQzlDLG1EQUFtRDtRQUNuRCxLQUFLLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLE9BQU8sb0JBQW9CLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Ozs7WUF2TEosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFKUSxnQkFBZ0IsdUJBU1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcFV0aWxpdGllc1NlcnZpY2Uge1xuICAgIHByaXZhdGUgbnVtYmVyRm9ybWF0dGVyOiBJbnRsLk51bWJlckZvcm1hdDtcbiAgICBwcml2YXRlIGN1bHR1cmUgPSAnZW4tVVMnO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UgPSBudWxsKSB7XG4gICAgICAgIHRoaXMuY3VsdHVyZSA9IHRoaXMudHJhbnNsYXRlPy5nZXRCcm93c2VyQ3VsdHVyZUxhbmcoKSB8fCAnZW4tVVMnO1xuICAgICAgICB0aGlzLm51bWJlckZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmN1bHR1cmUsIHtcbiAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZWNpbWFsU2VwZXJhdG9yKHZhbHVlOiBzdHJpbmcsIHJldmVyc2UgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgICAgIC8vIElmIHRoZSBkZWNpbWFsIHNlcGFyYXRvciBpcyAnLCdcbiAgICAgICAgaWYgKHRoaXMuZ2V0RGVjaW1hbFNlcGFyYXRvcigpID09PSAnLCcpIHtcbiAgICAgICAgICAgIC8vIElmIHJldmVyc2UgY2hhbmdlIHRoZSBudW1iZXIgZnJvbSAnLicgdG8gJywnIGVsc2UgZG8gdGhlIG9wcG9zaXRlLlxuICAgICAgICAgICAgdmFsdWUgPSByZXZlcnNlID8gdmFsdWUucmVwbGFjZSgnLicsICcsJykgOiB2YWx1ZS5yZXBsYWNlKCcsJywgJy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlY2ltYWxTZXBhcmF0b3IoKSB7XG4gICAgICAgIGNvbnN0IG51bWJlcldpdGhEZWNpbWFsU2VwYXJhdG9yID0gMS4xO1xuXG4gICAgICAgIHJldHVybiBudW1iZXJXaXRoRGVjaW1hbFNlcGFyYXRvclxuICAgICAgICAgICAgLnRvTG9jYWxlU3RyaW5nKHRoaXMuY3VsdHVyZSlcbiAgICAgICAgICAgIC5zdWJzdHJpbmcoMSwgMik7XG4gICAgfVxuXG4gICAgLy8gcGFyc2VEYXRlKGRhdGVTdHI6IHN0cmluZywgc2hvd1RpbWUgPSBmYWxzZSk6IERhdGUge1xuICAgIC8vICAgICBsZXQgcmV0VmFsOiBEYXRlID0gbnVsbDtcbiAgICAvLyAgICAgaWYgKGRhdGVTdHIgIT09ICcnKSB7XG4gICAgLy8gICAgICAgICByZXRWYWwgPSBuZXcgRGF0ZShkYXRlU3RyKTtcblxuICAgIC8vICAgICAgICAgLy8gQ29udmVydCB0byBkYXRlIHdpdGggbm8gb2Zmc2V0LlxuICAgIC8vICAgICAgICAgaWYgKCFzaG93VGltZSkge1xuICAgIC8vICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gZGF0ZVN0ci5pbmRleE9mKCdUJyk7XG5cbiAgICAvLyAgICAgICAgICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgLy8gICAgICAgICAgICAgICAgIGRhdGVTdHIgPSBkYXRlU3RyLnN1YnN0cmluZygwLCBpbmRleCk7XG4gICAgLy8gICAgICAgICAgICAgfVxuXG4gICAgLy8gICAgICAgICAgICAgY29uc3QgZGF0ZVRleHQgPSBkYXRlU3RyLnNwbGl0KCctJyk7XG4gICAgLy8gICAgICAgICAgICAgaWYgKGRhdGVUZXh0Lmxlbmd0aCA9PT0gMykge1xuICAgIC8vICAgICAgICAgICAgICAgICBjb25zdCB5ZWFyID0gTnVtYmVyKGRhdGVUZXh0WzBdKTtcbiAgICAvLyAgICAgICAgICAgICAgICAgY29uc3QgbW9udGggPSBOdW1iZXIoZGF0ZVRleHRbMV0pIC0gMTtcbiAgICAvLyAgICAgICAgICAgICAgICAgY29uc3QgZGF5ID0gTnVtYmVyKGRhdGVUZXh0WzJdKTtcbiAgICAvLyAgICAgICAgICAgICAgICAgcmV0VmFsID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSwgMCwgcmV0VmFsLmdldFRpbWV6b25lT2Zmc2V0KCkgKiAtMSk7XG4gICAgLy8gICAgICAgICAgICAgfVxuICAgIC8vICAgICAgICAgfVxuICAgIC8vICAgICB9XG4gICAgLy8gICAgIGlmIChyZXRWYWwgJiYgaXNOYU4ocmV0VmFsLmdldFRpbWUoKSkpIHtcbiAgICAvLyAgICAgICAgIHJldFZhbCA9IG51bGw7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgcmV0dXJuIHJldFZhbDtcbiAgICAvLyB9XG5cbiAgICBwYXJzZURhdGUoZGF0ZVN0cjogc3RyaW5nLCBzaG93VGltZSA9IGZhbHNlKTogRGF0ZSB7XG4gICAgICAgIGxldCByZXRWYWw6IERhdGUgPSBudWxsO1xuICAgICAgICBpZiAoZGF0ZVN0ciAhPT0gJycpIHtcbiAgICAgICAgICAgIHJldFZhbCA9IG5ldyBEYXRlKGRhdGVTdHIpO1xuXG4gICAgICAgICAgICAvLyBDb252ZXJ0IHRvIGRhdGUgd2l0aCBubyBvZmZzZXQuXG4gICAgICAgICAgICBjb25zdCBkYXRlVGV4dCA9IGRhdGVTdHIuc3BsaXQoJy0nKTtcbiAgICAgICAgICAgIGlmIChkYXRlVGV4dC5sZW5ndGggPT09IDMgJiYgIXNob3dUaW1lKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeWVhciA9IE51bWJlcihkYXRlVGV4dFswXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbW9udGggPSBOdW1iZXIoZGF0ZVRleHRbMV0pIC0gMTtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXkgPSBOdW1iZXIoZGF0ZVRleHRbMl0pO1xuICAgICAgICAgICAgICAgIHJldFZhbCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZXRWYWwgJiYgaXNOYU4ocmV0VmFsLmdldFRpbWUoKSkpIHtcbiAgICAgICAgICAgIHJldFZhbCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJldFZhbDtcbiAgICB9XG5cbiAgICBzdHJpbmdpZnlEYXRlKGRhdGU6IERhdGUsIHNob3dUaW1lID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgaWYgKHNob3dUaW1lKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTsgLy8gaW5jbHVkZSAtIG9mZnNldFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlVGV4dCA9IFtdO1xuICAgICAgICAgICAgICAgIGRhdGVUZXh0LnB1c2goXG4gICAgICAgICAgICAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgICAgICAgICAgICAgJy0nLFxuICAgICAgICAgICAgICAgICAgICBkYXRlLmdldE1vbnRoKCkgKyAxLFxuICAgICAgICAgICAgICAgICAgICAnLScsXG4gICAgICAgICAgICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZVRleHQuam9pbignJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiAoZGF0ZSkge1xuICAgICAgICAvLyAgICAgY29uc3QgZGF0ZVRleHQgPSBbXTtcbiAgICAgICAgLy8gICAgIGRhdGVUZXh0LnB1c2goXG4gICAgICAgIC8vICAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICAvLyAgICAgICAgICctJyxcbiAgICAgICAgLy8gICAgICAgICBkYXRlLmdldE1vbnRoKCkgKyAxLFxuICAgICAgICAvLyAgICAgICAgICctJyxcbiAgICAgICAgLy8gICAgICAgICBkYXRlLmdldERhdGUoKVxuICAgICAgICAvLyAgICAgKTtcblxuICAgICAgICAvLyAgICAgaWYgKHNob3dUaW1lKSB7XG4gICAgICAgIC8vICAgICAgICAgZGF0ZVRleHQucHVzaChcbiAgICAgICAgLy8gICAgICAgICAgICAgJ1QnLFxuICAgICAgICAvLyAgICAgICAgICAgICAoZGF0ZS5nZXRIb3VycygpIDwgMTAgPyAnMCcgOiAnJykgKyBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIC8vICAgICAgICAgICAgICc6JyxcbiAgICAgICAgLy8gICAgICAgICAgICAgKGRhdGUuZ2V0TWludXRlcygpIDwgMTAgPyAnMCcgOiAnJykgKyBkYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgLy8gICAgICAgICAgICAgJzonLFxuICAgICAgICAvLyAgICAgICAgICAgICAoZGF0ZS5nZXRTZWNvbmRzKCkgPCAxMCA/ICcwJyA6ICcnKSArIGRhdGUuZ2V0U2Vjb25kcygpLFxuICAgICAgICAvLyAgICAgICAgICAgICAnWidcbiAgICAgICAgLy8gICAgICAgICApO1xuICAgICAgICAvLyAgICAgfVxuXG4gICAgICAgIC8vICAgICByZXR1cm4gZGF0ZVRleHQuam9pbignJyk7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICByZXR1cm4gJyc7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBpc1ZhbHVlSHRtbCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCByZXMgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgUkVHRVhQID0gLzxcXC8/W2Etel1bXFxzXFxTXSo+L2k7XG4gICAgICAgIHJlcyA9IFJFR0VYUC50ZXN0KHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIGlzSnNvblN0cmluZyhzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgSlNPTi5wYXJzZShzdHIpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZ2V0U3ZnRWxlbWVudEZyb21TdHJpbmcoZG9jdW1lbnQsIHN2Z0NvbnRlbnQ6IHN0cmluZyk6IFNWR0VsZW1lbnQge1xuICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdESVYnKTtcbiAgICAgICAgZGl2LmlubmVySFRNTCA9IHN2Z0NvbnRlbnQ7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBkaXYucXVlcnlTZWxlY3Rvcignc3ZnJykgfHxcbiAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAncGF0aCcpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZm9ybWF0TnVtYmVyKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBudW1iZXIgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubnVtYmVyRm9ybWF0dGVyLmZvcm1hdChudW1iZXIpO1xuICAgIH1cblxuICAgIGluY3JlbWVudE51bWJlcih2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG51bWJlclZhbHVlID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG5ld051bWJlciA9IHRoaXMuY2hhbmdlRGVjaW1hbFNlcGVyYXRvcihcbiAgICAgICAgICAgICgrK251bWJlclZhbHVlKS50b1N0cmluZygpLFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBuZXdOdW1iZXI7XG4gICAgfVxuXG4gICAgZGVjcmVtZW50TnVtYmVyKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBsZXQgbnVtYmVyVmFsdWUgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgY29uc3QgbmV3TnVtYmVyID0gdGhpcy5jaGFuZ2VEZWNpbWFsU2VwZXJhdG9yKFxuICAgICAgICAgICAgKC0tbnVtYmVyVmFsdWUpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIG5ld051bWJlcjtcbiAgICB9XG5cbiAgICBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZTogYW55LCBmYWxsYmFja1ZhbHVlID0gMCk6IG51bWJlciB7XG4gICAgICAgIC8vIElmIHRoZSBkZWNpbWFsIHNlcGFyYXRvciBpcyAnLCcgY2hhbmdlIGl0IHRvICcuJ1xuICAgICAgICB2YWx1ZSA9IHRoaXMuY2hhbmdlRGVjaW1hbFNlcGVyYXRvcih2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCBmYWxsYmFja1ZhbHVlKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -640,23 +640,41 @@ class PepUtilitiesService {
|
|
|
640
640
|
.toLocaleString(this.culture)
|
|
641
641
|
.substring(1, 2);
|
|
642
642
|
}
|
|
643
|
+
// parseDate(dateStr: string, showTime = false): Date {
|
|
644
|
+
// let retVal: Date = null;
|
|
645
|
+
// if (dateStr !== '') {
|
|
646
|
+
// retVal = new Date(dateStr);
|
|
647
|
+
// // Convert to date with no offset.
|
|
648
|
+
// if (!showTime) {
|
|
649
|
+
// const index = dateStr.indexOf('T');
|
|
650
|
+
// if (index > 0) {
|
|
651
|
+
// dateStr = dateStr.substring(0, index);
|
|
652
|
+
// }
|
|
653
|
+
// const dateText = dateStr.split('-');
|
|
654
|
+
// if (dateText.length === 3) {
|
|
655
|
+
// const year = Number(dateText[0]);
|
|
656
|
+
// const month = Number(dateText[1]) - 1;
|
|
657
|
+
// const day = Number(dateText[2]);
|
|
658
|
+
// retVal = new Date(year, month, day, 0, retVal.getTimezoneOffset() * -1);
|
|
659
|
+
// }
|
|
660
|
+
// }
|
|
661
|
+
// }
|
|
662
|
+
// if (retVal && isNaN(retVal.getTime())) {
|
|
663
|
+
// retVal = null;
|
|
664
|
+
// }
|
|
665
|
+
// return retVal;
|
|
666
|
+
// }
|
|
643
667
|
parseDate(dateStr, showTime = false) {
|
|
644
668
|
let retVal = null;
|
|
645
669
|
if (dateStr !== '') {
|
|
646
670
|
retVal = new Date(dateStr);
|
|
647
671
|
// Convert to date with no offset.
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
if (dateText.length === 3) {
|
|
655
|
-
const year = Number(dateText[0]);
|
|
656
|
-
const month = Number(dateText[1]) - 1;
|
|
657
|
-
const day = Number(dateText[2]);
|
|
658
|
-
retVal = new Date(year, month, day, 0, retVal.getTimezoneOffset() * -1);
|
|
659
|
-
}
|
|
672
|
+
const dateText = dateStr.split('-');
|
|
673
|
+
if (dateText.length === 3 && !showTime) {
|
|
674
|
+
const year = Number(dateText[0]);
|
|
675
|
+
const month = Number(dateText[1]) - 1;
|
|
676
|
+
const day = Number(dateText[2]);
|
|
677
|
+
retVal = new Date(year, month, day);
|
|
660
678
|
}
|
|
661
679
|
}
|
|
662
680
|
if (retVal && isNaN(retVal.getTime())) {
|
|
@@ -1776,18 +1794,18 @@ class PepFileService {
|
|
|
1776
1794
|
const blob = new Blob(byteArrays, { type: contentType });
|
|
1777
1795
|
return blob;
|
|
1778
1796
|
}
|
|
1779
|
-
getAssetsPath(assetsDomain = '') {
|
|
1797
|
+
getAssetsPath(assetsDomain = '', libName = 'ngx-lib') {
|
|
1780
1798
|
const concatChar = assetsDomain === '' || assetsDomain.endsWith('/') ? '' : '/';
|
|
1781
|
-
return `${assetsDomain}${concatChar}assets
|
|
1799
|
+
return `${assetsDomain}${concatChar}assets/${libName}/`;
|
|
1782
1800
|
}
|
|
1783
|
-
getAssetsTranslationsSuffix() {
|
|
1784
|
-
return
|
|
1801
|
+
getAssetsTranslationsSuffix(libName = 'ngx-lib') {
|
|
1802
|
+
return `.${libName}.json`;
|
|
1785
1803
|
}
|
|
1786
|
-
getAssetsTranslationsPath(assetsDomain = '') {
|
|
1787
|
-
return `${this.getAssetsPath(assetsDomain)}i18n/`;
|
|
1804
|
+
getAssetsTranslationsPath(assetsDomain = '', libName = 'ngx-lib') {
|
|
1805
|
+
return `${this.getAssetsPath(assetsDomain, libName)}i18n/`;
|
|
1788
1806
|
}
|
|
1789
|
-
getAssetsImagesPath(assetsDomain = '', image = '') {
|
|
1790
|
-
return `${this.getAssetsPath(assetsDomain)}images/${image}`;
|
|
1807
|
+
getAssetsImagesPath(assetsDomain = '', image = '', libName = 'ngx-lib') {
|
|
1808
|
+
return `${this.getAssetsPath(assetsDomain, libName)}images/${image}`;
|
|
1791
1809
|
}
|
|
1792
1810
|
getSvgAsImageSrc(svg) {
|
|
1793
1811
|
const blob = new Blob([svg], { type: 'image/svg+xml' });
|
|
@@ -2195,10 +2213,10 @@ class PepAddonService {
|
|
|
2195
2213
|
this.loaderService.hide();
|
|
2196
2214
|
});
|
|
2197
2215
|
}
|
|
2198
|
-
getNgxLibTranslationResource(subAddonUUID = '') {
|
|
2216
|
+
getNgxLibTranslationResource(subAddonUUID = '', libName = 'ngx-lib') {
|
|
2199
2217
|
const addonStaticFolder = this.getAddonStaticFolder(subAddonUUID);
|
|
2200
|
-
const translationsPath = this.fileService.getAssetsTranslationsPath(addonStaticFolder);
|
|
2201
|
-
const translationsSuffix = this.fileService.getAssetsTranslationsSuffix();
|
|
2218
|
+
const translationsPath = this.fileService.getAssetsTranslationsPath(addonStaticFolder, libName);
|
|
2219
|
+
const translationsSuffix = this.fileService.getAssetsTranslationsSuffix(libName);
|
|
2202
2220
|
return {
|
|
2203
2221
|
prefix: translationsPath,
|
|
2204
2222
|
suffix: translationsSuffix,
|
|
@@ -2215,6 +2233,7 @@ class PepAddonService {
|
|
|
2215
2233
|
setDefaultTranslateLang(translate, urlLangParam = 'userLang') {
|
|
2216
2234
|
this.translateService.setDefaultTranslateLang(translate, urlLangParam);
|
|
2217
2235
|
}
|
|
2236
|
+
// Deprecated need to delete in next major.
|
|
2218
2237
|
static createDefaultMultiTranslateLoader(http, fileService, addonService, subAddonUUID = '') {
|
|
2219
2238
|
const ngxLibTranslationResource = addonService.getNgxLibTranslationResource(subAddonUUID);
|
|
2220
2239
|
const addonTranslationResource = addonService.getAddonTranslationResource(subAddonUUID);
|
|
@@ -2223,6 +2242,20 @@ class PepAddonService {
|
|
|
2223
2242
|
addonTranslationResource
|
|
2224
2243
|
]);
|
|
2225
2244
|
}
|
|
2245
|
+
static createMultiTranslateLoader(addonService, libsName = ['ngx-lib'], subAddonUUID = '') {
|
|
2246
|
+
const ngxLibTranslationResources = [];
|
|
2247
|
+
if ((libsName === null || libsName === void 0 ? void 0 : libsName.length) > 0) {
|
|
2248
|
+
for (let index = 0; index < libsName.length; index++) {
|
|
2249
|
+
const libName = libsName[index];
|
|
2250
|
+
ngxLibTranslationResources.push(addonService.getNgxLibTranslationResource(subAddonUUID, libName));
|
|
2251
|
+
}
|
|
2252
|
+
}
|
|
2253
|
+
const addonTranslationResource = addonService.getAddonTranslationResource(subAddonUUID);
|
|
2254
|
+
return addonService.translateService.createMultiTranslateLoader([
|
|
2255
|
+
...ngxLibTranslationResources,
|
|
2256
|
+
addonTranslationResource
|
|
2257
|
+
]);
|
|
2258
|
+
}
|
|
2226
2259
|
}
|
|
2227
2260
|
PepAddonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PepAddonService_Factory() { return new PepAddonService(i0.ɵɵinject(PepSessionService), i0.ɵɵinject(PepHttpService), i0.ɵɵinject(PepLoaderService), i0.ɵɵinject(PepTranslateService), i0.ɵɵinject(PepFileService)); }, token: PepAddonService, providedIn: "root" });
|
|
2228
2261
|
PepAddonService.decorators = [
|