@wertzui/ngx-restworld-client 2.0.0 → 3.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.
Files changed (38) hide show
  1. package/{esm2015/lib/constants/link-names.js → esm2020/lib/constants/link-names.mjs} +0 -0
  2. package/{esm2015/lib/models/api-url.js → esm2020/lib/models/api-url.mjs} +0 -0
  3. package/{esm2015/lib/models/client-settings.js → esm2020/lib/models/client-settings.mjs} +0 -0
  4. package/{esm2015/lib/models/problem-details.js → esm2020/lib/models/problem-details.mjs} +0 -0
  5. package/{esm2015/lib/models/restworld-options.js → esm2020/lib/models/restworld-options.mjs} +0 -0
  6. package/{esm2015/lib/pipes/as.pipe.js → esm2020/lib/pipes/as.pipe.mjs} +4 -4
  7. package/{esm2015/lib/pipes/safe-url.pipe.js → esm2020/lib/pipes/safe-url.pipe.mjs} +4 -4
  8. package/esm2020/lib/restworld-client.module.mjs +200 -0
  9. package/{esm2015/lib/services/avatar-generator.js → esm2020/lib/services/avatar-generator.mjs} +4 -4
  10. package/{esm2015/lib/services/form.service.js → esm2020/lib/services/form.service.mjs} +4 -4
  11. package/esm2020/lib/services/restworld-client-collection.mjs +39 -0
  12. package/esm2020/lib/services/restworld-client.mjs +162 -0
  13. package/esm2020/lib/services/settings.service.mjs +39 -0
  14. package/esm2020/lib/views/restworld-edit-form/restworld-edit-form.component.mjs +230 -0
  15. package/esm2020/lib/views/restworld-edit-view/restworld-edit-view.component.mjs +313 -0
  16. package/esm2020/lib/views/restworld-file-view/restworld-file-view.component.mjs +57 -0
  17. package/esm2020/lib/views/restworld-image-view/restworld-image-view.component.mjs +100 -0
  18. package/esm2020/lib/views/restworld-list-view/restworld-list-view.component.mjs +341 -0
  19. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  20. package/{esm2015/wertzui-ngx-restworld-client.js → esm2020/wertzui-ngx-restworld-client.mjs} +0 -0
  21. package/fesm2015/wertzui-ngx-restworld-client.mjs +1706 -0
  22. package/fesm2015/wertzui-ngx-restworld-client.mjs.map +1 -0
  23. package/fesm2020/wertzui-ngx-restworld-client.mjs +1646 -0
  24. package/fesm2020/wertzui-ngx-restworld-client.mjs.map +1 -0
  25. package/package.json +42 -31
  26. package/bundles/wertzui-ngx-restworld-client.umd.js +0 -2477
  27. package/bundles/wertzui-ngx-restworld-client.umd.js.map +0 -1
  28. package/esm2015/lib/restworld-client.module.js +0 -201
  29. package/esm2015/lib/services/restworld-client-collection.js +0 -42
  30. package/esm2015/lib/services/restworld-client.js +0 -183
  31. package/esm2015/lib/services/settings.service.js +0 -47
  32. package/esm2015/lib/views/restworld-edit-form/restworld-edit-form.component.js +0 -238
  33. package/esm2015/lib/views/restworld-edit-view/restworld-edit-view.component.js +0 -335
  34. package/esm2015/lib/views/restworld-file-view/restworld-file-view.component.js +0 -63
  35. package/esm2015/lib/views/restworld-image-view/restworld-image-view.component.js +0 -107
  36. package/esm2015/lib/views/restworld-list-view/restworld-list-view.component.js +0 -353
  37. package/fesm2015/wertzui-ngx-restworld-client.js +0 -1728
  38. package/fesm2015/wertzui-ngx-restworld-client.js.map +0 -1
