@opra/angular 0.33.13 → 1.0.0-alpha.10

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.
@@ -1,8 +1,8 @@
1
- import { Observable } from 'rxjs';
2
- import { StrictOmit } from 'ts-gems';
3
1
  import { HttpContext, HttpParams } from '@angular/common/http';
4
2
  import * as Angular from '@angular/common/http';
5
3
  import { HttpBackend, HttpEvent, HttpResponse } from '@opra/client';
4
+ import { Observable } from 'rxjs';
5
+ import { StrictOmit } from 'ts-gems';
6
6
  /**
7
7
  *
8
8
  * @class AngularBackend
@@ -1,36 +1,36 @@
1
- import { Observable } from 'rxjs';
2
- import { isReadableStreamLike } from 'rxjs/internal/util/isReadableStreamLike';
3
1
  import { HttpHeaders } from '@angular/common/http';
4
2
  import * as Angular from '@angular/common/http';
5
3
  import typeIs from '@browsery/type-is';
6
- import { HttpBackend, HttpEventType, HttpResponse } from '@opra/client';
7
- import { isBlob, OpraURL } from '@opra/common';
4
+ import { HttpBackend, HttpEventType, HttpResponse, } from '@opra/client';
5
+ import { isBlob } from '@opra/common';
6
+ import { Observable } from 'rxjs';
7
+ import { isReadableStreamLike } from 'rxjs/internal/util/isReadableStreamLike';
8
8
  /**
9
9
  *
10
10
  * @class AngularBackend
11
11
  */
12
12
  export class AngularBackend extends HttpBackend {
13
- httpClient;
14
- defaults;
15
13
  constructor(httpClient, serviceUrl, options) {
16
14
  super(serviceUrl, options);
17
15
  this.httpClient = httpClient;
18
16
  this.defaults = {
19
17
  ...options?.defaults,
20
18
  headers: options?.defaults?.headers instanceof Headers
21
- ? options?.defaults?.headers : new Headers(options?.defaults?.headers),
19
+ ? options?.defaults?.headers
20
+ : new Headers(options?.defaults?.headers),
22
21
  params: options?.defaults?.params instanceof URLSearchParams
23
- ? options?.defaults?.params : new URLSearchParams(options?.defaults?.params)
22
+ ? options?.defaults?.params
23
+ : new URLSearchParams(options?.defaults?.params),
24
24
  };
25
25
  }
26
26
  handle(init) {
27
27
  const requestInit = this.prepareRequest(init);
28
28
  const request = new Angular.HttpRequest(requestInit.method, requestInit.url.toString(), {
29
29
  ...requestInit,
30
- headers: new HttpHeaders(requestInit.headers)
30
+ headers: new HttpHeaders(requestInit.headers),
31
31
  });
32
32
  const _this = this;
33
- return new Observable((subscriber) => {
33
+ return new Observable(subscriber => {
34
34
  // Send request
35
35
  this.send(request).subscribe({
36
36
  next(event) {
@@ -49,12 +49,12 @@ export class AngularBackend extends HttpBackend {
49
49
  headers: requestInit.headers,
50
50
  status: event.status,
51
51
  statusText: event.statusText,
52
- hasBody: event.headers.has('Content-Type') || event.headers.has('Content-Length')
52
+ hasBody: event.headers.has('Content-Type') || event.headers.has('Content-Length'),
53
53
  });
54
54
  subscriber.next({
55
55
  request,
56
56
  type: HttpEventType.ResponseHeader,
57
- response: headersResponse
57
+ response: headersResponse,
58
58
  });
59
59
  return;
60
60
  }
@@ -64,7 +64,7 @@ export class AngularBackend extends HttpBackend {
64
64
  request,
65
65
  type: HttpEventType.DownloadProgress,
66
66
  loaded: event.loaded,
67
- total: event.total
67
+ total: event.total,
68
68
  });
69
69
  }
70
70
  if (event.type === Angular.HttpEventType.UploadProgress) {
@@ -73,7 +73,7 @@ export class AngularBackend extends HttpBackend {
73
73
  request,
74
74
  type: HttpEventType.UploadProgress,
75
75
  loaded: event.loaded,
76
- total: event.total
76
+ total: event.total,
77
77
  });
78
78
  }
79
79
  if (event.type === Angular.HttpEventType.Response) {
@@ -85,13 +85,13 @@ export class AngularBackend extends HttpBackend {
85
85
  status: event.status,
86
86
  statusText: event.statusText,
87
87
  hasBody: !!event.body,
88
- body: event.body
88
+ body: event.body,
89
89
  });
90
90
  // Emit 'Response' event
91
91
  subscriber.next({
92
92
  type: HttpEventType.Response,
93
93
  request,
94
- response
94
+ response,
95
95
  });
96
96
  }
97
97
  },
@@ -100,7 +100,7 @@ export class AngularBackend extends HttpBackend {
100
100
  },
101
101
  complete() {
102
102
  subscriber.complete();
103
- }
103
+ },
104
104
  });
105
105
  });
106
106
  }
