@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 +40 -21
- package/esm2022/apis-manager/api-factory.service.mjs +4 -4
- package/esm2022/apis-manager/api-manager.helpers.mjs +1 -1
- package/esm2022/apis-manager/api-manager.mjs +1 -1
- package/esm2022/apis-manager/api-manager.module.mjs +4 -4
- package/fesm2022/o3r-apis-manager.mjs +7 -7
- package/fesm2022/o3r-apis-manager.mjs.map +1 -1
- package/package.json +12 -9
- package/schematics/helpers/update-api-deps/index.js.map +1 -1
- package/schematics/ng-add/index.d.ts +3 -3
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +44 -31
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/schema.d.ts +2 -0
- package/schematics/ng-add/schema.d.ts.map +1 -1
- package/schematics/ng-add/schema.json +5 -0
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
|
-
|
|
12
|
+
[](https://www.npmjs.com/package/@o3r/apis-manager)
|
|
13
|
+
[](https://www.npmjs.com/package/@o3r/apis-manager)
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
>
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
116
|
-
To do so the
|
|
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
|
|
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
|
|
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
|
-
>
|
|
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
|
|
170
|
-
const exampleApi = apiFactoryService.getApi(ExampleApi, true); // <- retrieve example API with the new configuration (and
|
|
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.
|
|
82
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
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.
|
|
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,
|
|
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,
|
|
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,
|
|
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.
|
|
21
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
22
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
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.
|
|
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.
|
|
129
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
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.
|
|
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.
|
|
159
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
160
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
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.
|
|
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.
|
|
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.
|
|
12
|
-
"@angular-devkit/schematics": "~17.
|
|
13
|
-
"@angular/common": "~17.0
|
|
14
|
-
"@angular/core": "~17.0
|
|
15
|
-
"@o3r/schematics": "^11.0.0-next.
|
|
16
|
-
"@schematics/angular": "~17.
|
|
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.
|
|
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.
|
|
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":";;;AAAA,2DAAiF;AACjF,gDAMyB;AACzB,qEAAmE;AACnE,yDAA6E;AAC7E,iCAAiC;AAEjC;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,OAA2C;IAE/E,MAAM,eAAe,GAAS,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QACtE,MAAM,eAAe,GAAW,EAAE,CAAC;QACnC,MAAM,cAAc,GAAG,IAAA,iCAAoB,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAChF,IAAI,CAAC,cAAc,EAAE;
|
|
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
|
|
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,
|
|
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
|
|
11
|
-
return async (tree
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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,
|
|
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;
|
|
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"}
|