@o3r/apis-manager 11.0.0-next.0 → 11.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,10 +9,15 @@ This package is an [Otter Framework Module](https://github.com/AmadeusITGroup/ot
9
9
 
10
10
  ## Description
11
11
 
12
- This module provides services to help you communicate with your APIs. Its responsibility is to provide an API configuration to a service factory so that it could instantiate an API with the right configurations.
12
+ [![Stable Version](https://img.shields.io/npm/v/@o3r/apis-manager?style=for-the-badge)](https://www.npmjs.com/package/@o3r/apis-manager)
13
+ [![Bundle Size](https://img.shields.io/bundlephobia/min/@o3r/apis-manager?color=green&style=for-the-badge)](https://www.npmjs.com/package/@o3r/apis-manager)
13
14
 
14
- It contains a default configuration and a map of specific configurations for API / set of API.
15
- Configurations are only exposed through the method `getConfiguration`, which will merge the default configuration and the requested
15
+ This module links the SDK generated from your APIs using the [Otter generator](https://www.npmjs.com/package/@ama-sdk/schematics) to your application.
16
+ In simpler terms, it offers services to facilitate communication with your APIs.
17
+ Its responsibility is to provide an API configuration to a service factory. This enables the factory to create an API instance with the right configurations.
18
+
19
+ It contains a default configuration and a map of specific configurations for an API or a set of APIs.
20
+ Configurations are only exposed through the `getConfiguration` method, which will merge the default configuration and the requested
16
21
  one.
17
22
 
18
23
  ## How to install
@@ -21,17 +26,24 @@ one.
21
26
  ng add @o3r/apis-manager
22
27
  ```
23
28
 
24
- > **Warning**: this module requires [@o3r/core](https://www.npmjs.com/package/@o3r/core) to be installed.
29
+ > [!WARNING]
30
+ > This module requires [@o3r/core](https://www.npmjs.com/package/@o3r/core) to be installed.
25
31
 
26
32
  ## Usage
27
33
 
28
- The API Manager Module will need to be imported and configured in the **application module** which will then be used by the **ApiFactory**.
34
+ The API Manager Module (`ApiManagerModule`) needs to be imported and configured at **application level**, which will then be used by the **ApiFactory** service.
29
35
 
30
36
  ### Application side configuration
31
37
 
32
- The **ApiManager** requires the default Api Client which will be used in all the APIs and support a second parameter that allows the user to define specific Api Client per APIs.
38
+ The **ApiManager** requires the default API Client, which will be used across all APIs. It supports a second parameter that allows to define specific API Client configurations to set or override per API.
33
39
 
40
+ In the example that follows, we define the default base configuration that API classes will use, as well as a custom configuration for the 'ExampleApi'.
41
+ The plugins and fetch client come from the ``@ama-sdk/core`` module, but custom ones can be created if needed as long as they follow the ``ApiClient`` interface from ``@ama-sdk/core``. More details on ``@ama-sdk/core`` [here](https://www.npmjs.com/package/@ama-sdk/core).
34
42
  ```typescript
43
+ import { ApiFetchClient, ApiKeyRequest, JsonTokenReply, JsonTokenRequest, ReviverReply, ExceptionReply } from '@ama-sdk/core';
44
+ import { ApiManager, ApiManagerModule } from '@o3r/apis-manager';
45
+
46
+ const PROXY_SERVER = "https://your-enpoint-base-path";
35
47
  export const apiManager = new ApiManager(
36
48
  new ApiFetchClient({
37
49
  basePath: PROXY_SERVER,
@@ -39,7 +51,7 @@ export const apiManager = new ApiManager(
39
51
  }),
40
52
 
41
53
  {
42
- ExampleApi: // <--custom config for ExampleApi, using jsonToken plugins. If fields are not provided, the default ones will be taken.
54
+ ExampleApi: // <-- custom config for ExampleApi, using jsonToken plugins. If fields are not provided, the default ones (previously defined for all APIs via the ApiFetchClient, as first argument of ApiManager constructor) will be used.
43
55
  new ApiFetchClient({
44
56
  requestPlugins: [new JsonTokenRequest()],
45
57
  replyPlugins: [new ReviverReply(), new ExceptionReply(), new JsonTokenReply()]
@@ -50,14 +62,20 @@ export const apiManager = new ApiManager(
50
62
  @NgModule({
51
63
  imports: [
52
64
  ...,
53
- ApiManagerModule.forRoot(apiManager);
65
+ ApiManagerModule.forRoot(apiManager)
54
66
  ]
55
67
  })
56
68
  ```
57
69
 
58
- The **ApiManager** instance can be customized via *factory* provided to `API_TOKEN`:
70
+ The **ApiManager** instance can be customized via a *factory* function provided to the `API_TOKEN`:
59
71
 
60
72
  ```typescript
73
+ import { ApiClient, ApiFetchClient, ApiKeyRequest, Mark, PerformanceMetricPlugin } from '@ama-sdk/core';
74
+ import { ApiManager, ApiManagerModule, API_TOKEN } from '@o3r/apis-manager';
75
+ import { EventTrackService } from '@o3r/analytics';
76
+
77
+ const PROXY_SERVER = "https://your-enpoint-base-path";
78
+
61
79
  export function apiFactory(eventTrackService: EventTrackService): ApiManager {
62
80
 
63
81
  const apiConfig: ApiClient = new ApiFetchClient(
@@ -89,10 +107,11 @@ export function apiFactory(eventTrackService: EventTrackService): ApiManager {
89
107
 
90
108
  ### Retrieve API instance with configuration
91
109
 
92
- The API instances can be retrieved via the injection of the **ApiFactory** provided by the **ApiManagerModule**.
110
+ The API instances can be retrieved via the injection of the ``ApiFactoryService`` provided by the ``ApiManagerModule`` (imported at app level).
93
111
 
94
112
  ```typescript
95
113
  import { ExampleApi } from '@shared/sdk';
114
+ import { ApiFactoryService } from '@o3r/apis-manager';
96
115
 
97
116
  @Inject()
98
117
  class MyClass {
@@ -108,12 +127,10 @@ class MyClass {
108
127
  }
109
128
  ```
110
129
 
111
- > **Warning** : Do not forget to import the **ApiManagerModule** in you component module
112
-
113
130
  ### Enforce custom API usage
114
131
 
115
- Some users may want to enforce existing components or services to use a specific Sdk instead of default API SDK.
116
- To do so the **INITIAL_APIS_TOKEN** will allow to indicate to the **ApiFactory** the class they will need to use (instead of default ones).
132
+ Some users may want to enforce existing components or services to use a specific SDK instead of the default API SDK.
133
+ To do so, the ``INITIAL_APIS_TOKEN`` will allow to indicate to the ``ApiFactory`` which class it must use (instead of default ones).
117
134
 
118
135
  In the AppModule:
119
136
 
@@ -122,14 +139,14 @@ import { ExampleApi, AnotherExampleApi } from '@custom/sdk';
122
139
  import { INITIAL_APIS_TOKEN } from '@o3r/apis-manager';
123
140
 
124
141
  @NgModule({
125
- providers: {
142
+ providers: [
126
143
  { provide: INITIAL_APIS_TOKEN, useValue: [ExampleApi, AnotherExampleApi] }
127
- }
144
+ ]
128
145
  })
129
146
  class AppModule {};
130
147
  ```
131
148
 
132
- Then the following code (from an existing component) will use the custom Api:
149
+ Then the following code (from an existing component) will use the custom API:
133
150
 
134
151
  ```typescript
135
152
  import { ExampleApi } from '@shared/sdk';
@@ -142,14 +159,15 @@ class MyClass {
142
159
  }
143
160
 
144
161
  doSomething() {
145
- const exampleApi = apiFactoryService.getApi(ExampleApi); // <- retrieve example API instantiated from the @custom/sdk
162
+ const exampleApi = apiFactoryService.getApi(ExampleApi); // <- retrieve example API instantiated in @custom/sdk
146
163
  const call = exampleApi.doSomething({ ... });
147
164
  }
148
165
 
149
166
  }
150
167
  ```
151
168
 
152
- > **Note** : Even though the components that you reuse from a library are importing @shared/sdk, the ApiFactoryService will provide at runtime the one that you provided in your app module
169
+ > [!NOTE]
170
+ > Even though the components that you reuse from a library are importing @shared/sdk, the ApiFactoryService will provide at runtime the one that you provided in your app module.
153
171
 
154
172
  ### Override configuration after instantiation
155
173
 
@@ -158,6 +176,7 @@ The configuration can be overridden after the instantiation of the API.
158
176
  ```typescript
159
177
  import { ExampleApi } from '@shared/sdk';
160
178
  import { ApiFactoryService, INTERNAL_API_TOKEN } from '@o3r/apis-manager';
179
+ import { ApiFetchClient } from '@ama-sdk/core';
161
180
 
162
181
  @Injectable()
163
182
  class MyClass {
@@ -166,8 +185,8 @@ class MyClass {
166
185
  }
167
186
 
168
187
  doSomething() {
169
- this.apiManager.setConfiguration(new ApiFetchClient(), ExampleApi); // <- override configuration for Example API
170
- const exampleApi = apiFactoryService.getApi(ExampleApi, true); // <- retrieve example API with the new configuration (and update the cache)
188
+ this.apiManager.setConfiguration(new ApiFetchClient(), ExampleApi); // <- override configuration of Example API
189
+ const exampleApi = apiFactoryService.getApi(ExampleApi, true); // <- retrieve example API with the new configuration (and refresh the cache)
171
190
  }
172
191
 
173
192
  }
@@ -78,10 +78,10 @@ export class ApiFactoryService {
78
78
  getConfigFor(apiClass) {
79
79
  return this.apiManager.getConfiguration(apiClass.apiName);
80
80
  }
81
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiFactoryService, deps: [{ token: API_TOKEN }, { token: INITIAL_APIS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
82
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiFactoryService }); }
81
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ApiFactoryService, deps: [{ token: API_TOKEN }, { token: INITIAL_APIS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
82
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ApiFactoryService }); }
83
83
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiFactoryService, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ApiFactoryService, decorators: [{
85
85
  type: Injectable
86
86
  }], ctorParameters: () => [{ type: i1.ApiManager, decorators: [{
87
87
  type: Inject,
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
92
92
  type: Inject,
93
93
  args: [INITIAL_APIS_TOKEN]
94
94
  }] }] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlzLW1hbmFnZXIvYXBpLWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFLaEQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsb0JBQW9CLENBQUMsQ0FBQztBQUduRyxNQUFNLE9BQU8saUJBQWlCO0lBSzVCLFlBQWdELFVBQXNCLEVBQTBDLElBQTZCO1FBQTdGLGVBQVUsR0FBVixVQUFVLENBQVk7UUFIdEUseUJBQXlCO1FBQ2pCLGVBQVUsR0FBd0IsRUFBRSxDQUFDO1FBRzNDLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFVBQVUsQ0FBc0IsUUFBYTtRQUNuRCxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxJQUFJLE9BQU8sUUFBUSxLQUFLLFVBQVUsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBZ0IsUUFBa0QsRUFBRSxZQUFZLEdBQUcsS0FBSztRQUNuRyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxJQUFJLEtBQUssRUFBRTtZQUMxQixPQUFPLEtBQVUsQ0FBQztTQUNuQjtRQUVELG1DQUFtQztRQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQzdDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZ0JBQWdCLENBQUMsR0FBa0U7UUFDeEYsTUFBTSxRQUFRLEdBQXlDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7YUFDNUUsTUFBTSxDQUEwQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUM3RCxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQztZQUN6QixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBRWYsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixHQUFHLElBQUksQ0FBQyxVQUFVO1lBQ2xCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7aUJBQ3hCLE1BQU0sQ0FBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTtnQkFDbkQsbUNBQW1DO2dCQUNuQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQzVFLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUNULENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLElBQWdCO1FBQ2hDLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzVEO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsUUFBaUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDO2lJQTdFVSxpQkFBaUIsa0JBS1IsU0FBUyxhQUErRCxrQkFBa0I7cUlBTG5HLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVTs7MEJBTUksTUFBTTsyQkFBQyxTQUFTOzswQkFBNEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFwaSwgQXBpQ2xpZW50LCBBcGlOYW1lIH0gZnJvbSAnQGFtYS1zZGsvY29yZSc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBpTWFuYWdlciB9IGZyb20gJy4vYXBpLW1hbmFnZXInO1xuaW1wb3J0IHsgQVBJX1RPS0VOIH0gZnJvbSAnLi9hcGktbWFuYWdlci50b2tlbic7XG5cbi8qKiBUeXBlIG9mIHRoZSBDbGFzcyBvZiBhbiBTREsgQXBpICovXG5leHBvcnQgdHlwZSBBcGlDbGFzc1R5cGU8VCBleHRlbmRzIEFwaSA9IEFwaT4gPSAobmV3IChjbGllbnQ6IEFwaUNsaWVudCkgPT4gVCkgJiBBcGlOYW1lO1xuXG4vKipcbiAqIEluaXRpYWwgQVBJcyBpbnN0YW50aWF0aW9uc1xuICovXG5leHBvcnQgY29uc3QgSU5JVElBTF9BUElTX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPChBcGkgfCBBcGlDbGFzc1R5cGUpW10+KCdJbml0aWFsIEFQSXMgdG9rZW4nKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFwaUZhY3RvcnlTZXJ2aWNlIHtcblxuICAvKiogTWFwIG9mIGxvYWRlZCBBUElzICovXG4gIHByaXZhdGUgbG9hZGVkQXBpczogUmVjb3JkPHN0cmluZywgQXBpPiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVBJX1RPS0VOKSBwcml2YXRlIHJlYWRvbmx5IGFwaU1hbmFnZXI6IEFwaU1hbmFnZXIsIEBPcHRpb25hbCgpIEBJbmplY3QoSU5JVElBTF9BUElTX1RPS0VOKSBhcGlzPzogKEFwaSB8IEFwaUNsYXNzVHlwZSlbXSkge1xuICAgIGlmIChhcGlzKSB7XG4gICAgICB0aGlzLnVwZGF0ZUFwaU1hcHBpbmcoYXBpcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZSBpZiB0aGUgZ2l2ZW4gcGFyYW1ldGVyIGlzIGEgQVBJIGNsYXNzXG4gICAqIEBwYXJhbSBhcGlDbGFzcyBvYmplY3QgdG8gY2hlY2tcbiAgICovXG4gIHByaXZhdGUgaXNBcGlDbGFzczxUIGV4dGVuZHMgQXBpID0gQXBpPihhcGlDbGFzczogYW55KTogYXBpQ2xhc3MgaXMgQXBpQ2xhc3NUeXBlPFQ+IHtcbiAgICByZXR1cm4gISFhcGlDbGFzcy5hcGlOYW1lICYmIHR5cGVvZiBhcGlDbGFzcyA9PT0gJ2Z1bmN0aW9uJztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBhIHNwZWNpZmljIEFQSSB3aXRoIGxvYWRlZCBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBhcGlDbGFzcyBjbGFzcyBvZiB0aGUgQVBJIHRvIHJldHJpZXZlXG4gICAqIEBwYXJhbSByZWZyZXNoQ2FjaGUgSWdub3JlIGNhY2hlZCBBUEkgaW5zdGFuY2UgYW5kIHJlZnJlc2ggaXRcbiAgICovXG4gIHB1YmxpYyBnZXRBcGk8VCBleHRlbmRzIEFwaT4oYXBpQ2xhc3M6IChuZXcgKGNsaWVudDogQXBpQ2xpZW50KSA9PiBUKSAmIEFwaU5hbWUsIHJlZnJlc2hDYWNoZSA9IGZhbHNlKTogVCB7XG4gICAgY29uc3QgY2FjaGUgPSB0aGlzLmxvYWRlZEFwaXNbYXBpQ2xhc3MuYXBpTmFtZV07XG4gICAgaWYgKCFyZWZyZXNoQ2FjaGUgJiYgY2FjaGUpIHtcbiAgICAgIHJldHVybiBjYWNoZSBhcyBUO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgYXBpQ2xhc3ModGhpcy5nZXRDb25maWdGb3IoYXBpQ2xhc3MpKTtcbiAgICB0aGlzLmxvYWRlZEFwaXNbYXBpQ2xhc3MuYXBpTmFtZV0gPSBpbnN0YW5jZTtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBNYXAgb2YgbG9hZGVkIEFQSXMuXG4gICAqIE5vdGU6IENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBhIHNwZWNpZmljIEFQSVxuICAgKiBAcGFyYW0gbWFwIE1hcCBvZiBsb2FkZWQgQVBJcyB0byB1cGRhdGVcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVBcGlNYXBwaW5nKG1hcDogKEFwaSB8IEFwaUNsYXNzVHlwZSlbXSB8IFJlY29yZDxzdHJpbmcsIChBcGkgfCBBcGlDbGFzc1R5cGUpPikge1xuICAgIGNvbnN0IG5ld0l0ZW1zOiBSZWNvcmQ8c3RyaW5nLCAoQXBpIHwgQXBpQ2xhc3NUeXBlKT4gPSBBcnJheS5pc0FycmF5KG1hcCkgPyBtYXBcbiAgICAgIC5yZWR1Y2U8UmVjb3JkPHN0cmluZywgQXBpIHwgQXBpQ2xhc3NUeXBlPEFwaT4+PigoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgIGFjY1tjdXJyLmFwaU5hbWVdID0gY3VycjtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KSA6IG1hcDtcblxuICAgIHRoaXMubG9hZGVkQXBpcyA9IHtcbiAgICAgIC4uLnRoaXMubG9hZGVkQXBpcyxcbiAgICAgIC4uLk9iamVjdC5lbnRyaWVzKG5ld0l0ZW1zKVxuICAgICAgICAucmVkdWNlPFJlY29yZDxzdHJpbmcsIEFwaT4+KChhY2MsIFthcGlOYW1lLCBhcGldKSA9PiB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5ldy1jYXBcbiAgICAgICAgICBhY2NbYXBpTmFtZV0gPSB0aGlzLmlzQXBpQ2xhc3MoYXBpKSA/IG5ldyBhcGkodGhpcy5nZXRDb25maWdGb3IoYXBpKSkgOiBhcGk7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30pXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciB0aGUgY2FjaGUgb2YgbG9hZGVkIEFQSXNcbiAgICogQHBhcmFtIGFwaXMgV2hpdGVsaXN0IG9mIEFQSXMgdG8gY2xlYXIgZnJvbSB0aGUgY2FjaGUsIGlmIHNwZWNpZmllZCBvbmx5IHRoZXNlIGFwaXMgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIGNhY2hlXG4gICAqL1xuICBwdWJsaWMgY2xlYXJDYWNoZShhcGlzPzogQXBpTmFtZVtdKSB7XG4gICAgaWYgKGFwaXMpIHtcbiAgICAgIGFwaXMuZm9yRWFjaCgoYXBpKSA9PiBkZWxldGUgdGhpcy5sb2FkZWRBcGlzW2FwaS5hcGlOYW1lXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9hZGVkQXBpcyA9IHt9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgYSBzcGVjaWZpYyBBUElcbiAgICogQHBhcmFtIGFwaUNsYXNzIGNsYXNzIG9mIHRoZSBBUEkgZm9yIHdoaWNoIHJldHJpZXZpbmcgdGhlIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBnZXRDb25maWdGb3IoYXBpQ2xhc3M6IEFwaU5hbWUpOiBBcGlDbGllbnQge1xuICAgIHJldHVybiB0aGlzLmFwaU1hbmFnZXIuZ2V0Q29uZmlndXJhdGlvbihhcGlDbGFzcy5hcGlOYW1lKTtcbiAgfVxufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlzLW1hbmFnZXIvYXBpLWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFLaEQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsb0JBQW9CLENBQUMsQ0FBQztBQUduRyxNQUFNLE9BQU8saUJBQWlCO0lBSzVCLFlBQWdELFVBQXNCLEVBQTBDLElBQTZCO1FBQTdGLGVBQVUsR0FBVixVQUFVLENBQVk7UUFIdEUseUJBQXlCO1FBQ2pCLGVBQVUsR0FBd0IsRUFBRSxDQUFDO1FBRzNDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxVQUFVLENBQXNCLFFBQWE7UUFDbkQsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxPQUFPLFFBQVEsS0FBSyxVQUFVLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQWdCLFFBQWtELEVBQUUsWUFBWSxHQUFHLEtBQUs7UUFDbkcsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUMzQixPQUFPLEtBQVUsQ0FBQztRQUNwQixDQUFDO1FBRUQsbUNBQW1DO1FBQ25DLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDN0MsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxnQkFBZ0IsQ0FBQyxHQUFrRTtRQUN4RixNQUFNLFFBQVEsR0FBeUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRzthQUM1RSxNQUFNLENBQTBDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzdELEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFZixJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLEdBQUcsSUFBSSxDQUFDLFVBQVU7WUFDbEIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztpQkFDeEIsTUFBTSxDQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO2dCQUNuRCxtQ0FBbUM7Z0JBQ25DLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDNUUsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDO1NBQ1QsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsSUFBZ0I7UUFDaEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksWUFBWSxDQUFDLFFBQWlCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQztpSUE3RVUsaUJBQWlCLGtCQUtSLFNBQVMsYUFBK0Qsa0JBQWtCO3FJQUxuRyxpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQU1JLE1BQU07MkJBQUMsU0FBUzs7MEJBQTRDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBcGksIEFwaUNsaWVudCwgQXBpTmFtZSB9IGZyb20gJ0BhbWEtc2RrL2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwaU1hbmFnZXIgfSBmcm9tICcuL2FwaS1tYW5hZ2VyJztcbmltcG9ydCB7IEFQSV9UT0tFTiB9IGZyb20gJy4vYXBpLW1hbmFnZXIudG9rZW4nO1xuXG4vKiogVHlwZSBvZiB0aGUgQ2xhc3Mgb2YgYW4gU0RLIEFwaSAqL1xuZXhwb3J0IHR5cGUgQXBpQ2xhc3NUeXBlPFQgZXh0ZW5kcyBBcGkgPSBBcGk+ID0gKG5ldyAoY2xpZW50OiBBcGlDbGllbnQpID0+IFQpICYgQXBpTmFtZTtcblxuLyoqXG4gKiBJbml0aWFsIEFQSXMgaW5zdGFudGlhdGlvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IElOSVRJQUxfQVBJU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjwoQXBpIHwgQXBpQ2xhc3NUeXBlKVtdPignSW5pdGlhbCBBUElzIHRva2VuJyk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcGlGYWN0b3J5U2VydmljZSB7XG5cbiAgLyoqIE1hcCBvZiBsb2FkZWQgQVBJcyAqL1xuICBwcml2YXRlIGxvYWRlZEFwaXM6IFJlY29yZDxzdHJpbmcsIEFwaT4gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQSV9UT0tFTikgcHJpdmF0ZSByZWFkb25seSBhcGlNYW5hZ2VyOiBBcGlNYW5hZ2VyLCBAT3B0aW9uYWwoKSBASW5qZWN0KElOSVRJQUxfQVBJU19UT0tFTikgYXBpcz86IChBcGkgfCBBcGlDbGFzc1R5cGUpW10pIHtcbiAgICBpZiAoYXBpcykge1xuICAgICAgdGhpcy51cGRhdGVBcGlNYXBwaW5nKGFwaXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgaWYgdGhlIGdpdmVuIHBhcmFtZXRlciBpcyBhIEFQSSBjbGFzc1xuICAgKiBAcGFyYW0gYXBpQ2xhc3Mgb2JqZWN0IHRvIGNoZWNrXG4gICAqL1xuICBwcml2YXRlIGlzQXBpQ2xhc3M8VCBleHRlbmRzIEFwaSA9IEFwaT4oYXBpQ2xhc3M6IGFueSk6IGFwaUNsYXNzIGlzIEFwaUNsYXNzVHlwZTxUPiB7XG4gICAgcmV0dXJuICEhYXBpQ2xhc3MuYXBpTmFtZSAmJiB0eXBlb2YgYXBpQ2xhc3MgPT09ICdmdW5jdGlvbic7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgYSBzcGVjaWZpYyBBUEkgd2l0aCBsb2FkZWQgY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0gYXBpQ2xhc3MgY2xhc3Mgb2YgdGhlIEFQSSB0byByZXRyaWV2ZVxuICAgKiBAcGFyYW0gcmVmcmVzaENhY2hlIElnbm9yZSBjYWNoZWQgQVBJIGluc3RhbmNlIGFuZCByZWZyZXNoIGl0XG4gICAqL1xuICBwdWJsaWMgZ2V0QXBpPFQgZXh0ZW5kcyBBcGk+KGFwaUNsYXNzOiAobmV3IChjbGllbnQ6IEFwaUNsaWVudCkgPT4gVCkgJiBBcGlOYW1lLCByZWZyZXNoQ2FjaGUgPSBmYWxzZSk6IFQge1xuICAgIGNvbnN0IGNhY2hlID0gdGhpcy5sb2FkZWRBcGlzW2FwaUNsYXNzLmFwaU5hbWVdO1xuICAgIGlmICghcmVmcmVzaENhY2hlICYmIGNhY2hlKSB7XG4gICAgICByZXR1cm4gY2FjaGUgYXMgVDtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbmV3LWNhcFxuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IGFwaUNsYXNzKHRoaXMuZ2V0Q29uZmlnRm9yKGFwaUNsYXNzKSk7XG4gICAgdGhpcy5sb2FkZWRBcGlzW2FwaUNsYXNzLmFwaU5hbWVdID0gaW5zdGFuY2U7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgTWFwIG9mIGxvYWRlZCBBUElzLlxuICAgKiBOb3RlOiBDYW4gYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgYSBzcGVjaWZpYyBBUElcbiAgICogQHBhcmFtIG1hcCBNYXAgb2YgbG9hZGVkIEFQSXMgdG8gdXBkYXRlXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlQXBpTWFwcGluZyhtYXA6IChBcGkgfCBBcGlDbGFzc1R5cGUpW10gfCBSZWNvcmQ8c3RyaW5nLCAoQXBpIHwgQXBpQ2xhc3NUeXBlKT4pIHtcbiAgICBjb25zdCBuZXdJdGVtczogUmVjb3JkPHN0cmluZywgKEFwaSB8IEFwaUNsYXNzVHlwZSk+ID0gQXJyYXkuaXNBcnJheShtYXApID8gbWFwXG4gICAgICAucmVkdWNlPFJlY29yZDxzdHJpbmcsIEFwaSB8IEFwaUNsYXNzVHlwZTxBcGk+Pj4oKGFjYywgY3VycikgPT4ge1xuICAgICAgICBhY2NbY3Vyci5hcGlOYW1lXSA9IGN1cnI7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSkgOiBtYXA7XG5cbiAgICB0aGlzLmxvYWRlZEFwaXMgPSB7XG4gICAgICAuLi50aGlzLmxvYWRlZEFwaXMsXG4gICAgICAuLi5PYmplY3QuZW50cmllcyhuZXdJdGVtcylcbiAgICAgICAgLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBBcGk+PigoYWNjLCBbYXBpTmFtZSwgYXBpXSkgPT4ge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgICAgICAgYWNjW2FwaU5hbWVdID0gdGhpcy5pc0FwaUNsYXNzKGFwaSkgPyBuZXcgYXBpKHRoaXMuZ2V0Q29uZmlnRm9yKGFwaSkpIDogYXBpO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9KVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgdGhlIGNhY2hlIG9mIGxvYWRlZCBBUElzXG4gICAqIEBwYXJhbSBhcGlzIFdoaXRlbGlzdCBvZiBBUElzIHRvIGNsZWFyIGZyb20gdGhlIGNhY2hlLCBpZiBzcGVjaWZpZWQgb25seSB0aGVzZSBhcGlzIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSBjYWNoZVxuICAgKi9cbiAgcHVibGljIGNsZWFyQ2FjaGUoYXBpcz86IEFwaU5hbWVbXSkge1xuICAgIGlmIChhcGlzKSB7XG4gICAgICBhcGlzLmZvckVhY2goKGFwaSkgPT4gZGVsZXRlIHRoaXMubG9hZGVkQXBpc1thcGkuYXBpTmFtZV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvYWRlZEFwaXMgPSB7fTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGEgc3BlY2lmaWMgQVBJXG4gICAqIEBwYXJhbSBhcGlDbGFzcyBjbGFzcyBvZiB0aGUgQVBJIGZvciB3aGljaCByZXRyaWV2aW5nIHRoZSBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29uZmlnRm9yKGFwaUNsYXNzOiBBcGlOYW1lKTogQXBpQ2xpZW50IHtcbiAgICByZXR1cm4gdGhpcy5hcGlNYW5hZ2VyLmdldENvbmZpZ3VyYXRpb24oYXBpQ2xhc3MuYXBpTmFtZSk7XG4gIH1cbn1cbiJdfQ==
@@ -12,4 +12,4 @@ export function appendPreconnect(baseUrl, supportCrossOrigin = true) {
12
12
  }
13
13
  document.head.appendChild(preConnectLink);
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlzLW1hbmFnZXIvYXBpLW1hbmFnZXIuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQWUsRUFBRSxrQkFBa0IsR0FBRyxJQUFJO0lBQ3pFLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEQsY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDakQsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0MsSUFBSSxrQkFBa0IsRUFBRTtRQUN0QixjQUFjLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUNoRDtJQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFkZCBhIHByZWNvbm5lY3QgYDxsaW5rPmAgZWxlbWVudCB0byB0aGUgRE9NXG4gKiBAcGFyYW0gYmFzZVVybCB0aGUgb3JpZ2luIGhyZWZcbiAqIEBwYXJhbSBzdXBwb3J0Q3Jvc3NPcmlnaW4gYWRkIGNyb3Nzb3JpZ2luIGF0dHJpYnV0ZSB0byB0aGUgbGluayBlbGVtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRQcmVjb25uZWN0KGJhc2VVcmw6IHN0cmluZywgc3VwcG9ydENyb3NzT3JpZ2luID0gdHJ1ZSk6IHZvaWQge1xuICBjb25zdCBwcmVDb25uZWN0TGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgcHJlQ29ubmVjdExpbmsuc2V0QXR0cmlidXRlKCdyZWwnLCAncHJlY29ubmVjdCcpO1xuICBwcmVDb25uZWN0TGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBiYXNlVXJsKTtcbiAgaWYgKHN1cHBvcnRDcm9zc09yaWdpbikge1xuICAgIHByZUNvbm5lY3RMaW5rLnNldEF0dHJpYnV0ZSgnY3Jvc3NvcmlnaW4nLCAnJyk7XG4gIH1cbiAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChwcmVDb25uZWN0TGluayk7XG59XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlzLW1hbmFnZXIvYXBpLW1hbmFnZXIuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQWUsRUFBRSxrQkFBa0IsR0FBRyxJQUFJO0lBQ3pFLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEQsY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDakQsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0MsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3ZCLGNBQWMsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBZGQgYSBwcmVjb25uZWN0IGA8bGluaz5gIGVsZW1lbnQgdG8gdGhlIERPTVxuICogQHBhcmFtIGJhc2VVcmwgdGhlIG9yaWdpbiBocmVmXG4gKiBAcGFyYW0gc3VwcG9ydENyb3NzT3JpZ2luIGFkZCBjcm9zc29yaWdpbiBhdHRyaWJ1dGUgdG8gdGhlIGxpbmsgZWxlbWVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kUHJlY29ubmVjdChiYXNlVXJsOiBzdHJpbmcsIHN1cHBvcnRDcm9zc09yaWdpbiA9IHRydWUpOiB2b2lkIHtcbiAgY29uc3QgcHJlQ29ubmVjdExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gIHByZUNvbm5lY3RMaW5rLnNldEF0dHJpYnV0ZSgncmVsJywgJ3ByZWNvbm5lY3QnKTtcbiAgcHJlQ29ubmVjdExpbmsuc2V0QXR0cmlidXRlKCdocmVmJywgYmFzZVVybCk7XG4gIGlmIChzdXBwb3J0Q3Jvc3NPcmlnaW4pIHtcbiAgICBwcmVDb25uZWN0TGluay5zZXRBdHRyaWJ1dGUoJ2Nyb3Nzb3JpZ2luJywgJycpO1xuICB9XG4gIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocHJlQ29ubmVjdExpbmspO1xufVxuIl19
@@ -41,4 +41,4 @@ export class ApiManager {
41
41
  }
42
42
  }
43
43
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpcy1tYW5hZ2VyL2FwaS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFJckI7OztPQUdHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxFQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFVLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksb0JBQStCLEVBQUUsb0JBQWtELEVBQUU7UUFDL0YsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQ2pELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZ0JBQWdCLENBQUMsR0FBWTtRQUNsQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ3pFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZ0JBQWdCLENBQUMsU0FBb0IsRUFBRSxHQUFZO1FBQ3hELElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQztTQUN6QzthQUFNO1lBQ0wsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztTQUN2QztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXBpQ2xpZW50IH0gZnJvbSAnQGFtYS1zZGsvY29yZSc7XG5cbi8qKlxuICogQXBpIG1hbmFnZXIgaXMgcmVzcG9uc2libGUgdG8gcHJvdmlkZSBhbiBhcGkgY29uZmlndXJhdGlvbiB0byBhIHNlcnZpY2UgZmFjdG9yeSwgc28gdGhhdCBpdCBjb3VsZCBpbnN0YW50aWF0ZSBhbiBBUElcbiAqIHdpdGggdGhlIHJpZ2h0IHBhcmFtZXRlcnMuIEl0IGNvbnRhaW5zIGEgZGVmYXVsdCBjb25maWd1cmF0aW9uIGFuZCBhIG1hcCBvZiBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyBmb3IgQVBJIC8gc2V0IG9mXG4gKiBBUEkuIENvbmZpZ3VyYXRpb25zIGFyZSBvbmx5IGV4cG9zZWQgdGhyb3VnaCB0aGUgbWV0aG9kIGdldENvbmZpZ3VyYXRpb24sIHdoaWNoIHdpbGwgbWVyZ2UgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICogYW5kIHRoZSByZXF1ZXN0ZWQgb25lLlxuICovXG5leHBvcnQgY2xhc3MgQXBpTWFuYWdlciB7XG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZ3VyYXRpb246IEFwaUNsaWVudDtcbiAgcHJpdmF0ZSBhcGlDb25maWd1cmF0aW9uczogeyBba2V5OiBzdHJpbmddOiBBcGlDbGllbnQgfTtcblxuICAvKipcbiAgICogTWFwIG9mIHJlZ2lzdGVyZWQgQXBpIENsaWVudCBhc3NvY2lhdGVkIHRvIHNwZWNpZmljIEFQSVxuICAgKiBAd2FybmluZyBUaGlzIHNob3VsZCBub3QgYmUgdXNlZCB0byBnZXQgdGhlIEFwaUNsaWVudCBmb3IgYW4gQVBJLCB0aGUgZnVuY3Rpb24gZ2V0Q29uZmlndXJhdGlvbigpIHNob3VsZCBiZSB1c2VkIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyBnZXQgcmVnaXN0ZXJlZEFwaUNvbmZpZ3VyYXRpb25zKCkge1xuICAgIHJldHVybiB7Li4udGhpcy5hcGlDb25maWd1cmF0aW9uc30gYXMgY29uc3Q7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIEFQSSBtYW5hZ2VyIHVzaW5nIGEgY3VzdG9tIEFwaUNsaWVudFxuICAgKiBAcGFyYW0gZGVmYXVsdENvbmZpZ3VyYXRpb25cbiAgICovXG4gIGNvbnN0cnVjdG9yKGRlZmF1bHRDb25maWd1cmF0aW9uOiBBcGlDbGllbnQsIGFwaUNvbmZpZ3VyYXRpb25zOiB7IFtrZXk6IHN0cmluZ106IEFwaUNsaWVudCB9ID0ge30pIHtcbiAgICB0aGlzLmRlZmF1bHRDb25maWd1cmF0aW9uID0gZGVmYXVsdENvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5hcGlDb25maWd1cmF0aW9ucyA9IGFwaUNvbmZpZ3VyYXRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGEgY29uZmlndXJhdGlvbiBmb3IgYSBzcGVjaWZpYyBBUElcbiAgICogQHBhcmFtIGFwaSBBUEkgdG8gZ2V0IHRoZSBjb25maWd1cmF0aW9uIGZvclxuICAgKi9cbiAgcHVibGljIGdldENvbmZpZ3VyYXRpb24oYXBpPzogc3RyaW5nKTogQXBpQ2xpZW50IHtcbiAgICByZXR1cm4gYXBpICYmIHRoaXMuYXBpQ29uZmlndXJhdGlvbnNbYXBpXSB8fCB0aGlzLmRlZmF1bHRDb25maWd1cmF0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBvciBvdmVycmlkZSBBUEkgY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0gYXBpQ2xpZW50IEFQSSBjb25maWd1cmF0aW9uIHRvIG92ZXJyaWRlIHRvIHRoZSBnaXZlbiBhcGlcbiAgICogQHBhcmFtIGFwaSBBUEkgbmFtZSB0byBvdmVycmlkZSwgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aWxsIGJlIHVzZWQgaWYgbm90IHNwZWNpZmllZFxuICAgKi9cbiAgcHVibGljIHNldENvbmZpZ3VyYXRpb24oYXBpQ2xpZW50OiBBcGlDbGllbnQsIGFwaT86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChhcGkpIHtcbiAgICAgIHRoaXMuYXBpQ29uZmlndXJhdGlvbnNbYXBpXSA9IGFwaUNsaWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlndXJhdGlvbiA9IGFwaUNsaWVudDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpcy1tYW5hZ2VyL2FwaS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFJckI7OztPQUdHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxFQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFVLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksb0JBQStCLEVBQUUsb0JBQWtELEVBQUU7UUFDL0YsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQ2pELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZ0JBQWdCLENBQUMsR0FBWTtRQUNsQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ3pFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZ0JBQWdCLENBQUMsU0FBb0IsRUFBRSxHQUFZO1FBQ3hELElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzFDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBcGlDbGllbnQgfSBmcm9tICdAYW1hLXNkay9jb3JlJztcblxuLyoqXG4gKiBBcGkgbWFuYWdlciBpcyByZXNwb25zaWJsZSB0byBwcm92aWRlIGFuIGFwaSBjb25maWd1cmF0aW9uIHRvIGEgc2VydmljZSBmYWN0b3J5LCBzbyB0aGF0IGl0IGNvdWxkIGluc3RhbnRpYXRlIGFuIEFQSVxuICogd2l0aCB0aGUgcmlnaHQgcGFyYW1ldGVycy4gSXQgY29udGFpbnMgYSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gYW5kIGEgbWFwIG9mIHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIGZvciBBUEkgLyBzZXQgb2ZcbiAqIEFQSS4gQ29uZmlndXJhdGlvbnMgYXJlIG9ubHkgZXhwb3NlZCB0aHJvdWdoIHRoZSBtZXRob2QgZ2V0Q29uZmlndXJhdGlvbiwgd2hpY2ggd2lsbCBtZXJnZSB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gKiBhbmQgdGhlIHJlcXVlc3RlZCBvbmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcGlNYW5hZ2VyIHtcbiAgcHJpdmF0ZSBkZWZhdWx0Q29uZmlndXJhdGlvbjogQXBpQ2xpZW50O1xuICBwcml2YXRlIGFwaUNvbmZpZ3VyYXRpb25zOiB7IFtrZXk6IHN0cmluZ106IEFwaUNsaWVudCB9O1xuXG4gIC8qKlxuICAgKiBNYXAgb2YgcmVnaXN0ZXJlZCBBcGkgQ2xpZW50IGFzc29jaWF0ZWQgdG8gc3BlY2lmaWMgQVBJXG4gICAqIEB3YXJuaW5nIFRoaXMgc2hvdWxkIG5vdCBiZSB1c2VkIHRvIGdldCB0aGUgQXBpQ2xpZW50IGZvciBhbiBBUEksIHRoZSBmdW5jdGlvbiBnZXRDb25maWd1cmF0aW9uKCkgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIGdldCByZWdpc3RlcmVkQXBpQ29uZmlndXJhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHsuLi50aGlzLmFwaUNvbmZpZ3VyYXRpb25zfSBhcyBjb25zdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gQVBJIG1hbmFnZXIgdXNpbmcgYSBjdXN0b20gQXBpQ2xpZW50XG4gICAqIEBwYXJhbSBkZWZhdWx0Q29uZmlndXJhdGlvblxuICAgKi9cbiAgY29uc3RydWN0b3IoZGVmYXVsdENvbmZpZ3VyYXRpb246IEFwaUNsaWVudCwgYXBpQ29uZmlndXJhdGlvbnM6IHsgW2tleTogc3RyaW5nXTogQXBpQ2xpZW50IH0gPSB7fSkge1xuICAgIHRoaXMuZGVmYXVsdENvbmZpZ3VyYXRpb24gPSBkZWZhdWx0Q29uZmlndXJhdGlvbjtcbiAgICB0aGlzLmFwaUNvbmZpZ3VyYXRpb25zID0gYXBpQ29uZmlndXJhdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgYSBjb25maWd1cmF0aW9uIGZvciBhIHNwZWNpZmljIEFQSVxuICAgKiBAcGFyYW0gYXBpIEFQSSB0byBnZXQgdGhlIGNvbmZpZ3VyYXRpb24gZm9yXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29uZmlndXJhdGlvbihhcGk/OiBzdHJpbmcpOiBBcGlDbGllbnQge1xuICAgIHJldHVybiBhcGkgJiYgdGhpcy5hcGlDb25maWd1cmF0aW9uc1thcGldIHx8IHRoaXMuZGVmYXVsdENvbmZpZ3VyYXRpb247XG4gIH1cblxuICAvKipcbiAgICogU2V0IG9yIG92ZXJyaWRlIEFQSSBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBhcGlDbGllbnQgQVBJIGNvbmZpZ3VyYXRpb24gdG8gb3ZlcnJpZGUgdG8gdGhlIGdpdmVuIGFwaVxuICAgKiBAcGFyYW0gYXBpIEFQSSBuYW1lIHRvIG92ZXJyaWRlLCB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIHdpbGwgYmUgdXNlZCBpZiBub3Qgc3BlY2lmaWVkXG4gICAqL1xuICBwdWJsaWMgc2V0Q29uZmlndXJhdGlvbihhcGlDbGllbnQ6IEFwaUNsaWVudCwgYXBpPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGFwaSkge1xuICAgICAgdGhpcy5hcGlDb25maWd1cmF0aW9uc1thcGldID0gYXBpQ2xpZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlZmF1bHRDb25maWd1cmF0aW9uID0gYXBpQ2xpZW50O1xuICAgIH1cbiAgfVxufVxuIl19
@@ -17,13 +17,13 @@ export class ApiManagerModule {
17
17
  ]
18
18
  };
19
19
  }
20
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ApiManagerModule }); }
22
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiManagerModule, providers: [
20
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ApiManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: ApiManagerModule }); }
22
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ApiManagerModule, providers: [
23
23
  ApiFactoryService
24
24
  ] }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiManagerModule, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ApiManagerModule, decorators: [{
27
27
  type: NgModule,
28
28
  args: [{
29
29
  providers: [
@@ -125,10 +125,10 @@ class ApiFactoryService {
125
125
  getConfigFor(apiClass) {
126
126
  return this.apiManager.getConfiguration(apiClass.apiName);
127
127
  }
128
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiFactoryService, deps: [{ token: API_TOKEN }, { token: INITIAL_APIS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
129
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiFactoryService }); }
128
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ApiFactoryService, deps: [{ token: API_TOKEN }, { token: INITIAL_APIS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
129
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ApiFactoryService }); }
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiFactoryService, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ApiFactoryService, decorators: [{
132
132
  type: Injectable
133
133
  }], ctorParameters: () => [{ type: ApiManager, decorators: [{
134
134
  type: Inject,
@@ -155,13 +155,13 @@ class ApiManagerModule {
155
155
  ]
156
156
  };
157
157
  }
158
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
159
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ApiManagerModule }); }
160
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiManagerModule, providers: [
158
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ApiManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
159
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: ApiManagerModule }); }
160
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ApiManagerModule, providers: [
161
161
  ApiFactoryService
162
162
  ] }); }
163
163
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiManagerModule, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ApiManagerModule, decorators: [{
165
165
  type: NgModule,
166
166
  args: [{
167
167
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"o3r-apis-manager.mjs","sources":["../../src/apis-manager/api-manager.ts","../../src/apis-manager/api-manager.token.ts","../../src/apis-manager/api-factory.service.ts","../../src/apis-manager/api-manager.module.ts","../../src/apis-manager/api-manager.helpers.ts","../../src/o3r-apis-manager.ts"],"sourcesContent":["import type { ApiClient } from '@ama-sdk/core';\n\n/**\n * Api manager is responsible to provide an api configuration to a service factory, so that it could instantiate an API\n * with the right parameters. It contains a default configuration and a map of specific configurations for API / set of\n * API. Configurations are only exposed through the method getConfiguration, which will merge the default configuration\n * and the requested one.\n */\nexport class ApiManager {\n private defaultConfiguration: ApiClient;\n private apiConfigurations: { [key: string]: ApiClient };\n\n /**\n * Map of registered Api Client associated to specific API\n * @warning This should not be used to get the ApiClient for an API, the function getConfiguration() should be used instead\n */\n public get registeredApiConfigurations() {\n return {...this.apiConfigurations} as const;\n }\n\n /**\n * Create an API manager using a custom ApiClient\n * @param defaultConfiguration\n */\n constructor(defaultConfiguration: ApiClient, apiConfigurations: { [key: string]: ApiClient } = {}) {\n this.defaultConfiguration = defaultConfiguration;\n this.apiConfigurations = apiConfigurations;\n }\n\n /**\n * Retrieve a configuration for a specific API\n * @param api API to get the configuration for\n */\n public getConfiguration(api?: string): ApiClient {\n return api && this.apiConfigurations[api] || this.defaultConfiguration;\n }\n\n /**\n * Set or override API configuration\n * @param apiClient API configuration to override to the given api\n * @param api API name to override, the default configuration will be used if not specified\n */\n public setConfiguration(apiClient: ApiClient, api?: string): void {\n if (api) {\n this.apiConfigurations[api] = apiClient;\n } else {\n this.defaultConfiguration = apiClient;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { ApiManager } from './api-manager';\n\n/**\n * Token used by the core library to provide an Api manager to services. It can be provided in the app.\n */\nexport const API_TOKEN = new InjectionToken<ApiManager>('Custom API manager token');\n","import type { Api, ApiClient, ApiName } from '@ama-sdk/core';\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\nimport { ApiManager } from './api-manager';\nimport { API_TOKEN } from './api-manager.token';\n\n/** Type of the Class of an SDK Api */\nexport type ApiClassType<T extends Api = Api> = (new (client: ApiClient) => T) & ApiName;\n\n/**\n * Initial APIs instantiations\n */\nexport const INITIAL_APIS_TOKEN = new InjectionToken<(Api | ApiClassType)[]>('Initial APIs token');\n\n@Injectable()\nexport class ApiFactoryService {\n\n /** Map of loaded APIs */\n private loadedApis: Record<string, Api> = {};\n\n constructor(@Inject(API_TOKEN) private readonly apiManager: ApiManager, @Optional() @Inject(INITIAL_APIS_TOKEN) apis?: (Api | ApiClassType)[]) {\n if (apis) {\n this.updateApiMapping(apis);\n }\n }\n\n /**\n * Determine if the given parameter is a API class\n * @param apiClass object to check\n */\n private isApiClass<T extends Api = Api>(apiClass: any): apiClass is ApiClassType<T> {\n return !!apiClass.apiName && typeof apiClass === 'function';\n }\n\n /**\n * Retrieve a specific API with loaded configuration\n * @param apiClass class of the API to retrieve\n * @param refreshCache Ignore cached API instance and refresh it\n */\n public getApi<T extends Api>(apiClass: (new (client: ApiClient) => T) & ApiName, refreshCache = false): T {\n const cache = this.loadedApis[apiClass.apiName];\n if (!refreshCache && cache) {\n return cache as T;\n }\n\n // eslint-disable-next-line new-cap\n const instance = new apiClass(this.getConfigFor(apiClass));\n this.loadedApis[apiClass.apiName] = instance;\n return instance;\n }\n\n /**\n * Update the Map of loaded APIs.\n * Note: Can be used to override the a specific API\n * @param map Map of loaded APIs to update\n */\n public updateApiMapping(map: (Api | ApiClassType)[] | Record<string, (Api | ApiClassType)>) {\n const newItems: Record<string, (Api | ApiClassType)> = Array.isArray(map) ? map\n .reduce<Record<string, Api | ApiClassType<Api>>>((acc, curr) => {\n acc[curr.apiName] = curr;\n return acc;\n }, {}) : map;\n\n this.loadedApis = {\n ...this.loadedApis,\n ...Object.entries(newItems)\n .reduce<Record<string, Api>>((acc, [apiName, api]) => {\n // eslint-disable-next-line new-cap\n acc[apiName] = this.isApiClass(api) ? new api(this.getConfigFor(api)) : api;\n return acc;\n }, {})\n };\n }\n\n /**\n * Clear the cache of loaded APIs\n * @param apis Whitelist of APIs to clear from the cache, if specified only these apis will be removed from the cache\n */\n public clearCache(apis?: ApiName[]) {\n if (apis) {\n apis.forEach((api) => delete this.loadedApis[api.apiName]);\n } else {\n this.loadedApis = {};\n }\n }\n\n /**\n * Retrieve the configuration for a specific API\n * @param apiClass class of the API for which retrieving the configuration\n */\n public getConfigFor(apiClass: ApiName): ApiClient {\n return this.apiManager.getConfiguration(apiClass.apiName);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ApiFactoryService } from './api-factory.service';\nimport { ApiManager } from './api-manager';\nimport { API_TOKEN } from './api-manager.token';\n\n// Module that needs to be imported by the application to instantiate an SDK configuration.\n@NgModule({\n providers: [\n ApiFactoryService\n ]\n})\nexport class ApiManagerModule {\n /**\n * Provide a custom apiManager\n * A factory can be provided via injection to the token API_TOKEN\n * @param apiManager\n */\n public static forRoot(apiManager: ApiManager): ModuleWithProviders<ApiManagerModule> {\n return {\n ngModule: ApiManagerModule,\n providers: [\n { provide: API_TOKEN, useValue: apiManager }\n ]\n };\n }\n}\n","/**\n * Add a preconnect `<link>` element to the DOM\n * @param baseUrl the origin href\n * @param supportCrossOrigin add crossorigin attribute to the link element\n */\nexport function appendPreconnect(baseUrl: string, supportCrossOrigin = true): void {\n const preConnectLink = document.createElement('link');\n preConnectLink.setAttribute('rel', 'preconnect');\n preConnectLink.setAttribute('href', baseUrl);\n if (supportCrossOrigin) {\n preConnectLink.setAttribute('crossorigin', '');\n }\n document.head.appendChild(preConnectLink);\n}\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":"o3r-apis-manager.mjs","sources":["../../src/apis-manager/api-manager.ts","../../src/apis-manager/api-manager.token.ts","../../src/apis-manager/api-factory.service.ts","../../src/apis-manager/api-manager.module.ts","../../src/apis-manager/api-manager.helpers.ts","../../src/o3r-apis-manager.ts"],"sourcesContent":["import type { ApiClient } from '@ama-sdk/core';\n\n/**\n * Api manager is responsible to provide an api configuration to a service factory, so that it could instantiate an API\n * with the right parameters. It contains a default configuration and a map of specific configurations for API / set of\n * API. Configurations are only exposed through the method getConfiguration, which will merge the default configuration\n * and the requested one.\n */\nexport class ApiManager {\n private defaultConfiguration: ApiClient;\n private apiConfigurations: { [key: string]: ApiClient };\n\n /**\n * Map of registered Api Client associated to specific API\n * @warning This should not be used to get the ApiClient for an API, the function getConfiguration() should be used instead\n */\n public get registeredApiConfigurations() {\n return {...this.apiConfigurations} as const;\n }\n\n /**\n * Create an API manager using a custom ApiClient\n * @param defaultConfiguration\n */\n constructor(defaultConfiguration: ApiClient, apiConfigurations: { [key: string]: ApiClient } = {}) {\n this.defaultConfiguration = defaultConfiguration;\n this.apiConfigurations = apiConfigurations;\n }\n\n /**\n * Retrieve a configuration for a specific API\n * @param api API to get the configuration for\n */\n public getConfiguration(api?: string): ApiClient {\n return api && this.apiConfigurations[api] || this.defaultConfiguration;\n }\n\n /**\n * Set or override API configuration\n * @param apiClient API configuration to override to the given api\n * @param api API name to override, the default configuration will be used if not specified\n */\n public setConfiguration(apiClient: ApiClient, api?: string): void {\n if (api) {\n this.apiConfigurations[api] = apiClient;\n } else {\n this.defaultConfiguration = apiClient;\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { ApiManager } from './api-manager';\n\n/**\n * Token used by the core library to provide an Api manager to services. It can be provided in the app.\n */\nexport const API_TOKEN = new InjectionToken<ApiManager>('Custom API manager token');\n","import type { Api, ApiClient, ApiName } from '@ama-sdk/core';\nimport { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\nimport { ApiManager } from './api-manager';\nimport { API_TOKEN } from './api-manager.token';\n\n/** Type of the Class of an SDK Api */\nexport type ApiClassType<T extends Api = Api> = (new (client: ApiClient) => T) & ApiName;\n\n/**\n * Initial APIs instantiations\n */\nexport const INITIAL_APIS_TOKEN = new InjectionToken<(Api | ApiClassType)[]>('Initial APIs token');\n\n@Injectable()\nexport class ApiFactoryService {\n\n /** Map of loaded APIs */\n private loadedApis: Record<string, Api> = {};\n\n constructor(@Inject(API_TOKEN) private readonly apiManager: ApiManager, @Optional() @Inject(INITIAL_APIS_TOKEN) apis?: (Api | ApiClassType)[]) {\n if (apis) {\n this.updateApiMapping(apis);\n }\n }\n\n /**\n * Determine if the given parameter is a API class\n * @param apiClass object to check\n */\n private isApiClass<T extends Api = Api>(apiClass: any): apiClass is ApiClassType<T> {\n return !!apiClass.apiName && typeof apiClass === 'function';\n }\n\n /**\n * Retrieve a specific API with loaded configuration\n * @param apiClass class of the API to retrieve\n * @param refreshCache Ignore cached API instance and refresh it\n */\n public getApi<T extends Api>(apiClass: (new (client: ApiClient) => T) & ApiName, refreshCache = false): T {\n const cache = this.loadedApis[apiClass.apiName];\n if (!refreshCache && cache) {\n return cache as T;\n }\n\n // eslint-disable-next-line new-cap\n const instance = new apiClass(this.getConfigFor(apiClass));\n this.loadedApis[apiClass.apiName] = instance;\n return instance;\n }\n\n /**\n * Update the Map of loaded APIs.\n * Note: Can be used to override the a specific API\n * @param map Map of loaded APIs to update\n */\n public updateApiMapping(map: (Api | ApiClassType)[] | Record<string, (Api | ApiClassType)>) {\n const newItems: Record<string, (Api | ApiClassType)> = Array.isArray(map) ? map\n .reduce<Record<string, Api | ApiClassType<Api>>>((acc, curr) => {\n acc[curr.apiName] = curr;\n return acc;\n }, {}) : map;\n\n this.loadedApis = {\n ...this.loadedApis,\n ...Object.entries(newItems)\n .reduce<Record<string, Api>>((acc, [apiName, api]) => {\n // eslint-disable-next-line new-cap\n acc[apiName] = this.isApiClass(api) ? new api(this.getConfigFor(api)) : api;\n return acc;\n }, {})\n };\n }\n\n /**\n * Clear the cache of loaded APIs\n * @param apis Whitelist of APIs to clear from the cache, if specified only these apis will be removed from the cache\n */\n public clearCache(apis?: ApiName[]) {\n if (apis) {\n apis.forEach((api) => delete this.loadedApis[api.apiName]);\n } else {\n this.loadedApis = {};\n }\n }\n\n /**\n * Retrieve the configuration for a specific API\n * @param apiClass class of the API for which retrieving the configuration\n */\n public getConfigFor(apiClass: ApiName): ApiClient {\n return this.apiManager.getConfiguration(apiClass.apiName);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { ApiFactoryService } from './api-factory.service';\nimport { ApiManager } from './api-manager';\nimport { API_TOKEN } from './api-manager.token';\n\n// Module that needs to be imported by the application to instantiate an SDK configuration.\n@NgModule({\n providers: [\n ApiFactoryService\n ]\n})\nexport class ApiManagerModule {\n /**\n * Provide a custom apiManager\n * A factory can be provided via injection to the token API_TOKEN\n * @param apiManager\n */\n public static forRoot(apiManager: ApiManager): ModuleWithProviders<ApiManagerModule> {\n return {\n ngModule: ApiManagerModule,\n providers: [\n { provide: API_TOKEN, useValue: apiManager }\n ]\n };\n }\n}\n","/**\n * Add a preconnect `<link>` element to the DOM\n * @param baseUrl the origin href\n * @param supportCrossOrigin add crossorigin attribute to the link element\n */\nexport function appendPreconnect(baseUrl: string, supportCrossOrigin = true): void {\n const preConnectLink = document.createElement('link');\n preConnectLink.setAttribute('rel', 'preconnect');\n preConnectLink.setAttribute('href', baseUrl);\n if (supportCrossOrigin) {\n preConnectLink.setAttribute('crossorigin', '');\n }\n document.head.appendChild(preConnectLink);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "name": "@o3r/apis-manager",
3
- "version": "11.0.0-next.0",
3
+ "version": "11.0.0-next.2",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
4
7
  "description": "This module provides services to help you communicate with your APIs. Its responsibility is to provide an API configuration to a service factory so that it could instantiate an API with the right configurations.\nIt contains a default configuration and a map of specific configurations for an API / a set of APIs.\nConfigurations are only exposed through the method `getConfiguration`, which will merge the default configuration and the requested one.",
5
8
  "keywords": [
6
9
  "apis-manager",
@@ -8,14 +11,14 @@
8
11
  "otter-module"
9
12
  ],
10
13
  "peerDependencies": {
11
- "@ama-sdk/core": "^11.0.0-next.0",
12
- "@angular-devkit/schematics": "~17.0.0",
13
- "@angular/common": "~17.0.2",
14
- "@angular/core": "~17.0.2",
15
- "@o3r/schematics": "^11.0.0-next.0",
16
- "@schematics/angular": "~17.0.0",
14
+ "@ama-sdk/core": "^11.0.0-next.2",
15
+ "@angular-devkit/schematics": "~17.3.0",
16
+ "@angular/common": "~17.3.0",
17
+ "@angular/core": "~17.3.0",
18
+ "@o3r/schematics": "^11.0.0-next.2",
19
+ "@schematics/angular": "~17.3.0",
17
20
  "rxjs": "^7.8.1",
18
- "typescript": "~5.2.2"
21
+ "typescript": "~5.4.2"
19
22
  },
20
23
  "peerDependenciesMeta": {
21
24
  "@angular-devkit/schematics": {
@@ -29,7 +32,7 @@
29
32
  }
30
33
  },
31
34
  "dependencies": {
32
- "tslib": "^2.5.3"
35
+ "tslib": "^2.6.2"
33
36
  },
34
37
  "schematics": "./collection.json",
35
38
  "engines": {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/helpers/update-api-deps/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/helpers/update-api-deps/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { Rule } from '@angular-devkit/schematics';
2
- import { NgAddSchematicsSchema } from './schema';
1
+ import { type Rule } from '@angular-devkit/schematics';
2
+ import type { NgAddSchematicsSchema } from './schema';
3
3
  /**
4
4
  * Add Otter apis manager to an Angular Project
5
5
  * @param options
6
6
  */
7
- export declare function ngAdd(options: NgAddSchematicsSchema): Rule;
7
+ export declare const ngAdd: (options: NgAddSchematicsSchema) => Rule;
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,IAAI,EAA0B,MAAM,4BAA4B,CAAC;AAGvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAoC1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAiDtD;;;GAGG;AACH,eAAO,MAAM,KAAK,YAAa,qBAAqB,KAAG,IAGtD,CAAC"}
@@ -3,43 +3,56 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ngAdd = void 0;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
5
  const path = require("node:path");
6
+ const reportMissingSchematicsDep = (logger) => (reason) => {
7
+ logger.error(`[ERROR]: Adding @o3r/apis-manager has failed.
8
+ You need to install '@o3r/schematics' to be able to use the o3r apis-manager package. Please run 'ng add @o3r/schematics'.`);
9
+ throw reason;
10
+ };
6
11
  /**
7
12
  * Add Otter apis manager to an Angular Project
8
13
  * @param options
9
14
  */
10
- function ngAdd(options) {
11
- return async (tree, context) => {
12
- try {
13
- const { ngAddPackages, getO3rPeerDeps, applyEsLintFix, getWorkspaceConfig, getProjectNewDependenciesType } = await Promise.resolve().then(() => require('@o3r/schematics'));
14
- const { updateApiDependencies } = await Promise.resolve().then(() => require('../helpers/update-api-deps'));
15
- const depsInfo = getO3rPeerDeps(path.resolve(__dirname, '..', '..', 'package.json'));
16
- const rulesToExecute = [];
17
- const workspaceProject = options.projectName ? getWorkspaceConfig(tree)?.projects[options.projectName] : undefined;
18
- const workingDirectory = workspaceProject?.root;
19
- const projectType = workspaceProject?.projectType || 'application';
20
- if (projectType === 'application') {
21
- rulesToExecute.push(updateApiDependencies(options));
22
- }
23
- return () => (0, schematics_1.chain)([
24
- ...rulesToExecute,
25
- options.skipLinter ? schematics_1.noop : applyEsLintFix(),
26
- ngAddPackages(depsInfo.o3rPeerDeps, {
27
- skipConfirmation: true,
28
- version: depsInfo.packageVersion,
29
- parentPackageInfo: depsInfo.packageName,
30
- projectName: options.projectName,
31
- dependencyType: getProjectNewDependenciesType(workspaceProject),
32
- workingDirectory
33
- })
34
- ])(tree, context);
35
- }
36
- catch (e) {
37
- // o3r apis-manager needs o3r/schematics as peer dep.
38
- context.logger.error(`[ERROR]: Adding @o3r/apis-manager has failed.
39
- You need to install '@o3r/schematics' to be able to use the o3r apis-manager package. Please run 'ng add @o3r/schematics' .`);
40
- throw (e);
15
+ function ngAddFn(options) {
16
+ return async (tree) => {
17
+ const { getPackageInstallConfig } = await Promise.resolve().then(() => require('@o3r/schematics'));
18
+ const { setupDependencies, getO3rPeerDeps, applyEsLintFix, getWorkspaceConfig, getProjectNewDependenciesTypes } = await Promise.resolve().then(() => require('@o3r/schematics'));
19
+ const { updateApiDependencies } = await Promise.resolve().then(() => require('../helpers/update-api-deps'));
20
+ const packageJsonPath = path.resolve(__dirname, '..', '..', 'package.json');
21
+ const depsInfo = getO3rPeerDeps(packageJsonPath);
22
+ const rulesToExecute = [];
23
+ const workspaceProject = options.projectName ? getWorkspaceConfig(tree)?.projects[options.projectName] : undefined;
24
+ const projectType = workspaceProject?.projectType || 'application';
25
+ if (projectType === 'application') {
26
+ rulesToExecute.push(updateApiDependencies(options));
41
27
  }
28
+ const dependencies = depsInfo.o3rPeerDeps.reduce((acc, dep) => {
29
+ acc[dep] = {
30
+ inManifest: [{
31
+ range: `${options.exactO3rVersion ? '' : '~'}${depsInfo.packageVersion}`,
32
+ types: getProjectNewDependenciesTypes(workspaceProject)
33
+ }],
34
+ ngAddOptions: { exactO3rVersion: options.exactO3rVersion }
35
+ };
36
+ return acc;
37
+ }, getPackageInstallConfig(packageJsonPath, tree, options.projectName, false, !!options.exactO3rVersion));
38
+ return () => (0, schematics_1.chain)([
39
+ ...rulesToExecute,
40
+ options.skipLinter ? schematics_1.noop : applyEsLintFix(),
41
+ setupDependencies({
42
+ projectName: options.projectName,
43
+ dependencies,
44
+ ngAddToRun: depsInfo.o3rPeerDeps
45
+ })
46
+ ]);
42
47
  };
43
48
  }
49
+ /**
50
+ * Add Otter apis manager to an Angular Project
51
+ * @param options
52
+ */
53
+ const ngAdd = (options) => async (_, { logger }) => {
54
+ const { createSchematicWithMetricsIfInstalled } = await Promise.resolve().then(() => require('@o3r/schematics')).catch(reportMissingSchematicsDep(logger));
55
+ return createSchematicWithMetricsIfInstalled(ngAddFn)(options);
56
+ };
44
57
  exports.ngAdd = ngAdd;
45
58
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,2DAAuF;AAEvF,kCAAkC;AAGlC;;;GAGG;AACH,SAAgB,KAAK,CAAC,OAA8B;IAClD,OAAO,KAAK,EAAE,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,IAAI;YACF,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,GAAG,2CAAa,iBAAiB,EAAC,CAAC;YAC7I,MAAM,EAAE,qBAAqB,EAAE,GAAG,2CAAa,4BAA4B,EAAC,CAAC;YAC7E,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;YACrF,MAAM,cAAc,GAAW,EAAE,CAAC;YAClC,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnH,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,IAAI,CAAC;YAChD,MAAM,WAAW,GAAG,gBAAgB,EAAE,WAAW,IAAI,aAAa,CAAC;YACnE,IAAI,WAAW,KAAK,aAAa,EAAE;gBACjC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;aACrD;YAED,OAAO,GAAG,EAAE,CAAC,IAAA,kBAAK,EAAC;gBACjB,GAAG,cAAc;gBACjB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAI,CAAC,CAAC,CAAC,cAAc,EAAE;gBAC5C,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAClC,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE,QAAQ,CAAC,cAAc;oBAChC,iBAAiB,EAAE,QAAQ,CAAC,WAAW;oBACvC,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,cAAc,EAAE,6BAA6B,CAAC,gBAAgB,CAAC;oBAC/D,gBAAgB;iBACjB,CAAC;aACH,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAEnB;QAAC,OAAO,CAAC,EAAE;YACV,qDAAqD;YACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;kIACuG,CAAC,CAAC;YAC9H,MAAM,CAAC,CAAC,CAAC,CAAC;SACX;IACH,CAAC,CAAC;AAGJ,CAAC;AApCD,sBAoCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,2DAAoE;AACpE,kCAAkC;AAGlC,MAAM,0BAA0B,GAAG,CAAC,MAA2C,EAAE,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE;IAClG,MAAM,CAAC,KAAK,CAAC;2HAC4G,CAAC,CAAC;IAC3H,MAAM,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;GAGG;AACH,SAAS,OAAO,CAAC,OAA8B;IAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,MAAM,EAAE,uBAAuB,EAAE,GAAG,2CAAa,iBAAiB,EAAC,CAAC;QACpE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,GAAG,2CAAa,iBAAiB,EAAC,CAAC;QAClJ,MAAM,EAAE,qBAAqB,EAAE,GAAG,2CAAa,4BAA4B,EAAC,CAAC;QAC7E,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnH,MAAM,WAAW,GAAG,gBAAgB,EAAE,WAAW,IAAI,aAAa,CAAC;QACnE,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;YAClC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5D,GAAG,CAAC,GAAG,CAAC,GAAG;gBACT,UAAU,EAAE,CAAC;wBACX,KAAK,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,cAAc,EAAE;wBACxE,KAAK,EAAE,8BAA8B,CAAC,gBAAgB,CAAC;qBACxD,CAAC;gBACF,YAAY,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE;aAC3D,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,uBAAuB,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1G,OAAO,GAAG,EAAE,CAAC,IAAA,kBAAK,EAAC;YACjB,GAAG,cAAc;YACjB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAI,CAAC,CAAC,CAAC,cAAc,EAAE;YAC5C,iBAAiB,CAAC;gBAChB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,YAAY;gBACZ,UAAU,EAAE,QAAQ,CAAC,WAAW;aACjC,CAAC;SACH,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,MAAM,KAAK,GAAG,CAAC,OAA8B,EAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACrF,MAAM,EAAE,qCAAqC,EAAE,GAAG,MAAM,qCAAO,iBAAiB,GAAE,KAAK,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5H,OAAO,qCAAqC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC,CAAC;AAHW,QAAA,KAAK,SAGhB"}
@@ -6,5 +6,7 @@ export interface NgAddSchematicsSchema extends SchematicOptionObject {
6
6
  skipLinter: boolean;
7
7
  /** Skip the install process */
8
8
  skipInstall: boolean;
9
+ /** Use a pinned version for otter packages */
10
+ exactO3rVersion?: boolean;
9
11
  }
10
12
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,8BAA8B;IAC9B,UAAU,EAAE,OAAO,CAAC;IAEpB,+BAA+B;IAC/B,WAAW,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,8BAA8B;IAC9B,UAAU,EAAE,OAAO,CAAC;IAEpB,+BAA+B;IAC/B,WAAW,EAAE,OAAO,CAAC;IAErB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B"}
@@ -20,6 +20,11 @@
20
20
  "type": "boolean",
21
21
  "description": "Skip the install process",
22
22
  "default": true
23
+ },
24
+ "exactO3rVersion": {
25
+ "type": "boolean",
26
+ "description": "Use a pinned version for otter packages",
27
+ "default": false
23
28
  }
24
29
  },
25
30
  "required": [