@@ -111,13 +111,13 @@ export class AngularBackend extends HttpBackend {
111
111
  const headers = init.headers || new Headers();
112
112
  const requestInit = {
113
113
  ...init,
114
- headers
114
+ headers,
115
115
  };
116
116
  this.defaults.headers.forEach((val, key) => {
117
117
  if (!headers.has(key))
118
118
  headers.set(key, val);
119
119
  });
120
- const url = new OpraURL(requestInit.url, this.serviceUrl);
120
+ const url = new URL(requestInit.url, this.serviceUrl);
121
121
  if (this.defaults.params.size) {
122
122
  this.defaults.params.forEach((val, key) => {
123
123
  if (!url.searchParams.has(key))
@@ -128,7 +128,9 @@ export class AngularBackend extends HttpBackend {
128
128
  if (requestInit.body) {
129
129
  let body;
130
130
  let contentType;
131
- if (typeof requestInit.body === 'string' || typeof requestInit.body === 'number' || typeof requestInit.body === 'boolean') {
131
+ if (typeof requestInit.body === 'string' ||
132
+ typeof requestInit.body === 'number' ||
133
+ typeof requestInit.body === 'boolean') {
132
134
  contentType = 'text/plain; charset=UTF-8"';
133
135
  body = String(requestInit.body);
134
136
  headers.delete('Content-Size');
@@ -141,7 +143,6 @@ export class AngularBackend extends HttpBackend {
141
143
  contentType = 'application/octet-stream';
142
144
  body = requestInit.body;
143
145
  headers.set('Content-Size', String(requestInit.body.length));
144
- ;
145
146
  }
146
147
  else if (isBlob(requestInit.body)) {
147
148
  contentType = requestInit.body.type || 'application/octet-stream';
@@ -164,7 +165,7 @@ export class AngularBackend extends HttpBackend {
164
165
  }
165
166
  async parseBody(fetchResponse) {
166
167
  let body;
167
- const contentType = (fetchResponse.headers.get('Content-Type') || '');
168
+ const contentType = fetchResponse.headers.get('Content-Type') || '';
168
169
  if (typeIs.is(contentType, ['json', 'application/*+json'])) {
169
170
  body = await fetchResponse.json();
170
171
  if (typeof body === 'string')
@@ -182,4 +183,4 @@ export class AngularBackend extends HttpBackend {
182
183
  return body;
183
184
  }
184
185
  }
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1iYWNrZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9zcmMvYW5ndWxhci1iYWNrZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFL0UsT0FBTyxFQUFlLFdBQVcsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxNQUFNLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxFQUNMLFdBQVcsRUFFWCxhQUFhLEVBQ2IsWUFBWSxFQUliLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DOzs7R0FHRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBVztJQUl4QjtJQUZyQixRQUFRLENBQWlDO0lBRXpDLFlBQXFCLFVBQThCLEVBQUUsVUFBa0IsRUFBRSxPQUFnQztRQUN2RyxLQUFLLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRFIsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFFakQsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsT0FBTyxFQUFFLFFBQVE7WUFDcEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxZQUFZLE9BQU87Z0JBQ2xELENBQUMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUM7WUFDMUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLGVBQWU7Z0JBQ3hELENBQUMsQ0FBQyxP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QztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzUmVhZGFibGVTdHJlYW1MaWtlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC91dGlsL2lzUmVhZGFibGVTdHJlYW1MaWtlJztcbmltcG9ydCB7IFN0cmljdE9taXQgfSBmcm9tICd0cy1nZW1zJztcbmltcG9ydCB7IEh0dHBDb250ZXh0LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCAqIGFzIEFuZ3VsYXIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHR5cGVJcyBmcm9tICdAYnJvd3NlcnkvdHlwZS1pcyc7XG5pbXBvcnQge1xuICBIdHRwQmFja2VuZCwgSHR0cERvd25sb2FkUHJvZ3Jlc3NFdmVudCxcbiAgSHR0cEV2ZW50LFxuICBIdHRwRXZlbnRUeXBlLFxuICBIdHRwUmVzcG9uc2UsXG4gIEh0dHBSZXNwb25zZUV2ZW50LFxuICBIdHRwUmVzcG9uc2VIZWFkZXJFdmVudCxcbiAgSHR0cFNlbnRFdmVudCwgSHR0cFVwbG9hZFByb2dyZXNzRXZlbnRcbn0gZnJvbSAnQG9wcmEvY2xpZW50JztcbmltcG9ydCB7IGlzQmxvYiwgT3ByYVVSTCB9IGZyb20gJ0BvcHJhL2NvbW1vbic7XG5cbi8qKlxuICpcbiAqIEBjbGFzcyBBbmd1bGFyQmFja2VuZFxuICovXG5leHBvcnQgY2xhc3MgQW5ndWxhckJhY2tlbmQgZXh0ZW5kcyBIdHRwQmFja2VuZCB7XG5cbiAgZGVmYXVsdHM6IEFuZ3VsYXJCYWNrZW5kLlJlcXVlc3REZWZhdWx0cztcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBodHRwQ2xpZW50OiBBbmd1bGFyLkh0dHBDbGllbnQsIHNlcnZpY2VVcmw6IHN0cmluZywgb3B0aW9ucz86IEFuZ3VsYXJCYWNrZW5kLk9wdGlvbnMpIHtcbiAgICBzdXBlcihzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbiAgICB0aGlzLmRlZmF1bHRzID0ge1xuICAgICAgLi4ub3B0aW9ucz8uZGVmYXVsdHMsXG4gICAgICBoZWFkZXJzOiBvcHRpb25zPy5kZWZhdWx0cz8uaGVhZGVycyBpbnN0YW5jZW9mIEhlYWRlcnNcbiAgICAgICAgICA/IG9wdGlvbnM/LmRlZmF1bHRzPy5oZWFkZXJzIDogbmV3IEhlYWRlcnMob3B0aW9ucz8uZGVmYXVsdHM/LmhlYWRlcnMpLFxuICAgICAgcGFyYW1zOiBvcHRpb25zPy5kZWZhdWx0cz8ucGFyYW1zIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zXG4gICAgICAgICAgPyBvcHRpb25zPy5kZWZhdWx0cz8ucGFyYW1zIDogbmV3IFVSTFNlYXJjaFBhcmFtcyhvcHRpb25zPy5kZWZhdWx0cz8ucGFyYW1zKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZShpbml0OiBBbmd1bGFyQmFja2VuZC5SZXF1ZXN0SW5pdCk6IE9ic2VydmFibGU8SHR0cEV2ZW50PiB7XG4gICAgY29uc3QgcmVxdWVzdEluaXQgPSB0aGlzLnByZXBhcmVSZXF1ZXN0KGluaXQpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQW5ndWxhci5IdHRwUmVxdWVzdChyZXF1ZXN0SW5pdC5tZXRob2QsIHJlcXVlc3RJbml0LnVybC50b1N0cmluZygpLCB7XG4gICAgICAuLi5yZXF1ZXN0SW5pdCxcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyhyZXF1ZXN0SW5pdC5oZWFkZXJzKVxuICAgIH0pO1xuXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxIdHRwRXZlbnQ+KChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAvLyBTZW5kIHJlcXVlc3RcbiAgICAgIHRoaXMuc2VuZChyZXF1ZXN0KS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0KGV2ZW50KSB7XG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEFuZ3VsYXIuSHR0cEV2ZW50VHlwZS5TZW50KSB7XG4gICAgICAgICAgICAvLyBFbWl0ICdTZW50JyBldmVudFxuICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHtcbiAgICAgICAgICAgICAgdHlwZTogSHR0cEV2ZW50VHlwZS5TZW50LFxuICAgICAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICAgICAgfSBzYXRpc2ZpZXMgSHR0cFNlbnRFdmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEFuZ3VsYXIuSHR0cEV2ZW50VHlwZS5SZXNwb25zZUhlYWRlcikge1xuICAgICAgICAgICAgLy8gRW1pdCAnUmVzcG9uc2VIZWFkZXInIGV2ZW50XG4gICAgICAgICAgICBjb25zdCBoZWFkZXJzUmVzcG9uc2UgPSBfdGhpcy5jcmVhdGVSZXNwb25zZSh7XG4gICAgICAgICAgICAgIHVybDogcmVxdWVzdC51cmwsXG4gICAgICAgICAgICAgIGhlYWRlcnM6IHJlcXVlc3RJbml0LmhlYWRlcnMsXG4gICAgICAgICAgICAgIHN0YXR1czogZXZlbnQuc3RhdHVzLFxuICAgICAgICAgICAgICBzdGF0dXNUZXh0OiBldmVudC5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICBoYXNCb2R5OiBldmVudC5oZWFkZXJzLmhhcygnQ29udGVudC1UeXBlJykgfHwgZXZlbnQuaGVhZGVycy5oYXMoJ0NvbnRlbnQtTGVuZ3RoJylcbiAgICAgICAgICAgIH0pIGFzIEh0dHBSZXNwb25zZTxuZXZlcj47XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoe1xuICAgICAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICAgICAgICB0eXBlOiBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlSGVhZGVyLFxuICAgICAgICAgICAgICByZXNwb25zZTogaGVhZGVyc1Jlc3BvbnNlXG4gICAgICAgICAgICB9IHNhdGlzZmllcyBIdHRwUmVzcG9uc2VIZWFkZXJFdmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEFuZ3VsYXIuSHR0cEV2ZW50VHlwZS5Eb3dubG9hZFByb2dyZXNzKSB7XG4gICAgICAgICAgICAvLyBFbWl0ICdEb3dubG9hZFByb2dyZXNzJyBldmVudFxuICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHtcbiAgICAgICAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgICAgICAgdHlwZTogSHR0cEV2ZW50VHlwZS5Eb3dubG9hZFByb2dyZXNzLFxuICAgICAgICAgICAgICBsb2FkZWQ6IGV2ZW50LmxvYWRlZCxcbiAgICAgICAgICAgICAgdG90YWw6IGV2ZW50LnRvdGFsXG4gICAgICAgICAgICB9IHNhdGlzZmllcyBIdHRwRG93bmxvYWRQcm9ncmVzc0V2ZW50KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gQW5ndWxhci5IdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKSB7XG4gICAgICAgICAgICAvLyBFbWl0ICdVcGxvYWRQcm9ncmVzcycgZXZlbnRcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh7XG4gICAgICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgICAgICAgIHR5cGU6IEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3MsXG4gICAgICAgICAgICAgIGxvYWRlZDogZXZlbnQubG9hZGVkLFxuICAgICAgICAgICAgICB0b3RhbDogZXZlbnQudG90YWxcbiAgICAgICAgICAgIH0gc2F0aXNmaWVzIEh0dHBVcGxvYWRQcm9ncmVzc0V2ZW50KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gQW5ndWxhci5IdHRwRXZlbnRUeXBlLlJlc3BvbnNlKSB7XG4gICAgICAgICAgICBjb25zdCBoZWFkZXJzID0gbmV3IEhlYWRlcnMoKTtcbiAgICAgICAgICAgIGV2ZW50LmhlYWRlcnMua2V5cygpLmZvckVhY2goayA9PiBoZWFkZXJzLnNldChrLCBldmVudC5oZWFkZXJzLmdldChrKSB8fCAnJykpO1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBfdGhpcy5jcmVhdGVSZXNwb25zZSh7XG4gICAgICAgICAgICAgIHVybDogcmVxdWVzdC51cmwsXG4gICAgICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgICAgICAgIHN0YXR1czogZXZlbnQuc3RhdHVzLFxuICAgICAgICAgICAgICBzdGF0dXNUZXh0OiBldmVudC5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICBoYXNCb2R5OiAhIWV2ZW50LmJvZHksXG4gICAgICAgICAgICAgIGJvZHk6IGV2ZW50LmJvZHlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gRW1pdCAnUmVzcG9uc2UnIGV2ZW50XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoe1xuICAgICAgICAgICAgICB0eXBlOiBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlLFxuICAgICAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICAgICAgICByZXNwb25zZVxuICAgICAgICAgICAgfSBzYXRpc2ZpZXMgSHR0cFJlc3BvbnNlRXZlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IoZXJyb3IpIHtcbiAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycm9yKVxuICAgICAgICB9LFxuICAgICAgICBjb21wbGV0ZSgpIHtcbiAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKClcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VuZChyZXF1ZXN0OiBBbmd1bGFyLkh0dHBSZXF1ZXN0PGFueT4pIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3QocmVxdWVzdCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJlcGFyZVJlcXVlc3QoaW5pdDogQW5ndWxhckJhY2tlbmQuUmVxdWVzdEluaXQpOiBBbmd1bGFyQmFja2VuZC5SZXF1ZXN0SW5pdCB7XG4gICAgY29uc3QgaGVhZGVycyA9IGluaXQuaGVhZGVycyB8fCBuZXcgSGVhZGVycygpO1xuICAgIGNvbnN0IHJlcXVlc3RJbml0OiBBbmd1bGFyQmFja2VuZC5SZXF1ZXN0SW5pdCA9IHtcbiAgICAgIC4uLmluaXQsXG4gICAgICBoZWFkZXJzXG4gICAgfVxuICAgIHRoaXMuZGVmYXVsdHMuaGVhZGVycy5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgaWYgKCFoZWFkZXJzLmhhcyhrZXkpKVxuICAgICAgICBoZWFkZXJzLnNldChrZXksIHZhbCk7XG4gICAgfSk7XG4gICAgY29uc3QgdXJsID0gbmV3IE9wcmFVUkwocmVxdWVzdEluaXQudXJsLCB0aGlzLnNlcnZpY2VVcmwpO1xuICAgIGlmICh0aGlzLmRlZmF1bHRzLnBhcmFtcy5zaXplKSB7XG4gICAgICB0aGlzLmRlZmF1bHRzLnBhcmFtcy5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgICBpZiAoIXVybC5zZWFyY2hQYXJhbXMuaGFzKGtleSkpXG4gICAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5zZXQoa2V5LCB2YWwpO1xuICAgICAgfSk7XG4gICAgICByZXF1ZXN0SW5pdC51cmwgPSB1cmwudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKHJlcXVlc3RJbml0LmJvZHkpIHtcbiAgICAgIGxldCBib2R5OiBhbnk7XG4gICAgICBsZXQgY29udGVudFR5cGU6IHN0cmluZztcbiAgICAgIGlmICh0eXBlb2YgcmVxdWVzdEluaXQuYm9keSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHJlcXVlc3RJbml0LmJvZHkgPT09ICdudW1iZXInIHx8IHR5cGVvZiByZXF1ZXN0SW5pdC5ib2R5ID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgY29udGVudFR5cGUgPSAndGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFwiJztcbiAgICAgICAgYm9keSA9IFN0cmluZyhyZXF1ZXN0SW5pdC5ib2R5KTtcbiAgICAgICAgaGVhZGVycy5kZWxldGUoJ0NvbnRlbnQtU2l6ZScpO1xuICAgICAgfSBlbHNlIGlmIChpc1JlYWRhYmxlU3RyZWFtTGlrZShyZXF1ZXN0SW5pdC5ib2R5KSkge1xuICAgICAgICBjb250ZW50VHlwZSA9ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nO1xuICAgICAgICBib2R5ID0gcmVxdWVzdEluaXQuYm9keTtcbiAgICAgIH0gZWxzZSBpZiAoQnVmZmVyLmlzQnVmZmVyKHJlcXVlc3RJbml0LmJvZHkpKSB7XG4gICAgICAgIGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7XG4gICAgICAgIGJvZHkgPSByZXF1ZXN0SW5pdC5ib2R5O1xuICAgICAgICBoZWFkZXJzLnNldCgnQ29udGVudC1TaXplJywgU3RyaW5nKHJlcXVlc3RJbml0LmJvZHkubGVuZ3RoKSk7XG4gICAgICAgIDtcbiAgICAgIH0gZWxzZSBpZiAoaXNCbG9iKHJlcXVlc3RJbml0LmJvZHkpKSB7XG4gICAgICAgIGNvbnRlbnRUeXBlID0gcmVxdWVzdEluaXQuYm9keS50eXBlIHx8ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nO1xuICAgICAgICBib2R5ID0gcmVxdWVzdEluaXQuYm9keTtcbiAgICAgICAgaGVhZGVycy5zZXQoJ0NvbnRlbnQtU2l6ZScsIFN0cmluZyhyZXF1ZXN0SW5pdC5ib2R5LnNpemUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL2pzb24nO1xuICAgICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkocmVxdWVzdEluaXQuYm9keSk7XG4gICAgICAgIGhlYWRlcnMuZGVsZXRlKCdDb250ZW50LVNpemUnKTtcbiAgICAgIH1cbiAgICAgIGlmICghaGVhZGVycy5oYXMoJ0NvbnRlbnQtVHlwZScpICYmIGNvbnRlbnRUeXBlKVxuICAgICAgICBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgY29udGVudFR5cGUpO1xuICAgICAgcmVxdWVzdEluaXQuYm9keSA9IGJvZHk7XG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0SW5pdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNwb25zZShpbml0OiBIdHRwUmVzcG9uc2UuSW5pdGlhdG9yKTogSHR0cFJlc3BvbnNlIHtcbiAgICByZXR1cm4gbmV3IEh0dHBSZXNwb25zZShpbml0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBwYXJzZUJvZHkoZmV0Y2hSZXNwb25zZTogUmVzcG9uc2UpOiBQcm9taXNlPGFueT4ge1xuICAgIGxldCBib2R5OiBhbnk7XG4gICAgY29uc3QgY29udGVudFR5cGUgPSAoZmV0Y2hSZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1UeXBlJykgfHwgJycpO1xuICAgIGlmICh0eXBlSXMuaXMoY29udGVudFR5cGUsIFsnanNvbicsICdhcHBsaWNhdGlvbi8qK2pzb24nXSkpIHtcbiAgICAgIGJvZHkgPSBhd2FpdCBmZXRjaFJlc3BvbnNlLmpzb24oKTtcbiAgICAgIGlmICh0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpXG4gICAgICAgIGJvZHkgPSBKU09OLnBhcnNlKGJvZHkpO1xuICAgIH0gZWxzZSBpZiAodHlwZUlzLmlzKGNvbnRlbnRUeXBlLCBbJ3RleHQnXSkpXG4gICAgICBib2R5ID0gYXdhaXQgZmV0Y2hSZXNwb25zZS50ZXh0KCk7XG4gICAgZWxzZSBpZiAodHlwZUlzLmlzKGNvbnRlbnRUeXBlLCBbJ211bHRpcGFydCddKSlcbiAgICAgIGJvZHkgPSBhd2FpdCBmZXRjaFJlc3BvbnNlLmZvcm1EYXRhKCk7XG4gICAgZWxzZSB7XG4gICAgICBjb25zdCBidWYgPSBhd2FpdCBmZXRjaFJlc3BvbnNlLmFycmF5QnVmZmVyKCk7XG4gICAgICBpZiAoYnVmLmJ5dGVMZW5ndGgpXG4gICAgICAgIGJvZHkgPSBidWY7XG4gICAgfVxuICAgIHJldHVybiBib2R5O1xuICB9XG5cbn1cblxuLyoqXG4gKiBAbmFtZXNwYWNlIEFuZ3VsYXJCYWNrZW5kXG4gKi9cbmV4cG9ydCBuYW1lc3BhY2UgQW5ndWxhckJhY2tlbmQge1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyBleHRlbmRzIEh0dHBCYWNrZW5kLk9wdGlvbnMge1xuICAgIGRlZmF1bHRzPzogUmVxdWVzdERlZmF1bHRzO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0SW5pdCBleHRlbmRzIEh0dHBCYWNrZW5kLlJlcXVlc3RJbml0IHtcbiAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xuICAgIHBhcmFtcz86IEh0dHBQYXJhbXM7XG4gICAgcmVzcG9uc2VUeXBlPzogJ2FycmF5YnVmZmVyJyB8ICdibG9iJyB8ICdqc29uJyB8ICd0ZXh0JztcbiAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0T3B0aW9ucyBleHRlbmRzIFBpY2s8UmVxdWVzdEluaXQsICdjb250ZXh0JyB8ICdyZXBvcnRQcm9ncmVzcycgfCAnd2l0aENyZWRlbnRpYWxzJz4ge1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgUmVxdWVzdERlZmF1bHRzID0gU3RyaWN0T21pdDxSZXF1ZXN0T3B0aW9ucywgJ2NvbnRleHQnPiAmIHtcbiAgICBoZWFkZXJzOiBIZWFkZXJzO1xuICAgIHBhcmFtczogVVJMU2VhcmNoUGFyYW1zO1xuICB9O1xuXG59XG4iXX0=
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1iYWNrZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9zcmMvYW5ndWxhci1iYWNrZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxXQUFXLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RSxPQUFPLEtBQUssT0FBTyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxXQUFXLEVBR1gsYUFBYSxFQUNiLFlBQVksR0FLYixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHL0U7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFXO0lBRzdDLFlBQ1csVUFBOEIsRUFDdkMsVUFBa0IsRUFDbEIsT0FBZ0M7UUFFaEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUpsQixlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUt2QyxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsR0FBRyxPQUFPLEVBQUUsUUFBUTtZQUNwQixPQUFPLEVBQ0wsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLFlBQVksT0FBTztnQkFDM0MsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTztnQkFDNUIsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDO1lBQzdDLE1BQU0sRUFDSixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxlQUFlO2dCQUNsRCxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNO2dCQUMz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c0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENvbnRleHQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0ICogYXMgQW5ndWxhciBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgdHlwZUlzIGZyb20gJ0Bicm93c2VyeS90eXBlLWlzJztcbmltcG9ydCB7XG4gIEh0dHBCYWNrZW5kLFxuICBIdHRwRG93bmxvYWRQcm9ncmVzc0V2ZW50LFxuICBIdHRwRXZlbnQsXG4gIEh0dHBFdmVudFR5cGUsXG4gIEh0dHBSZXNwb25zZSxcbiAgSHR0cFJlc3BvbnNlRXZlbnQsXG4gIEh0dHBSZXNwb25zZUhlYWRlckV2ZW50LFxuICBIdHRwU2VudEV2ZW50LFxuICBIdHRwVXBsb2FkUHJvZ3Jlc3NFdmVudCxcbn0gZnJvbSAnQG9wcmEvY2xpZW50JztcbmltcG9ydCB7IGlzQmxvYiB9IGZyb20gJ0BvcHJhL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc1JlYWRhYmxlU3RyZWFtTGlrZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvdXRpbC9pc1JlYWRhYmxlU3RyZWFtTGlrZSc7XG5pbXBvcnQgeyBTdHJpY3RPbWl0IH0gZnJvbSAndHMtZ2Vtcyc7XG5cbi8qKlxuICpcbiAqIEBjbGFzcyBBbmd1bGFyQmFja2VuZFxuICovXG5leHBvcnQgY2xhc3MgQW5ndWxhckJhY2tlbmQgZXh0ZW5kcyBIdHRwQmFja2VuZCB7XG4gIGRlZmF1bHRzOiBBbmd1bGFyQmFja2VuZC5SZXF1ZXN0RGVmYXVsdHM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgaHR0cENsaWVudDogQW5ndWxhci5IdHRwQ2xpZW50LFxuICAgIHNlcnZpY2VVcmw6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQW5ndWxhckJhY2tlbmQuT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIoc2VydmljZVVybCwgb3B0aW9ucyk7XG4gICAgdGhpcy5kZWZhdWx0cyA9IHtcbiAgICAgIC4uLm9wdGlvbnM/LmRlZmF1bHRzLFxuICAgICAgaGVhZGVyczpcbiAgICAgICAgb3B0aW9ucz8uZGVmYXVsdHM/LmhlYWRlcnMgaW5zdGFuY2VvZiBIZWFkZXJzXG4gICAgICAgICAgPyBvcHRpb25zPy5kZWZhdWx0cz8uaGVhZGVyc1xuICAgICAgICAgIDogbmV3IEhlYWRlcnMob3B0aW9ucz8uZGVmYXVsdHM/LmhlYWRlcnMpLFxuICAgICAgcGFyYW1zOlxuICAgICAgICBvcHRpb25zPy5kZWZhdWx0cz8ucGFyYW1zIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zXG4gICAgICAgICAgPyBvcHRpb25zPy5kZWZhdWx0cz8ucGFyYW1zXG4gICAgICAgICAgOiBuZXcgVVJMU2VhcmNoUGFyYW1zKG9wdGlvbnM/LmRlZmF1bHRzPy5wYXJhbXMpLFxuICAgIH07XG4gIH1cblxuICBoYW5kbGUoaW5pdDogQW5ndWxhckJhY2tlbmQuUmVxdWVzdEluaXQpOiBPYnNlcnZhYmxlPEh0dHBFdmVudD4ge1xuICAgIGNvbnN0IHJlcXVlc3RJbml0ID0gdGhpcy5wcmVwYXJlUmVxdWVzdChpbml0KTtcbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEFuZ3VsYXIuSHR0cFJlcXVlc3QocmVxdWVzdEluaXQubWV0aG9kLCByZXF1ZXN0SW5pdC51cmwudG9TdHJpbmcoKSwge1xuICAgICAgLi4ucmVxdWVzdEluaXQsXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMocmVxdWVzdEluaXQuaGVhZGVycyksXG4gICAgfSk7XG5cbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPEh0dHBFdmVudD4oc3Vic2NyaWJlciA9PiB7XG4gICAgICAvLyBTZW5kIHJlcXVlc3RcbiAgICAgIHRoaXMuc2VuZChyZXF1ZXN0KS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0KGV2ZW50KSB7XG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEFuZ3VsYXIuSHR0cEV2ZW50VHlwZS5TZW50KSB7XG4gICAgICAgICAgICAvLyBFbWl0ICdTZW50JyBldmVudFxuICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHtcbiAgICAgICAgICAgICAgdHlwZTogSHR0cEV2ZW50VHlwZS5TZW50LFxuICAgICAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICAgICAgfSBzYXRpc2ZpZXMgSHR0cFNlbnRFdmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEFuZ3VsYXIuSHR0cEV2ZW50VHlwZS5SZXNwb25zZUhlYWRlcikge1xuICAgICAgICAgICAgLy8gRW1pdCAnUmVzcG9uc2VIZWFkZXInIGV2ZW50XG4gICAgICAgICAgICBjb25zdCBoZWFkZXJzUmVzcG9uc2UgPSBfdGhpcy5jcmVhdGVSZXNwb25zZSh7XG4gICAgICAgICAgICAgIHVybDogcmVxdWVzdC51cmwsXG4gICAgICAgICAgICAgIGhlYWRlcnM6IHJlcXVlc3RJbml0LmhlYWRlcnMsXG4gICAgICAgICAgICAgIHN0YXR1czogZXZlbnQuc3RhdHVzLFxuICAgICAgICAgICAgICBzdGF0dXNUZXh0OiBldmVudC5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICBoYXNCb2R5OiBldmVudC5oZWFkZXJzLmhhcygnQ29udGVudC1UeXBlJykgfHwgZXZlbnQuaGVhZGVycy5oYXMoJ0NvbnRlbnQtTGVuZ3RoJyksXG4gICAgICAgICAgICB9KSBhcyBIdHRwUmVzcG9uc2U8bmV2ZXI+O1xuICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHtcbiAgICAgICAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgICAgICAgdHlwZTogSHR0cEV2ZW50VHlwZS5SZXNwb25zZUhlYWRlcixcbiAgICAgICAgICAgICAgcmVzcG9uc2U6IGhlYWRlcnNSZXNwb25zZSxcbiAgICAgICAgICAgIH0gc2F0aXNmaWVzIEh0dHBSZXNwb25zZUhlYWRlckV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gQW5ndWxhci5IdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3MpIHtcbiAgICAgICAgICAgIC8vIEVtaXQgJ0Rvd25sb2FkUHJvZ3Jlc3MnIGV2ZW50XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoe1xuICAgICAgICAgICAgICByZXF1ZXN0LFxuICAgICAgICAgICAgICB0eXBlOiBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3MsXG4gICAgICAgICAgICAgIGxvYWRlZDogZXZlbnQubG9hZGVkLFxuICAgICAgICAgICAgICB0b3RhbDogZXZlbnQudG90YWwsXG4gICAgICAgICAgICB9IHNhdGlzZmllcyBIdHRwRG93bmxvYWRQcm9ncmVzc0V2ZW50KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gQW5ndWxhci5IdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKSB7XG4gICAgICAgICAgICAvLyBFbWl0ICdVcGxvYWRQcm9ncmVzcycgZXZlbnRcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh7XG4gICAgICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgICAgICAgIHR5cGU6IEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3MsXG4gICAgICAgICAgICAgIGxvYWRlZDogZXZlbnQubG9hZGVkLFxuICAgICAgICAgICAgICB0b3RhbDogZXZlbnQudG90YWwsXG4gICAgICAgICAgICB9IHNhdGlzZmllcyBIdHRwVXBsb2FkUHJvZ3Jlc3NFdmVudCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEFuZ3VsYXIuSHR0cEV2ZW50VHlwZS5SZXNwb25zZSkge1xuICAgICAgICAgICAgY29uc3QgaGVhZGVycyA9IG5ldyBIZWFkZXJzKCk7XG4gICAgICAgICAgICBldmVudC5oZWFkZXJzLmtleXMoKS5mb3JFYWNoKGsgPT4gaGVhZGVycy5zZXQoaywgZXZlbnQuaGVhZGVycy5nZXQoaykgfHwgJycpKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gX3RoaXMuY3JlYXRlUmVzcG9uc2Uoe1xuICAgICAgICAgICAgICB1cmw6IHJlcXVlc3QudXJsLFxuICAgICAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICAgICAgICBzdGF0dXM6IGV2ZW50LnN0YXR1cyxcbiAgICAgICAgICAgICAgc3RhdHVzVGV4dDogZXZlbnQuc3RhdHVzVGV4dCxcbiAgICAgICAgICAgICAgaGFzQm9keTogISFldmVudC5ib2R5LFxuICAgICAgICAgICAgICBib2R5OiBldmVudC5ib2R5LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBFbWl0ICdSZXNwb25zZScgZXZlbnRcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh7XG4gICAgICAgICAgICAgIHR5cGU6IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UsXG4gICAgICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgfSBzYXRpc2ZpZXMgSHR0cFJlc3BvbnNlRXZlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3IoZXJyb3IpIHtcbiAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycm9yKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29tcGxldGUoKSB7XG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VuZChyZXF1ZXN0OiBBbmd1bGFyLkh0dHBSZXF1ZXN0PGFueT4pIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3QocmVxdWVzdCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJlcGFyZVJlcXVlc3QoaW5pdDogQW5ndWxhckJhY2tlbmQuUmVxdWVzdEluaXQpOiBBbmd1bGFyQmFja2VuZC5SZXF1ZXN0SW5pdCB7XG4gICAgY29uc3QgaGVhZGVycyA9IGluaXQuaGVhZGVycyB8fCBuZXcgSGVhZGVycygpO1xuICAgIGNvbnN0IHJlcXVlc3RJbml0OiBBbmd1bGFyQmFja2VuZC5SZXF1ZXN0SW5pdCA9IHtcbiAgICAgIC4uLmluaXQsXG4gICAgICBoZWFkZXJzLFxuICAgIH07XG4gICAgdGhpcy5kZWZhdWx0cy5oZWFkZXJzLmZvckVhY2goKHZhbCwga2V5KSA9PiB7XG4gICAgICBpZiAoIWhlYWRlcnMuaGFzKGtleSkpIGhlYWRlcnMuc2V0KGtleSwgdmFsKTtcbiAgICB9KTtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHJlcXVlc3RJbml0LnVybCwgdGhpcy5zZXJ2aWNlVXJsKTtcbiAgICBpZiAodGhpcy5kZWZhdWx0cy5wYXJhbXMuc2l6ZSkge1xuICAgICAgdGhpcy5kZWZhdWx0cy5wYXJhbXMuZm9yRWFjaCgodmFsLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKCF1cmwuc2VhcmNoUGFyYW1zLmhhcyhrZXkpKSB1cmwuc2VhcmNoUGFyYW1zLnNldChrZXksIHZhbCk7XG4gICAgICB9KTtcbiAgICAgIHJlcXVlc3RJbml0LnVybCA9IHVybC50b1N0cmluZygpO1xuICAgIH1cbiAgICBpZiAocmVxdWVzdEluaXQuYm9keSkge1xuICAgICAgbGV0IGJvZHk6IGFueTtcbiAgICAgIGxldCBjb250ZW50VHlwZTogc3RyaW5nO1xuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2YgcmVxdWVzdEluaXQuYm9keSA9PT0gJ3N0cmluZycgfHxcbiAgICAgICAgdHlwZW9mIHJlcXVlc3RJbml0LmJvZHkgPT09ICdudW1iZXInIHx8XG4gICAgICAgIHR5cGVvZiByZXF1ZXN0SW5pdC5ib2R5ID09PSAnYm9vbGVhbidcbiAgICAgICkge1xuICAgICAgICBjb250ZW50VHlwZSA9ICd0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XCInO1xuICAgICAgICBib2R5ID0gU3RyaW5nKHJlcXVlc3RJbml0LmJvZHkpO1xuICAgICAgICBoZWFkZXJzLmRlbGV0ZSgnQ29udGVudC1TaXplJyk7XG4gICAgICB9IGVsc2UgaWYgKGlzUmVhZGFibGVTdHJlYW1MaWtlKHJlcXVlc3RJbml0LmJvZHkpKSB7XG4gICAgICAgIGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7XG4gICAgICAgIGJvZHkgPSByZXF1ZXN0SW5pdC5ib2R5O1xuICAgICAgfSBlbHNlIGlmIChCdWZmZXIuaXNCdWZmZXIocmVxdWVzdEluaXQuYm9keSkpIHtcbiAgICAgICAgY29udGVudFR5cGUgPSAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJztcbiAgICAgICAgYm9keSA9IHJlcXVlc3RJbml0LmJvZHk7XG4gICAgICAgIGhlYWRlcnMuc2V0KCdDb250ZW50LVNpemUnLCBTdHJpbmcocmVxdWVzdEluaXQuYm9keS5sZW5ndGgpKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNCbG9iKHJlcXVlc3RJbml0LmJvZHkpKSB7XG4gICAgICAgIGNvbnRlbnRUeXBlID0gcmVxdWVzdEluaXQuYm9keS50eXBlIHx8ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nO1xuICAgICAgICBib2R5ID0gcmVxdWVzdEluaXQuYm9keTtcbiAgICAgICAgaGVhZGVycy5zZXQoJ0NvbnRlbnQtU2l6ZScsIFN0cmluZyhyZXF1ZXN0SW5pdC5ib2R5LnNpemUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL2pzb24nO1xuICAgICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkocmVxdWVzdEluaXQuYm9keSk7XG4gICAgICAgIGhlYWRlcnMuZGVsZXRlKCdDb250ZW50LVNpemUnKTtcbiAgICAgIH1cbiAgICAgIGlmICghaGVhZGVycy5oYXMoJ0NvbnRlbnQtVHlwZScpICYmIGNvbnRlbnRUeXBlKSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgY29udGVudFR5cGUpO1xuICAgICAgcmVxdWVzdEluaXQuYm9keSA9IGJvZHk7XG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0SW5pdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNwb25zZShpbml0OiBIdHRwUmVzcG9uc2UuSW5pdGlhdG9yKTogSHR0cFJlc3BvbnNlIHtcbiAgICByZXR1cm4gbmV3IEh0dHBSZXNwb25zZShpbml0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBwYXJzZUJvZHkoZmV0Y2hSZXNwb25zZTogUmVzcG9uc2UpOiBQcm9taXNlPGFueT4ge1xuICAgIGxldCBib2R5OiBhbnk7XG4gICAgY29uc3QgY29udGVudFR5cGUgPSBmZXRjaFJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LVR5cGUnKSB8fCAnJztcbiAgICBpZiAodHlwZUlzLmlzKGNvbnRlbnRUeXBlLCBbJ2pzb24nLCAnYXBwbGljYXRpb24vKitqc29uJ10pKSB7XG4gICAgICBib2R5ID0gYXdhaXQgZmV0Y2hSZXNwb25zZS5qc29uKCk7XG4gICAgICBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSBib2R5ID0gSlNPTi5wYXJzZShib2R5KTtcbiAgICB9IGVsc2UgaWYgKHR5cGVJcy5pcyhjb250ZW50VHlwZSwgWyd0ZXh0J10pKSBib2R5ID0gYXdhaXQgZmV0Y2hSZXNwb25zZS50ZXh0KCk7XG4gICAgZWxzZSBpZiAodHlwZUlzLmlzKGNvbnRlbnRUeXBlLCBbJ211bHRpcGFydCddKSkgYm9keSA9IGF3YWl0IGZldGNoUmVzcG9uc2UuZm9ybURhdGEoKTtcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IGJ1ZiA9IGF3YWl0IGZldGNoUmVzcG9uc2UuYXJyYXlCdWZmZXIoKTtcbiAgICAgIGlmIChidWYuYnl0ZUxlbmd0aCkgYm9keSA9IGJ1ZjtcbiAgICB9XG4gICAgcmV0dXJuIGJvZHk7XG4gIH1cbn1cblxuLyoqXG4gKiBAbmFtZXNwYWNlIEFuZ3VsYXJCYWNrZW5kXG4gKi9cbmV4cG9ydCBuYW1lc3BhY2UgQW5ndWxhckJhY2tlbmQge1xuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMgZXh0ZW5kcyBIdHRwQmFja2VuZC5PcHRpb25zIHtcbiAgICBkZWZhdWx0cz86IFJlcXVlc3REZWZhdWx0cztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdEluaXQgZXh0ZW5kcyBIdHRwQmFja2VuZC5SZXF1ZXN0SW5pdCB7XG4gICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICBwYXJhbXM/OiBIdHRwUGFyYW1zO1xuICAgIHJlc3BvbnNlVHlwZT86ICdhcnJheWJ1ZmZlcicgfCAnYmxvYicgfCAnanNvbicgfCAndGV4dCc7XG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdE9wdGlvbnMgZXh0ZW5kcyBQaWNrPFJlcXVlc3RJbml0LCAnY29udGV4dCcgfCAncmVwb3J0UHJvZ3Jlc3MnIHwgJ3dpdGhDcmVkZW50aWFscyc+IHt9XG5cbiAgZXhwb3J0IHR5cGUgUmVxdWVzdERlZmF1bHRzID0gU3RyaWN0T21pdDxSZXF1ZXN0T3B0aW9ucywgJ2NvbnRleHQnPiAmIHtcbiAgICBoZWFkZXJzOiBIZWFkZXJzO1xuICAgIHBhcmFtczogVVJMU2VhcmNoUGFyYW1zO1xuICB9O1xufVxuIl19
@@ -5,7 +5,6 @@ import { AngularBackend } from './angular-backend';
5
5
  * @class OpraAngularClient
6
6
  */
7
7
  export class OpraAngularClient extends HttpClientBase {
8
- [kBackend];
9
8
  constructor(httpClient, serviceUrl, options) {
10
9
  super(new AngularBackend(httpClient, serviceUrl, options));
11
10
  }
@@ -13,4 +12,4 @@ export class OpraAngularClient extends HttpClientBase {
13
12
  return this[kBackend].defaults;
14
13
  }
15
14
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL3NyYy9hbmd1bGFyLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQTZDO0lBQ2xGLENBQUMsUUFBUSxDQUFDLENBQWlCO0lBRTNCLFlBQVksVUFBc0IsRUFBRSxVQUFrQixFQUFFLE9BQWdDO1FBQ3RGLEtBQUssQ0FBQyxJQUFJLGNBQWMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSHR0cENsaWVudEJhc2UsIGtCYWNrZW5kIH0gZnJvbSAnQG9wcmEvY2xpZW50JztcbmltcG9ydCB7IEFuZ3VsYXJCYWNrZW5kIH0gZnJvbSAnLi9hbmd1bGFyLWJhY2tlbmQnO1xuXG4vKipcbiAqXG4gKiBAY2xhc3MgT3ByYUFuZ3VsYXJDbGllbnRcbiAqL1xuZXhwb3J0IGNsYXNzIE9wcmFBbmd1bGFyQ2xpZW50IGV4dGVuZHMgSHR0cENsaWVudEJhc2U8QW5ndWxhckJhY2tlbmQuUmVxdWVzdE9wdGlvbnM+IHtcbiAgW2tCYWNrZW5kXTogQW5ndWxhckJhY2tlbmQ7XG5cbiAgY29uc3RydWN0b3IoaHR0cENsaWVudDogSHR0cENsaWVudCwgc2VydmljZVVybDogc3RyaW5nLCBvcHRpb25zPzogQW5ndWxhckJhY2tlbmQuT3B0aW9ucykge1xuICAgIHN1cGVyKG5ldyBBbmd1bGFyQmFja2VuZChodHRwQ2xpZW50LCBzZXJ2aWNlVXJsLCBvcHRpb25zKSk7XG4gIH1cblxuICBnZXQgZGVmYXVsdHMoKTogQW5ndWxhckJhY2tlbmQuUmVxdWVzdERlZmF1bHRzIHtcbiAgICByZXR1cm4gdGhpc1trQmFja2VuZF0uZGVmYXVsdHM7XG4gIH1cblxufVxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL3NyYy9hbmd1bGFyLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQTZDO0lBR2xGLFlBQVksVUFBc0IsRUFBRSxVQUFrQixFQUFFLE9BQWdDO1FBQ3RGLEtBQUssQ0FBQyxJQUFJLGNBQWMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQteC9leHRlbnNpb25zICovXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSHR0cENsaWVudEJhc2UsIGtCYWNrZW5kIH0gZnJvbSAnQG9wcmEvY2xpZW50JztcbmltcG9ydCB7IEFuZ3VsYXJCYWNrZW5kIH0gZnJvbSAnLi9hbmd1bGFyLWJhY2tlbmQnO1xuXG4vKipcbiAqXG4gKiBAY2xhc3MgT3ByYUFuZ3VsYXJDbGllbnRcbiAqL1xuZXhwb3J0IGNsYXNzIE9wcmFBbmd1bGFyQ2xpZW50IGV4dGVuZHMgSHR0cENsaWVudEJhc2U8QW5ndWxhckJhY2tlbmQuUmVxdWVzdE9wdGlvbnM+IHtcbiAgW2tCYWNrZW5kXTogQW5ndWxhckJhY2tlbmQ7XG5cbiAgY29uc3RydWN0b3IoaHR0cENsaWVudDogSHR0cENsaWVudCwgc2VydmljZVVybDogc3RyaW5nLCBvcHRpb25zPzogQW5ndWxhckJhY2tlbmQuT3B0aW9ucykge1xuICAgIHN1cGVyKG5ldyBBbmd1bGFyQmFja2VuZChodHRwQ2xpZW50LCBzZXJ2aWNlVXJsLCBvcHRpb25zKSk7XG4gIH1cblxuICBnZXQgZGVmYXVsdHMoKTogQW5ndWxhckJhY2tlbmQuUmVxdWVzdERlZmF1bHRzIHtcbiAgICByZXR1cm4gdGhpc1trQmFja2VuZF0uZGVmYXVsdHM7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- /* eslint-disable import/extensions */
1
+ /* eslint-disable import-x/extensions */
2
2
  import { HttpClient } from '@angular/common/http';
3
3
  import { NgModule } from '@angular/core';
4
4
  import { kClient } from '@opra/client';
@@ -14,9 +14,9 @@ export class OpraClientModule {
14
14
  {
15
15
  provide: CLIENT_TOKEN,
16
16
  deps: [HttpClient],
17
- useFactory: (httpClient) => new OpraAngularClient(httpClient, options.serviceUrl, options)
18
- }
19
- ]
17
+ useFactory: (httpClient) => new OpraAngularClient(httpClient, options.serviceUrl, options),
18
+ },
19
+ ],
20
20
  };
21
21
  }
22
22
  static registerService(serviceClass, options) {
@@ -32,9 +32,9 @@ export class OpraClientModule {
32
32
  const service = new serviceClass(opraAngularClient);
33
33
  service[kClient] = opraAngularClient;
34
34
  return service;
35
- }
36
- }
37
- ]
35
+ },
36
+ },
37
+ ],
38
38
  };
39
39
  }
40
40
  static registerClientAsync(options) {
@@ -47,9 +47,9 @@ export class OpraClientModule {
47
47
  {
48
48
  provide: CLIENT_TOKEN,
49
49
  deps: [HttpClient, OPRA_CLIENT_MODULE_OPTIONS],
50
- useFactory: (httpClient, opts) => new OpraAngularClient(httpClient, opts.serviceUrl, opts)
51
- }
52
- ]
50
+ useFactory: (httpClient, opts) => new OpraAngularClient(httpClient, opts.serviceUrl, opts),
51
+ },
52
+ ],
53
53
  };