@@ -1,201 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { APP_INITIALIZER, NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { ScrollingModule } from '@angular/cdk/scrolling';
5
- import { DragDropModule } from '@angular/cdk/drag-drop';
6
- import { RouterModule } from '@angular/router';
7
- import { TableModule } from 'primeng/table';
8
- import { TooltipModule } from 'primeng/tooltip';
9
- import { ReactiveFormsModule, FormsModule } from '@angular/forms';
10
- import { InputTextModule } from 'primeng/inputtext';
11
- import { InputNumberModule } from 'primeng/inputnumber';
12
- import { CalendarModule } from 'primeng/calendar';
13
- import { CheckboxModule } from 'primeng/checkbox';
14
- import { ConfirmDialogModule } from 'primeng/confirmdialog';
15
- import { ConfirmationService, MessageService } from 'primeng/api';
16
- import { ToastModule } from 'primeng/toast';
17
- import { MessagesModule } from 'primeng/messages';
18
- import { PanelModule } from 'primeng/panel';
19
- import { TabViewModule } from 'primeng/tabview';
20
- import { SkeletonModule } from 'primeng/skeleton';
21
- import { ProgressSpinnerModule } from 'primeng/progressspinner';
22
- import { RippleModule } from 'primeng/ripple';
23
- import { TriStateCheckboxModule } from 'primeng/tristatecheckbox';
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';
32
- import { RESTworldListViewComponent } from './views/restworld-list-view/restworld-list-view.component';
33
- import { RESTworldEditViewComponent } from './views/restworld-edit-view/restworld-edit-view.component';
34
- import { RESTworldClientCollection } from './services/restworld-client-collection';
35
- import { AvatarGenerator } from './services/avatar-generator';
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';
44
- import * as i0 from "@angular/core";
45
- export function initializeSettings(settingsService) {
46
- return () => __awaiter(this, void 0, void 0, function* () { return yield settingsService.initialize(); });
47
- }
48
- export class RestworldClientModule {
49
- }
50
- RestworldClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RestworldClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
51
- RestworldClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RestworldClientModule, declarations: [RESTworldListViewComponent,
52
- RESTworldEditViewComponent,
53
- RESTWorldImageViewComponent,
54
- RESTWorldFileViewComponent,
55
- SafeUrlPipe,
56
- AsPipe,
57
- RestworldEditFormComponent], imports: [CommonModule,
58
- RouterModule,
59
- FormsModule,
60
- ReactiveFormsModule,
61
- TableModule,
62
- TooltipModule,
63
- ScrollingModule,
64
- InputTextModule,
65
- InputNumberModule,
66
- CalendarModule,
67
- CheckboxModule,
68
- ConfirmDialogModule,
69
- ToastModule,
70
- MessagesModule,
71
- PanelModule,
72
- TabViewModule,
73
- SkeletonModule,
74
- ProgressSpinnerModule,
75
- RippleModule,
76
- TriStateCheckboxModule,
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] });
91
- RestworldClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RestworldClientModule, providers: [
92
- RESTworldClientCollection,
93
- AvatarGenerator,
94
- ConfirmationService,
95
- FormService,
96
- MessageService,
97
- {
98
- provide: APP_INITIALIZER,
99
- useFactory: initializeSettings,
100
- deps: [SettingsService],
101
- multi: true,
102
- }
103
- ], imports: [[
104
- CommonModule,
105
- RouterModule,
106
- FormsModule,
107
- ReactiveFormsModule,
108
- TableModule,
109
- TooltipModule,
110
- ScrollingModule,
111
- InputTextModule,
112
- InputNumberModule,
113
- CalendarModule,
114
- CheckboxModule,
115
- ConfirmDialogModule,
116
- ToastModule,
117
- MessagesModule,
118
- PanelModule,
119
- TabViewModule,
120
- SkeletonModule,
121
- ProgressSpinnerModule,
122
- RippleModule,
123
- TriStateCheckboxModule,
124
- AvatarModule,
125
- DropdownModule,
126
- MultiSelectModule,
127
- FileUploadModule,
128
- ValdemortModule,
129
- ImageCropperModule,
130
- DialogModule,
131
- ButtonModule,
132
- ColorPickerModule,
133
- DragDropModule
134
- ]] });
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RestworldClientModule, decorators: [{
136
- type: NgModule,
137
- args: [{
138
- declarations: [
139
- RESTworldListViewComponent,
140
- RESTworldEditViewComponent,
141
- RESTWorldImageViewComponent,
142
- RESTWorldFileViewComponent,
143
- SafeUrlPipe,
144
- AsPipe,
145
- RestworldEditFormComponent
146
- ],
147
- imports: [
148
- CommonModule,
149
- RouterModule,
150
- FormsModule,
151
- ReactiveFormsModule,
152
- TableModule,
153
- TooltipModule,
154
- ScrollingModule,
155
- InputTextModule,
156
- InputNumberModule,
157
- CalendarModule,
158
- CheckboxModule,
159
- ConfirmDialogModule,
160
- ToastModule,
161
- MessagesModule,
162
- PanelModule,
163
- TabViewModule,
164
- SkeletonModule,
165
- ProgressSpinnerModule,
166
- RippleModule,
167
- TriStateCheckboxModule,
168
- AvatarModule,
169
- DropdownModule,
170
- MultiSelectModule,
171
- FileUploadModule,
172
- ValdemortModule,
173
- ImageCropperModule,
174
- DialogModule,
175
- ButtonModule,
176
- ColorPickerModule,
177
- DragDropModule
178
- ],
179
- exports: [
180
- RESTworldListViewComponent,
181
- RESTworldEditViewComponent,
182
- RESTWorldImageViewComponent,
183
- RESTWorldFileViewComponent,
184
- SafeUrlPipe
185
- ],
186
- providers: [
187
- RESTworldClientCollection,
188
- AvatarGenerator,
189
- ConfirmationService,
190
- FormService,
191
- MessageService,
192
- {
193
- provide: APP_INITIALIZER,
194
- useFactory: initializeSettings,
195
- deps: [SettingsService],
196
- multi: true,
197
- }
198
- ]
199
- }]
200
- }] });
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHdvcmxkLWNsaWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVzdHdvcmxkLWNsaWVudC9zcmMvbGliL3Jlc3R3b3JsZC1jbGllbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFD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c0I7d0JBQ3RCLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsV0FBVztxQkFDWjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QseUJBQXlCO3dCQUN6QixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxjQUFjO3dCQUNkOzRCQUNFLE9BQU8sRUFBRSxlQUFlOzRCQUN4QixVQUFVLEVBQUUsa0JBQWtCOzRCQUM5QixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7NEJBQ3ZCLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnXHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XHJcbmltcG9ydCB7IElucHV0TnVtYmVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dG51bWJlcic7XHJcbmltcG9ydCB7IENhbGVuZGFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jYWxlbmRhcic7XHJcbmltcG9ydCB7IENoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jaGVja2JveCc7XHJcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NvbmZpcm1kaWFsb2cnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcclxuaW1wb3J0IHsgTWVzc2FnZXNNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lc3NhZ2VzJztcclxuaW1wb3J0IHsgUGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL3BhbmVsJztcclxuaW1wb3J0IHsgVGFiVmlld01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFidmlldyc7XHJcbmltcG9ydCB7IFNrZWxldG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9za2VsZXRvbic7XHJcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcHJvZ3Jlc3NzcGlubmVyJztcclxuaW1wb3J0IHsgUmlwcGxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xyXG5pbXBvcnQgeyBUcmlTdGF0ZUNoZWNrYm94TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90cmlzdGF0ZWNoZWNrYm94JztcclxuaW1wb3J0IHsgQXZhdGFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdmF0YXInO1xyXG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBNdWx0aVNlbGVjdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbXVsdGlzZWxlY3QnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9maWxldXBsb2FkJztcclxuaW1wb3J0IHsgVmFsZGVtb3J0TW9kdWxlIH0gZnJvbSAnbmd4LXZhbGRlbW9ydCc7XHJcbmltcG9ydCB7IEltYWdlQ3JvcHBlck1vZHVsZSB9IGZyb20gJ25neC1pbWFnZS1jcm9wcGVyJztcclxuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xyXG5pbXBvcnQgeyBDb2xvclBpY2tlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29sb3JwaWNrZXInO1xyXG5cclxuaW1wb3J0IHsgUkVTVHdvcmxkTGlzdFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3Jlc3R3b3JsZC1saXN0LXZpZXcvcmVzdHdvcmxkLWxpc3Qtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSRVNUd29ybGRFZGl0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvcmVzdHdvcmxkLWVkaXQtdmlldy9yZXN0d29ybGQtZWRpdC12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJFU1R3b3JsZENsaWVudENvbGxlY3Rpb24gfSBmcm9tICcuL3NlcnZpY2VzL3Jlc3R3b3JsZC1jbGllbnQtY29sbGVjdGlvbic7XHJcbmltcG9ydCB7IEF2YXRhckdlbmVyYXRvciB9IGZyb20gJy4vc2VydmljZXMvYXZhdGFyLWdlbmVyYXRvcic7XHJcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBSRVNUV29ybGRJbWFnZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3Jlc3R3b3JsZC1pbWFnZS12aWV3L3Jlc3R3b3JsZC1pbWFnZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IFJFU1RXb3JsZEZpbGVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9yZXN0d29ybGQtZmlsZS12aWV3L3Jlc3R3b3JsZC1maWxlLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2FmZVVybFBpcGUgfSBmcm9tICcuL3BpcGVzL3NhZmUtdXJsLnBpcGUnO1xuaW1wb3J0IHsgUmVzdHdvcmxkRWRpdEZvcm1Db21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3Jlc3R3b3JsZC1lZGl0LWZvcm0vcmVzdHdvcmxkLWVkaXQtZm9ybS5jb21wb25lbnQnXHJcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBc1BpcGUgfSBmcm9tICcuL3BpcGVzL2FzLnBpcGUnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVTZXR0aW5ncyhzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSk6ICgpID0+IFByb21pc2U8dm9pZD4ge1xyXG4gIHJldHVybiBhc3luYyAoKSA9PiBhd2FpdCBzZXR0aW5nc1NlcnZpY2UuaW5pdGlhbGl6ZSgpO1xyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUkVTVHdvcmxkTGlzdFZpZXdDb21wb25lbnQsXHJcbiAgICBSRVNUd29ybGRFZGl0Vmlld0NvbXBvbmVudCxcclxuICAgIFJFU1RXb3JsZEltYWdlVmlld0NvbXBvbmVudCxcclxuICAgIFJFU1RXb3JsZEZpbGVWaWV3Q29tcG9uZW50LFxyXG4gICAgU2FmZVVybFBpcGUsXHJcbiAgICBBc1BpcGUsXHJcbiAgICBSZXN0d29ybGRFZGl0Rm9ybUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgVGFibGVNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgSW5wdXROdW1iZXJNb2R1bGUsXHJcbiAgICBDYWxlbmRhck1vZHVsZSxcclxuICAgIENoZWNrYm94TW9kdWxlLFxyXG4gICAgQ29uZmlybURpYWxvZ01vZHVsZSxcclxuICAgIFRvYXN0TW9kdWxlLFxyXG4gICAgTWVzc2FnZXNNb2R1bGUsXHJcbiAgICBQYW5lbE1vZHVsZSxcclxuICAgIFRhYlZpZXdNb2R1bGUsXHJcbiAgICBTa2VsZXRvbk1vZHVsZSxcclxuICAgIFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIFJpcHBsZU1vZHVsZSxcclxuICAgIFRyaVN0YXRlQ2hlY2tib3hNb2R1bGUsXHJcbiAgICBBdmF0YXJNb2R1bGUsXHJcbiAgICBEcm9wZG93bk1vZHVsZSxcclxuICAgIE11bHRpU2VsZWN0TW9kdWxlLFxyXG4gICAgRmlsZVVwbG9hZE1vZHVsZSxcclxuICAgIFZhbGRlbW9ydE1vZHVsZSxcclxuICAgIEltYWdlQ3JvcHBlck1vZHVsZSxcclxuICAgIERpYWxvZ01vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIENvbG9yUGlja2VyTW9kdWxlLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJFU1R3b3JsZExpc3RWaWV3Q29tcG9uZW50LFxyXG4gICAgUkVTVHdvcmxkRWRpdFZpZXdDb21wb25lbnQsXHJcbiAgICBSRVNUV29ybGRJbWFnZVZpZXdDb21wb25lbnQsXHJcbiAgICBSRVNUV29ybGRGaWxlVmlld0NvbXBvbmVudCxcclxuICAgIFNhZmVVcmxQaXBlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFJFU1R3b3JsZENsaWVudENvbGxlY3Rpb24sXHJcbiAgICBBdmF0YXJHZW5lcmF0b3IsXHJcbiAgICBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgRm9ybVNlcnZpY2UsXHJcbiAgICBNZXNzYWdlU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICB1c2VGYWN0b3J5OiBpbml0aWFsaXplU2V0dGluZ3MsXHJcbiAgICAgIGRlcHM6IFtTZXR0aW5nc1NlcnZpY2VdLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXN0d29ybGRDbGllbnRNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable } from "@angular/core";
3
- import { RESTworldClient } from "./restworld-client";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@wertzui/ngx-hal-client";
6
- export class RESTworldClientCollection {
7
- constructor(_halClient) {
8
- this._halClient = _halClient;
9
- this._clients = {};
10
- }
11
- containsClient(name) {
12
- return Object.keys(this._clients).includes(name);
13
- }
14
- addOrGetExistingClient(name, options) {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- if (Object.keys(this._clients).includes(name))
17
- return this.getClient(name);
18
- const client = new RESTworldClient(this._halClient, options);
19
- yield client.ensureHomeResourceIsSet();
20
- this._clients[name] = client;
21
- return client;
22
- });
23
- }
24
- getClient(name) {
25
- const client = this._clients[name];
26
- if (!client)
27
- throw new Error(`No client with the name '${name}' exists.`);
28
- return client;
29
- }
30
- get all() {
31
- return this._clients;
32
- }
33
- }
34
- RESTworldClientCollection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RESTworldClientCollection, deps: [{ token: i1.HalClient }], target: i0.ɵɵFactoryTarget.Injectable });
35
- RESTworldClientCollection.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RESTworldClientCollection, providedIn: 'root' });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: RESTworldClientCollection, decorators: [{
37
- type: Injectable,
38
- args: [{
39
- providedIn: 'root'
40
- }]
41
- }], ctorParameters: function () { return [{ type: i1.HalClient }]; } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHdvcmxkLWNsaWVudC1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlc3R3b3JsZC1jbGllbnQvc3JjL2xpYi9zZXJ2aWNlcy9yZXN0d29ybGQtY2xpZW50LWNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFLckQsTUFBTSxPQUFPLHlCQUF5QjtJQUlwQyxZQUFvQixVQUFxQjtRQUFyQixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxjQUFjLENBQUMsSUFBWTtRQUNoQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRVksc0JBQXNCLENBQUMsSUFBWSxFQUFFLE9BQXlCOztZQUN6RSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQzNDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU5QixNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdELE1BQU0sTUFBTSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDN0IsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRU0sU0FBUyxDQUFDLElBQVk7UUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLElBQUksV0FBVyxDQUFDLENBQUM7UUFFL0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOzt1SEFoQ1UseUJBQXlCOzJIQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTs0RkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEhhbENsaWVudCB9IGZyb20gXCJAd2VydHp1aS9uZ3gtaGFsLWNsaWVudFwiO1xyXG5pbXBvcnQgeyBSRVNUd29ybGRPcHRpb25zIH0gZnJvbSBcIi4uL21vZGVscy9yZXN0d29ybGQtb3B0aW9uc1wiO1xyXG5pbXBvcnQgeyBSRVNUd29ybGRDbGllbnQgfSBmcm9tIFwiLi9yZXN0d29ybGQtY2xpZW50XCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSRVNUd29ybGRDbGllbnRDb2xsZWN0aW9uIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9jbGllbnRzOiB7XHJcbiAgICBbbmFtZTogc3RyaW5nXTogUkVTVHdvcmxkQ2xpZW50O1xyXG4gIH07XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaGFsQ2xpZW50OiBIYWxDbGllbnQpIHtcclxuICAgIHRoaXMuX2NsaWVudHMgPSB7fTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb250YWluc0NsaWVudChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLl9jbGllbnRzKS5pbmNsdWRlcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhZGRPckdldEV4aXN0aW5nQ2xpZW50KG5hbWU6IHN0cmluZywgb3B0aW9uczogUkVTVHdvcmxkT3B0aW9ucyk6IFByb21pc2U8UkVTVHdvcmxkQ2xpZW50PiB7XHJcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5fY2xpZW50cykuaW5jbHVkZXMobmFtZSkpXHJcbiAgICAgIHJldHVybiB0aGlzLmdldENsaWVudChuYW1lKTtcclxuXHJcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgUkVTVHdvcmxkQ2xpZW50KHRoaXMuX2hhbENsaWVudCwgb3B0aW9ucyk7XHJcbiAgICBhd2FpdCBjbGllbnQuZW5zdXJlSG9tZVJlc291cmNlSXNTZXQoKTtcclxuICAgIHRoaXMuX2NsaWVudHNbbmFtZV0gPSBjbGllbnQ7XHJcbiAgICByZXR1cm4gY2xpZW50O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENsaWVudChuYW1lOiBzdHJpbmcpOiBSRVNUd29ybGRDbGllbnQge1xyXG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5fY2xpZW50c1tuYW1lXTtcclxuICAgIGlmICghY2xpZW50KVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGNsaWVudCB3aXRoIHRoZSBuYW1lICcke25hbWV9JyBleGlzdHMuYCk7XHJcblxyXG4gICAgcmV0dXJuIGNsaWVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYWxsKCk6IHsgW25hbWU6IHN0cmluZ106IFJFU1R3b3JsZENsaWVudCB9IHtcclxuICAgIHJldHVybiB0aGlzLl9jbGllbnRzO1xyXG4gIH1cclxufSJdfQ==
@@ -1,183 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { HttpHeaders } from '@angular/common/http';
3
- import * as _ from "lodash";
4
- import { FormsResource, Link, PagedListResource, Resource } from "@wertzui/ngx-hal-client";
5
- import { LinkNames } from "../constants/link-names";
6
- import { ProblemDetails } from "../models/problem-details";
7
- export class RESTworldClient {
8
- constructor(_halClient, _options) {
9
- this._halClient = _halClient;
10
- this._options = _options;
11
- }
12
- get halClient() {
13
- return this._halClient;
14
- }
15
- ensureHomeResourceIsSet() {
16
- return __awaiter(this, void 0, void 0, function* () {
17
- if (!this._homeResource) {
18
- const response = yield this.getHomeForced();
19
- if (ProblemDetails.isProblemDetails(response.body)) {
20
- throw new Error(`Cannot get the home resource from ${this._options.BaseUrl} with Version ${this._options.Version}. Response was: ${response}`);
21
- }
22
- if (!response.body)
23
- throw new Error(`Cannot get the home resource from ${this._options.BaseUrl} with Version ${this._options.Version}. Response was empty.`);
24
- this._homeResource = response.body;
25
- this.setDefaultCurie();
26
- }
27
- });
28
- }
29
- getHomeForced() {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- const header = RESTworldClient.createHeaders('application/hal+json', this._options.Version);
32
- const response = yield this.halClient.get(this._options.BaseUrl, Resource, ProblemDetails, header);
33
- return response;
34
- });
35
- }
36
- setDefaultCurie() {
37
- var _a, _b;
38
- const curies = (_b = (_a = this._homeResource) === null || _a === void 0 ? void 0 : _a._links) === null || _b === void 0 ? void 0 : _b.curies;
39
- if (!curies || curies.length === 0 || !curies[0])
40
- this._defaultCurie = undefined;
41
- else
42
- this._defaultCurie = curies[0].name;
43
- }
44
- getList(rel, parameters, headers, curie) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const link = this.getLinkFromHome(rel, LinkNames.getList, curie);
47
- const uri = link.fillTemplate(parameters);
48
- const response = yield this.halClient.get(uri, PagedListResource, ProblemDetails, headers);
49
- return response;
50
- });
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
- }
61
- getSingle(relOrUri, id, headers, curie) {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- let uri;
64
- if (relOrUri.startsWith('http')) {
65
- if (id !== undefined)
66
- throw new Error('When supplying a URI, an ID cannot be supplied too.');
67
- if (curie)
68
- throw new Error('When supplying a URI, a curie cannot be supplied too.');
69
- uri = relOrUri;
70
- }
71
- else {
72
- if (!_.isNumber(id))
73
- throw new Error('When supplying a rel, an ID must be supplied too.');
74
- const link = this.getLinkFromHome(relOrUri, LinkNames.get, curie);
75
- uri = link.fillTemplate({ id: id.toString() });
76
- }
77
- const response = yield this.halClient.get(uri, Resource, ProblemDetails, headers);
78
- return response;
79
- });
80
- }
81
- save(resource) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- const saveLink = resource.findLink('save');
84
- if (!saveLink)
85
- throw new Error(`The resource ${resource} does not have a save link.`);
86
- if (!saveLink.name)
87
- throw new Error(`The save link ${saveLink} does not have a save name.`);
88
- const uri = saveLink.href;
89
- const method = saveLink.name.toLowerCase();
90
- const header = RESTworldClient.createHeaders('application/hal+json', this._options.Version);
91
- let response;
92
- switch (method) {
93
- case 'put':
94
- response = yield this.halClient.put(uri, resource, Resource, ProblemDetails, header);
95
- break;
96
- case 'post':
97
- response = yield this.halClient.post(uri, resource, Resource, ProblemDetails, header);
98
- break;
99
- default:
100
- throw new Error(`'${method}' is not allowed as link name for the save link. Only 'POST' and 'PUT' are allowed.`);
101
- }
102
- return response;
103
- });
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
- }
134
- delete(resource) {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- const deleteLink = resource.findLink('delete');
137
- if (!deleteLink)
138
- throw new Error(`The resource ${resource} does not have a delete link.`);
139
- const uri = deleteLink.href;
140
- const header = RESTworldClient.createHeaders('application/hal+json', this._options.Version);
141
- const response = yield this.halClient.delete(uri, ProblemDetails, header);
142
- return response;
143
- });
144
- }
145
- getAllLinksFromHome() {
146
- if (!this._homeResource)
147
- throw new Error('Home resource is not set. Call ensureHomeResourceIsSet() first.');
148
- return this._homeResource._links;
149
- }
150
- getLinkFromHome(rel, name, curie) {
151
- const links = this.getLinksFromHome(rel, curie);
152
- const link = name ? links.find(l => l.name === name) : links[0];
153
- if (!link)
154
- throw new Error(`The home resource does not have a link with the rel '${this.getFullRel(rel, curie)}' and the name '${name}'.`);
155
- return link;
156
- }
157
- getLinksFromHome(rel, curie) {
158
- if (!this._homeResource)
159
- throw new Error('Home resource is not set. Call ensureHomeResourceIsSet() first.');
160
- const fullRel = this.getFullRel(rel, curie);
161
- const links = this._homeResource._links[fullRel];
162
- if (!links || links.length === 0)
163
- throw Error(`The home resource does not have a link with the rel '${fullRel}'.`);
164
- return links;
165
- }
166
- getFullRel(rel, curie) {
167
- // rel already includes a curie => just return it
168
- if (rel.includes(':'))
169
- return rel;
170
- // No curie given => use default curie.
171
- if (!curie)
172
- curie = this._defaultCurie;
173
- // Combine curie and rel
174
- const fullRel = `${curie}:${rel}`;
175
- return fullRel;
176
- }
177
- static createHeaders(mediaType, version) {
178
- if (version)
179
- return new HttpHeaders({ 'Accept': `${mediaType || 'application/hal+json'}; v=${version}` });
180
- return new HttpHeaders();
181
- }
182
- }
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHdvcmxkLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXN0d29ybGQtY2xpZW50L3NyYy9saWIvc2VydmljZXMvcmVzdHdvcmxkLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFhLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQVksTUFBTSx5QkFBeUIsQ0FBQTtBQUMvRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzNELE1BQU0sT0FBTyxlQUFlO0lBUTFCLFlBQ1UsVUFBcUIsRUFDckIsUUFBMEI7UUFEMUIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUNoQyxDQUFDO0lBUEwsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBT1ksdUJBQXVCOztZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdkIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzVDLElBQUksY0FBYyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDbEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLGlCQUFpQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sbUJBQW1CLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ2hKO2dCQUNELElBQUksQ0FBQyxRQUFRLENBQUMs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Q0FBQyxHQUFHLENBQUM7WUFDbkIsT0FBTyxHQUFHLENBQUM7UUFFYix1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLEtBQUs7WUFDUixLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUU3Qix3QkFBd0I7UUFDeEIsTUFBTSxPQUFPLEdBQUcsR0FBRyxLQUFLLElBQUksR0FBRyxFQUFFLENBQUM7UUFFbEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBcUUsRUFBRSxPQUFnQjtRQUNsSCxJQUFJLE9BQU87WUFDVCxPQUFPLElBQUksV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsU0FBUyxJQUFJLHNCQUFzQixPQUFPLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvRixPQUFPLElBQUksV0FBVyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCB7IEZvcm1zUmVzb3VyY2UsIEhhbENsaWVudCwgTGluaywgUGFnZWRMaXN0UmVzb3VyY2UsIFJlc291cmNlLCBUZW1wbGF0ZSB9IGZyb20gXCJAd2VydHp1aS9uZ3gtaGFsLWNsaWVudFwiXHJcbmltcG9ydCB7IExpbmtOYW1lcyB9IGZyb20gXCIuLi9jb25zdGFudHMvbGluay1uYW1lc1wiO1xyXG5pbXBvcnQgeyBQcm9ibGVtRGV0YWlscyB9IGZyb20gXCIuLi9tb2RlbHMvcHJvYmxlbS1kZXRhaWxzXCI7XHJcbmltcG9ydCB7IFJFU1R3b3JsZE9wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzL3Jlc3R3b3JsZC1vcHRpb25zXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUkVTVHdvcmxkQ2xpZW50IHtcclxuXHJcbiAgcHJpdmF0ZSBfaG9tZVJlc291cmNlPzogUmVzb3VyY2U7XHJcbiAgcHJpdmF0ZSBfZGVmYXVsdEN1cmllPzogc3RyaW5nO1xyXG4gIHB1YmxpYyBnZXQgaGFsQ2xpZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hhbENsaWVudDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaGFsQ2xpZW50OiBIYWxDbGllbnQsXHJcbiAgICBwcml2YXRlIF9vcHRpb25zOiBSRVNUd29ybGRPcHRpb25zXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGVuc3VyZUhvbWVSZXNvdXJjZUlzU2V0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLl9ob21lUmVzb3VyY2UpIHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmdldEhvbWVGb3JjZWQoKTtcclxuICAgICAgaWYgKFByb2JsZW1EZXRhaWxzLmlzUHJvYmxlbURldGFpbHMocmVzcG9uc2UuYm9keSkpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBnZXQgdGhlIGhvbWUgcmVzb3VyY2UgZnJvbSAke3RoaXMuX29wdGlvbnMuQmFzZVVybH0gd2l0aCBWZXJzaW9uICR7dGhpcy5fb3B0aW9ucy5WZXJzaW9ufS4gUmVzcG9uc2Ugd2FzOiAke3Jlc3BvbnNlfWApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghcmVzcG9uc2UuYm9keSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBnZXQgdGhlIGhvbWUgcmVzb3VyY2UgZnJvbSAke3RoaXMuX29wdGlvbnMuQmFzZVVybH0gd2l0aCBWZXJzaW9uICR7dGhpcy5fb3B0aW9ucy5WZXJzaW9ufS4gUmVzcG9uc2Ugd2FzIGVtcHR5LmApXHJcbiAgICAgIHRoaXMuX2hvbWVSZXNvdXJjZSA9IHJlc3BvbnNlLmJvZHk7XHJcbiAgICAgIHRoaXMuc2V0RGVmYXVsdEN1cmllKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGdldEhvbWVGb3JjZWQoKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8UmVzb3VyY2UgfCBQcm9ibGVtRGV0YWlscz4+IHtcclxuICAgIGNvbnN0IGhlYWRlciA9IFJFU1R3b3JsZENsaWVudC5jcmVhdGVIZWFkZXJzKCdhcHBsaWNhdGlvbi9oYWwranNvbicsIHRoaXMuX29wdGlvbnMuVmVyc2lvbik7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LmdldCh0aGlzLl9vcHRpb25zLkJhc2VVcmwsIFJlc291cmNlLCBQcm9ibGVtRGV0YWlscywgaGVhZGVyKTtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGVmYXVsdEN1cmllKCk6IHZvaWQge1xyXG4gICAgY29uc3QgY3VyaWVzID0gdGhpcy5faG9tZVJlc291cmNlPy5fbGlua3M/LmN1cmllcztcclxuICAgIGlmICghY3VyaWVzIHx8IGN1cmllcy5sZW5ndGggPT09IDAgfHwgIWN1cmllc1swXSlcclxuICAgICAgdGhpcy5fZGVmYXVsdEN1cmllID0gdW5kZWZpbmVkO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLl9kZWZhdWx0Q3VyaWUgPSBjdXJpZXNbMF0ubmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRMaXN0KHJlbDogc3RyaW5nLCBwYXJhbWV0ZXJzOiB7fSwgaGVhZGVycz86IEh0dHBIZWFkZXJzLCBjdXJpZT86IHN0cmluZyk6IFByb21pc2U8SHR0cFJlc3BvbnNlPFBhZ2VkTGlzdFJlc291cmNlIHwgUHJvYmxlbURldGFpbHM+PntcclxuICAgIGNvbnN0IGxpbmsgPSB0aGlzLmdldExpbmtGcm9tSG9tZShyZWwsIExpbmtOYW1lcy5nZXRMaXN0LCBjdXJpZSk7XHJcbiAgICBjb25zdCB1cmkgPSBsaW5rLmZpbGxUZW1wbGF0ZShwYXJhbWV0ZXJzKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LmdldCh1cmksIFBhZ2VkTGlzdFJlc291cmNlLCBQcm9ibGVtRGV0YWlscywgaGVhZGVycyk7XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldExpc3RCeVVyaSh1cmk6IHN0cmluZywgcGFyYW1ldGVyczoge30sIGhlYWRlcnM/OiBIdHRwSGVhZGVycyk6IFByb21pc2U8SHR0cFJlc3BvbnNlPFBhZ2VkTGlzdFJlc291cmNlIHwgUHJvYmxlbURldGFpbHM+PiB7XHJcbiAgICBjb25zdCBsaW5rID0gbmV3IExpbmsoKTtcclxuICAgIGxpbmsuaHJlZiA9IHVyaTtcclxuICAgIGNvbnN0IGZpbGxlZFVyaSA9IGxpbmsuZmlsbFRlbXBsYXRlKHBhcmFtZXRlcnMpO1xyXG5cclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQuZ2V0KGZpbGxlZFVyaSwgUGFnZWRMaXN0UmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXJzKTtcclxuXHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2luZ2xlKHJlbE9yVXJpOiBzdHJpbmcsIGlkPzogbnVtYmVyLCBoZWFkZXJzPzogSHR0cEhlYWRlcnMsIGN1cmllPzogc3RyaW5nKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8UmVzb3VyY2UgfCBQcm9ibGVtRGV0YWlscz4+IHtcclxuICAgIGxldCB1cmk7XHJcbiAgICBpZiAocmVsT3JVcmkuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XHJcbiAgICAgIGlmIChpZCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignV2hlbiBzdXBwbHlpbmcgYSBVUkksIGFuIElEIGNhbm5vdCBiZSBzdXBwbGllZCB0b28uJylcclxuICAgICAgaWYgKGN1cmllKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignV2hlbiBzdXBwbHlpbmcgYSBVUkksIGEgY3VyaWUgY2Fubm90IGJlIHN1cHBsaWVkIHRvby4nKVxyXG5cclxuICAgICAgdXJpID0gcmVsT3JVcmk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKCFfLmlzTnVtYmVyKGlkKSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1doZW4gc3VwcGx5aW5nIGEgcmVsLCBhbiBJRCBtdXN0IGJlIHN1cHBsaWVkIHRvby4nKVxyXG5cclxuICAgICAgY29uc3QgbGluayA9IHRoaXMuZ2V0TGlua0Zyb21Ib21lKHJlbE9yVXJpLCBMaW5rTmFtZXMuZ2V0LCBjdXJpZSk7XHJcbiAgICAgIHVyaSA9IGxpbmsuZmlsbFRlbXBsYXRlKHsgaWQ6IGlkLnRvU3RyaW5nKCkgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LmdldCh1cmksIFJlc291cmNlLCBQcm9ibGVtRGV0YWlscywgaGVhZGVycyk7XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNhdmUocmVzb3VyY2U6IFJlc291cmNlKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8UmVzb3VyY2UgfCBQcm9ibGVtRGV0YWlscz4+IHtcclxuICAgIGNvbnN0IHNhdmVMaW5rID0gcmVzb3VyY2UuZmluZExpbmsoJ3NhdmUnKTtcclxuICAgIGlmICghc2F2ZUxpbmspXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHJlc291cmNlICR7cmVzb3VyY2V9IGRvZXMgbm90IGhhdmUgYSBzYXZlIGxpbmsuYCk7XHJcbiAgICBpZiAoIXNhdmVMaW5rLm5hbWUpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHNhdmUgbGluayAke3NhdmVMaW5rfSBkb2VzIG5vdCBoYXZlIGEgc2F2ZSBuYW1lLmApO1xyXG5cclxuICAgIGNvbnN0IHVyaSA9IHNhdmVMaW5rLmhyZWY7XHJcbiAgICBjb25zdCBtZXRob2QgPSBzYXZlTGluay5uYW1lLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBjb25zdCBoZWFkZXIgPSBSRVNUd29ybGRDbGllbnQuY3JlYXRlSGVhZGVycygnYXBwbGljYXRpb24vaGFsK2pzb24nLCB0aGlzLl9vcHRpb25zLlZlcnNpb24pO1xyXG5cclxuICAgIGxldCByZXNwb25zZTtcclxuICAgIHN3aXRjaCAobWV0aG9kKSB7XHJcbiAgICAgIGNhc2UgJ3B1dCc6XHJcbiAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmhhbENsaWVudC5wdXQodXJpLCByZXNvdXJjZSwgUmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdwb3N0JzpcclxuICAgICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LnBvc3QodXJpLCByZXNvdXJjZSwgUmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJyR7bWV0aG9kfScgaXMgbm90IGFsbG93ZWQgYXMgbGluayBuYW1lIGZvciB0aGUgc2F2ZSBsaW5rLiBPbmx5ICdQT1NUJyBhbmQgJ1BVVCcgYXJlIGFsbG93ZWQuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFsbEZvcm1zKHJlc291cmNlOiBSZXNvdXJjZSk6IFByb21pc2U8SHR0cFJlc3BvbnNlPEZvcm1zUmVzb3VyY2UgfCBQcm9ibGVtRGV0YWlscz5bXT4ge1xyXG4gICAgY29uc3QgdXJscyA9IHJlc291cmNlLmdldEZvcm1MaW5rSHJlZnMoKTtcclxuICAgIGNvbnN0IGhlYWRlciA9IFJFU1R3b3JsZENsaWVudC5jcmVhdGVIZWFkZXJzKCdhcHBsaWNhdGlvbi9wcnMuaGFsLWZvcm1zK2pzb24nLCB0aGlzLl9vcHRpb25zLlZlcnNpb24pO1xyXG4gICAgY29uc3QgZm9ybXNQcm9taXNlcyA9IHVybHMubWFwKHVybCA9PiB0aGlzLl9oYWxDbGllbnQuZ2V0KHVybCwgRm9ybXNSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcikpO1xyXG4gICAgY29uc3QgZm9ybXNBbmRQcm9ibGVtcyA9IGF3YWl0IFByb21pc2UuYWxsKGZvcm1zUHJvbWlzZXMpO1xyXG4gICAgcmV0dXJuIGZvcm1zQW5kUHJvYmxlbXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc3VibWl0KHRlbXBsYXRlOiBUZW1wbGF0ZSwgZm9ybVZhbHVlczoge30pOiBQcm9taXNlPEh0dHBSZXNwb25zZTxGb3Jtc1Jlc291cmNlIHwgUHJvYmxlbURldGFpbHM+PiB7XHJcbiAgICBjb25zdCB1cmkgPSB0ZW1wbGF0ZS50YXJnZXQgfHwgJyc7XHJcbiAgICBjb25zdCBtZXRob2QgPSB0ZW1wbGF0ZS5tZXRob2Q/LnRvTG93ZXJDYXNlKCk7XHJcbiAgICBjb25zdCBoZWFkZXIgPSBSRVNUd29ybGRDbGllbnQuY3JlYXRlSGVhZGVycygnYXBwbGljYXRpb24vcHJzLmhhbC1mb3Jtcytqc29uJywgdGhpcy5fb3B0aW9ucy5WZXJzaW9uKTtcclxuXHJcbiAgICBsZXQgcmVzcG9uc2U7XHJcbiAgICBzd2l0Y2ggKG1ldGhvZCkge1xyXG4gICAgICBjYXNlICdwdXQnOlxyXG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQucHV0KHVyaSwgZm9ybVZhbHVlcywgRm9ybXNSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Bvc3QnOlxyXG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQucG9zdCh1cmksIGZvcm1WYWx1ZXMsIEZvcm1zUmVzb3VyY2UsIFByb2JsZW1EZXRhaWxzLCBoZWFkZXIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5oYWxDbGllbnQuZ2V0KHVyaSwgRm9ybXNSZXNvdXJjZSwgUHJvYmxlbURldGFpbHMsIGhlYWRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBkZWxldGUocmVzb3VyY2U6IFJlc291cmNlKTogUHJvbWlzZTxIdHRwUmVzcG9uc2U8dm9pZCB8IFByb2JsZW1EZXRhaWxzPj4ge1xyXG4gICAgY29uc3QgZGVsZXRlTGluayA9IHJlc291cmNlLmZpbmRMaW5rKCdkZWxldGUnKTtcclxuICAgIGlmICghZGVsZXRlTGluaylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgcmVzb3VyY2UgJHtyZXNvdXJjZX0gZG9lcyBub3QgaGF2ZSBhIGRlbGV0ZSBsaW5rLmApO1xyXG4gICAgY29uc3QgdXJpID0gZGVsZXRlTGluay5ocmVmO1xyXG4gICAgY29uc3QgaGVhZGVyID0gUkVTVHdvcmxkQ2xpZW50LmNyZWF0ZUhlYWRlcnMoJ2FwcGxpY2F0aW9uL2hhbCtqc29uJywgdGhpcy5fb3B0aW9ucy5WZXJzaW9uKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaGFsQ2xpZW50LmRlbGV0ZSh1cmksIFByb2JsZW1EZXRhaWxzLCBoZWFkZXIpO1xyXG5cclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBbGxMaW5rc0Zyb21Ib21lKCk6IHsgW3JlbDogc3RyaW5nXTogTGlua1tdIHwgdW5kZWZpbmVkIH0ge1xyXG4gICAgaWYgKCF0aGlzLl9ob21lUmVzb3VyY2UpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignSG9tZSByZXNvdXJjZSBpcyBub3Qgc2V0LiBDYWxsIGVuc3VyZUhvbWVSZXNvdXJjZUlzU2V0KCkgZmlyc3QuJyk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX2hvbWVSZXNvdXJjZS5fbGlua3M7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TGlua0Zyb21Ib21lKHJlbDogc3RyaW5nLCBuYW1lPzogc3RyaW5nLCBjdXJpZT86IHN0cmluZyk6IExpbmsge1xyXG4gICAgY29uc3QgbGlua3MgPSB0aGlzLmdldExpbmtzRnJvbUhvbWUocmVsLCBjdXJpZSk7XHJcblxyXG4gICAgY29uc3QgbGluayA9IG5hbWUgPyBsaW5rcy5maW5kKGwgPT4gbC5uYW1lID09PSBuYW1lKSA6IGxpbmtzWzBdO1xyXG5cclxuICAgIGlmICghbGluaylcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgaG9tZSByZXNvdXJjZSBkb2VzIG5vdCBoYXZlIGEgbGluayB3aXRoIHRoZSByZWwgJyR7dGhpcy5nZXRGdWxsUmVsKHJlbCwgY3VyaWUpfScgYW5kIHRoZSBuYW1lICcke25hbWV9Jy5gKVxyXG5cclxuICAgIHJldHVybiBsaW5rO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExpbmtzRnJvbUhvbWUocmVsOiBzdHJpbmcsIGN1cmllPzogc3RyaW5nKTogTGlua1tdIHtcclxuICAgIGlmICghdGhpcy5faG9tZVJlc291cmNlKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0hvbWUgcmVzb3VyY2UgaXMgbm90IHNldC4gQ2FsbCBlbnN1cmVIb21lUmVzb3VyY2VJc1NldCgpIGZpcnN0LicpO1xyXG5cclxuICAgIGNvbnN0IGZ1bGxSZWwgPSB0aGlzLmdldEZ1bGxSZWwocmVsLCBjdXJpZSk7XHJcbiAgICBjb25zdCBsaW5rcyA9IHRoaXMuX2hvbWVSZXNvdXJjZS5fbGlua3NbZnVsbFJlbF07XHJcbiAgICBpZiAoIWxpbmtzIHx8IGxpbmtzLmxlbmd0aCA9PT0gMClcclxuICAgICAgdGhyb3cgRXJyb3IoYFRoZSBob21lIHJlc291cmNlIGRvZXMgbm90IGhhdmUgYSBsaW5rIHdpdGggdGhlIHJlbCAnJHtmdWxsUmVsfScuYCk7XHJcblxyXG4gICAgcmV0dXJuIGxpbmtzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGdWxsUmVsKHJlbDogc3RyaW5nLCBjdXJpZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyByZWwgYWxyZWFkeSBpbmNsdWRlcyBhIGN1cmllID0+IGp1c3QgcmV0dXJuIGl0XHJcbiAgICBpZiAocmVsLmluY2x1ZGVzKCc6JykpXHJcbiAgICAgIHJldHVybiByZWw7XHJcblxyXG4gICAgLy8gTm8gY3VyaWUgZ2l2ZW4gPT4gdXNlIGRlZmF1bHQgY3VyaWUuXHJcbiAgICBpZiAoIWN1cmllKVxyXG4gICAgICBjdXJpZSA9IHRoaXMuX2RlZmF1bHRDdXJpZTtcclxuXHJcbiAgICAvLyBDb21iaW5lIGN1cmllIGFuZCByZWxcclxuICAgIGNvbnN0IGZ1bGxSZWwgPSBgJHtjdXJpZX06JHtyZWx9YDtcclxuXHJcbiAgICByZXR1cm4gZnVsbFJlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUhlYWRlcnMobWVkaWFUeXBlPzogJ2FwcGxpY2F0aW9uL2hhbCtqc29uJyB8ICdhcHBsaWNhdGlvbi9wcnMuaGFsLWZvcm1zK2pzb24nLCB2ZXJzaW9uPzogbnVtYmVyKTogSHR0cEhlYWRlcnMge1xyXG4gICAgaWYgKHZlcnNpb24pXHJcbiAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoeyAnQWNjZXB0JzogYCR7bWVkaWFUeXBlIHx8ICdhcHBsaWNhdGlvbi9oYWwranNvbid9OyB2PSR7dmVyc2lvbn1gIH0pO1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,47 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { HttpClient } from "@angular/common/http";
3
- import { Injectable } from "@angular/core";
4
- import { RESTworldOptions } from "../models/restworld-options";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- import * as i2 from "./restworld-client-collection";
8
- export class SettingsService {
9
- constructor(backend, _clients) {
10
- this._clients = _clients;
11
- this._client = new HttpClient(backend);
12
- }
13
- get settings() {
14
- return this._settings;
15
- }
16
- initialize() {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- yield this.ensureSettingsAreLoaded();
19
- yield this.populateRESTworldClientCollectionFromSettings();
20
- });
21
- }
22
- ensureSettingsAreLoaded() {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- this._settings = yield this._client
25
- .get('/settings')
26
- .toPromise();
27
- });
28
- }
29
- populateRESTworldClientCollectionFromSettings() {
30
- var _a;
31
- return __awaiter(this, void 0, void 0, function* () {
32
- if (!((_a = this._settings) === null || _a === void 0 ? void 0 : _a.apiUrls))
33
- return;
34
- yield Promise.all(this._settings.apiUrls
35
- .map(api => this._clients.addOrGetExistingClient(api.name, new RESTworldOptions(api.url, api.version))));
36
- });
37
- }
38
- }
39
- SettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: SettingsService, deps: [{ token: i1.HttpBackend }, { token: i2.RESTworldClientCollection }], target: i0.ɵɵFactoryTarget.Injectable });
40
- SettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: SettingsService, providedIn: 'root' });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0, type: SettingsService, decorators: [{
42
- type: Injectable,
43
- args: [{
44
- providedIn: 'root'
45
- }]
46
- }], ctorParameters: function () { return [{ type: i1.HttpBackend }, { type: i2.RESTworldClientCollection }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXN0d29ybGQtY2xpZW50L3NyYy9saWIvc2VydmljZXMvc2V0dGluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFNL0QsTUFBTSxPQUFPLGVBQWU7SUFRMUIsWUFBWSxPQUFvQixFQUFVLFFBQW1DO1FBQW5DLGFBQVEsR0FBUixRQUFRLENBQTJCO1FBQzNFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQU5ELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQU1ZLFVBQVU7O1lBQ3JCLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLENBQUMsNkNBQTZDLEVBQUUsQ0FBQztRQUM3RCxDQUFDO0tBQUE7SUFFYSx1QkFBdUI7O1lBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTztpQkFDaEMsR0FBRyxDQUFpQixXQUFXLENBQUM7aUJBQ2hDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLENBQUM7S0FBQTtJQUVhLDZDQUE2Qzs7O1lBQ3pELElBQUksQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsT0FBTyxDQUFBO2dCQUMxQixPQUFPO1lBRVQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTztpQkFDckMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O0tBQzdHOzs2R0E3QlUsZUFBZTtpSEFBZixlQUFlLGNBRmQsTUFBTTs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBCYWNrZW5kLCBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDbGllbnRTZXR0aW5ncyB9IGZyb20gXCIuLi9tb2RlbHMvY2xpZW50LXNldHRpbmdzXCI7XHJcbmltcG9ydCB7IFJFU1R3b3JsZE9wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzL3Jlc3R3b3JsZC1vcHRpb25zXCI7XHJcbmltcG9ydCB7IFJFU1R3b3JsZENsaWVudENvbGxlY3Rpb24gfSBmcm9tIFwiLi9yZXN0d29ybGQtY2xpZW50LWNvbGxlY3Rpb25cIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfY2xpZW50OiBIdHRwQ2xpZW50O1xyXG5cclxuICBwcml2YXRlIF9zZXR0aW5nczogQ2xpZW50U2V0dGluZ3MgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGdldCBzZXR0aW5ncygpOiBDbGllbnRTZXR0aW5ncyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3M7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihiYWNrZW5kOiBIdHRwQmFja2VuZCwgcHJpdmF0ZSBfY2xpZW50czogUkVTVHdvcmxkQ2xpZW50Q29sbGVjdGlvbikge1xyXG4gICAgdGhpcy5fY2xpZW50ID0gbmV3IEh0dHBDbGllbnQoYmFja2VuZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuZW5zdXJlU2V0dGluZ3NBcmVMb2FkZWQoKTtcclxuICAgIGF3YWl0IHRoaXMucG9wdWxhdGVSRVNUd29ybGRDbGllbnRDb2xsZWN0aW9uRnJvbVNldHRpbmdzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGVuc3VyZVNldHRpbmdzQXJlTG9hZGVkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5fc2V0dGluZ3MgPSBhd2FpdCB0aGlzLl9jbGllbnRcclxuICAgICAgLmdldDxDbGllbnRTZXR0aW5ncz4oJy9zZXR0aW5ncycpXHJcbiAgICAgIC50b1Byb21pc2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcG9wdWxhdGVSRVNUd29ybGRDbGllbnRDb2xsZWN0aW9uRnJvbVNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLl9zZXR0aW5ncz8uYXBpVXJscylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX3NldHRpbmdzLmFwaVVybHNcclxuICAgICAgLm1hcChhcGkgPT4gIHRoaXMuX2NsaWVudHMuYWRkT3JHZXRFeGlzdGluZ0NsaWVudChhcGkubmFtZSwgbmV3IFJFU1R3b3JsZE9wdGlvbnMoYXBpLnVybCwgYXBpLnZlcnNpb24pKSkpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19