@wertzui/ngx-restworld-client 1.0.2 → 2.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/bundles/wertzui-ngx-restworld-client.umd.js +1101 -301
- package/bundles/wertzui-ngx-restworld-client.umd.js.map +1 -1
- package/esm2015/lib/models/problem-details.js +2 -2
- package/esm2015/lib/pipes/as.pipe.js +25 -0
- package/esm2015/lib/pipes/safe-url.pipe.js +23 -0
- package/esm2015/lib/restworld-client.module.js +68 -8
- package/esm2015/lib/services/avatar-generator.js +2 -2
- package/esm2015/lib/services/form.service.js +69 -0
- package/esm2015/lib/services/restworld-client-collection.js +1 -1
- package/esm2015/lib/services/restworld-client.js +46 -8
- package/esm2015/lib/views/restworld-edit-form/restworld-edit-form.component.js +238 -0
- package/esm2015/lib/views/restworld-edit-view/restworld-edit-view.component.js +209 -143
- package/esm2015/lib/views/restworld-file-view/restworld-file-view.component.js +63 -0
- package/esm2015/lib/views/restworld-image-view/restworld-image-view.component.js +107 -0
- package/esm2015/lib/views/restworld-list-view/restworld-list-view.component.js +64 -37
- package/esm2015/public-api.js +7 -1
- package/fesm2015/wertzui-ngx-restworld-client.js +880 -220
- package/fesm2015/wertzui-ngx-restworld-client.js.map +1 -1
- package/lib/models/problem-details.d.ts +4 -8
- package/lib/pipes/as.pipe.d.ts +18 -0
- package/lib/pipes/safe-url.pipe.d.ts +10 -0
- package/lib/restworld-client.module.d.ts +35 -21
- package/lib/services/form.service.d.ts +14 -0
- package/lib/services/restworld-client.d.ts +4 -1
- package/lib/views/restworld-edit-form/restworld-edit-form.component.d.ts +69 -0
- package/lib/views/restworld-edit-view/restworld-edit-view.component.d.ts +53 -32
- package/lib/views/restworld-file-view/restworld-file-view.component.d.ts +21 -0
- package/lib/views/restworld-image-view/restworld-image-view.component.d.ts +38 -0
- package/lib/views/restworld-list-view/restworld-list-view.component.d.ts +20 -8
- package/package.json +29 -8
- package/public-api.d.ts +6 -0
|
@@ -5,7 +5,7 @@ export class ProblemDetails extends Resource {
|
|
|
5
5
|
return resource instanceof ProblemDetails;
|
|
6
6
|
}
|
|
7
7
|
static containsProblemDetailsInformation(resource) {
|
|
8
|
-
return resource && (resource instanceof ProblemDetails || (resource instanceof Resource &&
|
|
8
|
+
return resource && (resource instanceof ProblemDetails || (resource instanceof Resource && 'status' in resource && _.isNumber(resource['status']) && resource['status'] >= 100 && resource['status'] < 600));
|
|
9
9
|
}
|
|
10
10
|
static fromResource(resource) {
|
|
11
11
|
if (!ProblemDetails.containsProblemDetailsInformation(resource))
|
|
@@ -13,4 +13,4 @@ export class ProblemDetails extends Resource {
|
|
|
13
13
|
return Object.assign(new ProblemDetails(), resource);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvYmxlbS1kZXRhaWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlc3R3b3JsZC1jbGllbnQvc3JjL2xpYi9tb2RlbHMvcHJvYmxlbS1kZXRhaWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQWlCLE1BQU0seUJBQXlCLENBQUE7QUFhakUsTUFBTSxPQUFPLGNBQWUsU0FBUSxRQUFRO0lBUW5DLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFpQjtRQUM5QyxPQUFPLFFBQVEsWUFBWSxjQUFjLENBQUM7SUFDNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFpQjtRQUMvRCxPQUFPLFFBQVEsSUFBSSxDQUFDLFFBQVEsWUFBWSxjQUFjLElBQUksQ0FBQyxRQUFRLFlBQVksUUFBUSxJQUFJLFFBQVEsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9NLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQXFDO1FBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsaUNBQWlDLENBQUMsUUFBUSxDQUFDO1lBQzdELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLFFBQVEsaUNBQWlDLENBQUMsQ0FBQztRQUU3RSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gXCJsb2Rhc2hcIjtcclxuaW1wb3J0IHsgUmVzb3VyY2UsIFJlc291cmNlT2ZEdG8gfSBmcm9tIFwiQHdlcnR6dWkvbmd4LWhhbC1jbGllbnRcIlxyXG4vKlxyXG4gKiBQcm9ibGVtRGV0YWlscyBpcyB3aGF0IGFuIEFTUC5uZXQgQ29yZSBiYWNrZW5kIHJldHVybnMgaW4gY2FzZSBvZiBhbiBlcnJvci5cclxuICogKi9cclxuZXhwb3J0IGludGVyZmFjZSBQcm9ibGVtRGV0YWlsc0R0byB7XHJcbiAgdHlwZT86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBzdGF0dXM/OiBudW1iZXI7XHJcbiAgZGV0YWlsPzogc3RyaW5nO1xyXG4gIGluc3RhbmNlPzogc3RyaW5nO1xyXG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcm9ibGVtRGV0YWlscyBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgUmVzb3VyY2VPZkR0bzxQcm9ibGVtRGV0YWlsc0R0bz4ge1xyXG4gIHB1YmxpYyB0eXBlPzogc3RyaW5nO1xyXG4gIHB1YmxpYyB0aXRsZT86IHN0cmluZztcclxuICBwdWJsaWMgc3RhdHVzPzogbnVtYmVyO1xyXG4gIHB1YmxpYyBkZXRhaWw/OiBzdHJpbmc7XHJcbiAgcHVibGljIGluc3RhbmNlPzogc3RyaW5nO1xyXG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNQcm9ibGVtRGV0YWlscyhyZXNvdXJjZTogdW5rbm93bik6IHJlc291cmNlIGlzIFByb2JsZW1EZXRhaWxzIHtcclxuICAgIHJldHVybiByZXNvdXJjZSBpbnN0YW5jZW9mIFByb2JsZW1EZXRhaWxzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBjb250YWluc1Byb2JsZW1EZXRhaWxzSW5mb3JtYXRpb24ocmVzb3VyY2U6IHVua25vd24pIHtcclxuICAgIHJldHVybiByZXNvdXJjZSAmJiAocmVzb3VyY2UgaW5zdGFuY2VvZiBQcm9ibGVtRGV0YWlscyB8fCAocmVzb3VyY2UgaW5zdGFuY2VvZiBSZXNvdXJjZSAmJiAnc3RhdHVzJyBpbiByZXNvdXJjZSAmJiBfLmlzTnVtYmVyKHJlc291cmNlWydzdGF0dXMnXSkgJiYgcmVzb3VyY2VbJ3N0YXR1cyddID49IDEwMCAmJiByZXNvdXJjZVsnc3RhdHVzJ10gPCA2MDApKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJlc291cmNlKHJlc291cmNlOiBSZXNvdXJjZSB8IG51bGwgfCB1bmRlZmluZWQpOiBQcm9ibGVtRGV0YWlscyB7XHJcbiAgICBpZiAoIVByb2JsZW1EZXRhaWxzLmNvbnRhaW5zUHJvYmxlbURldGFpbHNJbmZvcm1hdGlvbihyZXNvdXJjZSkpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHJlc291cmNlICR7cmVzb3VyY2V9IGRvZXMgbm90IGhhdmUgcHJvYmxlbSBkZXRhaWxzLmApO1xyXG5cclxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKG5ldyBQcm9ibGVtRGV0YWlscygpLCByZXNvdXJjZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Cast super type into type using generics
|
|
5
|
+
* Return Type obtained by optional @param type OR assignment type.
|
|
6
|
+
*/
|
|
7
|
+
export class AsPipe {
|
|
8
|
+
/**
|
|
9
|
+
* Cast (S: SuperType) into (T: Type) using @Generics.
|
|
10
|
+
* @param value (S: SuperType) obtained from input type.
|
|
11
|
+
* @optional @param type (T CastingType)
|
|
12
|
+
* type?: { new (): T }
|
|
13
|
+
* type?: new () => T
|
|
14
|
+
*/
|
|
15
|
+
transform(value, type) {
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
AsPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: AsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
20
|
+
AsPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: AsPipe, name: "as" });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: AsPipe, decorators: [{
|
|
22
|
+
type: Pipe,
|
|
23
|
+
args: [{ name: 'as' }]
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXN0d29ybGQtY2xpZW50L3NyYy9saWIvcGlwZXMvYXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFFcEQ7OztHQUdHO0FBR0gsTUFBTSxPQUFPLE1BQU07SUFDakI7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFpQixLQUFRLEVBQUUsSUFBK0I7UUFDakUsT0FBTyxLQUFVLENBQUM7SUFDcEIsQ0FBQzs7b0dBVlUsTUFBTTtrR0FBTixNQUFNOzRGQUFOLE1BQU07a0JBRGxCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIENhc3Qgc3VwZXIgdHlwZSBpbnRvIHR5cGUgdXNpbmcgZ2VuZXJpY3NcclxuICogUmV0dXJuIFR5cGUgb2J0YWluZWQgYnkgb3B0aW9uYWwgQHBhcmFtIHR5cGUgT1IgYXNzaWdubWVudCB0eXBlLlxyXG4gKi9cclxuXHJcbkBQaXBlKHsgbmFtZTogJ2FzJyB9KVxyXG5leHBvcnQgY2xhc3MgQXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgLyoqXHJcbiAgICogQ2FzdCAoUzogU3VwZXJUeXBlKSBpbnRvIChUOiBUeXBlKSB1c2luZyBAR2VuZXJpY3MuXHJcbiAgICogQHBhcmFtIHZhbHVlIChTOiBTdXBlclR5cGUpIG9idGFpbmVkIGZyb20gaW5wdXQgdHlwZS5cclxuICAgKiBAb3B0aW9uYWwgQHBhcmFtIHR5cGUgKFQgQ2FzdGluZ1R5cGUpXHJcbiAgICogdHlwZT86IHsgbmV3ICgpOiBUIH1cclxuICAgKiB0eXBlPzogbmV3ICgpID0+IFRcclxuICAgKi9cclxuICB0cmFuc2Zvcm08UywgVCBleHRlbmRzIFM+KHZhbHVlOiBTLCB0eXBlOiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUKTogVCB7XHJcbiAgICByZXR1cm4gdmFsdWUgYXMgVDtcclxuICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as _ from 'lodash';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
export class SafeUrlPipe {
|
|
6
|
+
constructor(_domSanitizer) {
|
|
7
|
+
this._domSanitizer = _domSanitizer;
|
|
8
|
+
}
|
|
9
|
+
transform(url) {
|
|
10
|
+
if (_.isString(url))
|
|
11
|
+
throw new Error(`The given url '${url}' is not a string.`);
|
|
12
|
+
return this._domSanitizer.bypassSecurityTrustResourceUrl(url);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
SafeUrlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: SafeUrlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
16
|
+
SafeUrlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: SafeUrlPipe, name: "safeUrl" });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: SafeUrlPipe, decorators: [{
|
|
18
|
+
type: Pipe,
|
|
19
|
+
args: [{
|
|
20
|
+
name: 'safeUrl'
|
|
21
|
+
}]
|
|
22
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS11cmwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXN0d29ybGQtY2xpZW50L3NyYy9saWIvcGlwZXMvc2FmZS11cmwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7O0FBSzVCLE1BQU0sT0FBTyxXQUFXO0lBRXRCLFlBQW9CLGFBQTJCO1FBQTNCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO0lBQy9DLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBWTtRQUNwQixJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLEdBQUcsb0JBQW9CLENBQUMsQ0FBQTtRQUU1RCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsOEJBQThCLENBQUMsR0FBYSxDQUFDLENBQUM7SUFDMUUsQ0FBQzs7eUdBVlUsV0FBVzt1R0FBWCxXQUFXOzRGQUFYLFdBQVc7a0JBSHZCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFNBQVM7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzYWZlVXJsJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FmZVVybFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybSh1cmw6IHVua25vd24pIHtcclxuICAgIGlmIChfLmlzU3RyaW5nKHVybCkpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIGdpdmVuIHVybCAnJHt1cmx9JyBpcyBub3QgYSBzdHJpbmcuYClcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh1cmwgYXMgc3RyaW5nKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -2,6 +2,7 @@ import { __awaiter } from "tslib";
|
|
|
2
2
|
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
5
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
5
6
|
import { RouterModule } from '@angular/router';
|
|
6
7
|
import { TableModule } from 'primeng/table';
|
|
7
8
|
import { TooltipModule } from 'primeng/tooltip';
|
|
@@ -21,11 +22,25 @@ import { ProgressSpinnerModule } from 'primeng/progressspinner';
|
|
|
21
22
|
import { RippleModule } from 'primeng/ripple';
|
|
22
23
|
import { TriStateCheckboxModule } from 'primeng/tristatecheckbox';
|
|
23
24
|
import { AvatarModule } from 'primeng/avatar';
|
|
25
|
+
import { DropdownModule } from 'primeng/dropdown';
|
|
26
|
+
import { MultiSelectModule } from 'primeng/multiselect';
|
|
27
|
+
import { FileUploadModule } from 'primeng/fileupload';
|
|
28
|
+
import { ValdemortModule } from 'ngx-valdemort';
|
|
29
|
+
import { ImageCropperModule } from 'ngx-image-cropper';
|
|
30
|
+
import { DialogModule } from 'primeng/dialog';
|
|
31
|
+
import { ColorPickerModule } from 'primeng/colorpicker';
|
|
24
32
|
import { RESTworldListViewComponent } from './views/restworld-list-view/restworld-list-view.component';
|
|
25
33
|
import { RESTworldEditViewComponent } from './views/restworld-edit-view/restworld-edit-view.component';
|
|
26
34
|
import { RESTworldClientCollection } from './services/restworld-client-collection';
|
|
27
35
|
import { AvatarGenerator } from './services/avatar-generator';
|
|
28
36
|
import { SettingsService } from './services/settings.service';
|
|
37
|
+
import { RESTWorldImageViewComponent } from './views/restworld-image-view/restworld-image-view.component';
|
|
38
|
+
import { ButtonModule } from 'primeng/button';
|
|
39
|
+
import { RESTWorldFileViewComponent } from './views/restworld-file-view/restworld-file-view.component';
|
|
40
|
+
import { SafeUrlPipe } from './pipes/safe-url.pipe';
|
|
41
|
+
import { RestworldEditFormComponent } from './views/restworld-edit-form/restworld-edit-form.component';
|
|
42
|
+
import { FormService } from './services/form.service';
|
|
43
|
+
import { AsPipe } from './pipes/as.pipe';
|
|
29
44
|
import * as i0 from "@angular/core";
|
|
30
45
|
export function initializeSettings(settingsService) {
|
|
31
46
|
return () => __awaiter(this, void 0, void 0, function* () { return yield settingsService.initialize(); });
|
|
@@ -34,7 +49,12 @@ export class RestworldClientModule {
|
|
|
34
49
|
}
|
|
35
50
|
RestworldClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RestworldClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
36
51
|
RestworldClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RestworldClientModule, declarations: [RESTworldListViewComponent,
|
|
37
|
-
RESTworldEditViewComponent
|
|
52
|
+
RESTworldEditViewComponent,
|
|
53
|
+
RESTWorldImageViewComponent,
|
|
54
|
+
RESTWorldFileViewComponent,
|
|
55
|
+
SafeUrlPipe,
|
|
56
|
+
AsPipe,
|
|
57
|
+
RestworldEditFormComponent], imports: [CommonModule,
|
|
38
58
|
RouterModule,
|
|
39
59
|
FormsModule,
|
|
40
60
|
ReactiveFormsModule,
|
|
@@ -54,12 +74,25 @@ RestworldClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", v
|
|
|
54
74
|
ProgressSpinnerModule,
|
|
55
75
|
RippleModule,
|
|
56
76
|
TriStateCheckboxModule,
|
|
57
|
-
AvatarModule
|
|
58
|
-
|
|
77
|
+
AvatarModule,
|
|
78
|
+
DropdownModule,
|
|
79
|
+
MultiSelectModule,
|
|
80
|
+
FileUploadModule,
|
|
81
|
+
ValdemortModule,
|
|
82
|
+
ImageCropperModule,
|
|
83
|
+
DialogModule,
|
|
84
|
+
ButtonModule,
|
|
85
|
+
ColorPickerModule,
|
|
86
|
+
DragDropModule], exports: [RESTworldListViewComponent,
|
|
87
|
+
RESTworldEditViewComponent,
|
|
88
|
+
RESTWorldImageViewComponent,
|
|
89
|
+
RESTWorldFileViewComponent,
|
|
90
|
+
SafeUrlPipe] });
|
|
59
91
|
RestworldClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RestworldClientModule, providers: [
|
|
60
92
|
RESTworldClientCollection,
|
|
61
93
|
AvatarGenerator,
|
|
62
94
|
ConfirmationService,
|
|
95
|
+
FormService,
|
|
63
96
|
MessageService,
|
|
64
97
|
{
|
|
65
98
|
provide: APP_INITIALIZER,
|
|
@@ -88,14 +121,28 @@ RestworldClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", v
|
|
|
88
121
|
ProgressSpinnerModule,
|
|
89
122
|
RippleModule,
|
|
90
123
|
TriStateCheckboxModule,
|
|
91
|
-
AvatarModule
|
|
124
|
+
AvatarModule,
|
|
125
|
+
DropdownModule,
|
|
126
|
+
MultiSelectModule,
|
|
127
|
+
FileUploadModule,
|
|
128
|
+
ValdemortModule,
|
|
129
|
+
ImageCropperModule,
|
|
130
|
+
DialogModule,
|
|
131
|
+
ButtonModule,
|
|
132
|
+
ColorPickerModule,
|
|
133
|
+
DragDropModule
|
|
92
134
|
]] });
|
|
93
135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RestworldClientModule, decorators: [{
|
|
94
136
|
type: NgModule,
|
|
95
137
|
args: [{
|
|
96
138
|
declarations: [
|
|
97
139
|
RESTworldListViewComponent,
|
|
98
|
-
RESTworldEditViewComponent
|
|
140
|
+
RESTworldEditViewComponent,
|
|
141
|
+
RESTWorldImageViewComponent,
|
|
142
|
+
RESTWorldFileViewComponent,
|
|
143
|
+
SafeUrlPipe,
|
|
144
|
+
AsPipe,
|
|
145
|
+
RestworldEditFormComponent
|
|
99
146
|
],
|
|
100
147
|
imports: [
|
|
101
148
|
CommonModule,
|
|
@@ -118,16 +165,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImpo
|
|
|
118
165
|
ProgressSpinnerModule,
|
|
119
166
|
RippleModule,
|
|
120
167
|
TriStateCheckboxModule,
|
|
121
|
-
AvatarModule
|
|
168
|
+
AvatarModule,
|
|
169
|
+
DropdownModule,
|
|
170
|
+
MultiSelectModule,
|
|
171
|
+
FileUploadModule,
|
|
172
|
+
ValdemortModule,
|
|
173
|
+
ImageCropperModule,
|
|
174
|
+
DialogModule,
|
|
175
|
+
ButtonModule,
|
|
176
|
+
ColorPickerModule,
|
|
177
|
+
DragDropModule
|
|
122
178
|
],
|
|
123
179
|
exports: [
|
|
124
180
|
RESTworldListViewComponent,
|
|
125
|
-
RESTworldEditViewComponent
|
|
181
|
+
RESTworldEditViewComponent,
|
|
182
|
+
RESTWorldImageViewComponent,
|
|
183
|
+
RESTWorldFileViewComponent,
|
|
184
|
+
SafeUrlPipe
|
|
126
185
|
],
|
|
127
186
|
providers: [
|
|
128
187
|
RESTworldClientCollection,
|
|
129
188
|
AvatarGenerator,
|
|
130
189
|
ConfirmationService,
|
|
190
|
+
FormService,
|
|
131
191
|
MessageService,
|
|
132
192
|
{
|
|
133
193
|
provide: APP_INITIALIZER,
|
|
@@ -138,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImpo
|
|
|
138
198
|
]
|
|
139
199
|
}]
|
|
140
200
|
}] });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHdvcmxkLWNsaWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVzdHdvcmxkLWNsaWVudC9zcmMvbGliL3Jlc3R3b3JsZC1jbGllbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN2RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUU5RCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsZUFBZ0M7SUFDakUsT0FBTyxHQUFTLEVBQUUsZ0RBQUMsT0FBQSxNQUFNLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQSxHQUFBLENBQUM7QUFDeEQsQ0FBQztBQStDRCxNQUFNLE9BQU8scUJBQXFCOzttSEFBckIscUJBQXFCO29IQUFyQixxQkFBcUIsaUJBM0M5QiwwQkFBMEI7UUFDMUIsMEJBQTBCLGFBRzFCLFlBQVk7UUFDWixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsYUFBYTtRQUNiLGVBQWU7UUFDZixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxjQUFjO1FBQ2QsV0FBVztRQUNYLGFBQWE7UUFDYixjQUFjO1FBQ2QscUJBQXFCO1FBQ3JCLFlBQVk7UUFDWixzQkFBc0I7UUFDdEIsWUFBWSxhQUdaLDBCQUEwQjtRQUMxQiwwQkFBMEI7b0hBZWpCLHFCQUFxQixhQWJyQjtRQUNULHlCQUF5QjtRQUN6QixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZDtZQUNFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxrQkFBa0I7WUFDOUIsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixZQXRDUTtZQUNQLFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxjQUFjO1lBQ2QsV0FBVztZQUNYLGFBQWE7WUFDYixjQUFjO1lBQ2QscUJBQXFCO1lBQ3JCLFlBQVk7WUFDWixzQkFBc0I7WUFDdEIsWUFBWTtTQUNiOzRGQWtCVSxxQkFBcUI7a0JBN0NqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLDBCQUEwQjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0QixZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCwwQkFBMEI7d0JBQzFCLDBCQUEwQjtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULHlCQUF5Qjt3QkFDekIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2Q7NEJBQ0UsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxrQkFBa0I7NEJBQzlCLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQzs0QkFDdkIsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9vbHRpcCdcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcclxuaW1wb3J0IHsgSW5wdXROdW1iZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0bnVtYmVyJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NhbGVuZGFyJztcclxuaW1wb3J0IHsgQ2hlY2tib3hNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NoZWNrYm94JztcclxuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybWRpYWxvZyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5pbXBvcnQgeyBNZXNzYWdlc01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbWVzc2FnZXMnO1xyXG5pbXBvcnQgeyBQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcGFuZWwnO1xyXG5pbXBvcnQgeyBUYWJWaWV3TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJ2aWV3JztcclxuaW1wb3J0IHsgU2tlbGV0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL3NrZWxldG9uJztcclxuaW1wb3J0IHsgUHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wcm9ncmVzc3NwaW5uZXInO1xyXG5pbXBvcnQgeyBSaXBwbGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3JpcHBsZSc7XHJcbmltcG9ydCB7IFRyaVN0YXRlQ2hlY2tib3hNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RyaXN0YXRlY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBBdmF0YXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2F2YXRhcic7XHJcblxyXG5pbXBvcnQgeyBSRVNUd29ybGRMaXN0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvcmVzdHdvcmxkLWxpc3Qtdmlldy9yZXN0d29ybGQtbGlzdC12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJFU1R3b3JsZEVkaXRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9yZXN0d29ybGQtZWRpdC12aWV3L3Jlc3R3b3JsZC1lZGl0LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUkVTVHdvcmxkQ2xpZW50Q29sbGVjdGlvbiB9IGZyb20gJy4vc2VydmljZXMvcmVzdHdvcmxkLWNsaWVudC1jb2xsZWN0aW9uJztcclxuaW1wb3J0IHsgQXZhdGFyR2VuZXJhdG9yIH0gZnJvbSAnLi9zZXJ2aWNlcy9hdmF0YXItZ2VuZXJhdG9yJztcclxuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplU2V0dGluZ3Moc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UpOiAoKSA9PiBQcm9taXNlPHZvaWQ+IHtcclxuICByZXR1cm4gYXN5bmMgKCkgPT4gYXdhaXQgc2V0dGluZ3NTZXJ2aWNlLmluaXRpYWxpemUoKTtcclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFJFU1R3b3JsZExpc3RWaWV3Q29tcG9uZW50LFxyXG4gICAgUkVTVHdvcmxkRWRpdFZpZXdDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFRhYmxlTW9kdWxlLFxyXG4gICAgVG9vbHRpcE1vZHVsZSxcclxuICAgIFNjcm9sbGluZ01vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIElucHV0TnVtYmVyTW9kdWxlLFxyXG4gICAgQ2FsZW5kYXJNb2R1bGUsXHJcbiAgICBDaGVja2JveE1vZHVsZSxcclxuICAgIENvbmZpcm1EaWFsb2dNb2R1bGUsXHJcbiAgICBUb2FzdE1vZHVsZSxcclxuICAgIE1lc3NhZ2VzTW9kdWxlLFxyXG4gICAgUGFuZWxNb2R1bGUsXHJcbiAgICBUYWJWaWV3TW9kdWxlLFxyXG4gICAgU2tlbGV0b25Nb2R1bGUsXHJcbiAgICBQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgICBSaXBwbGVNb2R1bGUsXHJcbiAgICBUcmlTdGF0ZUNoZWNrYm94TW9kdWxlLFxyXG4gICAgQXZhdGFyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBSRVNUd29ybGRMaXN0Vmlld0NvbXBvbmVudCxcclxuICAgIFJFU1R3b3JsZEVkaXRWaWV3Q29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFJFU1R3b3JsZENsaWVudENvbGxlY3Rpb24sXHJcbiAgICBBdmF0YXJHZW5lcmF0b3IsXHJcbiAgICBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgTWVzc2FnZVNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgdXNlRmFjdG9yeTogaW5pdGlhbGl6ZVNldHRpbmdzLFxyXG4gICAgICBkZXBzOiBbU2V0dGluZ3NTZXJ2aWNlXSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVzdHdvcmxkQ2xpZW50TW9kdWxlIHsgfVxyXG4iXX0=
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHdvcmxkLWNsaWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVzdHdvcmxkLWNsaWVudC9zcmMvbGliL3Jlc3R3b3JsZC1jbGllbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFD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c0I7d0JBQ3RCLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsV0FBVztxQkFDWjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QseUJBQXlCO3dCQUN6QixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxjQUFjO3dCQUNkOzRCQUNFLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixVQUFVLEVBQUUsa0JBQWtCOzRCQUM5QixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7NEJBQ3ZCLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnXHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XHJcbmltcG9ydCB7IElucHV0TnVtYmVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dG51bWJlcic7XHJcbmltcG9ydCB7IENhbGVuZGFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jYWxlbmRhcic7XHJcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGVja2JveCc7XHJcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NvbmZpcm1kaWFsb2cnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcclxuaW1wb3J0IHsgTWVzc2FnZXNNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lc3NhZ2VzJztcclxuaW1wb3J0IHsgUGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL3BhbmVsJztcclxuaW1wb3J0IHsgVGFiVmlld01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFidmlldyc7XHJcbmltcG9ydCB7IFNrZWxldG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9za2VsZXRvbic7XHJcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcHJvZ3Jlc3NzcGlubmVyJztcclxuaW1wb3J0IHsgUmlwcGxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xyXG5pbXBvcnQgeyBUcmlTdGF0ZUNoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90cmlzdGF0ZWNoZWNrYm94JztcclxuaW1wb3J0IHsgQXZhdGFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdmF0YXInO1xyXG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBNdWx0aVNlbGVjdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbXVsdGlzZWxlY3QnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9maWxldXBsb2FkJztcclxuaW1wb3J0IHsgVmFsZGVtb3J0TW9kdWxlIH0gZnJvbSAnbmd4LXZhbGRlbW9ydCc7XHJcbmltcG9ydCB7IEltYWdlQ3JvcHBlck1vZHVsZSB9IGZyb20gJ25neC1pbWFnZS1jcm9wcGVyJztcclxuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xyXG5pbXBvcnQgeyBDb2xvclBpY2tlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29sb3JwaWNrZXInO1xyXG5cclxuaW1wb3J0IHsgUkVTVHdvcmxkTGlzdFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3Jlc3R3b3JsZC1saXN0LXZpZXcvcmVzdHdvcmxkLWxpc3Qtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSRVNUd29ybGRFZGl0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvcmVzdHdvcmxkLWVkaXQtdmlldy9yZXN0d29ybGQtZWRpdC12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJFU1R3b3JsZENsaWVudENvbGxlY3Rpb24gfSBmcm9tICcuL3NlcnZpY2VzL3Jlc3R3b3JsZC1jbGllbnQtY29sbGVjdGlvbic7XHJcbmltcG9ydCB7IEF2YXRhckdlbmVyYXRvciB9IGZyb20gJy4vc2VydmljZXMvYXZhdGFyLWdlbmVyYXRvcic7XHJcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBSRVNUV29ybGRJbWFnZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3Jlc3R3b3JsZC1pbWFnZS12aWV3L3Jlc3R3b3JsZC1pbWFnZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IFJFU1RXb3JsZEZpbGVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9yZXN0d29ybGQtZmlsZS12aWV3L3Jlc3R3b3JsZC1maWxlLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2FmZVVybFBpcGUgfSBmcm9tICcuL3BpcGVzL3NhZmUtdXJsLnBpcGUnO1xuaW1wb3J0IHsgUmVzdHdvcmxkRWRpdEZvcm1Db21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3Jlc3R3b3JsZC1lZGl0LWZvcm0vcmVzdHdvcmxkLWVkaXQtZm9ybS5jb21wb25lbnQnXHJcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBc1BpcGUgfSBmcm9tICcuL3BpcGVzL2FzLnBpcGUnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVTZXR0aW5ncyhzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSk6ICgpID0+IFByb21pc2U8dm9pZD4ge1xyXG4gIHJldHVybiBhc3luYyAoKSA9PiBhd2FpdCBzZXR0aW5nc1NlcnZpY2UuaW5pdGlhbGl6ZSgpO1xyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUkVTVHdvcmxkTGlzdFZpZXdDb21wb25lbnQsXHJcbiAgICBSRVNUd29ybGRFZGl0Vmlld0NvbXBvbmVudCxcclxuICAgIFJFU1RXb3JsZEltYWdlVmlld0NvbXBvbmVudCxcclxuICAgIFJFU1RXb3JsZEZpbGVWaWV3Q29tcG9uZW50LFxyXG4gICAgU2FmZVVybFBpcGUsXHJcbiAgICBBc1BpcGUsXHJcbiAgICBSZXN0d29ybGRFZGl0Rm9ybUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgVGFibGVNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgSW5wdXROdW1iZXJNb2R1bGUsXHJcbiAgICBDYWxlbmRhck1vZHVsZSxcclxuICAgIENoZWNrYm94TW9kdWxlLFxyXG4gICAgQ29uZmlybURpYWxvZ01vZHVsZSxcclxuICAgIFRvYXN0TW9kdWxlLFxyXG4gICAgTWVzc2FnZXNNb2R1bGUsXHJcbiAgICBQYW5lbE1vZHVsZSxcclxuICAgIFRhYlZpZXdNb2R1bGUsXHJcbiAgICBTa2VsZXRvbk1vZHVsZSxcclxuICAgIFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIFJpcHBsZU1vZHVsZSxcclxuICAgIFRyaVN0YXRlQ2hlY2tib3hNb2R1bGUsXHJcbiAgICBBdmF0YXJNb2R1bGUsXHJcbiAgICBEcm9wZG93bk1vZHVsZSxcclxuICAgIE11bHRpU2VsZWN0TW9kdWxlLFxyXG4gICAgRmlsZVVwbG9hZE1vZHVsZSxcclxuICAgIFZhbGRlbW9ydE1vZHVsZSxcclxuICAgIEltYWdlQ3JvcHBlck1vZHVsZSxcclxuICAgIERpYWxvZ01vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIENvbG9yUGlja2VyTW9kdWxlLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJFU1R3b3JsZExpc3RWaWV3Q29tcG9uZW50LFxyXG4gICAgUkVTVHdvcmxkRWRpdFZpZXdDb21wb25lbnQsXHJcbiAgICBSRVNUV29ybGRJbWFnZVZpZXdDb21wb25lbnQsXHJcbiAgICBSRVNUV29ybGRGaWxlVmlld0NvbXBvbmVudCxcclxuICAgIFNhZmVVcmxQaXBlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFJFU1R3b3JsZENsaWVudENvbGxlY3Rpb24sXHJcbiAgICBBdmF0YXJHZW5lcmF0b3IsXHJcbiAgICBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgRm9ybVNlcnZpY2UsXHJcbiAgICBNZXNzYWdlU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICB1c2VGYWN0b3J5OiBpbml0aWFsaXplU2V0dGluZ3MsXHJcbiAgICAgIGRlcHM6IFtTZXR0aW5nc1NlcnZpY2VdLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXN0d29ybGRDbGllbnRNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -2,7 +2,7 @@ import { Injectable, Input } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class AvatarGenerator {
|
|
4
4
|
constructor() {
|
|
5
|
-
this.getImageOverride = (
|
|
5
|
+
this.getImageOverride = () => '';
|
|
6
6
|
}
|
|
7
7
|
getImage(nameOrEmail) {
|
|
8
8
|
let uri = AvatarGenerator._imageCache.get(nameOrEmail);
|
|
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImpo
|
|
|
94
94
|
}], propDecorators: { getImageOverride: [{
|
|
95
95
|
type: Input
|
|
96
96
|
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXN0d29ybGQtY2xpZW50L3NyYy9saWIvc2VydmljZXMvYXZhdGFyLWdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLGVBQWU7SUFINUI7UUFRUyxxQkFBZ0IsR0FBb0MsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDO0tBd0dyRTtJQXRHUSxRQUFRLENBQUMsV0FBbUI7UUFDakMsSUFBSSxHQUFHLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDekMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU0sUUFBUSxDQUFDLFdBQW1CO1FBQ2pDLElBQUksQ0FBQyxXQUFXO1lBQ2QsT0FBTyxFQUFFLENBQUM7UUFFWixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQzVCLE9BQU8sRUFBRSxDQUFDO1FBRVosTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0RSxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sUUFBUSxDQUFDLFdBQW1CO1FBQ2pDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7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QUFPLENBQ0wsTUFBTTtZQUNOLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUNaLElBQUk7WUFDSixDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDO1lBQzFELEtBQUs7WUFDTCxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDO1lBQ3ZELElBQUksQ0FDTCxDQUFDO0lBQ0osQ0FBQzs7QUEzR2MsNkJBQWEsR0FBRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsQywyQkFBVyxHQUF3QixJQUFJLEdBQUcsRUFBa0IsQ0FBQzs2R0FGakUsZUFBZTtpSEFBZixlQUFlLGNBRmQsTUFBTTs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs4QkFNUSxnQkFBZ0I7c0JBRHRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEF2YXRhckdlbmVyYXRvciB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX25vbldvcmRSZWdleCA9IG5ldyBSZWdFeHAoJ1xcXFxXJyk7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2ltYWdlQ2FjaGU6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXRJbWFnZU92ZXJyaWRlOiAobmFtZU9yRW1haWw6IHN0cmluZykgPT4gc3RyaW5nID0gKCkgPT4gJyc7XHJcblxyXG4gIHB1YmxpYyBnZXRJbWFnZShuYW1lT3JFbWFpbDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCB1cmkgPSBBdmF0YXJHZW5lcmF0b3IuX2ltYWdlQ2FjaGUuZ2V0KG5hbWVPckVtYWlsKTtcclxuXHJcbiAgICBpZiAoIXVyaSkge1xyXG4gICAgICB1cmkgPSB0aGlzLmdldEltYWdlT3ZlcnJpZGUobmFtZU9yRW1haWwpO1xyXG4gICAgICBBdmF0YXJHZW5lcmF0b3IuX2ltYWdlQ2FjaGUuc2V0KG5hbWVPckVtYWlsLCB1cmkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB1cmk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TGFiZWwobmFtZU9yRW1haWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIW5hbWVPckVtYWlsKVxyXG4gICAgICByZXR1cm4gJyc7XHJcblxyXG4gICAgaWYgKHRoaXMuZ2V0SW1hZ2UobmFtZU9yRW1haWwpKVxyXG4gICAgICByZXR1cm4gJyc7XHJcblxyXG4gICAgY29uc3QgbmFtZSA9IEF2YXRhckdlbmVyYXRvci5nZXRMb2NhbFBhcnRPZkVtYWlsQWRkcmVzcyhuYW1lT3JFbWFpbCk7XHJcbiAgICBjb25zdCBpbml0aWFscyA9IEF2YXRhckdlbmVyYXRvci5nZXRUd29VcHBlcmNhc2VMZXR0ZXJzRnJvbU5hbWUobmFtZSk7XHJcblxyXG4gICAgcmV0dXJuIGluaXRpYWxzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0eWxlKG5hbWVPckVtYWlsOiBzdHJpbmcsKTogJycgfCB7ICdiYWNrZ3JvdW5kLWNvbG9yJzogc3RyaW5nOyBjb2xvcjogc3RyaW5nIH0ge1xyXG4gICAgaWYgKHRoaXMuZ2V0SW1hZ2UobmFtZU9yRW1haWwpKVxyXG4gICAgICByZXR1cm4gJyc7XHJcblxyXG4gICAgY29uc3QgZm9yZWdyb3VuZENvbG9yID0gJyNmZmZmZmYnO1xyXG4gICAgY29uc3QgYmFja2dyb3VuZENvbG9yID0gQXZhdGFyR2VuZXJhdG9yLmdldEJhY2tncm91bmRDb2xvcihuYW1lT3JFbWFpbCk7XHJcblxyXG4gICAgY29uc3Qgc3R5bGUgPSB7XHJcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICBjb2xvcjogZm9yZWdyb3VuZENvbG9yLFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gc3R5bGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRMb2NhbFBhcnRPZkVtYWlsQWRkcmVzcyhlbWFpbDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGluZGV4T2ZBdCA9IGVtYWlsLmluZGV4T2YoJ0AnKTtcclxuICAgIGlmIChpbmRleE9mQXQgPCAyKSB7XHJcbiAgICAgIGlmIChpbmRleE9mQXQgPj0gMCkge1xyXG4gICAgICAgIGlmIChpbmRleE9mQXQgPT09IGVtYWlsLmxlbmd0aCAtIDEpXHJcbiAgICAgICAgICByZXR1cm4gZW1haWwuc3Vic3RyaW5nKDAsIGluZGV4T2ZBdCk7XHJcbiAgICAgICAgcmV0dXJuIGVtYWlsLnN1YnN0cmluZyhpbmRleE9mQXQgKyAxKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGVtYWlsLnN1YnN0cmluZygwLCBpbmRleE9mQXQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBlbWFpbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGdldFR3b1VwcGVyY2FzZUxldHRlcnNGcm9tTmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gVG9vIHNob3J0IHRvIGRvIGFueXRoaW5nIGJlc2lkZXMganVzdCByZXR1cm5pbmcgdGhlIG5hbWVcclxuICAgIGlmIChuYW1lLmxlbmd0aCA8PSAyKSB7XHJcbiAgICAgIHJldHVybiBuYW1lLnRvVXBwZXJDYXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVHJ5IHRvIHNwbGl0IGJ5IG5vbiB3b3JkIGNoYXJhY3RlcnNcclxuICAgIGNvbnN0IHNwbGl0dGVkQnlOb25Xb3JkID0gbmFtZS5zcGxpdChBdmF0YXJHZW5lcmF0b3IuX25vbldvcmRSZWdleCk7XHJcbiAgICBpZiAoc3BsaXR0ZWRCeU5vbldvcmQubGVuZ3RoID4gMSkge1xyXG4gICAgICByZXR1cm4gKHNwbGl0dGVkQnlOb25Xb3JkWzBdWzBdICsgc3BsaXR0ZWRCeU5vbldvcmRbMV1bMF0pLnRvVXBwZXJDYXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVHJ5IHRvIHNwbGl0IGJ5IHVwcGVyIGNhc2UgbGV0dGVyc1xyXG4gICAgY29uc3QgdXBwZXJDYXNlTGV0dGVycyA9IFsuLi5uYW1lXVxyXG4gICAgICAuZmlsdGVyKChjKSA9PiBjLnRvVXBwZXJDYXNlKCkgPT09IGMgJiYgIUF2YXRhckdlbmVyYXRvci5fbm9uV29yZFJlZ2V4LnRlc3QoYykpXHJcbiAgICAgIC5qb2luKCk7XHJcbiAgICBpZiAodXBwZXJDYXNlTGV0dGVycy5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHJldHVybiB1cHBlckNhc2VMZXR0ZXJzLnN1YnN0cmluZygwLCAyKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBKdXN0IHJldHVybiB0aGUgZmlyc3QgMiBsZXR0ZXJzXHJcbiAgICByZXR1cm4gbmFtZS5zdWJzdHJpbmcoMCwgMikudG9VcHBlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIC8vIGZyb20gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzY2NDk0OTI2LzEzNzgzMDdcclxuICBwcml2YXRlIHN0YXRpYyBnZXRCYWNrZ3JvdW5kQ29sb3IoXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICBtaW5MaWdodG5lc3MgPSA0MCxcclxuICAgIG1heExpZ2h0bmVzcyA9IDgwLFxyXG4gICAgbWluU2F0dXJhdGlvbiA9IDMwLFxyXG4gICAgbWF4U2F0dXJhdGlvbiA9IDEwMCxcclxuICApOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gJyNhYWEnO1xyXG5cclxuICAgIGNvbnN0IGhhc2ggPSBbLi4udGV4dF0ucmVkdWNlKChhY2MsIGNoYXIpID0+IHtcclxuICAgICAgcmV0dXJuIGNoYXIuY2hhckNvZGVBdCgwKSArICgoYWNjIDw8IDUpIC0gYWNjKTtcclxuICAgIH0sIDApO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICdoc2woJyArXHJcbiAgICAgIChoYXNoICUgMzYwKSArXHJcbiAgICAgICcsICcgK1xyXG4gICAgICAoKGhhc2ggJSAobWF4U2F0dXJhdGlvbiAtIG1pblNhdHVyYXRpb24pKSArIG1pblNhdHVyYXRpb24pICtcclxuICAgICAgJyUsICcgK1xyXG4gICAgICAoKGhhc2ggJSAobWF4TGlnaHRuZXNzIC0gbWluTGlnaHRuZXNzKSkgKyBtaW5MaWdodG5lc3MpICtcclxuICAgICAgJyUpJ1xyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';
|
|
3
|
+
import { PropertyType } from '@wertzui/ngx-hal-client';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class FormService {
|
|
6
|
+
createFormGroupsFromTemplates(templates) {
|
|
7
|
+
const tabs = Object.fromEntries(Object.entries(templates).map(([name, template]) => [
|
|
8
|
+
name,
|
|
9
|
+
this.createFormGroupFromTemplate(template)
|
|
10
|
+
]));
|
|
11
|
+
return tabs;
|
|
12
|
+
}
|
|
13
|
+
createFormGroupFromTemplates(templates, ignoredProperties) {
|
|
14
|
+
const controls = Object.fromEntries(Object.entries(templates)
|
|
15
|
+
.filter(([key,]) => !ignoredProperties.some(p => key === p))
|
|
16
|
+
.map(([name, template]) => [
|
|
17
|
+
name,
|
|
18
|
+
this.createFormGroupFromTemplate(template)
|
|
19
|
+
]));
|
|
20
|
+
const formGroup = new FormGroup(controls);
|
|
21
|
+
return formGroup;
|
|
22
|
+
}
|
|
23
|
+
createFormArrayFromTemplates(templates, ignoredProperties) {
|
|
24
|
+
const controls = Object.entries(templates)
|
|
25
|
+
.filter(([key,]) => !ignoredProperties.some(p => key === p))
|
|
26
|
+
.map(([, template]) => this.createFormGroupFromTemplate(template));
|
|
27
|
+
const formArray = new FormArray(controls);
|
|
28
|
+
return formArray;
|
|
29
|
+
}
|
|
30
|
+
createFormGroupFromTemplate(template) {
|
|
31
|
+
const controls = Object.fromEntries(template.properties.map(p => [
|
|
32
|
+
p.name,
|
|
33
|
+
this.createFormControl(p)
|
|
34
|
+
]));
|
|
35
|
+
const formGroup = new FormGroup(controls);
|
|
36
|
+
return formGroup;
|
|
37
|
+
}
|
|
38
|
+
createFormControl(property) {
|
|
39
|
+
if (property.type === PropertyType.Object)
|
|
40
|
+
return this.createFormGroupFromTemplate(property._templates['default']);
|
|
41
|
+
if (property.type === PropertyType.Collection)
|
|
42
|
+
return this.createFormArrayFromTemplates(property._templates, ['default']);
|
|
43
|
+
const control = new FormControl(property.value);
|
|
44
|
+
if (property.max)
|
|
45
|
+
control.addValidators(Validators.max(property.max));
|
|
46
|
+
if (property.maxLength)
|
|
47
|
+
control.addValidators(Validators.maxLength(property.maxLength));
|
|
48
|
+
if (property.min)
|
|
49
|
+
control.addValidators(Validators.min(property.min));
|
|
50
|
+
if (property.minLength)
|
|
51
|
+
control.addValidators(Validators.minLength(property.minLength));
|
|
52
|
+
if (property.regex)
|
|
53
|
+
control.addValidators(Validators.pattern(property.regex));
|
|
54
|
+
if (property.required)
|
|
55
|
+
control.addValidators(Validators.required);
|
|
56
|
+
if (property.type === PropertyType.Email)
|
|
57
|
+
control.addValidators(Validators.email);
|
|
58
|
+
return control;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
FormService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: FormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
62
|
+
FormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: FormService, providedIn: 'root' });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: FormService, decorators: [{
|
|
64
|
+
type: Injectable,
|
|
65
|
+
args: [{
|
|
66
|
+
providedIn: 'root'
|
|
67
|
+
}]
|
|
68
|
+
}] });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlc3R3b3JsZC1jbGllbnQvc3JjL2xpYi9zZXJ2aWNlcy9mb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFZLFlBQVksRUFBdUIsTUFBTSx5QkFBeUIsQ0FBQzs7QUFLdEYsTUFBTSxPQUFPLFdBQVc7SUFFZiw2QkFBNkIsQ0FBQyxTQUFvQjtRQUN2RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xGLElBQUk7WUFDSixJQUFJLENBQUMsMkJBQTJCLENBQUMsUUFBUSxDQUFDO1NBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUosT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sNEJBQTRCLENBQUMsU0FBb0IsRUFBRSxpQkFBMkI7UUFDcEYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDakMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7YUFDdEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDNUQsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLElB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QUMsS0FBSyxDQUFDLENBQUM7UUFFMUMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs7eUdBakVVLFdBQVc7NkdBQVgsV0FBVyxjQUZWLE1BQU07NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBQcm9wZXJ0eSwgUHJvcGVydHlUeXBlLCBUZW1wbGF0ZSwgVGVtcGxhdGVzIH0gZnJvbSAnQHdlcnR6dWkvbmd4LWhhbC1jbGllbnQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVNlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgY3JlYXRlRm9ybUdyb3Vwc0Zyb21UZW1wbGF0ZXModGVtcGxhdGVzOiBUZW1wbGF0ZXMpOiB7IFtrZXk6IHN0cmluZ106IEZvcm1Hcm91cCB9IHtcclxuICAgIGNvbnN0IHRhYnMgPSBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXModGVtcGxhdGVzKS5tYXAoKFtuYW1lLCB0ZW1wbGF0ZV0pID0+IFtcclxuICAgICAgbmFtZSxcclxuICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXBGcm9tVGVtcGxhdGUodGVtcGxhdGUpXHJcbiAgICBdKSk7XHJcblxyXG4gICAgcmV0dXJuIHRhYnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUZvcm1Hcm91cEZyb21UZW1wbGF0ZXModGVtcGxhdGVzOiBUZW1wbGF0ZXMsIGlnbm9yZWRQcm9wZXJ0aWVzOiBzdHJpbmdbXSk6IEZvcm1Hcm91cCB7XHJcbiAgICBjb25zdCBjb250cm9scyA9IE9iamVjdC5mcm9tRW50cmllcyhcclxuICAgICAgT2JqZWN0LmVudHJpZXModGVtcGxhdGVzKVxyXG4gICAgICAgIC5maWx0ZXIoKFtrZXksIF0pID0+ICFpZ25vcmVkUHJvcGVydGllcy5zb21lKHAgPT4ga2V5ID09PSBwKSlcclxuICAgICAgICAubWFwKChbbmFtZSwgdGVtcGxhdGVdKSA9PiBbXHJcbiAgICAgICAgICBuYW1lLFxyXG4gICAgICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXBGcm9tVGVtcGxhdGUodGVtcGxhdGUpXHJcbiAgICAgICAgXSkpO1xyXG4gICAgY29uc3QgZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cChjb250cm9scyk7XHJcbiAgICByZXR1cm4gZm9ybUdyb3VwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNyZWF0ZUZvcm1BcnJheUZyb21UZW1wbGF0ZXModGVtcGxhdGVzOiBUZW1wbGF0ZXMsIGlnbm9yZWRQcm9wZXJ0aWVzOiBzdHJpbmdbXSk6IEZvcm1BcnJheSB7XHJcbiAgICBjb25zdCBjb250cm9scyA9XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRlbXBsYXRlcylcclxuICAgICAgICAuZmlsdGVyKChba2V5LCBdKSA9PiAhaWdub3JlZFByb3BlcnRpZXMuc29tZShwID0+IGtleSA9PT0gcCkpXHJcbiAgICAgICAgLm1hcCgoWywgdGVtcGxhdGVdKSA9PlxyXG4gICAgICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXBGcm9tVGVtcGxhdGUodGVtcGxhdGUpKTtcclxuICAgIGNvbnN0IGZvcm1BcnJheSA9IG5ldyBGb3JtQXJyYXkoY29udHJvbHMpO1xyXG4gICAgcmV0dXJuIGZvcm1BcnJheTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjcmVhdGVGb3JtR3JvdXBGcm9tVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlKTogRm9ybUdyb3VwIHtcclxuICAgIGNvbnN0IGNvbnRyb2xzID0gT2JqZWN0LmZyb21FbnRyaWVzKHRlbXBsYXRlLnByb3BlcnRpZXMubWFwKHAgPT4gW1xyXG4gICAgICBwLm5hbWUsXHJcbiAgICAgIHRoaXMuY3JlYXRlRm9ybUNvbnRyb2wocClcclxuICAgIF0pKTtcclxuICAgIGNvbnN0IGZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoY29udHJvbHMpO1xyXG4gICAgcmV0dXJuIGZvcm1Hcm91cDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjcmVhdGVGb3JtQ29udHJvbChwcm9wZXJ0eTogUHJvcGVydHkpOiBGb3JtQ29udHJvbCB8IEZvcm1Hcm91cCB8IEZvcm1BcnJheSB7XHJcbiAgICBpZiAocHJvcGVydHkudHlwZSA9PT0gUHJvcGVydHlUeXBlLk9iamVjdClcclxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRm9ybUdyb3VwRnJvbVRlbXBsYXRlKHByb3BlcnR5Ll90ZW1wbGF0ZXNbJ2RlZmF1bHQnXSk7XHJcbiAgICBpZiAocHJvcGVydHkudHlwZSA9PT0gUHJvcGVydHlUeXBlLkNvbGxlY3Rpb24pXHJcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUZvcm1BcnJheUZyb21UZW1wbGF0ZXMocHJvcGVydHkuX3RlbXBsYXRlcywgWydkZWZhdWx0J10pO1xyXG5cclxuICAgIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wocHJvcGVydHkudmFsdWUpO1xyXG4gICAgaWYgKHByb3BlcnR5Lm1heClcclxuICAgICAgY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWF4KHByb3BlcnR5Lm1heCkpO1xyXG4gICAgaWYgKHByb3BlcnR5Lm1heExlbmd0aClcclxuICAgICAgY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWF4TGVuZ3RoKHByb3BlcnR5Lm1heExlbmd0aCkpO1xyXG4gICAgaWYgKHByb3BlcnR5Lm1pbilcclxuICAgICAgY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWluKHByb3BlcnR5Lm1pbikpO1xyXG4gICAgaWYgKHByb3BlcnR5Lm1pbkxlbmd0aClcclxuICAgICAgY29udHJvbC5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWluTGVuZ3RoKHByb3BlcnR5Lm1pbkxlbmd0aCkpO1xyXG4gICAgaWYgKHByb3BlcnR5LnJlZ2V4KVxyXG4gICAgICBjb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5wYXR0ZXJuKHByb3BlcnR5LnJlZ2V4KSk7XHJcbiAgICBpZiAocHJvcGVydHkucmVxdWlyZWQpXHJcbiAgICAgIGNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIGlmIChwcm9wZXJ0eS50eXBlID09PSBQcm9wZXJ0eVR5cGUuRW1haWwpXHJcbiAgICAgIGNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLmVtYWlsKTtcclxuXHJcbiAgICByZXR1cm4gY29udHJvbDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImpo
|
|
|
39
39
|
providedIn: 'root'
|
|
40
40
|
}]
|
|
41
41
|
}], ctorParameters: function () { return [{ type: i1.HalClient }]; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHdvcmxkLWNsaWVudC1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlc3R3b3JsZC1jbGllbnQvc3JjL2xpYi9zZXJ2aWNlcy9yZXN0d29ybGQtY2xpZW50LWNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFLckQsTUFBTSxPQUFPLHlCQUF5QjtJQUlwQyxZQUFvQixVQUFxQjtRQUFyQixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxjQUFjLENBQUMsSUFBWTtRQUNoQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRVksc0JBQXNCLENBQUMsSUFBWSxFQUFFLE9BQXlCOztZQUN6RSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQzNDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU5QixNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdELE1BQU0sTUFBTSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDN0IsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRU0sU0FBUyxDQUFDLElBQVk7UUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLElBQUksV0FBVyxDQUFDLENBQUM7UUFFL0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzt1SEFoQ1UseUJBQXlCOzJIQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTs0RkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEhhbENsaWVudCB9IGZyb20gXCJAd2VydHp1aS9uZ3gtaGFsLWNsaWVudFwiO1xyXG5pbXBvcnQgeyBSRVNUd29ybGRPcHRpb25zIH0gZnJvbSBcIi4uL21vZGVscy9yZXN0d29ybGQtb3B0aW9uc1wiO1xyXG5pbXBvcnQgeyBSRVNUd29ybGRDbGllbnQgfSBmcm9tIFwiLi9yZXN0d29ybGQtY2xpZW50XCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSRVNUd29ybGRDbGllbnRDb2xsZWN0aW9uIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9jbGllbnRzOiB7XHJcbiAgICBbbmFtZTogc3RyaW5nXTogUkVTVHdvcmxkQ2xpZW50O1xyXG4gIH07XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaGFsQ2xpZW50OiBIYWxDbGllbnQpIHtcclxuICAgIHRoaXMuX2NsaWVudHMgPSB7fTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb250YWluc0NsaWVudChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLl9jbGllbnRzKS5pbmNsdWRlcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhZGRPckdldEV4aXN0aW5nQ2xpZW50KG5hbWU6IHN0cmluZywgb3B0aW9uczogUkVTVHdvcmxkT3B0aW9ucyk6IFByb21pc2U8UkVTVHdvcmxkQ2xpZW50PiB7XHJcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5fY2xpZW50cykuaW5jbHVkZXMobmFtZSkpXHJcbiAgICAgIHJldHVybiB0aGlzLmdldENsaWVudChuYW1lKTtcclxuXHJcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgUkVTVHdvcmxkQ2xpZW50KHRoaXMuX2hhbENsaWVudCwgb3B0aW9ucyk7XHJcbiAgICBhd2FpdCBjbGllbnQuZW5zdXJlSG9tZVJlc291cmNlSXNTZXQoKTtcclxuICAgIHRoaXMuX2NsaWVudHNbbmFtZV0gPSBjbGllbnQ7XHJcbiAgICByZXR1cm4gY2xpZW50O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENsaWVudChuYW1lOiBzdHJpbmcpOiBSRVNUd29ybGRDbGllbnQge1xyXG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5fY2xpZW50c1tuYW1lXTtcclxuICAgIGlmICghY2xpZW50KVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGNsaWVudCB3aXRoIHRoZSBuYW1lICcke25hbWV9JyBleGlzdHMuYCk7XHJcblxyXG4gICAgcmV0dXJuIGNsaWVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYWxsKCk6IHsgW25hbWU6IHN0cmluZ106IFJFU1R3b3JsZENsaWVudCB9IHtcclxuICAgIHJldHVybiB0aGlzLl9jbGllbnRzO1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { HttpHeaders } from '@angular/common/http';
|
|
3
3
|
import * as _ from "lodash";
|
|
4
|
-
import { PagedListResource, Resource } from "@wertzui/ngx-hal-client";
|
|
4
|
+
import { FormsResource, Link, PagedListResource, Resource } from "@wertzui/ngx-hal-client";
|
|
5
5
|
import { LinkNames } from "../constants/link-names";
|
|
6
6
|
import { ProblemDetails } from "../models/problem-details";
|
|
7
7
|
export class RESTworldClient {
|
|
@@ -28,7 +28,7 @@ export class RESTworldClient {
|
|
|
28
28
|
}
|
|
29
29
|
getHomeForced() {
|
|
30
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
const header = RESTworldClient.createHeaders(this._options.Version);
|
|
31
|
+
const header = RESTworldClient.createHeaders('application/hal+json', this._options.Version);
|
|
32
32
|
const response = yield this.halClient.get(this._options.BaseUrl, Resource, ProblemDetails, header);
|
|
33
33
|
return response;
|
|
34
34
|
});
|
|
@@ -49,6 +49,15 @@ export class RESTworldClient {
|
|
|
49
49
|
return response;
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
|
+
getListByUri(uri, parameters, headers) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const link = new Link();
|
|
55
|
+
link.href = uri;
|
|
56
|
+
const filledUri = link.fillTemplate(parameters);
|
|
57
|
+
const response = yield this.halClient.get(filledUri, PagedListResource, ProblemDetails, headers);
|
|
58
|
+
return response;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
52
61
|
getSingle(relOrUri, id, headers, curie) {
|
|
53
62
|
return __awaiter(this, void 0, void 0, function* () {
|
|
54
63
|
let uri;
|
|
@@ -78,7 +87,7 @@ export class RESTworldClient {
|
|
|
78
87
|
throw new Error(`The save link ${saveLink} does not have a save name.`);
|
|
79
88
|
const uri = saveLink.href;
|
|
80
89
|
const method = saveLink.name.toLowerCase();
|
|
81
|
-
const header = RESTworldClient.createHeaders(this._options.Version);
|
|
90
|
+
const header = RESTworldClient.createHeaders('application/hal+json', this._options.Version);
|
|
82
91
|
let response;
|
|
83
92
|
switch (method) {
|
|
84
93
|
case 'put':
|
|
@@ -93,13 +102,42 @@ export class RESTworldClient {
|
|
|
93
102
|
return response;
|
|
94
103
|
});
|
|
95
104
|
}
|
|
105
|
+
getAllForms(resource) {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
const urls = resource.getFormLinkHrefs();
|
|
108
|
+
const header = RESTworldClient.createHeaders('application/prs.hal-forms+json', this._options.Version);
|
|
109
|
+
const formsPromises = urls.map(url => this._halClient.get(url, FormsResource, ProblemDetails, header));
|
|
110
|
+
const formsAndProblems = yield Promise.all(formsPromises);
|
|
111
|
+
return formsAndProblems;
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
submit(template, formValues) {
|
|
115
|
+
var _a;
|
|
116
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
+
const uri = template.target || '';
|
|
118
|
+
const method = (_a = template.method) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
119
|
+
const header = RESTworldClient.createHeaders('application/prs.hal-forms+json', this._options.Version);
|
|
120
|
+
let response;
|
|
121
|
+
switch (method) {
|
|
122
|
+
case 'put':
|
|
123
|
+
response = yield this.halClient.put(uri, formValues, FormsResource, ProblemDetails, header);
|
|
124
|
+
break;
|
|
125
|
+
case 'post':
|
|
126
|
+
response = yield this.halClient.post(uri, formValues, FormsResource, ProblemDetails, header);
|
|
127
|
+
break;
|
|
128
|
+
default:
|
|
129
|
+
response = yield this.halClient.get(uri, FormsResource, ProblemDetails, header);
|
|
130
|
+
}
|
|
131
|
+
return response;
|
|
132
|
+
});
|
|
133
|
+
}
|
|
96
134
|
delete(resource) {
|
|
97
135
|
return __awaiter(this, void 0, void 0, function* () {
|
|
98
136
|
const deleteLink = resource.findLink('delete');
|
|
99
137
|
if (!deleteLink)
|
|
100
138
|
throw new Error(`The resource ${resource} does not have a delete link.`);
|
|
101
139
|
const uri = deleteLink.href;
|
|
102
|
-
const header = RESTworldClient.createHeaders(this._options.Version);
|
|
140
|
+
const header = RESTworldClient.createHeaders('application/hal+json', this._options.Version);
|
|
103
141
|
const response = yield this.halClient.delete(uri, ProblemDetails, header);
|
|
104
142
|
return response;
|
|
105
143
|
});
|
|
@@ -111,7 +149,7 @@ export class RESTworldClient {
|
|
|
111
149
|
}
|
|
112
150
|
getLinkFromHome(rel, name, curie) {
|
|
113
151
|
const links = this.getLinksFromHome(rel, curie);
|
|
114
|
-
const link =
|
|
152
|
+
const link = name ? links.find(l => l.name === name) : links[0];
|
|
115
153
|
if (!link)
|
|
116
154
|
throw new Error(`The home resource does not have a link with the rel '${this.getFullRel(rel, curie)}' and the name '${name}'.`);
|
|
117
155
|
return link;
|
|
@@ -136,10 +174,10 @@ export class RESTworldClient {
|
|
|
136
174
|
const fullRel = `${curie}:${rel}`;
|
|
137
175
|
return fullRel;
|
|
138
176
|
}
|
|
139
|
-
static createHeaders(version) {
|
|
177
|
+
static createHeaders(mediaType, version) {
|
|
140
178
|
if (version)
|
|
141
|
-
return new HttpHeaders({ 'Accept':
|
|
179
|
+
return new HttpHeaders({ 'Accept': `${mediaType || 'application/hal+json'}; v=${version}` });
|
|
142
180
|
return new HttpHeaders();
|
|
143
181
|
}
|
|
144
182
|
}
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHdvcmxkLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXN0d29ybGQtY2xpZW50L3NyYy9saWIvc2VydmljZXMvcmVzdHdvcmxkLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQW1CLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHM0QsTUFBTSxPQUFPLGVBQWU7SUFRMUIsWUFDVSxVQUFxQixFQUNyQixRQUEwQjtRQUQxQixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBQ2hDLENBQUM7SUFQTCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFPWSx1QkFBdUI7O1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN2QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxjQUFjLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNsRCxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8saUJBQWlCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxtQkFBbUIsUUFBUSxFQUFFLENBQUMsQ0FBQztpQkFDaEo7Z0JBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJO29CQUNoQixNQUFNLElB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QUksS0FBSyxDQUFDLGlFQUFpRSxDQUFDLENBQUM7UUFFckYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDOUIsTUFBTSxLQUFLLENBQUMsd0RBQXdELE9BQU8sSUFBSSxDQUFDLENBQUM7UUFFbkYsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sVUFBVSxDQUFDLEdBQVcsRUFBRSxLQUFjO1FBQzVDLGlEQUFpRDtRQUNqRCxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQ25CLE9BQU8sR0FBRyxDQUFDO1FBRWIsdUNBQXVDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLO1lBQ1IsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFFN0Isd0JBQXdCO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLEdBQUcsS0FBSyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWxDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWdCO1FBQzNDLElBQUksT0FBTztZQUNULE9BQU8sSUFBSSxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xyXG5pbXBvcnQgeyBIYWxDbGllbnQsIExpbmssIFBhZ2VkTGlzdFJlc291cmNlLCBSZXNvdXJjZSB9IGZyb20gXCJAd2VydHp1aS9uZ3gtaGFsLWNsaWVudFwiXHJcbmltcG9ydCB7IExpbmtOYW1lcyB9IGZyb20gXCIuLi9jb25zdGFudHMvbGluay1uYW1lc1wiO1xyXG5pbXBvcnQgeyBQcm9ibGVtRGV0YWlscyB9IGZyb20gXCIuLi9tb2RlbHMvcHJvYmxlbS1kZXRhaWxzXCI7XHJcbmltcG9ydCB7IFJFU1R3b3JsZE9wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzL3Jlc3R3b3JsZC1vcHRpb25zXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUkVTVHdvcmxkQ2xpZW50IHtcclxuXHJcbiAgcHJpdmF0ZSBfaG9tZVJlc291cmNlPzogUmVzb3VyY2U7XHJcbiAgcHJpdmF0ZSBfZGVmYXVsdEN1cmllPzogc3RyaW5nO1xyXG4gIHB1YmxpYyBnZXQgaGFsQ2xpZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hhbENsaWVudDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaGFsQ2xpZW50OiBIYWxDbGllbnQsXHJcbiAgICBwcml2YXRlIF9vcHRpb25zOiBSRVNUd29ybGRPcHRpb25zXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGVuc3VyZUhvbWVSZXNvdXJjZUlzU2V0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLl9ob21lUmVzb3VyY2UpIHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmdldEhvbWVGb3JjZWQoKTtcclxuICAgICAgaWYgKFByb2JsZW1EZXRhaWxzLmlzUHJvYmxlbURldGFpbHMocmVzcG9uc2UuYm9keSkpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBnZXQgdGhlIGhvbWUgcmVzb3VyY2UgZnJvbSAke3RoaXMuX29wdGlvbnMuQmFzZVVybH0gd2l0aCBWZXJzaW9uICR7dGhpcy5fb3B0aW9ucy5WZXJzaW9ufS4gUmVzcG9uc2Ugd2FzOiAke3Jlc3BvbnNlfWApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghcmVzcG9uc2UuYm9keSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBnZXQgdGhlIGhvbWUgcmVzb3VyY2UgZnJvbSAke3RoaXMuX29wdGlvbnMuQmFzZVVybH0gd2l0aCBWZXJzaW9uICR7dGhpcy5fb3B0aW9ucy5WZXJzaW9ufS4gUmVzcG9uc2Ugd2FzIGVtcHR5LmApXHJcbiAgICAgIHRoaXMuX2hvbWVSZXNvdXJjZSA9IHJlc3BvbnNlLmJvZHkhO1xyXG4gICAgICB0aGlzLnNldERlZmF1bHRDdXJpZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBnZXRIb21lRm9yY2VkKCk6IFByb21pc2U8SHR0cFJlc3BvbnNlPFJlc291cmNlIHwgUHJvYmxlbURldGFpbHM+PiB7XHJcbiAgICBjb25zdCBoZWFkZXIgPSBSRVNUd29ybGRDbGllbnQuY3JlYXRlSGVhZGVycyh0aGlzLl9vcHRpb25zLlZlcnNpb24pO1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmhhbENsaWVudC5nZXQodGhpcy5fb3B0aW9ucy5CYXNlVXJsLCBSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcik7XHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERlZmF1bHRDdXJpZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGN1cmllcyA9IHRoaXMuX2hvbWVSZXNvdXJjZT8uX2xpbmtzPy5jdXJpZXM7XHJcbiAgICBpZiAoIWN1cmllcyB8fCBjdXJpZXMubGVuZ3RoID09PSAwIHx8ICFjdXJpZXNbMF0pXHJcbiAgICAgIHRoaXMuX2RlZmF1bHRDdXJpZSA9IHVuZGVmaW5lZDtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5fZGVmYXVsdEN1cmllID0gY3VyaWVzWzBdLm5hbWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0TGlzdChyZWw6IHN0cmluZywgcGFyYW1ldGVyczoge30sIGhlYWRlcnM/OiBIdHRwSGVhZGVycywgY3VyaWU/OiBzdHJpbmcpOiBQcm9taXNlPEh0dHBSZXNwb25zZTxQYWdlZExpc3RSZXNvdXJjZSB8IFByb2JsZW1EZXRhaWxzPj57XHJcbiAgICBjb25zdCBsaW5rID0gdGhpcy5nZXRMaW5rRnJvbUhvbWUocmVsLCBMaW5rTmFtZXMuZ2V0TGlzdCwgY3VyaWUpO1xyXG4gICAgY29uc3QgdXJpID0gbGluay5maWxsVGVtcGxhdGUocGFyYW1ldGVycyk7XHJcblxyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmhhbENsaWVudC5nZXQodXJpLCBQYWdlZExpc3RSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcnMpO1xyXG5cclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTaW5nbGUocmVsT3JVcmk6IHN0cmluZywgaWQ/OiBudW1iZXIsIGhlYWRlcnM/OiBIdHRwSGVhZGVycywgY3VyaWU/OiBzdHJpbmcpOiBQcm9taXNlPEh0dHBSZXNwb25zZTxSZXNvdXJjZSB8IFByb2JsZW1EZXRhaWxzPj4ge1xyXG4gICAgbGV0IHVyaTtcclxuICAgIGlmIChyZWxPclVyaS5zdGFydHNXaXRoKCdodHRwJykpIHtcclxuICAgICAgaWYgKGlkICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdXaGVuIHN1cHBseWluZyBhIFVSSSwgYW4gSUQgY2Fubm90IGJlIHN1cHBsaWVkIHRvby4nKVxyXG4gICAgICBpZiAoY3VyaWUpXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdXaGVuIHN1cHBseWluZyBhIFVSSSwgYSBjdXJpZSBjYW5ub3QgYmUgc3VwcGxpZWQgdG9vLicpXHJcblxyXG4gICAgICB1cmkgPSByZWxPclVyaTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoIV8uaXNOdW1iZXIoaWQpKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignV2hlbiBzdXBwbHlpbmcgYSByZWwsIGFuIElEIG11c3QgYmUgc3VwcGxpZWQgdG9vLicpXHJcblxyXG4gICAgICBjb25zdCBsaW5rID0gdGhpcy5nZXRMaW5rRnJvbUhvbWUocmVsT3JVcmksIExpbmtOYW1lcy5nZXQsIGN1cmllKTtcclxuICAgICAgdXJpID0gbGluay5maWxsVGVtcGxhdGUoeyBpZDogaWQudG9TdHJpbmcoKSB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQuZ2V0KHVyaSwgUmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXJzKTtcclxuXHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2F2ZShyZXNvdXJjZTogUmVzb3VyY2UpOiBQcm9taXNlPEh0dHBSZXNwb25zZTxSZXNvdXJjZSB8IFByb2JsZW1EZXRhaWxzPj4ge1xyXG4gICAgY29uc3Qgc2F2ZUxpbmsgPSByZXNvdXJjZS5maW5kTGluaygnc2F2ZScpO1xyXG4gICAgaWYgKCFzYXZlTGluaylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgcmVzb3VyY2UgJHtyZXNvdXJjZX0gZG9lcyBub3QgaGF2ZSBhIHNhdmUgbGluay5gKTtcclxuICAgIGlmICghc2F2ZUxpbmsubmFtZSlcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgc2F2ZSBsaW5rICR7c2F2ZUxpbmt9IGRvZXMgbm90IGhhdmUgYSBzYXZlIG5hbWUuYCk7XHJcblxyXG4gICAgY29uc3QgdXJpID0gc2F2ZUxpbmsuaHJlZjtcclxuICAgIGNvbnN0IG1ldGhvZCA9IHNhdmVMaW5rLm5hbWUudG9Mb3dlckNhc2UoKTtcclxuICAgIGNvbnN0IGhlYWRlciA9IFJFU1R3b3JsZENsaWVudC5jcmVhdGVIZWFkZXJzKHRoaXMuX29wdGlvbnMuVmVyc2lvbik7XHJcblxyXG4gICAgbGV0IHJlc3BvbnNlO1xyXG4gICAgc3dpdGNoIChtZXRob2QpIHtcclxuICAgICAgY2FzZSAncHV0JzpcclxuICAgICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LnB1dCh1cmksIHJlc291cmNlLCBSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Bvc3QnOlxyXG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQucG9zdCh1cmksIHJlc291cmNlLCBSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAnJHttZXRob2R9JyBpcyBub3QgYWxsb3dlZCBhcyBsaW5rIG5hbWUgZm9yIHRoZSBzYXZlIGxpbmsuIE9ubHkgJ1BPU1QnIGFuZCAnUFVUJyBhcmUgYWxsb3dlZC5gKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZGVsZXRlKHJlc291cmNlOiBSZXNvdXJjZSk6IFByb21pc2U8SHR0cFJlc3BvbnNlPHZvaWQgfCBQcm9ibGVtRGV0YWlscz4+IHtcclxuICAgIGNvbnN0IGRlbGV0ZUxpbmsgPSByZXNvdXJjZS5maW5kTGluaygnZGVsZXRlJyk7XHJcbiAgICBpZiAoIWRlbGV0ZUxpbmspXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHJlc291cmNlICR7cmVzb3VyY2V9IGRvZXMgbm90IGhhdmUgYSBkZWxldGUgbGluay5gKTtcclxuICAgIGNvbnN0IHVyaSA9IGRlbGV0ZUxpbmsuaHJlZjtcclxuICAgIGNvbnN0IGhlYWRlciA9IFJFU1R3b3JsZENsaWVudC5jcmVhdGVIZWFkZXJzKHRoaXMuX29wdGlvbnMuVmVyc2lvbik7XHJcblxyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmhhbENsaWVudC5kZWxldGUodXJpLCBQcm9ibGVtRGV0YWlscywgaGVhZGVyKTtcclxuXHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWxsTGlua3NGcm9tSG9tZSgpOiB7IFtyZWw6IHN0cmluZ106IExpbmtbXSB8IHVuZGVmaW5lZCB9IHtcclxuICAgIGlmICghdGhpcy5faG9tZVJlc291cmNlKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0hvbWUgcmVzb3VyY2UgaXMgbm90IHNldC4gQ2FsbCBlbnN1cmVIb21lUmVzb3VyY2VJc1NldCgpIGZpcnN0LicpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLl9ob21lUmVzb3VyY2UuX2xpbmtzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExpbmtGcm9tSG9tZShyZWw6IHN0cmluZywgbmFtZT86IHN0cmluZywgY3VyaWU/OiBzdHJpbmcpOiBMaW5rIHtcclxuICAgIGNvbnN0IGxpbmtzID0gdGhpcy5nZXRMaW5rc0Zyb21Ib21lKHJlbCwgY3VyaWUpO1xyXG5cclxuICAgIGNvbnN0IGxpbmsgPSAhIW5hbWUgPyBsaW5rcy5maW5kKGwgPT4gbC5uYW1lID09IG5hbWUpIDogbGlua3NbMF07XHJcblxyXG4gICAgaWYgKCFsaW5rKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBob21lIHJlc291cmNlIGRvZXMgbm90IGhhdmUgYSBsaW5rIHdpdGggdGhlIHJlbCAnJHt0aGlzLmdldEZ1bGxSZWwocmVsLCBjdXJpZSl9JyBhbmQgdGhlIG5hbWUgJyR7bmFtZX0nLmApXHJcblxyXG4gICAgcmV0dXJuIGxpbms7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TGlua3NGcm9tSG9tZShyZWw6IHN0cmluZywgY3VyaWU/OiBzdHJpbmcpOiBMaW5rW10ge1xyXG4gICAgaWYgKCF0aGlzLl9ob21lUmVzb3VyY2UpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignSG9tZSByZXNvdXJjZSBpcyBub3Qgc2V0LiBDYWxsIGVuc3VyZUhvbWVSZXNvdXJjZUlzU2V0KCkgZmlyc3QuJyk7XHJcblxyXG4gICAgY29uc3QgZnVsbFJlbCA9IHRoaXMuZ2V0RnVsbFJlbChyZWwsIGN1cmllKTtcclxuICAgIGNvbnN0IGxpbmtzID0gdGhpcy5faG9tZVJlc291cmNlLl9saW5rc1tmdWxsUmVsXTtcclxuICAgIGlmICghbGlua3MgfHwgbGlua3MubGVuZ3RoID09PSAwKVxyXG4gICAgICB0aHJvdyBFcnJvcihgVGhlIGhvbWUgcmVzb3VyY2UgZG9lcyBub3QgaGF2ZSBhIGxpbmsgd2l0aCB0aGUgcmVsICcke2Z1bGxSZWx9Jy5gKTtcclxuXHJcbiAgICByZXR1cm4gbGlua3M7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZ1bGxSZWwocmVsOiBzdHJpbmcsIGN1cmllPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIC8vIHJlbCBhbHJlYWR5IGluY2x1ZGVzIGEgY3VyaWUgPT4ganVzdCByZXR1cm4gaXRcclxuICAgIGlmIChyZWwuaW5jbHVkZXMoJzonKSlcclxuICAgICAgcmV0dXJuIHJlbDtcclxuXHJcbiAgICAvLyBObyBjdXJpZSBnaXZlbiA9PiB1c2UgZGVmYXVsdCBjdXJpZS5cclxuICAgIGlmICghY3VyaWUpXHJcbiAgICAgIGN1cmllID0gdGhpcy5fZGVmYXVsdEN1cmllO1xyXG5cclxuICAgIC8vIENvbWJpbmUgY3VyaWUgYW5kIHJlbFxyXG4gICAgY29uc3QgZnVsbFJlbCA9IGAke2N1cmllfToke3JlbH1gO1xyXG5cclxuICAgIHJldHVybiBmdWxsUmVsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlSGVhZGVycyh2ZXJzaW9uPzogbnVtYmVyKTogSHR0cEhlYWRlcnMge1xyXG4gICAgaWYgKHZlcnNpb24pXHJcbiAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoeyAnQWNjZXB0JzogYHY9JHt2ZXJzaW9ufWAgfSk7XHJcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHdvcmxkLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXN0d29ybGQtY2xpZW50L3NyYy9saWIvc2VydmljZXMvcmVzdHdvcmxkLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFhLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQVksTUFBTSx5QkFBeUIsQ0FBQTtBQUMvRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzNELE1BQU0sT0FBTyxlQUFlO0lBUTFCLFlBQ1UsVUFBcUIsRUFDckIsUUFBMEI7UUFEMUIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUNoQyxDQUFDO0lBUEwsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBT1ksdUJBQXVCOztZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdkIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzVDLElBQUksY0FBYyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDbEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLGlCQUFpQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sbUJBQW1CLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ2hKO2dCQUNELElBQUksQ0FBQyxRQUFRLENBQUMs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Q0FBQyxHQUFHLENBQUM7WUFDbkIsT0FBTyxHQUFHLENBQUM7UUFFYix1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLEtBQUs7WUFDUixLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUU3Qix3QkFBd0I7UUFDeEIsTUFBTSxPQUFPLEdBQUcsR0FBRyxLQUFLLElBQUksR0FBRyxFQUFFLENBQUM7UUFFbEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBcUUsRUFBRSxPQUFnQjtRQUNsSCxJQUFJLE9BQU87WUFDVCxPQUFPLElBQUksV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsU0FBUyxJQUFJLHNCQUFzQixPQUFPLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvRixPQUFPLElBQUksV0FBVyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCB7IEZvcm1zUmVzb3VyY2UsIEhhbENsaWVudCwgTGluaywgUGFnZWRMaXN0UmVzb3VyY2UsIFJlc291cmNlLCBUZW1wbGF0ZSB9IGZyb20gXCJAd2VydHp1aS9uZ3gtaGFsLWNsaWVudFwiXHJcbmltcG9ydCB7IExpbmtOYW1lcyB9IGZyb20gXCIuLi9jb25zdGFudHMvbGluay1uYW1lc1wiO1xyXG5pbXBvcnQgeyBQcm9ibGVtRGV0YWlscyB9IGZyb20gXCIuLi9tb2RlbHMvcHJvYmxlbS1kZXRhaWxzXCI7XHJcbmltcG9ydCB7IFJFU1R3b3JsZE9wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzL3Jlc3R3b3JsZC1vcHRpb25zXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUkVTVHdvcmxkQ2xpZW50IHtcclxuXHJcbiAgcHJpdmF0ZSBfaG9tZVJlc291cmNlPzogUmVzb3VyY2U7XHJcbiAgcHJpdmF0ZSBfZGVmYXVsdEN1cmllPzogc3RyaW5nO1xyXG4gIHB1YmxpYyBnZXQgaGFsQ2xpZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hhbENsaWVudDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaGFsQ2xpZW50OiBIYWxDbGllbnQsXHJcbiAgICBwcml2YXRlIF9vcHRpb25zOiBSRVNUd29ybGRPcHRpb25zXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGVuc3VyZUhvbWVSZXNvdXJjZUlzU2V0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLl9ob21lUmVzb3VyY2UpIHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmdldEhvbWVGb3JjZWQoKTtcclxuICAgICAgaWYgKFByb2JsZW1EZXRhaWxzLmlzUHJvYmxlbURldGFpbHMocmVzcG9uc2UuYm9keSkpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBnZXQgdGhlIGhvbWUgcmVzb3VyY2UgZnJvbSAke3RoaXMuX29wdGlvbnMuQmFzZVVybH0gd2l0aCBWZXJzaW9uICR7dGhpcy5fb3B0aW9ucy5WZXJzaW9ufS4gUmVzcG9uc2Ugd2FzOiAke3Jlc3BvbnNlfWApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghcmVzcG9uc2UuYm9keSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBnZXQgdGhlIGhvbWUgcmVzb3VyY2UgZnJvbSAke3RoaXMuX29wdGlvbnMuQmFzZVVybH0gd2l0aCBWZXJzaW9uICR7dGhpcy5fb3B0aW9ucy5WZXJzaW9ufS4gUmVzcG9uc2Ugd2FzIGVtcHR5LmApXHJcbiAgICAgIHRoaXMuX2hvbWVSZXNvdXJjZSA9IHJlc3BvbnNlLmJvZHk7XHJcbiAgICAgIHRoaXMuc2V0RGVmYXVsdEN1cmllKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGdldEhvbWVGb3JjZWQoKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8UmVzb3VyY2UgfCBQcm9ibGVtRGV0YWlscz4+IHtcclxuICAgIGNvbnN0IGhlYWRlciA9IFJFU1R3b3JsZENsaWVudC5jcmVhdGVIZWFkZXJzKCdhcHBsaWNhdGlvbi9oYWwranNvbicsIHRoaXMuX29wdGlvbnMuVmVyc2lvbik7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LmdldCh0aGlzLl9vcHRpb25zLkJhc2VVcmwsIFJlc291cmNlLCBQcm9ibGVtRGV0YWlscywgaGVhZGVyKTtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGVmYXVsdEN1cmllKCk6IHZvaWQge1xyXG4gICAgY29uc3QgY3VyaWVzID0gdGhpcy5faG9tZVJlc291cmNlPy5fbGlua3M/LmN1cmllcztcclxuICAgIGlmICghY3VyaWVzIHx8IGN1cmllcy5sZW5ndGggPT09IDAgfHwgIWN1cmllc1swXSlcclxuICAgICAgdGhpcy5fZGVmYXVsdEN1cmllID0gdW5kZWZpbmVkO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLl9kZWZhdWx0Q3VyaWUgPSBjdXJpZXNbMF0ubmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRMaXN0KHJlbDogc3RyaW5nLCBwYXJhbWV0ZXJzOiB7fSwgaGVhZGVycz86IEh0dHBIZWFkZXJzLCBjdXJpZT86IHN0cmluZyk6IFByb21pc2U8SHR0cFJlc3BvbnNlPFBhZ2VkTGlzdFJlc291cmNlIHwgUHJvYmxlbURldGFpbHM+PntcclxuICAgIGNvbnN0IGxpbmsgPSB0aGlzLmdldExpbmtGcm9tSG9tZShyZWwsIExpbmtOYW1lcy5nZXRMaXN0LCBjdXJpZSk7XHJcbiAgICBjb25zdCB1cmkgPSBsaW5rLmZpbGxUZW1wbGF0ZShwYXJhbWV0ZXJzKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LmdldCh1cmksIFBhZ2VkTGlzdFJlc291cmNlLCBQcm9ibGVtRGV0YWlscywgaGVhZGVycyk7XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldExpc3RCeVVyaSh1cmk6IHN0cmluZywgcGFyYW1ldGVyczoge30sIGhlYWRlcnM/OiBIdHRwSGVhZGVycyk6IFByb21pc2U8SHR0cFJlc3BvbnNlPFBhZ2VkTGlzdFJlc291cmNlIHwgUHJvYmxlbURldGFpbHM+PiB7XHJcbiAgICBjb25zdCBsaW5rID0gbmV3IExpbmsoKTtcclxuICAgIGxpbmsuaHJlZiA9IHVyaTtcclxuICAgIGNvbnN0IGZpbGxlZFVyaSA9IGxpbmsuZmlsbFRlbXBsYXRlKHBhcmFtZXRlcnMpO1xyXG5cclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQuZ2V0KGZpbGxlZFVyaSwgUGFnZWRMaXN0UmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXJzKTtcclxuXHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2luZ2xlKHJlbE9yVXJpOiBzdHJpbmcsIGlkPzogbnVtYmVyLCBoZWFkZXJzPzogSHR0cEhlYWRlcnMsIGN1cmllPzogc3RyaW5nKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8UmVzb3VyY2UgfCBQcm9ibGVtRGV0YWlscz4+IHtcclxuICAgIGxldCB1cmk7XHJcbiAgICBpZiAocmVsT3JVcmkuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XHJcbiAgICAgIGlmIChpZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignV2hlbiBzdXBwbHlpbmcgYSBVUkksIGFuIElEIGNhbm5vdCBiZSBzdXBwbGllZCB0b28uJylcclxuICAgICAgaWYgKGN1cmllKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignV2hlbiBzdXBwbHlpbmcgYSBVUkksIGEgY3VyaWUgY2Fubm90IGJlIHN1cHBsaWVkIHRvby4nKVxyXG5cclxuICAgICAgdXJpID0gcmVsT3JVcmk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKCFfLmlzTnVtYmVyKGlkKSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1doZW4gc3VwcGx5aW5nIGEgcmVsLCBhbiBJRCBtdXN0IGJlIHN1cHBsaWVkIHRvby4nKVxyXG5cclxuICAgICAgY29uc3QgbGluayA9IHRoaXMuZ2V0TGlua0Zyb21Ib21lKHJlbE9yVXJpLCBMaW5rTmFtZXMuZ2V0LCBjdXJpZSk7XHJcbiAgICAgIHVyaSA9IGxpbmsuZmlsbFRlbXBsYXRlKHsgaWQ6IGlkLnRvU3RyaW5nKCkgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LmdldCh1cmksIFJlc291cmNlLCBQcm9ibGVtRGV0YWlscywgaGVhZGVycyk7XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNhdmUocmVzb3VyY2U6IFJlc291cmNlKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8UmVzb3VyY2UgfCBQcm9ibGVtRGV0YWlscz4+IHtcclxuICAgIGNvbnN0IHNhdmVMaW5rID0gcmVzb3VyY2UuZmluZExpbmsoJ3NhdmUnKTtcclxuICAgIGlmICghc2F2ZUxpbmspXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHJlc291cmNlICR7cmVzb3VyY2V9IGRvZXMgbm90IGhhdmUgYSBzYXZlIGxpbmsuYCk7XHJcbiAgICBpZiAoIXNhdmVMaW5rLm5hbWUpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHNhdmUgbGluayAke3NhdmVMaW5rfSBkb2VzIG5vdCBoYXZlIGEgc2F2ZSBuYW1lLmApO1xyXG5cclxuICAgIGNvbnN0IHVyaSA9IHNhdmVMaW5rLmhyZWY7XHJcbiAgICBjb25zdCBtZXRob2QgPSBzYXZlTGluay5uYW1lLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBjb25zdCBoZWFkZXIgPSBSRVNUd29ybGRDbGllbnQuY3JlYXRlSGVhZGVycygnYXBwbGljYXRpb24vaGFsK2pzb24nLCB0aGlzLl9vcHRpb25zLlZlcnNpb24pO1xyXG5cclxuICAgIGxldCByZXNwb25zZTtcclxuICAgIHN3aXRjaCAobWV0aG9kKSB7XHJcbiAgICAgIGNhc2UgJ3B1dCc6XHJcbiAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmhhbENsaWVudC5wdXQodXJpLCByZXNvdXJjZSwgUmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdwb3N0JzpcclxuICAgICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LnBvc3QodXJpLCByZXNvdXJjZSwgUmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJyR7bWV0aG9kfScgaXMgbm90IGFsbG93ZWQgYXMgbGluayBuYW1lIGZvciB0aGUgc2F2ZSBsaW5rLiBPbmx5ICdQT1NUJyBhbmQgJ1BVVCcgYXJlIGFsbG93ZWQuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFsbEZvcm1zKHJlc291cmNlOiBSZXNvdXJjZSk6IFByb21pc2U8SHR0cFJlc3BvbnNlPEZvcm1zUmVzb3VyY2UgfCBQcm9ibGVtRGV0YWlscz5bXT4ge1xyXG4gICAgY29uc3QgdXJscyA9IHJlc291cmNlLmdldEZvcm1MaW5rSHJlZnMoKTtcclxuICAgIGNvbnN0IGhlYWRlciA9IFJFU1R3b3JsZENsaWVudC5jcmVhdGVIZWFkZXJzKCdhcHBsaWNhdGlvbi9wcnMuaGFsLWZvcm1zK2pzb24nLCB0aGlzLl9vcHRpb25zLlZlcnNpb24pO1xyXG4gICAgY29uc3QgZm9ybXNQcm9taXNlcyA9IHVybHMubWFwKHVybCA9PiB0aGlzLl9oYWxDbGllbnQuZ2V0KHVybCwgRm9ybXNSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcikpO1xyXG4gICAgY29uc3QgZm9ybXNBbmRQcm9ibGVtcyA9IGF3YWl0IFByb21pc2UuYWxsKGZvcm1zUHJvbWlzZXMpO1xyXG4gICAgcmV0dXJuIGZvcm1zQW5kUHJvYmxlbXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc3VibWl0KHRlbXBsYXRlOiBUZW1wbGF0ZSwgZm9ybVZhbHVlczoge30pOiBQcm9taXNlPEh0dHBSZXNwb25zZTxGb3Jtc1Jlc291cmNlIHwgUHJvYmxlbURldGFpbHM+PiB7XHJcbiAgICBjb25zdCB1cmkgPSB0ZW1wbGF0ZS50YXJnZXQgfHwgJyc7XHJcbiAgICBjb25zdCBtZXRob2QgPSB0ZW1wbGF0ZS5tZXRob2Q/LnRvTG93ZXJDYXNlKCk7XHJcbiAgICBjb25zdCBoZWFkZXIgPSBSRVNUd29ybGRDbGllbnQuY3JlYXRlSGVhZGVycygnYXBwbGljYXRpb24vcHJzLmhhbC1mb3Jtcytqc29uJywgdGhpcy5fb3B0aW9ucy5WZXJzaW9uKTtcclxuXHJcbiAgICBsZXQgcmVzcG9uc2U7XHJcbiAgICBzd2l0Y2ggKG1ldGhvZCkge1xyXG4gICAgICBjYXNlICdwdXQnOlxyXG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQucHV0KHVyaSwgZm9ybVZhbHVlcywgRm9ybXNSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Bvc3QnOlxyXG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQucG9zdCh1cmksIGZvcm1WYWx1ZXMsIEZvcm1zUmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQuZ2V0KHVyaSwgRm9ybXNSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBkZWxldGUocmVzb3VyY2U6IFJlc291cmNlKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8dm9pZCB8IFByb2JsZW1EZXRhaWxzPj4ge1xyXG4gICAgY29uc3QgZGVsZXRlTGluayA9IHJlc291cmNlLmZpbmRMaW5rKCdkZWxldGUnKTtcclxuICAgIGlmICghZGVsZXRlTGluaylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgcmVzb3VyY2UgJHtyZXNvdXJjZX0gZG9lcyBub3QgaGF2ZSBhIGRlbGV0ZSBsaW5rLmApO1xyXG4gICAgY29uc3QgdXJpID0gZGVsZXRlTGluay5ocmVmO1xyXG4gICAgY29uc3QgaGVhZGVyID0gUkVTVHdvcmxkQ2xpZW50LmNyZWF0ZUhlYWRlcnMoJ2FwcGxpY2F0aW9uL2hhbCtqc29uJywgdGhpcy5fb3B0aW9ucy5WZXJzaW9uKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LmRlbGV0ZSh1cmksIFByb2JsZW1EZXRhaWxzLCBoZWFkZXIpO1xyXG5cclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBbGxMaW5rc0Zyb21Ib21lKCk6IHsgW3JlbDogc3RyaW5nXTogTGlua1tdIHwgdW5kZWZpbmVkIH0ge1xyXG4gICAgaWYgKCF0aGlzLl9ob21lUmVzb3VyY2UpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignSG9tZSByZXNvdXJjZSBpcyBub3Qgc2V0LiBDYWxsIGVuc3VyZUhvbWVSZXNvdXJjZUlzU2V0KCkgZmlyc3QuJyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX2hvbWVSZXNvdXJjZS5fbGlua3M7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TGlua0Zyb21Ib21lKHJlbDogc3RyaW5nLCBuYW1lPzogc3RyaW5nLCBjdXJpZT86IHN0cmluZyk6IExpbmsge1xyXG4gICAgY29uc3QgbGlua3MgPSB0aGlzLmdldExpbmtzRnJvbUhvbWUocmVsLCBjdXJpZSk7XHJcblxyXG4gICAgY29uc3QgbGluayA9IG5hbWUgPyBsaW5rcy5maW5kKGwgPT4gbC5uYW1lID09PSBuYW1lKSA6IGxpbmtzWzBdO1xyXG5cclxuICAgIGlmICghbGluaylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgaG9tZSByZXNvdXJjZSBkb2VzIG5vdCBoYXZlIGEgbGluayB3aXRoIHRoZSByZWwgJyR7dGhpcy5nZXRGdWxsUmVsKHJlbCwgY3VyaWUpfScgYW5kIHRoZSBuYW1lICcke25hbWV9Jy5gKVxyXG5cclxuICAgIHJldHVybiBsaW5rO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExpbmtzRnJvbUhvbWUocmVsOiBzdHJpbmcsIGN1cmllPzogc3RyaW5nKTogTGlua1tdIHtcclxuICAgIGlmICghdGhpcy5faG9tZVJlc291cmNlKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0hvbWUgcmVzb3VyY2UgaXMgbm90IHNldC4gQ2FsbCBlbnN1cmVIb21lUmVzb3VyY2VJc1NldCgpIGZpcnN0LicpO1xyXG5cclxuICAgIGNvbnN0IGZ1bGxSZWwgPSB0aGlzLmdldEZ1bGxSZWwocmVsLCBjdXJpZSk7XHJcbiAgICBjb25zdCBsaW5rcyA9IHRoaXMuX2hvbWVSZXNvdXJjZS5fbGlua3NbZnVsbFJlbF07XHJcbiAgICBpZiAoIWxpbmtzIHx8IGxpbmtzLmxlbmd0aCA9PT0gMClcclxuICAgICAgdGhyb3cgRXJyb3IoYFRoZSBob21lIHJlc291cmNlIGRvZXMgbm90IGhhdmUgYSBsaW5rIHdpdGggdGhlIHJlbCAnJHtmdWxsUmVsfScuYCk7XHJcblxyXG4gICAgcmV0dXJuIGxpbmtzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGdWxsUmVsKHJlbDogc3RyaW5nLCBjdXJpZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyByZWwgYWxyZWFkeSBpbmNsdWRlcyBhIGN1cmllID0+IGp1c3QgcmV0dXJuIGl0XHJcbiAgICBpZiAocmVsLmluY2x1ZGVzKCc6JykpXHJcbiAgICAgIHJldHVybiByZWw7XHJcblxyXG4gICAgLy8gTm8gY3VyaWUgZ2l2ZW4gPT4gdXNlIGRlZmF1bHQgY3VyaWUuXHJcbiAgICBpZiAoIWN1cmllKVxyXG4gICAgICBjdXJpZSA9IHRoaXMuX2RlZmF1bHRDdXJpZTtcclxuXHJcbiAgICAvLyBDb21iaW5lIGN1cmllIGFuZCByZWxcclxuICAgIGNvbnN0IGZ1bGxSZWwgPSBgJHtjdXJpZX06JHtyZWx9YDtcclxuXHJcbiAgICByZXR1cm4gZnVsbFJlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUhlYWRlcnMobWVkaWFUeXBlPzogJ2FwcGxpY2F0aW9uL2hhbCtqc29uJyB8ICdhcHBsaWNhdGlvbi9wcnMuaGFsLWZvcm1zK2pzb24nLCB2ZXJzaW9uPzogbnVtYmVyKTogSHR0cEhlYWRlcnMge1xyXG4gICAgaWYgKHZlcnNpb24pXHJcbiAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoeyAnQWNjZXB0JzogYCR7bWVkaWFUeXBlIHx8ICdhcHBsaWNhdGlvbi9oYWwranNvbid9OyB2PSR7dmVyc2lvbn1gIH0pO1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycygpO1xyXG4gIH1cclxufVxyXG4iXX0=
|