54
54
  }
55
55
  static registerServiceAsync(serviceClass, options) {
@@ -67,22 +67,23 @@ export class OpraClientModule {
67
67
  const service = new serviceClass(opraAngularClient);
68
68
  service[kClient] = opraAngularClient;
69
69
  return service;
70
- }
71
- }
72
- ]
70
+ },
71
+ },
72
+ ],
73
73
  };
74
74
  }
75
75
  static _createAsyncProviders(options) {
76
76
  if (options.useExisting || options.useFactory)
77
77
  return [this._createAsyncOptionsProvider(options)];
78
- if (options.useClass)
78
+ if (options.useClass) {
79
79
  return [
80
80
  this._createAsyncOptionsProvider(options),
81
81
  {
82
82
  provide: options.useClass,
83
- useClass: options.useClass
84
- }
83
+ useClass: options.useClass,
84
+ },
85
85
  ];
86
+ }
86
87
  throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');
87
88
  }
88
89
  static _createAsyncOptionsProvider(options) {
@@ -97,18 +98,18 @@ export class OpraClientModule {
97
98
  if (useClass) {
98
99
  return {
99
100
  provide: OPRA_CLIENT_MODULE_OPTIONS,
100
- useFactory: (o) => o,
101
+ useFactory: o => o,
101
102
  deps: [useClass],
102
103
  };
103
104
  }
104
105
  throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');
105
106
  }
106
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: OpraClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
107
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: OpraClientModule });
108
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: OpraClientModule });
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: OpraClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
108
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: OpraClientModule }); }
109
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: OpraClientModule }); }
109
110
  }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: OpraClientModule, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: OpraClientModule, decorators: [{
111
112
  type: NgModule,
112
113
  args: [{}]
113
114
  }] });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvc3JjL2NsaWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQXVCLFFBQVEsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBT3pELE1BQU0sT0FBTyxnQkFBZ0I7SUFFcEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFnQztRQUMzRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLGlCQUFpQixDQUFDO1FBQ3hELE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO29CQUNsQixVQUFVLEVBQUUsQ0FBQyxVQUFzQixFQUFFLEVBQUUsQ0FDbkMsSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUM7aUJBQ25FO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQ3pCLFlBQXFCLEVBQ3JCLE9BQWdDO1FBRWxDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksWUFBWSxDQUFDO1FBQ3BELE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsSUFBSSxF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QUFDLFVBQVU7Z0JBQzlCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDekIsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDekQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLDBCQUEwQjtnQkFDbkMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNwQixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUM7YUFDakIsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHlFQUF5RSxDQUFDLENBQUM7SUFDN0YsQ0FBQzt1R0FuSFUsZ0JBQWdCO3dHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsUUFBUTttQkFBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4dGVuc2lvbnMgKi9cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGtDbGllbnQgfSBmcm9tICdAb3ByYS9jbGllbnQnO1xuaW1wb3J0IHsgT3ByYUFuZ3VsYXJDbGllbnQgfSBmcm9tICcuL2FuZ3VsYXItY2xpZW50JztcbmltcG9ydCB7IE9QUkFfQ0xJRU5UX01PRFVMRV9PUFRJT05TIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgT3ByYUNsaWVudE1vZHVsZUFzeW5jT3B0aW9ucyxcbiAgT3ByYUNsaWVudE1vZHVsZU9wdGlvbnNcbn0gZnJvbSAnLi9pbnRlcmZhY2VzL21vZHVsZS1vcHRpb25zLmludGVyZmFjZSc7XG5cbkBOZ01vZHVsZSh7fSlcbmV4cG9ydCBjbGFzcyBPcHJhQ2xpZW50TW9kdWxlIHtcblxuICBwdWJsaWMgc3RhdGljIHJlZ2lzdGVyQ2xpZW50KG9wdGlvbnM6IE9wcmFDbGllbnRNb2R1bGVPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxPcHJhQ2xpZW50TW9kdWxlPiB7XG4gICAgY29uc3QgQ0xJRU5UX1RPS0VOID0gb3B0aW9ucy50b2tlbiB8fCBPcHJhQW5ndWxhckNsaWVudDtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE9wcmFDbGllbnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IENMSUVOVF9UT0tFTixcbiAgICAgICAgICBkZXBzOiBbSHR0cENsaWVudF0sXG4gICAgICAgICAgdXNlRmFjdG9yeTogKGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpID0+XG4gICAgICAgICAgICAgIG5ldyBPcHJhQW5ndWxhckNsaWVudChodHRwQ2xpZW50LCBvcHRpb25zLnNlcnZpY2VVcmwsIG9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyByZWdpc3RlclNlcnZpY2U8VD4oXG4gICAgICBzZXJ2aWNlQ2xhc3M6IFR5cGU8VD4sXG4gICAgICBvcHRpb25zOiBPcHJhQ2xpZW50TW9kdWxlT3B0aW9uc1xuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE9wcmFDbGllbnRNb2R1bGU+IHtcbiAgICBjb25zdCBTRVJWSUNFX1RPS0VOID0gb3B0aW9ucy50b2tlbiB8fCBzZXJ2aWNlQ2xhc3M7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBPcHJhQ2xpZW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTRVJWSUNFX1RPS0VOLFxuICAgICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50XSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoaHR0cENsaWVudDogSHR0cENsaWVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3ByYUFuZ3VsYXJDbGllbnQgPSBuZXcgT3ByYUFuZ3VsYXJDbGllbnQoaHR0cENsaWVudCwgb3B0aW9ucy5zZXJ2aWNlVXJsLCBvcHRpb25zKTtcbiAgICAgICAgICAgIGNvbnN0IHNlcnZpY2UgPSBuZXcgc2VydmljZUNsYXNzKG9wcmFBbmd1bGFyQ2xpZW50KTtcbiAgICAgICAgICAgIHNlcnZpY2Vba0NsaWVudF0gPSBvcHJhQW5ndWxhckNsaWVudDtcbiAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJlZ2lzdGVyQ2xpZW50QXN5bmMoXG4gICAgICBvcHRpb25zOiBPcHJhQ2xpZW50TW9kdWxlQXN5bmNPcHRpb25zXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8T3ByYUNsaWVudE1vZHVsZT4ge1xuICAgIGNvbnN0IENMSUVOVF9UT0tFTiA9IG9wdGlvbnMudG9rZW4gfHwgT3ByYUFuZ3VsYXJDbGllbnQ7XG4gICAgY29uc3QgYXN5bmNQcm92aWRlcnMgPSB0aGlzLl9jcmVhdGVBc3luY1Byb3ZpZGVycyhvcHRpb25zKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE9wcmFDbGllbnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLi4uYXN5bmNQcm92aWRlcnMsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBDTElFTlRfVE9LRU4sXG4gICAgICAgICAgZGVwczogW0h0dHBDbGllbnQsIE9QUkFfQ0xJRU5UX01PRFVMRV9PUFRJT05TXSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoaHR0cENsaWVudDogSHR0cENsaWVudCwgb3B0czogT3ByYUNsaWVudE1vZHVsZU9wdGlvbnMpID0+XG4gICAgICAgICAgICAgIG5ldyBPcHJhQW5ndWxhckNsaWVudChodHRwQ2xpZW50LCBvcHRzLnNlcnZpY2VVcmwsIG9wdHMpXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyByZWdpc3RlclNlcnZpY2VBc3luYzxUPihcbiAgICAgIHNlcnZpY2VDbGFzczogVHlwZTxUPixcbiAgICAgIG9wdGlvbnM6IE9wcmFDbGllbnRNb2R1bGVBc3luY09wdGlvbnNcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxPcHJhQ2xpZW50TW9kdWxlPiB7XG4gICAgY29uc3QgU0VSVklDRV9UT0tFTiA9IG9wdGlvbnMudG9rZW4gfHwgc2VydmljZUNsYXNzO1xuICAgIGNvbnN0IGFzeW5jUHJvdmlkZXJzID0gdGhpcy5fY3JlYXRlQXN5bmNQcm92aWRlcnMob3B0aW9ucyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBPcHJhQ2xpZW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC4uLmFzeW5jUHJvdmlkZXJzLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU0VSVklDRV9UT0tFTixcbiAgICAgICAgICBkZXBzOiBbSHR0cENsaWVudCwgT1BSQV9DTElFTlRfTU9EVUxFX09QVElPTlNdLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IChodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBvcHRzOiBPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3ByYUFuZ3VsYXJDbGllbnQgPSBuZXcgT3ByYUFuZ3VsYXJDbGllbnQoaHR0cENsaWVudCwgb3B0cy5zZXJ2aWNlVXJsLCBvcHRzKTtcbiAgICAgICAgICAgIGNvbnN0IHNlcnZpY2UgPSBuZXcgc2VydmljZUNsYXNzKG9wcmFBbmd1bGFyQ2xpZW50KTtcbiAgICAgICAgICAgIHNlcnZpY2Vba0NsaWVudF0gPSBvcHJhQW5ndWxhckNsaWVudDtcbiAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfY3JlYXRlQXN5bmNQcm92aWRlcnMob3B0aW9uczogT3ByYUNsaWVudE1vZHVsZUFzeW5jT3B0aW9ucyk6IFByb3ZpZGVyW10ge1xuICAgIGlmIChvcHRpb25zLnVzZUV4aXN0aW5nIHx8IG9wdGlvbnMudXNlRmFjdG9yeSlcbiAgICAgIHJldHVybiBbdGhpcy5fY3JlYXRlQXN5bmNPcHRpb25zUHJvdmlkZXIob3B0aW9ucyldO1xuXG4gICAgaWYgKG9wdGlvbnMudXNlQ2xhc3MpXG4gICAgICByZXR1cm4gW1xuICAgICAgICB0aGlzLl9jcmVhdGVBc3luY09wdGlvbnNQcm92aWRlcihvcHRpb25zKSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IG9wdGlvbnMudXNlQ2xhc3MsXG4gICAgICAgICAgdXNlQ2xhc3M6IG9wdGlvbnMudXNlQ2xhc3NcbiAgICAgICAgfVxuICAgICAgXTtcblxuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjb25maWd1cmF0aW9uLiBNdXN0IHByb3ZpZGUgdXNlRmFjdG9yeSwgdXNlQ2xhc3Mgb3IgdXNlRXhpc3RpbmcnKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9jcmVhdGVBc3luY09wdGlvbnNQcm92aWRlcihvcHRpb25zOiBPcHJhQ2xpZW50TW9kdWxlQXN5bmNPcHRpb25zKTogUHJvdmlkZXIge1xuICAgIGlmIChvcHRpb25zLnVzZUZhY3RvcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IE9QUkFfQ0xJRU5UX01PRFVMRV9PUFRJT05TLFxuICAgICAgICB1c2VGYWN0b3J5OiBvcHRpb25zLnVzZUZhY3RvcnksXG4gICAgICAgIGRlcHM6IG9wdGlvbnMuZGVwcyB8fCBbXSxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHVzZUNsYXNzID0gb3B0aW9ucy51c2VDbGFzcyB8fCBvcHRpb25zLnVzZUV4aXN0aW5nO1xuICAgIGlmICh1c2VDbGFzcykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogT1BSQV9DTElFTlRfTU9EVUxFX09QVElPTlMsXG4gICAgICAgIHVzZUZhY3Rvcnk6IChvKSA9PiBvLFxuICAgICAgICBkZXBzOiBbdXNlQ2xhc3NdLFxuICAgICAgfTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvbmZpZ3VyYXRpb24uIE11c3QgcHJvdmlkZSB1c2VGYWN0b3J5LCB1c2VDbGFzcyBvciB1c2VFeGlzdGluZycpO1xuICB9XG5cblxufVxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvc3JjL2NsaWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0NBQXdDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQXVCLFFBQVEsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBSXpELE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFnQztRQUMzRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLGlCQUFpQixDQUFDO1FBQ3hELE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsWUFBWTtvQkFDckIsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO29CQUNsQixVQUFVLEVBQUUsQ0FBQyxVQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQztpQkFDdkc7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FDM0IsWUFBcUIsRUFDckIsT0FBZ0M7UUFFaEMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxZQUFZLENBQUM7UUFDcEQsT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxhQUFhO29CQUN0QixJQUFJLEVB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LFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtnQkFDOUIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRTthQUN6QixDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN6RCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsT0FBTztnQkFDTCxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUM7YUFDakIsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHlFQUF5RSxDQUFDLENBQUM7SUFDN0YsQ0FBQzs4R0EvR1UsZ0JBQWdCOytHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsUUFBUTttQkFBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0LXgvZXh0ZW5zaW9ucyAqL1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBQcm92aWRlciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsga0NsaWVudCB9IGZyb20gJ0BvcHJhL2NsaWVudCc7XG5pbXBvcnQgeyBPcHJhQW5ndWxhckNsaWVudCB9IGZyb20gJy4vYW5ndWxhci1jbGllbnQnO1xuaW1wb3J0IHsgT1BSQV9DTElFTlRfTU9EVUxFX09QVElPTlMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBPcHJhQ2xpZW50TW9kdWxlQXN5bmNPcHRpb25zLCBPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucyB9IGZyb20gJy4vaW50ZXJmYWNlcy9tb2R1bGUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgT3ByYUNsaWVudE1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVnaXN0ZXJDbGllbnQob3B0aW9uczogT3ByYUNsaWVudE1vZHVsZU9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE9wcmFDbGllbnRNb2R1bGU+IHtcbiAgICBjb25zdCBDTElFTlRfVE9LRU4gPSBvcHRpb25zLnRva2VuIHx8IE9wcmFBbmd1bGFyQ2xpZW50O1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogT3ByYUNsaWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQ0xJRU5UX1RPS0VOLFxuICAgICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50XSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoaHR0cENsaWVudDogSHR0cENsaWVudCkgPT4gbmV3IE9wcmFBbmd1bGFyQ2xpZW50KGh0dHBDbGllbnQsIG9wdGlvbnMuc2VydmljZVVybCwgb3B0aW9ucyksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJlZ2lzdGVyU2VydmljZTxUPihcbiAgICBzZXJ2aWNlQ2xhc3M6IFR5cGU8VD4sXG4gICAgb3B0aW9uczogT3ByYUNsaWVudE1vZHVsZU9wdGlvbnMsXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8T3ByYUNsaWVudE1vZHVsZT4ge1xuICAgIGNvbnN0IFNFUlZJQ0VfVE9LRU4gPSBvcHRpb25zLnRva2VuIHx8IHNlcnZpY2VDbGFzcztcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE9wcmFDbGllbnRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFNFUlZJQ0VfVE9LRU4sXG4gICAgICAgICAgZGVwczogW0h0dHBDbGllbnRdLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IChodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcHJhQW5ndWxhckNsaWVudCA9IG5ldyBPcHJhQW5ndWxhckNsaWVudChodHRwQ2xpZW50LCBvcHRpb25zLnNlcnZpY2VVcmwsIG9wdGlvbnMpO1xuICAgICAgICAgICAgY29uc3Qgc2VydmljZSA9IG5ldyBzZXJ2aWNlQ2xhc3Mob3ByYUFuZ3VsYXJDbGllbnQpO1xuICAgICAgICAgICAgc2VydmljZVtrQ2xpZW50XSA9IG9wcmFBbmd1bGFyQ2xpZW50O1xuICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2U7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmVnaXN0ZXJDbGllbnRBc3luYyhvcHRpb25zOiBPcHJhQ2xpZW50TW9kdWxlQXN5bmNPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxPcHJhQ2xpZW50TW9kdWxlPiB7XG4gICAgY29uc3QgQ0xJRU5UX1RPS0VOID0gb3B0aW9ucy50b2tlbiB8fCBPcHJhQW5ndWxhckNsaWVudDtcbiAgICBjb25zdCBhc3luY1Byb3ZpZGVycyA9IHRoaXMuX2NyZWF0ZUFzeW5jUHJvdmlkZXJzKG9wdGlvbnMpO1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogT3ByYUNsaWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAuLi5hc3luY1Byb3ZpZGVycyxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IENMSUVOVF9UT0tFTixcbiAgICAgICAgICBkZXBzOiBbSHR0cENsaWVudCwgT1BSQV9DTElFTlRfTU9EVUxFX09QVElPTlNdLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IChodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBvcHRzOiBPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucykgPT5cbiAgICAgICAgICAgIG5ldyBPcHJhQW5ndWxhckNsaWVudChodHRwQ2xpZW50LCBvcHRzLnNlcnZpY2VVcmwsIG9wdHMpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyByZWdpc3RlclNlcnZpY2VBc3luYzxUPihcbiAgICBzZXJ2aWNlQ2xhc3M6IFR5cGU8VD4sXG4gICAgb3B0aW9uczogT3ByYUNsaWVudE1vZHVsZUFzeW5jT3B0aW9ucyxcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxPcHJhQ2xpZW50TW9kdWxlPiB7XG4gICAgY29uc3QgU0VSVklDRV9UT0tFTiA9IG9wdGlvbnMudG9rZW4gfHwgc2VydmljZUNsYXNzO1xuICAgIGNvbnN0IGFzeW5jUHJvdmlkZXJzID0gdGhpcy5fY3JlYXRlQXN5bmNQcm92aWRlcnMob3B0aW9ucyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBPcHJhQ2xpZW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC4uLmFzeW5jUHJvdmlkZXJzLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU0VSVklDRV9UT0tFTixcbiAgICAgICAgICBkZXBzOiBbSHR0cENsaWVudCwgT1BSQV9DTElFTlRfTU9EVUxFX09QVElPTlNdLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IChodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBvcHRzOiBPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3ByYUFuZ3VsYXJDbGllbnQgPSBuZXcgT3ByYUFuZ3VsYXJDbGllbnQoaHR0cENsaWVudCwgb3B0cy5zZXJ2aWNlVXJsLCBvcHRzKTtcbiAgICAgICAgICAgIGNvbnN0IHNlcnZpY2UgPSBuZXcgc2VydmljZUNsYXNzKG9wcmFBbmd1bGFyQ2xpZW50KTtcbiAgICAgICAgICAgIHNlcnZpY2Vba0NsaWVudF0gPSBvcHJhQW5ndWxhckNsaWVudDtcbiAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfY3JlYXRlQXN5bmNQcm92aWRlcnMob3B0aW9uczogT3ByYUNsaWVudE1vZHVsZUFzeW5jT3B0aW9ucyk6IFByb3ZpZGVyW10ge1xuICAgIGlmIChvcHRpb25zLnVzZUV4aXN0aW5nIHx8IG9wdGlvbnMudXNlRmFjdG9yeSkgcmV0dXJuIFt0aGlzLl9jcmVhdGVBc3luY09wdGlvbnNQcm92aWRlcihvcHRpb25zKV07XG5cbiAgICBpZiAob3B0aW9ucy51c2VDbGFzcykge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgdGhpcy5fY3JlYXRlQXN5bmNPcHRpb25zUHJvdmlkZXIob3B0aW9ucyksXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBvcHRpb25zLnVzZUNsYXNzLFxuICAgICAgICAgIHVzZUNsYXNzOiBvcHRpb25zLnVzZUNsYXNzLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29uZmlndXJhdGlvbi4gTXVzdCBwcm92aWRlIHVzZUZhY3RvcnksIHVzZUNsYXNzIG9yIHVzZUV4aXN0aW5nJyk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfY3JlYXRlQXN5bmNPcHRpb25zUHJvdmlkZXIob3B0aW9uczogT3ByYUNsaWVudE1vZHVsZUFzeW5jT3B0aW9ucyk6IFByb3ZpZGVyIHtcbiAgICBpZiAob3B0aW9ucy51c2VGYWN0b3J5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBPUFJBX0NMSUVOVF9NT0RVTEVfT1BUSU9OUyxcbiAgICAgICAgdXNlRmFjdG9yeTogb3B0aW9ucy51c2VGYWN0b3J5LFxuICAgICAgICBkZXBzOiBvcHRpb25zLmRlcHMgfHwgW10sXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB1c2VDbGFzcyA9IG9wdGlvbnMudXNlQ2xhc3MgfHwgb3B0aW9ucy51c2VFeGlzdGluZztcbiAgICBpZiAodXNlQ2xhc3MpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IE9QUkFfQ0xJRU5UX01PRFVMRV9PUFRJT05TLFxuICAgICAgICB1c2VGYWN0b3J5OiBvID0+IG8sXG4gICAgICAgIGRlcHM6IFt1c2VDbGFzc10sXG4gICAgICB9O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29uZmlndXJhdGlvbi4gTXVzdCBwcm92aWRlIHVzZUZhY3RvcnksIHVzZUNsYXNzIG9yIHVzZUV4aXN0aW5nJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9zcmMvaW50ZXJmYWNlcy9tb2R1bGUtb3B0aW9ucy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3RyaWN0T21pdCB9IGZyb20gJ3RzLWdlbXMnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmd1bGFyQmFja2VuZCB9IGZyb20gJy4uL2FuZ3VsYXItYmFja2VuZC5qcyc7XG5cbmV4cG9ydCB0eXBlIE9wcmFDbGllbnRNb2R1bGVPcHRpb25zID0gQW5ndWxhckJhY2tlbmQuT3B0aW9ucyAmIHtcbiAgc2VydmljZVVybDogc3RyaW5nO1xuICB0b2tlbj86IHN0cmluZyB8IEluamVjdGlvblRva2VuPGFueT47XG59XG5cbnR5cGUgX09wcmFDbGllbnRNb2R1bGVPcHRpb25zID0gU3RyaWN0T21pdDxPcHJhQ2xpZW50TW9kdWxlT3B0aW9ucywgJ3Rva2VuJz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ByYU1vZHVsZU9wdGlvbnNGYWN0b3J5IHtcbiAgY3JlYXRlT3B0aW9ucygpOiBQcm9taXNlPF9PcHJhQ2xpZW50TW9kdWxlT3B0aW9ucz4gfCBfT3ByYUNsaWVudE1vZHVsZU9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ByYUNsaWVudE1vZHVsZUFzeW5jT3B0aW9uc1xuICAgIGV4dGVuZHMgUGljazxOZ01vZHVsZSwgJ2ltcG9ydHMnIHwgJ3Byb3ZpZGVycyc+IHtcbiAgdG9rZW4/OiBzdHJpbmcgfCBJbmplY3Rpb25Ub2tlbjxhbnk+O1xuICB1c2VFeGlzdGluZz86IFR5cGU8T3ByYU1vZHVsZU9wdGlvbnNGYWN0b3J5PjtcbiAgdXNlQ2xhc3M/OiBUeXBlPGFueT47XG4gIHVzZUZhY3Rvcnk/OiAoLi4uYXJnczogYW55W10pID0+IFByb21pc2U8X09wcmFDbGllbnRNb2R1bGVPcHRpb25zPiB8IF9PcHJhQ2xpZW50TW9kdWxlT3B0aW9ucztcbiAgZGVwcz86IGFueVtdO1xufVxuXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9zcmMvaW50ZXJmYWNlcy9tb2R1bGUtb3B0aW9ucy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBTdHJpY3RPbWl0IH0gZnJvbSAndHMtZ2Vtcyc7XG5pbXBvcnQgeyBBbmd1bGFyQmFja2VuZCB9IGZyb20gJy4uL2FuZ3VsYXItYmFja2VuZC5qcyc7XG5cbmV4cG9ydCB0eXBlIE9wcmFDbGllbnRNb2R1bGVPcHRpb25zID0gQW5ndWxhckJhY2tlbmQuT3B0aW9ucyAmIHtcbiAgc2VydmljZVVybDogc3RyaW5nO1xuICB0b2tlbj86IHN0cmluZyB8IEluamVjdGlvblRva2VuPGFueT47XG59O1xuXG50eXBlIF9PcHJhQ2xpZW50TW9kdWxlT3B0aW9ucyA9IFN0cmljdE9taXQ8T3ByYUNsaWVudE1vZHVsZU9wdGlvbnMsICd0b2tlbic+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wcmFNb2R1bGVPcHRpb25zRmFjdG9yeSB7XG4gIGNyZWF0ZU9wdGlvbnMoKTogUHJvbWlzZTxfT3ByYUNsaWVudE1vZHVsZU9wdGlvbnM+IHwgX09wcmFDbGllbnRNb2R1bGVPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wcmFDbGllbnRNb2R1bGVBc3luY09wdGlvbnMgZXh0ZW5kcyBQaWNrPE5nTW9kdWxlLCAnaW1wb3J0cycgfCAncHJvdmlkZXJzJz4ge1xuICB0b2tlbj86IHN0cmluZyB8IEluamVjdGlvblRva2VuPGFueT47XG4gIHVzZUV4aXN0aW5nPzogVHlwZTxPcHJhTW9kdWxlT3B0aW9uc0ZhY3Rvcnk+O1xuICB1c2VDbGFzcz86IFR5cGU8YW55PjtcbiAgdXNlRmFjdG9yeT86ICguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxfT3ByYUNsaWVudE1vZHVsZU9wdGlvbnM+IHwgX09wcmFDbGllbnRNb2R1bGVPcHRpb25zO1xuICBkZXBzPzogYW55W107XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
- /* eslint-disable import/extensions */
2
- export * from './interfaces/module-options.interface';
1
+ /* eslint-disable import-x/extensions */
3
2
  export * from './angular-backend';
4
3
  export * from './client.module';
5
4
  export * from './constants';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBQ3RDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L2V4dGVuc2lvbnMgKi9cbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9tb2R1bGUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hbmd1bGFyLWJhY2tlbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGllbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzJztcbiJdfQ==
5
+ export * from './interfaces/module-options.interface';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0NBQXdDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0LXgvZXh0ZW5zaW9ucyAqL1xuZXhwb3J0ICogZnJvbSAnLi9hbmd1bGFyLWJhY2tlbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGllbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9tb2R1bGUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuIl19
@@ -1,10 +1,10 @@
1
- import { Observable } from 'rxjs';
2
- import { isReadableStreamLike } from 'rxjs/internal/util/isReadableStreamLike';
3
1
  import * as Angular from '@angular/common/http';
4
2
  import { HttpHeaders, HttpClient } from '@angular/common/http';
5
3
  import typeIs from '@browsery/type-is';
6
4
  import { HttpBackend, HttpEventType, HttpResponse, HttpClientBase, kBackend, kClient } from '@opra/client';
7
- import { OpraURL, isBlob } from '@opra/common';
5
+ import { isBlob } from '@opra/common';
6
+ import { Observable } from 'rxjs';
7
+ import { isReadableStreamLike } from 'rxjs/internal/util/isReadableStreamLike';
8
8
  import * as i0 from '@angular/core';
9
9
  import { NgModule } from '@angular/core';
10
10
 
@@ -13,27 +13,27 @@ import { NgModule } from '@angular/core';
13
13
  * @class AngularBackend
14
14
  */
15
15
  class AngularBackend extends HttpBackend {
16
- httpClient;
17
- defaults;
18
16
  constructor(httpClient, serviceUrl, options) {
19
17
  super(serviceUrl, options);
20
18
  this.httpClient = httpClient;
21
19
  this.defaults = {
22
20
  ...options?.defaults,
23
21
  headers: options?.defaults?.headers instanceof Headers
24
- ? options?.defaults?.headers : new Headers(options?.defaults?.headers),
22
+ ? options?.defaults?.headers
23
+ : new Headers(options?.defaults?.headers),
25
24
  params: options?.defaults?.params instanceof URLSearchParams
26
- ? options?.defaults?.params : new URLSearchParams(options?.defaults?.params)
25
+ ? options?.defaults?.params
26
+ : new URLSearchParams(options?.defaults?.params),
27
27
  };
28
28
  }
29
29
  handle(init) {
30
30
  const requestInit = this.prepareRequest(init);
31
31
  const request = new Angular.HttpRequest(requestInit.method, requestInit.url.toString(), {
32
32
  ...requestInit,
33
- headers: new HttpHeaders(requestInit.headers)
33
+ headers: new HttpHeaders(requestInit.headers),
34
34
  });
35
35
  const _this = this;
36
- return new Observable((subscriber) => {
36
+ return new Observable(subscriber => {
37
37
  // Send request
38
38
  this.send(request).subscribe({
39
39
  next(event) {
@@ -52,12 +52,12 @@ class AngularBackend extends HttpBackend {
52
52
  headers: requestInit.headers,
53
53
  status: event.status,
54
54
  statusText: event.statusText,
55
- hasBody: event.headers.has('Content-Type') || event.headers.has('Content-Length')
55
+ hasBody: event.headers.has('Content-Type') || event.headers.has('Content-Length'),
56
56
  });
57
57
  subscriber.next({
58
58
  request,
59
59
  type: HttpEventType.ResponseHeader,
60
- response: headersResponse
60
+ response: headersResponse,
61
61
  });
62
62
  return;
63
63
  }
@@ -67,7 +67,7 @@ class AngularBackend extends HttpBackend {
67
67
  request,
68
68
  type: HttpEventType.DownloadProgress,
69
69
  loaded: event.loaded,
70
- total: event.total
70
+ total: event.total,
71
71
  });
72
72
  }
73
73
  if (event.type === Angular.HttpEventType.UploadProgress) {
@@ -76,7 +76,7 @@ class AngularBackend extends HttpBackend {
76
76
  request,
77
77
  type: HttpEventType.UploadProgress,
78
78
  loaded: event.loaded,
79
- total: event.total
79
+ total: event.total,
80
80
  });
81
81
  }
82
82
  if (event.type === Angular.HttpEventType.Response) {
@@ -88,13 +88,13 @@ class AngularBackend extends HttpBackend {
88
88
  status: event.status,
89
89
  statusText: event.statusText,
90
90
  hasBody: !!event.body,
91
- body: event.body
91
+ body: event.body,
92
92
  });
93
93
  // Emit 'Response' event
94
94
  subscriber.next({
95
95
  type: HttpEventType.Response,
96
96
  request,
97
- response
97
+ response,
98
98
  });
99
99
  }
100
100
  },
@@ -103,7 +103,7 @@ class AngularBackend extends HttpBackend {
103
103
  },
104
104
  complete() {
105
105
  subscriber.complete();
106
- }
106
+ },
107
107
  });
108
108
  });
109
109
  }
@@ -114,13 +114,13 @@ class AngularBackend extends HttpBackend {
114
114
  const headers = init.headers || new Headers();
115
115
  const requestInit = {
116
116
  ...init,
117
- headers
117
+ headers,
118
118
  };
119
119
  this.defaults.headers.forEach((val, key) => {
120
120
  if (!headers.has(key))
121
121
  headers.set(key, val);
122
122
  });
123
- const url = new OpraURL(requestInit.url, this.serviceUrl);
123
+ const url = new URL(requestInit.url, this.serviceUrl);
124
124
  if (this.defaults.params.size) {
125
125
  this.defaults.params.forEach((val, key) => {
126
126
  if (!url.searchParams.has(key))
@@ -131,7 +131,9 @@ class AngularBackend extends HttpBackend {
131
131
  if (requestInit.body) {
132
132
  let body;
133
133
  let contentType;
134
- if (typeof requestInit.body === 'string' || typeof requestInit.body === 'number' || typeof requestInit.body === 'boolean') {
134
+ if (typeof requestInit.body === 'string' ||
135
+ typeof requestInit.body === 'number' ||
136
+ typeof requestInit.body === 'boolean') {
135
137
  contentType = 'text/plain; charset=UTF-8"';
136
138
  body = String(requestInit.body);
137
139
  headers.delete('Content-Size');
@@ -144,7 +146,6 @@ class AngularBackend extends HttpBackend {
144
146
  contentType = 'application/octet-stream';
145
147
  body = requestInit.body;
146
148
  headers.set('Content-Size', String(requestInit.body.length));
147
- ;
148
149
  }
149
150
  else if (isBlob(requestInit.body)) {
150
151
  contentType = requestInit.body.type || 'application/octet-stream';
@@ -167,7 +168,7 @@ class AngularBackend extends HttpBackend {
167
168
  }
168
169
  async parseBody(fetchResponse) {
169
170
  let body;
170
- const contentType = (fetchResponse.headers.get('Content-Type') || '');
171
+ const contentType = fetchResponse.headers.get('Content-Type') || '';
171
172
  if (typeIs.is(contentType, ['json', 'application/*+json'])) {
172
173
  body = await fetchResponse.json();
173
174
  if (typeof body === 'string')
@@ -191,7 +192,6 @@ class AngularBackend extends HttpBackend {
191
192
  * @class OpraAngularClient
192
193
  */
193
194
  class OpraAngularClient extends HttpClientBase {
194
- [kBackend];
195
195
  constructor(httpClient, serviceUrl, options) {
196
196
  super(new AngularBackend(httpClient, serviceUrl, options));
197
197
  }
@@ -202,7 +202,7 @@ class OpraAngularClient extends HttpClientBase {
202
202
 
203
203
  const OPRA_CLIENT_MODULE_OPTIONS = 'OPRA_CLIENT_MODULE_OPTIONS';
204
204
 
205
- /* eslint-disable import/extensions */
205
+ /* eslint-disable import-x/extensions */
206
206
  class OpraClientModule {
207
207
  static registerClient(options) {
208
208
  const CLIENT_TOKEN = options.token || OpraAngularClient;
@@ -212,9 +212,9 @@ class OpraClientModule {
212
212
  {
213
213
  provide: CLIENT_TOKEN,
214
214
  deps: [HttpClient],
215
- useFactory: (httpClient) => new OpraAngularClient(httpClient, options.serviceUrl, options)
216
- }
217
- ]
215
+ useFactory: (httpClient) => new OpraAngularClient(httpClient, options.serviceUrl, options),
216
+ },
217
+ ],
218
218
  };
219
219
  }
220
220
  static registerService(serviceClass, options) {
@@ -230,9 +230,9 @@ class OpraClientModule {
230
230
  const service = new serviceClass(opraAngularClient);
231
231
  service[kClient] = opraAngularClient;
232
232
  return service;
233
- }
234
- }
235
- ]
233
+ },
234
+ },
235
+ ],
236
236
  };
237
237
  }
238
238
  static registerClientAsync(options) {
@@ -245,9 +245,9 @@ class OpraClientModule {
245
245
  {
246
246
  provide: CLIENT_TOKEN,
247
247
  deps: [HttpClient, OPRA_CLIENT_MODULE_OPTIONS],
248
- useFactory: (httpClient, opts) => new OpraAngularClient(httpClient, opts.serviceUrl, opts)
249
- }
250
- ]
248
+ useFactory: (httpClient, opts) => new OpraAngularClient(httpClient, opts.serviceUrl, opts),
249
+ },
250
+ ],
251
251
  };
252
252
  }
253
253
  static registerServiceAsync(serviceClass, options) {
@@ -265,22 +265,23 @@ class OpraClientModule {
265
265
  const service = new serviceClass(opraAngularClient);
266
266
  service[kClient] = opraAngularClient;
267
267
  return service;
268
- }
269
- }
270
- ]
268
+ },
269
+ },
270
+ ],
271
271
  };
272
272
  }
273
273
  static _createAsyncProviders(options) {
274
274
  if (options.useExisting || options.useFactory)
275
275
  return [this._createAsyncOptionsProvider(options)];
276
- if (options.useClass)
276
+ if (options.useClass) {
277
277
  return [
278
278
  this._createAsyncOptionsProvider(options),
279
279
  {
280
280
  provide: options.useClass,
281
- useClass: options.useClass
282
- }
281
+ useClass: options.useClass,
282
+ },
283
283
  ];
284
+ }
284
285
  throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');
285
286
  }
286
287
  static _createAsyncOptionsProvider(options) {
@@ -295,22 +296,22 @@ class OpraClientModule {
295
296
  if (useClass) {
296
297
  return {
297
298
  provide: OPRA_CLIENT_MODULE_OPTIONS,
298
- useFactory: (o) => o,
299
+ useFactory: o => o,
299
300
  deps: [useClass],
300
301
  };
301
302
  }
302
303
  throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');
303
304
  }
304
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: OpraClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
305
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: OpraClientModule });
306
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: OpraClientModule });
305
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: OpraClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
306
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: OpraClientModule }); }
307
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: OpraClientModule }); }
307
308
  }
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: OpraClientModule, decorators: [{
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: OpraClientModule, decorators: [{
309
310
  type: NgModule,
310
311
  args: [{}]
311
312
  }] });
312
313
 
313
- /* eslint-disable import/extensions */
314
+ /* eslint-disable import-x/extensions */
314
315
 
315
316
  /**
316
317
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"opra-angular.mjs","sources":["../../../packages/angular/src/angular-backend.ts","../../../packages/angular/src/angular-client.ts","../../../packages/angular/src/constants.ts","../../../packages/angular/src/client.module.ts","../../../packages/angular/src/public_api.ts","../../../packages/angular/src/opra-angular.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport { isReadableStreamLike } from 'rxjs/internal/util/isReadableStreamLike';\nimport { StrictOmit } from 'ts-gems';\nimport { HttpContext, HttpHeaders, HttpParams } from '@angular/common/http';\nimport * as Angular from '@angular/common/http';\nimport typeIs from '@browsery/type-is';\nimport {\n HttpBackend, HttpDownloadProgressEvent,\n HttpEvent,\n HttpEventType,\n HttpResponse,\n HttpResponseEvent,\n HttpResponseHeaderEvent,\n HttpSentEvent, HttpUploadProgressEvent\n} from '@opra/client';\nimport { isBlob, OpraURL } from '@opra/common';\n\n/**\n *\n * @class AngularBackend\n */\nexport class AngularBackend extends HttpBackend {\n\n defaults: AngularBackend.RequestDefaults;\n\n constructor(readonly httpClient: Angular.HttpClient, serviceUrl: string, options?: AngularBackend.Options) {\n super(serviceUrl, options);\n this.defaults = {\n ...options?.defaults,\n headers: options?.defaults?.headers instanceof Headers\n ? options?.defaults?.headers : new Headers(options?.defaults?.headers),\n params: options?.defaults?.params instanceof URLSearchParams\n ? options?.defaults?.params : new URLSearchParams(options?.defaults?.params)\n }\n }\n\n handle(init: AngularBackend.RequestInit): Observable<HttpEvent> {\n const requestInit = this.prepareRequest(init);\n const request = new Angular.HttpRequest(requestInit.method, requestInit.url.toString(), {\n ...requestInit,\n headers: new HttpHeaders(requestInit.headers)\n });\n\n const _this = this;\n return new Observable<HttpEvent>((subscriber) => {\n // Send request\n this.send(request).subscribe({\n next(event) {\n if (event.type === Angular.HttpEventType.Sent) {\n // Emit 'Sent' event\n subscriber.next({\n type: HttpEventType.Sent,\n request,\n } satisfies HttpSentEvent);\n return;\n }\n\n if (event.type === Angular.HttpEventType.ResponseHeader) {\n // Emit 'ResponseHeader' event\n const headersResponse = _this.createResponse({\n url: request.url,\n headers: requestInit.headers,\n status: event.status,\n statusText: event.statusText,\n hasBody: event.headers.has('Content-Type') || event.headers.has('Content-Length')\n }) as HttpResponse<never>;\n subscriber.next({\n request,\n type: HttpEventType.ResponseHeader,\n response: headersResponse\n } satisfies HttpResponseHeaderEvent);\n return;\n }\n\n if (event.type === Angular.HttpEventType.DownloadProgress) {\n // Emit 'DownloadProgress' event\n subscriber.next({\n request,\n type: HttpEventType.DownloadProgress,\n loaded: event.loaded,\n total: event.total\n } satisfies HttpDownloadProgressEvent);\n }\n\n if (event.type === Angular.HttpEventType.UploadProgress) {\n // Emit 'UploadProgress' event\n subscriber.next({\n request,\n type: HttpEventType.UploadProgress,\n loaded: event.loaded,\n total: event.total\n } satisfies HttpUploadProgressEvent);\n }\n\n if (event.type === Angular.HttpEventType.Response) {\n const headers = new Headers();\n event.headers.keys().forEach(k => headers.set(k, event.headers.get(k) || ''));\n const response = _this.createResponse({\n url: request.url,\n headers,\n status: event.status,\n statusText: event.statusText,\n hasBody: !!event.body,\n body: event.body\n });\n // Emit 'Response' event\n subscriber.next({\n type: HttpEventType.Response,\n request,\n response\n } satisfies HttpResponseEvent);\n }\n },\n error(error) {\n subscriber.error(error)\n },\n complete() {\n subscriber.complete()\n }\n });\n });\n }\n\n protected send(request: Angular.HttpRequest<any>) {\n return this.httpClient.request(request);\n }\n\n protected prepareRequest(init: AngularBackend.RequestInit): AngularBackend.RequestInit {\n const headers = init.headers || new Headers();\n const requestInit: AngularBackend.RequestInit = {\n ...init,\n headers\n }\n this.defaults.headers.forEach((val, key) => {\n if (!headers.has(key))\n headers.set(key, val);\n });\n const url = new OpraURL(requestInit.url, this.serviceUrl);\n if (this.defaults.params.size) {\n this.defaults.params.forEach((val, key) => {\n if (!url.searchParams.has(key))\n url.searchParams.set(key, val);\n });\n requestInit.url = url.toString();\n }\n if (requestInit.body) {\n let body: any;\n let contentType: string;\n if (typeof requestInit.body === 'string' || typeof requestInit.body === 'number' || typeof requestInit.body === 'boolean') {\n contentType = 'text/plain; charset=UTF-8\"';\n body = String(requestInit.body);\n headers.delete('Content-Size');\n } else if (isReadableStreamLike(requestInit.body)) {\n contentType = 'application/octet-stream';\n body = requestInit.body;\n } else if (Buffer.isBuffer(requestInit.body)) {\n contentType = 'application/octet-stream';\n body = requestInit.body;\n headers.set('Content-Size', String(requestInit.body.length));\n ;\n } else if (isBlob(requestInit.body)) {\n contentType = requestInit.body.type || 'application/octet-stream';\n body = requestInit.body;\n headers.set('Content-Size', String(requestInit.body.size));\n } else {\n contentType = 'application/json';\n body = JSON.stringify(requestInit.body);\n headers.delete('Content-Size');\n }\n if (!headers.has('Content-Type') && contentType)\n headers.set('Content-Type', contentType);\n requestInit.body = body;\n }\n return requestInit;\n }\n\n protected createResponse(init: HttpResponse.Initiator): HttpResponse {\n return new HttpResponse(init);\n }\n\n protected async parseBody(fetchResponse: Response): Promise<any> {\n let body: any;\n const contentType = (fetchResponse.headers.get('Content-Type') || '');\n if (typeIs.is(contentType, ['json', 'application/*+json'])) {\n body = await fetchResponse.json();\n if (typeof body === 'string')\n body = JSON.parse(body);\n } else if (typeIs.is(contentType, ['text']))\n body = await fetchResponse.text();\n else if (typeIs.is(contentType, ['multipart']))\n body = await fetchResponse.formData();\n else {\n const buf = await fetchResponse.arrayBuffer();\n if (buf.byteLength)\n body = buf;\n }\n return body;\n }\n\n}\n\n/**\n * @namespace AngularBackend\n */\nexport namespace AngularBackend {\n\n export interface Options extends HttpBackend.Options {\n defaults?: RequestDefaults;\n }\n\n export interface RequestInit extends HttpBackend.RequestInit {\n context?: HttpContext;\n reportProgress?: boolean;\n params?: HttpParams;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n }\n\n export interface RequestOptions extends Pick<RequestInit, 'context' | 'reportProgress' | 'withCredentials'> {\n }\n\n export type RequestDefaults = StrictOmit<RequestOptions, 'context'> & {\n headers: Headers;\n params: URLSearchParams;\n };\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { HttpClientBase, kBackend } from '@opra/client';\nimport { AngularBackend } from './angular-backend';\n\n/**\n *\n * @class OpraAngularClient\n */\nexport class OpraAngularClient extends HttpClientBase<AngularBackend.RequestOptions> {\n [kBackend]: AngularBackend;\n\n constructor(httpClient: HttpClient, serviceUrl: string, options?: AngularBackend.Options) {\n super(new AngularBackend(httpClient, serviceUrl, options));\n }\n\n get defaults(): AngularBackend.RequestDefaults {\n return this[kBackend].defaults;\n }\n\n}\n","export const OPRA_CLIENT_MODULE_OPTIONS = 'OPRA_CLIENT_MODULE_OPTIONS';\n","/* eslint-disable import/extensions */\nimport { HttpClient } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule, Provider, Type } from '@angular/core';\nimport { kClient } from '@opra/client';\nimport { OpraAngularClient } from './angular-client';\nimport { OPRA_CLIENT_MODULE_OPTIONS } from './constants';\nimport {\n OpraClientModuleAsyncOptions,\n OpraClientModuleOptions\n} from './interfaces/module-options.interface';\n\n@NgModule({})\nexport class OpraClientModule {\n\n public static registerClient(options: OpraClientModuleOptions): ModuleWithProviders<OpraClientModule> {\n const CLIENT_TOKEN = options.token || OpraAngularClient;\n return {\n ngModule: OpraClientModule,\n providers: [\n {\n provide: CLIENT_TOKEN,\n deps: [HttpClient],\n useFactory: (httpClient: HttpClient) =>\n new OpraAngularClient(httpClient, options.serviceUrl, options)\n }\n ]\n };\n }\n\n public static registerService<T>(\n serviceClass: Type<T>,\n options: OpraClientModuleOptions\n ): ModuleWithProviders<OpraClientModule> {\n const SERVICE_TOKEN = options.token || serviceClass;\n return {\n ngModule: OpraClientModule,\n providers: [\n {\n provide: SERVICE_TOKEN,\n deps: [HttpClient],\n useFactory: (httpClient: HttpClient) => {\n const opraAngularClient = new OpraAngularClient(httpClient, options.serviceUrl, options);\n const service = new serviceClass(opraAngularClient);\n service[kClient] = opraAngularClient;\n return service;\n }\n }\n ]\n };\n }\n\n public static registerClientAsync(\n options: OpraClientModuleAsyncOptions\n ): ModuleWithProviders<OpraClientModule> {\n const CLIENT_TOKEN = options.token || OpraAngularClient;\n const asyncProviders = this._createAsyncProviders(options);\n return {\n ngModule: OpraClientModule,\n providers: [\n ...asyncProviders,\n {\n provide: CLIENT_TOKEN,\n deps: [HttpClient, OPRA_CLIENT_MODULE_OPTIONS],\n useFactory: (httpClient: HttpClient, opts: OpraClientModuleOptions) =>\n new OpraAngularClient(httpClient, opts.serviceUrl, opts)\n }\n ]\n };\n }\n\n public static registerServiceAsync<T>(\n serviceClass: Type<T>,\n options: OpraClientModuleAsyncOptions\n ): ModuleWithProviders<OpraClientModule> {\n const SERVICE_TOKEN = options.token || serviceClass;\n const asyncProviders = this._createAsyncProviders(options);\n return {\n ngModule: OpraClientModule,\n providers: [\n ...asyncProviders,\n {\n provide: SERVICE_TOKEN,\n deps: [HttpClient, OPRA_CLIENT_MODULE_OPTIONS],\n useFactory: (httpClient: HttpClient, opts: OpraClientModuleOptions) => {\n const opraAngularClient = new OpraAngularClient(httpClient, opts.serviceUrl, opts);\n const service = new serviceClass(opraAngularClient);\n service[kClient] = opraAngularClient;\n return service;\n }\n }\n ]\n };\n }\n\n private static _createAsyncProviders(options: OpraClientModuleAsyncOptions): Provider[] {\n if (options.useExisting || options.useFactory)\n return [this._createAsyncOptionsProvider(options)];\n\n if (options.useClass)\n return [\n this._createAsyncOptionsProvider(options),\n {\n provide: options.useClass,\n useClass: options.useClass\n }\n ];\n\n throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');\n }\n\n private static _createAsyncOptionsProvider(options: OpraClientModuleAsyncOptions): Provider {\n if (options.useFactory) {\n return {\n provide: OPRA_CLIENT_MODULE_OPTIONS,\n useFactory: options.useFactory,\n deps: options.deps || [],\n };\n }\n const useClass = options.useClass || options.useExisting;\n if (useClass) {\n return {\n provide: OPRA_CLIENT_MODULE_OPTIONS,\n useFactory: (o) => o,\n deps: [useClass],\n };\n }\n throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');\n }\n\n\n}\n","/* eslint-disable import/extensions */\nexport * from './interfaces/module-options.interface';\nexport * from './angular-backend';\nexport * from './client.module';\nexport * from './constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opra-angular.mjs","sources":["../../../packages/angular/src/angular-backend.ts","../../../packages/angular/src/angular-client.ts","../../../packages/angular/src/constants.ts","../../../packages/angular/src/client.module.ts","../../../packages/angular/src/public_api.ts","../../../packages/angular/src/opra-angular.ts"],"sourcesContent":["import { HttpContext, HttpHeaders, HttpParams } from '@angular/common/http';\nimport * as Angular from '@angular/common/http';\nimport typeIs from '@browsery/type-is';\nimport {\n HttpBackend,\n HttpDownloadProgressEvent,\n HttpEvent,\n HttpEventType,\n HttpResponse,\n HttpResponseEvent,\n HttpResponseHeaderEvent,\n HttpSentEvent,\n HttpUploadProgressEvent,\n} from '@opra/client';\nimport { isBlob } from '@opra/common';\nimport { Observable } from 'rxjs';\nimport { isReadableStreamLike } from 'rxjs/internal/util/isReadableStreamLike';\nimport { StrictOmit } from 'ts-gems';\n\n/**\n *\n * @class AngularBackend\n */\nexport class AngularBackend extends HttpBackend {\n defaults: AngularBackend.RequestDefaults;\n\n constructor(\n readonly httpClient: Angular.HttpClient,\n serviceUrl: string,\n options?: AngularBackend.Options,\n ) {\n super(serviceUrl, options);\n this.defaults = {\n ...options?.defaults,\n headers:\n options?.defaults?.headers instanceof Headers\n ? options?.defaults?.headers\n : new Headers(options?.defaults?.headers),\n params:\n options?.defaults?.params instanceof URLSearchParams\n ? options?.defaults?.params\n : new URLSearchParams(options?.defaults?.params),\n };\n }\n\n handle(init: AngularBackend.RequestInit): Observable<HttpEvent> {\n const requestInit = this.prepareRequest(init);\n const request = new Angular.HttpRequest(requestInit.method, requestInit.url.toString(), {\n ...requestInit,\n headers: new HttpHeaders(requestInit.headers),\n });\n\n const _this = this;\n return new Observable<HttpEvent>(subscriber => {\n // Send request\n this.send(request).subscribe({\n next(event) {\n if (event.type === Angular.HttpEventType.Sent) {\n // Emit 'Sent' event\n subscriber.next({\n type: HttpEventType.Sent,\n request,\n } satisfies HttpSentEvent);\n return;\n }\n\n if (event.type === Angular.HttpEventType.ResponseHeader) {\n // Emit 'ResponseHeader' event\n const headersResponse = _this.createResponse({\n url: request.url,\n headers: requestInit.headers,\n status: event.status,\n statusText: event.statusText,\n hasBody: event.headers.has('Content-Type') || event.headers.has('Content-Length'),\n }) as HttpResponse<never>;\n subscriber.next({\n request,\n type: HttpEventType.ResponseHeader,\n response: headersResponse,\n } satisfies HttpResponseHeaderEvent);\n return;\n }\n\n if (event.type === Angular.HttpEventType.DownloadProgress) {\n // Emit 'DownloadProgress' event\n subscriber.next({\n request,\n type: HttpEventType.DownloadProgress,\n loaded: event.loaded,\n total: event.total,\n } satisfies HttpDownloadProgressEvent);\n }\n\n if (event.type === Angular.HttpEventType.UploadProgress) {\n // Emit 'UploadProgress' event\n subscriber.next({\n request,\n type: HttpEventType.UploadProgress,\n loaded: event.loaded,\n total: event.total,\n } satisfies HttpUploadProgressEvent);\n }\n\n if (event.type === Angular.HttpEventType.Response) {\n const headers = new Headers();\n event.headers.keys().forEach(k => headers.set(k, event.headers.get(k) || ''));\n const response = _this.createResponse({\n url: request.url,\n headers,\n status: event.status,\n statusText: event.statusText,\n hasBody: !!event.body,\n body: event.body,\n });\n // Emit 'Response' event\n subscriber.next({\n type: HttpEventType.Response,\n request,\n response,\n } satisfies HttpResponseEvent);\n }\n },\n error(error) {\n subscriber.error(error);\n },\n complete() {\n subscriber.complete();\n },\n });\n });\n }\n\n protected send(request: Angular.HttpRequest<any>) {\n return this.httpClient.request(request);\n }\n\n protected prepareRequest(init: AngularBackend.RequestInit): AngularBackend.RequestInit {\n const headers = init.headers || new Headers();\n const requestInit: AngularBackend.RequestInit = {\n ...init,\n headers,\n };\n this.defaults.headers.forEach((val, key) => {\n if (!headers.has(key)) headers.set(key, val);\n });\n const url = new URL(requestInit.url, this.serviceUrl);\n if (this.defaults.params.size) {\n this.defaults.params.forEach((val, key) => {\n if (!url.searchParams.has(key)) url.searchParams.set(key, val);\n });\n requestInit.url = url.toString();\n }\n if (requestInit.body) {\n let body: any;\n let contentType: string;\n if (\n typeof requestInit.body === 'string' ||\n typeof requestInit.body === 'number' ||\n typeof requestInit.body === 'boolean'\n ) {\n contentType = 'text/plain; charset=UTF-8\"';\n body = String(requestInit.body);\n headers.delete('Content-Size');\n } else if (isReadableStreamLike(requestInit.body)) {\n contentType = 'application/octet-stream';\n body = requestInit.body;\n } else if (Buffer.isBuffer(requestInit.body)) {\n contentType = 'application/octet-stream';\n body = requestInit.body;\n headers.set('Content-Size', String(requestInit.body.length));\n } else if (isBlob(requestInit.body)) {\n contentType = requestInit.body.type || 'application/octet-stream';\n body = requestInit.body;\n headers.set('Content-Size', String(requestInit.body.size));\n } else {\n contentType = 'application/json';\n body = JSON.stringify(requestInit.body);\n headers.delete('Content-Size');\n }\n if (!headers.has('Content-Type') && contentType) headers.set('Content-Type', contentType);\n requestInit.body = body;\n }\n return requestInit;\n }\n\n protected createResponse(init: HttpResponse.Initiator): HttpResponse {\n return new HttpResponse(init);\n }\n\n protected async parseBody(fetchResponse: Response): Promise<any> {\n let body: any;\n const contentType = fetchResponse.headers.get('Content-Type') || '';\n if (typeIs.is(contentType, ['json', 'application/*+json'])) {\n body = await fetchResponse.json();\n if (typeof body === 'string') body = JSON.parse(body);\n } else if (typeIs.is(contentType, ['text'])) body = await fetchResponse.text();\n else if (typeIs.is(contentType, ['multipart'])) body = await fetchResponse.formData();\n else {\n const buf = await fetchResponse.arrayBuffer();\n if (buf.byteLength) body = buf;\n }\n return body;\n }\n}\n\n/**\n * @namespace AngularBackend\n */\nexport namespace AngularBackend {\n export interface Options extends HttpBackend.Options {\n defaults?: RequestDefaults;\n }\n\n export interface RequestInit extends HttpBackend.RequestInit {\n context?: HttpContext;\n reportProgress?: boolean;\n params?: HttpParams;\n responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';\n withCredentials?: boolean;\n }\n\n export interface RequestOptions extends Pick<RequestInit, 'context' | 'reportProgress' | 'withCredentials'> {}\n\n export type RequestDefaults = StrictOmit<RequestOptions, 'context'> & {\n headers: Headers;\n params: URLSearchParams;\n };\n}\n","/* eslint-disable import-x/extensions */\nimport { HttpClient } from '@angular/common/http';\nimport { HttpClientBase, kBackend } from '@opra/client';\nimport { AngularBackend } from './angular-backend';\n\n/**\n *\n * @class OpraAngularClient\n */\nexport class OpraAngularClient extends HttpClientBase<AngularBackend.RequestOptions> {\n [kBackend]: AngularBackend;\n\n constructor(httpClient: HttpClient, serviceUrl: string, options?: AngularBackend.Options) {\n super(new AngularBackend(httpClient, serviceUrl, options));\n }\n\n get defaults(): AngularBackend.RequestDefaults {\n return this[kBackend].defaults;\n }\n}\n","export const OPRA_CLIENT_MODULE_OPTIONS = 'OPRA_CLIENT_MODULE_OPTIONS';\n","/* eslint-disable import-x/extensions */\nimport { HttpClient } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule, Provider, Type } from '@angular/core';\nimport { kClient } from '@opra/client';\nimport { OpraAngularClient } from './angular-client';\nimport { OPRA_CLIENT_MODULE_OPTIONS } from './constants';\nimport { OpraClientModuleAsyncOptions, OpraClientModuleOptions } from './interfaces/module-options.interface';\n\n@NgModule({})\nexport class OpraClientModule {\n public static registerClient(options: OpraClientModuleOptions): ModuleWithProviders<OpraClientModule> {\n const CLIENT_TOKEN = options.token || OpraAngularClient;\n return {\n ngModule: OpraClientModule,\n providers: [\n {\n provide: CLIENT_TOKEN,\n deps: [HttpClient],\n useFactory: (httpClient: HttpClient) => new OpraAngularClient(httpClient, options.serviceUrl, options),\n },\n ],\n };\n }\n\n public static registerService<T>(\n serviceClass: Type<T>,\n options: OpraClientModuleOptions,\n ): ModuleWithProviders<OpraClientModule> {\n const SERVICE_TOKEN = options.token || serviceClass;\n return {\n ngModule: OpraClientModule,\n providers: [\n {\n provide: SERVICE_TOKEN,\n deps: [HttpClient],\n useFactory: (httpClient: HttpClient) => {\n const opraAngularClient = new OpraAngularClient(httpClient, options.serviceUrl, options);\n const service = new serviceClass(opraAngularClient);\n service[kClient] = opraAngularClient;\n return service;\n },\n },\n ],\n };\n }\n\n public static registerClientAsync(options: OpraClientModuleAsyncOptions): ModuleWithProviders<OpraClientModule> {\n const CLIENT_TOKEN = options.token || OpraAngularClient;\n const asyncProviders = this._createAsyncProviders(options);\n return {\n ngModule: OpraClientModule,\n providers: [\n ...asyncProviders,\n {\n provide: CLIENT_TOKEN,\n deps: [HttpClient, OPRA_CLIENT_MODULE_OPTIONS],\n useFactory: (httpClient: HttpClient, opts: OpraClientModuleOptions) =>\n new OpraAngularClient(httpClient, opts.serviceUrl, opts),\n },\n ],\n };\n }\n\n public static registerServiceAsync<T>(\n serviceClass: Type<T>,\n options: OpraClientModuleAsyncOptions,\n ): ModuleWithProviders<OpraClientModule> {\n const SERVICE_TOKEN = options.token || serviceClass;\n const asyncProviders = this._createAsyncProviders(options);\n return {\n ngModule: OpraClientModule,\n providers: [\n ...asyncProviders,\n {\n provide: SERVICE_TOKEN,\n deps: [HttpClient, OPRA_CLIENT_MODULE_OPTIONS],\n useFactory: (httpClient: HttpClient, opts: OpraClientModuleOptions) => {\n const opraAngularClient = new OpraAngularClient(httpClient, opts.serviceUrl, opts);\n const service = new serviceClass(opraAngularClient);\n service[kClient] = opraAngularClient;\n return service;\n },\n },\n ],\n };\n }\n\n private static _createAsyncProviders(options: OpraClientModuleAsyncOptions): Provider[] {\n if (options.useExisting || options.useFactory) return [this._createAsyncOptionsProvider(options)];\n\n if (options.useClass) {\n return [\n this._createAsyncOptionsProvider(options),\n {\n provide: options.useClass,\n useClass: options.useClass,\n },\n ];\n }\n\n throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');\n }\n\n private static _createAsyncOptionsProvider(options: OpraClientModuleAsyncOptions): Provider {\n if (options.useFactory) {\n return {\n provide: OPRA_CLIENT_MODULE_OPTIONS,\n useFactory: options.useFactory,\n deps: options.deps || [],\n };\n }\n const useClass = options.useClass || options.useExisting;\n if (useClass) {\n return {\n provide: OPRA_CLIENT_MODULE_OPTIONS,\n useFactory: o => o,\n deps: [useClass],\n };\n }\n throw new Error('Invalid configuration. Must provide useFactory, useClass or useExisting');\n }\n}\n","/* eslint-disable import-x/extensions */\nexport * from './angular-backend';\nexport * from './client.module';\nexport * from './constants';\nexport * from './interfaces/module-options.interface';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { StrictOmit } from 'ts-gems';
2
1
  import { InjectionToken, NgModule, Type } from '@angular/core';
2
+ import type { StrictOmit } from 'ts-gems';
3
3
  import { AngularBackend } from '../angular-backend.js';
4
4
  export type OpraClientModuleOptions = AngularBackend.Options & {
5
5
  serviceUrl: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opra/angular",
3
- "version": "0.33.13",
3
+ "version": "1.0.0-alpha.10",
4
4
  "description": "Opra internationalization package",
5
5
  "author": "Panates",
6
6
  "license": "MIT",
@@ -10,9 +10,11 @@
10
10
  "directory": "packages/angular"
11
11
  },
12
12
  "peerDependencies": {
13
- "@angular/common": "15.x.x || 16.x.x || 17.x.x",
14
- "@angular/core": "15.x.x || 16.x.x || || 17.x.x",
15
- "@opra/client": "^0.33.13",
13
+ "@angular/common": ">= 15.0.0",
14
+ "@angular/core": ">= 15.0.0",
15
+ "@browsery/type-is": "^1.6.18-r3",
16
+ "@opra/client": "^1.0.0-alpha.10",
17
+ "rxjs": "^7.8.1",
16
18
  "ts-gems": "^3.0.0"
17
19
  },
18
20
  "engines": {
package/public_api.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from './interfaces/module-options.interface';
2
1
  export * from './angular-backend';
3
2
  export * from './client.module';
4
3
  export * from './constants';
4
+ export * from './interfaces/module-options.interface';