@o3r/apis-manager 10.0.0-next.9 → 11.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <h1 align="center">Otter APIs-manager</h1>
2
2
  <p align="center">
3
- <img src="https://raw.githubusercontent.com/AmadeusITGroup/otter/main/.attachments/otter.png" alt="Super cute Otter!" width="40%"/>
3
+ <img src="https://raw.githubusercontent.com/AmadeusITGroup/otter/main/assets/logo/otter.png" alt="Super cute Otter!" width="40%"/>
4
4
  </p>
5
5
 
6
6
  This package is an [Otter Framework Module](https://github.com/AmadeusITGroup/otter/tree/main/docs/core/MODULE.md).
@@ -9,19 +9,17 @@ export type ApiClassType<T extends Api = Api> = (new (client: ApiClient) => T) &
9
9
  */
10
10
  export declare const INITIAL_APIS_TOKEN: InjectionToken<(Api | ApiClassType<Api>)[]>;
11
11
  export declare class ApiFactoryService {
12
- private apiManager;
12
+ private readonly apiManager;
13
13
  /** Map of loaded APIs */
14
14
  private loadedApis;
15
15
  constructor(apiManager: ApiManager, apis?: (Api | ApiClassType)[]);
16
16
  /**
17
17
  * Determine if the given parameter is a API class
18
- *
19
18
  * @param apiClass object to check
20
19
  */
21
20
  private isApiClass;
22
21
  /**
23
22
  * Retrieve a specific API with loaded configuration
24
- *
25
23
  * @param apiClass class of the API to retrieve
26
24
  * @param refreshCache Ignore cached API instance and refresh it
27
25
  */
@@ -29,19 +27,16 @@ export declare class ApiFactoryService {
29
27
  /**
30
28
  * Update the Map of loaded APIs.
31
29
  * Note: Can be used to override the a specific API
32
- *
33
30
  * @param map Map of loaded APIs to update
34
31
  */
35
32
  updateApiMapping(map: (Api | ApiClassType)[] | Record<string, (Api | ApiClassType)>): void;
36
33
  /**
37
34
  * Clear the cache of loaded APIs
38
- *
39
35
  * @param apis Whitelist of APIs to clear from the cache, if specified only these apis will be removed from the cache
40
36
  */
41
37
  clearCache(apis?: ApiName[]): void;
42
38
  /**
43
39
  * Retrieve the configuration for a specific API
44
- *
45
40
  * @param apiClass class of the API for which retrieving the configuration
46
41
  */
47
42
  getConfigFor(apiClass: ApiName): ApiClient;
@@ -1 +1 @@
1
- {"version":3,"file":"api-factory.service.d.ts","sourceRoot":"","sources":["../../src/apis-manager/api-factory.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAsB,cAAc,EAAY,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;AAG3C,sCAAsC;AACtC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,MAAM,EAAE,SAAS,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,kBAAkB,6CAAmE,CAAC;AAEnG,qBACa,iBAAiB;IAKG,OAAO,CAAC,UAAU;IAHjD,yBAAyB;IACzB,OAAO,CAAC,UAAU,CAA2B;gBAEN,UAAU,EAAE,UAAU,EAA0C,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,EAAE;IAMpI;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAIlB;;;;;OAKG;IACI,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,MAAM,EAAE,SAAS,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,UAAQ,GAAG,CAAC;IAYzG;;;;;OAKG;IACI,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;IAkB1F;;;;OAIG;IACI,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;IAQlC;;;;OAIG;IACI,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS;yCAhFtC,iBAAiB;6CAAjB,iBAAiB;CAmF7B"}
1
+ {"version":3,"file":"api-factory.service.d.ts","sourceRoot":"","sources":["../../src/apis-manager/api-factory.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAsB,cAAc,EAAY,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;AAG3C,sCAAsC;AACtC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,MAAM,EAAE,SAAS,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC;AAEzF;;GAEG;AACH,eAAO,MAAM,kBAAkB,6CAAmE,CAAC;AAEnG,qBACa,iBAAiB;IAKG,OAAO,CAAC,QAAQ,CAAC,UAAU;IAH1D,yBAAyB;IACzB,OAAO,CAAC,UAAU,CAA2B;gBAEG,UAAU,EAAE,UAAU,EAA0C,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,EAAE;IAM7I;;;OAGG;IACH,OAAO,CAAC,UAAU;IAIlB;;;;OAIG;IACI,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,MAAM,EAAE,SAAS,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,UAAQ,GAAG,CAAC;IAYzG;;;;OAIG;IACI,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;IAkB1F;;;OAGG;IACI,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;IAQlC;;;OAGG;IACI,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS;yCA3EtC,iBAAiB;6CAAjB,iBAAiB;CA8E7B"}
@@ -10,7 +10,6 @@ export declare class ApiManager {
10
10
  private apiConfigurations;
11
11
  /**
12
12
  * Map of registered Api Client associated to specific API
13
- *
14
13
  * @warning This should not be used to get the ApiClient for an API, the function getConfiguration() should be used instead
15
14
  */
16
15
  get registeredApiConfigurations(): {
@@ -18,7 +17,6 @@ export declare class ApiManager {
18
17
  };
19
18
  /**
20
19
  * Create an API manager using a custom ApiClient
21
- *
22
20
  * @param defaultConfiguration
23
21
  */
24
22
  constructor(defaultConfiguration: ApiClient, apiConfigurations?: {
@@ -26,13 +24,11 @@ export declare class ApiManager {
26
24
  });
27
25
  /**
28
26
  * Retrieve a configuration for a specific API
29
- *
30
27
  * @param api API to get the configuration for
31
28
  */
32
29
  getConfiguration(api?: string): ApiClient;
33
30
  /**
34
31
  * Set or override API configuration
35
- *
36
32
  * @param apiClient API configuration to override to the given api
37
33
  * @param api API name to override, the default configuration will be used if not specified
38
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"api-manager.d.ts","sourceRoot":"","sources":["../../src/apis-manager/api-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,oBAAoB,CAAY;IACxC,OAAO,CAAC,iBAAiB,CAA+B;IAExD;;;;OAIG;IACH,IAAW,2BAA2B;;MAErC;IAED;;;;OAIG;gBACS,oBAAoB,EAAE,SAAS,EAAE,iBAAiB,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAO;IAKjG;;;;OAIG;IACI,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS;IAIhD;;;;;OAKG;IACI,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;CAOlE"}
1
+ {"version":3,"file":"api-manager.d.ts","sourceRoot":"","sources":["../../src/apis-manager/api-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,oBAAoB,CAAY;IACxC,OAAO,CAAC,iBAAiB,CAA+B;IAExD;;;OAGG;IACH,IAAW,2BAA2B;;MAErC;IAED;;;OAGG;gBACS,oBAAoB,EAAE,SAAS,EAAE,iBAAiB,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAO;IAKjG;;;OAGG;IACI,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS;IAIhD;;;;OAIG;IACI,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;CAOlE"}
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Add a preconnect `<link>` element to the DOM
3
- *
4
3
  * @param baseUrl the origin href
5
4
  * @param supportCrossOrigin add crossorigin attribute to the link element
6
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"api-manager.helpers.d.ts","sourceRoot":"","sources":["../../src/apis-manager/api-manager.helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,UAAO,GAAG,IAAI,CAQjF"}
1
+ {"version":3,"file":"api-manager.helpers.d.ts","sourceRoot":"","sources":["../../src/apis-manager/api-manager.helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,UAAO,GAAG,IAAI,CAQjF"}
@@ -5,7 +5,6 @@ export declare class ApiManagerModule {
5
5
  /**
6
6
  * Provide a custom apiManager
7
7
  * A factory can be provided via injection to the token API_TOKEN
8
- *
9
8
  * @param apiManager
10
9
  */
11
10
  static forRoot(apiManager: ApiManager): ModuleWithProviders<ApiManagerModule>;
@@ -1 +1 @@
1
- {"version":3,"file":"api-manager.module.d.ts","sourceRoot":"","sources":["../../src/apis-manager/api-manager.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAY,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;AAI3C,qBAKa,gBAAgB;IAC3B;;;;;OAKG;WACW,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;yCAPzE,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAe5B"}
1
+ {"version":3,"file":"api-manager.module.d.ts","sourceRoot":"","sources":["../../src/apis-manager/api-manager.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAY,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;AAI3C,qBAKa,gBAAgB;IAC3B;;;;OAIG;WACW,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;yCANzE,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAc5B"}
@@ -18,7 +18,6 @@ export class ApiFactoryService {
18
18
  }
19
19
  /**
20
20
  * Determine if the given parameter is a API class
21
- *
22
21
  * @param apiClass object to check
23
22
  */
24
23
  isApiClass(apiClass) {
@@ -26,7 +25,6 @@ export class ApiFactoryService {
26
25
  }
27
26
  /**
28
27
  * Retrieve a specific API with loaded configuration
29
- *
30
28
  * @param apiClass class of the API to retrieve
31
29
  * @param refreshCache Ignore cached API instance and refresh it
32
30
  */
@@ -43,7 +41,6 @@ export class ApiFactoryService {
43
41
  /**
44
42
  * Update the Map of loaded APIs.
45
43
  * Note: Can be used to override the a specific API
46
- *
47
44
  * @param map Map of loaded APIs to update
48
45
  */
49
46
  updateApiMapping(map) {
@@ -64,7 +61,6 @@ export class ApiFactoryService {
64
61
  }
65
62
  /**
66
63
  * Clear the cache of loaded APIs
67
- *
68
64
  * @param apis Whitelist of APIs to clear from the cache, if specified only these apis will be removed from the cache
69
65
  */
70
66
  clearCache(apis) {
@@ -77,18 +73,17 @@ export class ApiFactoryService {
77
73
  }
78
74
  /**
79
75
  * Retrieve the configuration for a specific API
80
- *
81
76
  * @param apiClass class of the API for which retrieving the configuration
82
77
  */
83
78
  getConfigFor(apiClass) {
84
79
  return this.apiManager.getConfiguration(apiClass.apiName);
85
80
  }
86
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ApiFactoryService, deps: [{ token: API_TOKEN }, { token: INITIAL_APIS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
87
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ApiFactoryService }); }
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 }); }
88
83
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ApiFactoryService, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiFactoryService, decorators: [{
90
85
  type: Injectable
91
- }], ctorParameters: function () { return [{ type: i1.ApiManager, decorators: [{
86
+ }], ctorParameters: () => [{ type: i1.ApiManager, decorators: [{
92
87
  type: Inject,
93
88
  args: [API_TOKEN]
94
89
  }] }, { type: undefined, decorators: [{
@@ -96,5 +91,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
96
91
  }, {
97
92
  type: Inject,
98
93
  args: [INITIAL_APIS_TOKEN]
99
- }] }]; } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlzLW1hbmFnZXIvYXBpLWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFLaEQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsb0JBQW9CLENBQUMsQ0FBQztBQUduRyxNQUFNLE9BQU8saUJBQWlCO0lBSzVCLFlBQXVDLFVBQXNCLEVBQTBDLElBQTZCO1FBQTdGLGVBQVUsR0FBVixVQUFVLENBQVk7UUFIN0QseUJBQXlCO1FBQ2pCLGVBQVUsR0FBd0IsRUFBRSxDQUFDO1FBRzNDLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxVQUFVLENBQXNCLFFBQWE7UUFDbkQsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxPQUFPLFFBQVEsS0FBSyxVQUFVLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFnQixRQUFrRCxFQUFFLFlBQVksR0FBRyxLQUFLO1FBQ25HLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxFQUFFO1lBQzFCLE9BQU8sS0FBVSxDQUFDO1NBQ25CO1FBRUQsbUNBQW1DO1FBQ25DLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDN0MsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZ0JBQWdCLENBQUMsR0FBa0U7UUFDeEYsTUFBTSxRQUFRLEdBQXlDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7YUFDNUUsTUFBTSxDQUEwQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUM3RCxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQztZQUN6QixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBRWYsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixHQUFHLElBQUksQ0FBQyxVQUFVO1lBQ2xCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7aUJBQ3hCLE1BQU0sQ0FBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTtnQkFDbkQsbUNBQW1DO2dCQUNuQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQzVFLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUNULENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxJQUFnQjtRQUNoQyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUM1RDthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFlBQVksQ0FBQyxRQUFpQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVELENBQUM7aUlBbEZVLGlCQUFpQixrQkFLUixTQUFTLGFBQXNELGtCQUFrQjtxSUFMMUYsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOzswQkFNSSxNQUFNOzJCQUFDLFNBQVM7OzBCQUFtQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXBpLCBBcGlDbGllbnQsIEFwaU5hbWUgfSBmcm9tICdAYW1hLXNkay9jb3JlJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcGlNYW5hZ2VyIH0gZnJvbSAnLi9hcGktbWFuYWdlcic7XG5pbXBvcnQgeyBBUElfVE9LRU4gfSBmcm9tICcuL2FwaS1tYW5hZ2VyLnRva2VuJztcblxuLyoqIFR5cGUgb2YgdGhlIENsYXNzIG9mIGFuIFNESyBBcGkgKi9cbmV4cG9ydCB0eXBlIEFwaUNsYXNzVHlwZTxUIGV4dGVuZHMgQXBpID0gQXBpPiA9IChuZXcgKGNsaWVudDogQXBpQ2xpZW50KSA9PiBUKSAmIEFwaU5hbWU7XG5cbi8qKlxuICogSW5pdGlhbCBBUElzIGluc3RhbnRpYXRpb25zXG4gKi9cbmV4cG9ydCBjb25zdCBJTklUSUFMX0FQSVNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48KEFwaSB8IEFwaUNsYXNzVHlwZSlbXT4oJ0luaXRpYWwgQVBJcyB0b2tlbicpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXBpRmFjdG9yeVNlcnZpY2Uge1xuXG4gIC8qKiBNYXAgb2YgbG9hZGVkIEFQSXMgKi9cbiAgcHJpdmF0ZSBsb2FkZWRBcGlzOiBSZWNvcmQ8c3RyaW5nLCBBcGk+ID0ge307XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChBUElfVE9LRU4pIHByaXZhdGUgYXBpTWFuYWdlcjogQXBpTWFuYWdlciwgQE9wdGlvbmFsKCkgQEluamVjdChJTklUSUFMX0FQSVNfVE9LRU4pIGFwaXM/OiAoQXBpIHwgQXBpQ2xhc3NUeXBlKVtdKSB7XG4gICAgaWYgKGFwaXMpIHtcbiAgICAgIHRoaXMudXBkYXRlQXBpTWFwcGluZyhhcGlzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiBwYXJhbWV0ZXIgaXMgYSBBUEkgY2xhc3NcbiAgICpcbiAgICogQHBhcmFtIGFwaUNsYXNzIG9iamVjdCB0byBjaGVja1xuICAgKi9cbiAgcHJpdmF0ZSBpc0FwaUNsYXNzPFQgZXh0ZW5kcyBBcGkgPSBBcGk+KGFwaUNsYXNzOiBhbnkpOiBhcGlDbGFzcyBpcyBBcGlDbGFzc1R5cGU8VD4ge1xuICAgIHJldHVybiAhIWFwaUNsYXNzLmFwaU5hbWUgJiYgdHlwZW9mIGFwaUNsYXNzID09PSAnZnVuY3Rpb24nO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGEgc3BlY2lmaWMgQVBJIHdpdGggbG9hZGVkIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIGFwaUNsYXNzIGNsYXNzIG9mIHRoZSBBUEkgdG8gcmV0cmlldmVcbiAgICogQHBhcmFtIHJlZnJlc2hDYWNoZSBJZ25vcmUgY2FjaGVkIEFQSSBpbnN0YW5jZSBhbmQgcmVmcmVzaCBpdFxuICAgKi9cbiAgcHVibGljIGdldEFwaTxUIGV4dGVuZHMgQXBpPihhcGlDbGFzczogKG5ldyAoY2xpZW50OiBBcGlDbGllbnQpID0+IFQpICYgQXBpTmFtZSwgcmVmcmVzaENhY2hlID0gZmFsc2UpOiBUIHtcbiAgICBjb25zdCBjYWNoZSA9IHRoaXMubG9hZGVkQXBpc1thcGlDbGFzcy5hcGlOYW1lXTtcbiAgICBpZiAoIXJlZnJlc2hDYWNoZSAmJiBjYWNoZSkge1xuICAgICAgcmV0dXJuIGNhY2hlIGFzIFQ7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5ldy1jYXBcbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBhcGlDbGFzcyh0aGlzLmdldENvbmZpZ0ZvcihhcGlDbGFzcykpO1xuICAgIHRoaXMubG9hZGVkQXBpc1thcGlDbGFzcy5hcGlOYW1lXSA9IGluc3RhbmNlO1xuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIE1hcCBvZiBsb2FkZWQgQVBJcy5cbiAgICogTm90ZTogQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGEgc3BlY2lmaWMgQVBJXG4gICAqXG4gICAqIEBwYXJhbSBtYXAgTWFwIG9mIGxvYWRlZCBBUElzIHRvIHVwZGF0ZVxuICAgKi9cbiAgcHVibGljIHVwZGF0ZUFwaU1hcHBpbmcobWFwOiAoQXBpIHwgQXBpQ2xhc3NUeXBlKVtdIHwgUmVjb3JkPHN0cmluZywgKEFwaSB8IEFwaUNsYXNzVHlwZSk+KSB7XG4gICAgY29uc3QgbmV3SXRlbXM6IFJlY29yZDxzdHJpbmcsIChBcGkgfCBBcGlDbGFzc1R5cGUpPiA9IEFycmF5LmlzQXJyYXkobWFwKSA/IG1hcFxuICAgICAgLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBBcGkgfCBBcGlDbGFzc1R5cGU8QXBpPj4+KChhY2MsIGN1cnIpID0+IHtcbiAgICAgICAgYWNjW2N1cnIuYXBpTmFtZV0gPSBjdXJyO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pIDogbWFwO1xuXG4gICAgdGhpcy5sb2FkZWRBcGlzID0ge1xuICAgICAgLi4udGhpcy5sb2FkZWRBcGlzLFxuICAgICAgLi4uT2JqZWN0LmVudHJpZXMobmV3SXRlbXMpXG4gICAgICAgIC5yZWR1Y2U8UmVjb3JkPHN0cmluZywgQXBpPj4oKGFjYywgW2FwaU5hbWUsIGFwaV0pID0+IHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbmV3LWNhcFxuICAgICAgICAgIGFjY1thcGlOYW1lXSA9IHRoaXMuaXNBcGlDbGFzcyhhcGkpID8gbmV3IGFwaSh0aGlzLmdldENvbmZpZ0ZvcihhcGkpKSA6IGFwaTtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCB7fSlcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIHRoZSBjYWNoZSBvZiBsb2FkZWQgQVBJc1xuICAgKlxuICAgKiBAcGFyYW0gYXBpcyBXaGl0ZWxpc3Qgb2YgQVBJcyB0byBjbGVhciBmcm9tIHRoZSBjYWNoZSwgaWYgc3BlY2lmaWVkIG9ubHkgdGhlc2UgYXBpcyB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgY2FjaGVcbiAgICovXG4gIHB1YmxpYyBjbGVhckNhY2hlKGFwaXM/OiBBcGlOYW1lW10pIHtcbiAgICBpZiAoYXBpcykge1xuICAgICAgYXBpcy5mb3JFYWNoKChhcGkpID0+IGRlbGV0ZSB0aGlzLmxvYWRlZEFwaXNbYXBpLmFwaU5hbWVdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2FkZWRBcGlzID0ge307XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBjb25maWd1cmF0aW9uIGZvciBhIHNwZWNpZmljIEFQSVxuICAgKlxuICAgKiBAcGFyYW0gYXBpQ2xhc3MgY2xhc3Mgb2YgdGhlIEFQSSBmb3Igd2hpY2ggcmV0cmlldmluZyB0aGUgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIGdldENvbmZpZ0ZvcihhcGlDbGFzczogQXBpTmFtZSk6IEFwaUNsaWVudCB7XG4gICAgcmV0dXJuIHRoaXMuYXBpTWFuYWdlci5nZXRDb25maWd1cmF0aW9uKGFwaUNsYXNzLmFwaU5hbWUpO1xuICB9XG59XG4iXX0=
94
+ }] }] });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlzLW1hbmFnZXIvYXBpLWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFLaEQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsb0JBQW9CLENBQUMsQ0FBQztBQUduRyxNQUFNLE9BQU8saUJBQWlCO0lBSzVCLFlBQWdELFVBQXNCLEVBQTBDLElBQTZCO1FBQTdGLGVBQVUsR0FBVixVQUFVLENBQVk7UUFIdEUseUJBQXlCO1FBQ2pCLGVBQVUsR0FBd0IsRUFBRSxDQUFDO1FBRzNDLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFVBQVUsQ0FBc0IsUUFBYTtRQUNuRCxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxJQUFJLE9BQU8sUUFBUSxLQUFLLFVBQVUsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBZ0IsUUFBa0QsRUFBRSxZQUFZLEdBQUcsS0FBSztRQUNuRyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxJQUFJLEtBQUssRUFBRTtZQUMxQixPQUFPLEtBQVUsQ0FBQztTQUNuQjtRQUVELG1DQUFtQztRQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQzdDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZ0JBQWdCLENBQUMsR0FBa0U7UUFDeEYsTUFBTSxRQUFRLEdBQXlDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7YUFDNUUsTUFBTSxDQUEwQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUM3RCxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQztZQUN6QixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBRWYsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixHQUFHLElBQUksQ0FBQyxVQUFVO1lBQ2xCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7aUJBQ3hCLE1BQU0sQ0FBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTtnQkFDbkQsbUNBQW1DO2dCQUNuQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQzVFLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUNULENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLElBQWdCO1FBQ2hDLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzVEO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsUUFBaUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDO2lJQTdFVSxpQkFBaUIsa0JBS1IsU0FBUyxhQUErRCxrQkFBa0I7cUlBTG5HLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVTs7MEJBTUksTUFBTTsyQkFBQyxTQUFTOzswQkFBNEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFwaSwgQXBpQ2xpZW50LCBBcGlOYW1lIH0gZnJvbSAnQGFtYS1zZGsvY29yZSc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBpTWFuYWdlciB9IGZyb20gJy4vYXBpLW1hbmFnZXInO1xuaW1wb3J0IHsgQVBJX1RPS0VOIH0gZnJvbSAnLi9hcGktbWFuYWdlci50b2tlbic7XG5cbi8qKiBUeXBlIG9mIHRoZSBDbGFzcyBvZiBhbiBTREsgQXBpICovXG5leHBvcnQgdHlwZSBBcGlDbGFzc1R5cGU8VCBleHRlbmRzIEFwaSA9IEFwaT4gPSAobmV3IChjbGllbnQ6IEFwaUNsaWVudCkgPT4gVCkgJiBBcGlOYW1lO1xuXG4vKipcbiAqIEluaXRpYWwgQVBJcyBpbnN0YW50aWF0aW9uc1xuICovXG5leHBvcnQgY29uc3QgSU5JVElBTF9BUElTX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPChBcGkgfCBBcGlDbGFzc1R5cGUpW10+KCdJbml0aWFsIEFQSXMgdG9rZW4nKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFwaUZhY3RvcnlTZXJ2aWNlIHtcblxuICAvKiogTWFwIG9mIGxvYWRlZCBBUElzICovXG4gIHByaXZhdGUgbG9hZGVkQXBpczogUmVjb3JkPHN0cmluZywgQXBpPiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVBJX1RPS0VOKSBwcml2YXRlIHJlYWRvbmx5IGFwaU1hbmFnZXI6IEFwaU1hbmFnZXIsIEBPcHRpb25hbCgpIEBJbmplY3QoSU5JVElBTF9BUElTX1RPS0VOKSBhcGlzPzogKEFwaSB8IEFwaUNsYXNzVHlwZSlbXSkge1xuICAgIGlmIChhcGlzKSB7XG4gICAgICB0aGlzLnVwZGF0ZUFwaU1hcHBpbmcoYXBpcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZSBpZiB0aGUgZ2l2ZW4gcGFyYW1ldGVyIGlzIGEgQVBJIGNsYXNzXG4gICAqIEBwYXJhbSBhcGlDbGFzcyBvYmplY3QgdG8gY2hlY2tcbiAgICovXG4gIHByaXZhdGUgaXNBcGlDbGFzczxUIGV4dGVuZHMgQXBpID0gQXBpPihhcGlDbGFzczogYW55KTogYXBpQ2xhc3MgaXMgQXBpQ2xhc3NUeXBlPFQ+IHtcbiAgICByZXR1cm4gISFhcGlDbGFzcy5hcGlOYW1lICYmIHR5cGVvZiBhcGlDbGFzcyA9PT0gJ2Z1bmN0aW9uJztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBhIHNwZWNpZmljIEFQSSB3aXRoIGxvYWRlZCBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBhcGlDbGFzcyBjbGFzcyBvZiB0aGUgQVBJIHRvIHJldHJpZXZlXG4gICAqIEBwYXJhbSByZWZyZXNoQ2FjaGUgSWdub3JlIGNhY2hlZCBBUEkgaW5zdGFuY2UgYW5kIHJlZnJlc2ggaXRcbiAgICovXG4gIHB1YmxpYyBnZXRBcGk8VCBleHRlbmRzIEFwaT4oYXBpQ2xhc3M6IChuZXcgKGNsaWVudDogQXBpQ2xpZW50KSA9PiBUKSAmIEFwaU5hbWUsIHJlZnJlc2hDYWNoZSA9IGZhbHNlKTogVCB7XG4gICAgY29uc3QgY2FjaGUgPSB0aGlzLmxvYWRlZEFwaXNbYXBpQ2xhc3MuYXBpTmFtZV07XG4gICAgaWYgKCFyZWZyZXNoQ2FjaGUgJiYgY2FjaGUpIHtcbiAgICAgIHJldHVybiBjYWNoZSBhcyBUO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgYXBpQ2xhc3ModGhpcy5nZXRDb25maWdGb3IoYXBpQ2xhc3MpKTtcbiAgICB0aGlzLmxvYWRlZEFwaXNbYXBpQ2xhc3MuYXBpTmFtZV0gPSBpbnN0YW5jZTtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBNYXAgb2YgbG9hZGVkIEFQSXMuXG4gICAqIE5vdGU6IENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBhIHNwZWNpZmljIEFQSVxuICAgKiBAcGFyYW0gbWFwIE1hcCBvZiBsb2FkZWQgQVBJcyB0byB1cGRhdGVcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVBcGlNYXBwaW5nKG1hcDogKEFwaSB8IEFwaUNsYXNzVHlwZSlbXSB8IFJlY29yZDxzdHJpbmcsIChBcGkgfCBBcGlDbGFzc1R5cGUpPikge1xuICAgIGNvbnN0IG5ld0l0ZW1zOiBSZWNvcmQ8c3RyaW5nLCAoQXBpIHwgQXBpQ2xhc3NUeXBlKT4gPSBBcnJheS5pc0FycmF5KG1hcCkgPyBtYXBcbiAgICAgIC5yZWR1Y2U8UmVjb3JkPHN0cmluZywgQXBpIHwgQXBpQ2xhc3NUeXBlPEFwaT4+PigoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgIGFjY1tjdXJyLmFwaU5hbWVdID0gY3VycjtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KSA6IG1hcDtcblxuICAgIHRoaXMubG9hZGVkQXBpcyA9IHtcbiAgICAgIC4uLnRoaXMubG9hZGVkQXBpcyxcbiAgICAgIC4uLk9iamVjdC5lbnRyaWVzKG5ld0l0ZW1zKVxuICAgICAgICAucmVkdWNlPFJlY29yZDxzdHJpbmcsIEFwaT4+KChhY2MsIFthcGlOYW1lLCBhcGldKSA9PiB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5ldy1jYXBcbiAgICAgICAgICBhY2NbYXBpTmFtZV0gPSB0aGlzLmlzQXBpQ2xhc3MoYXBpKSA/IG5ldyBhcGkodGhpcy5nZXRDb25maWdGb3IoYXBpKSkgOiBhcGk7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30pXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciB0aGUgY2FjaGUgb2YgbG9hZGVkIEFQSXNcbiAgICogQHBhcmFtIGFwaXMgV2hpdGVsaXN0IG9mIEFQSXMgdG8gY2xlYXIgZnJvbSB0aGUgY2FjaGUsIGlmIHNwZWNpZmllZCBvbmx5IHRoZXNlIGFwaXMgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIGNhY2hlXG4gICAqL1xuICBwdWJsaWMgY2xlYXJDYWNoZShhcGlzPzogQXBpTmFtZVtdKSB7XG4gICAgaWYgKGFwaXMpIHtcbiAgICAgIGFwaXMuZm9yRWFjaCgoYXBpKSA9PiBkZWxldGUgdGhpcy5sb2FkZWRBcGlzW2FwaS5hcGlOYW1lXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9hZGVkQXBpcyA9IHt9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgY29uZmlndXJhdGlvbiBmb3IgYSBzcGVjaWZpYyBBUElcbiAgICogQHBhcmFtIGFwaUNsYXNzIGNsYXNzIG9mIHRoZSBBUEkgZm9yIHdoaWNoIHJldHJpZXZpbmcgdGhlIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBnZXRDb25maWdGb3IoYXBpQ2xhc3M6IEFwaU5hbWUpOiBBcGlDbGllbnQge1xuICAgIHJldHVybiB0aGlzLmFwaU1hbmFnZXIuZ2V0Q29uZmlndXJhdGlvbihhcGlDbGFzcy5hcGlOYW1lKTtcbiAgfVxufVxuIl19
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Add a preconnect `<link>` element to the DOM
3
- *
4
3
  * @param baseUrl the origin href
5
4
  * @param supportCrossOrigin add crossorigin attribute to the link element
6
5
  */
@@ -13,4 +12,4 @@ export function appendPreconnect(baseUrl, supportCrossOrigin = true) {
13
12
  }
14
13
  document.head.appendChild(preConnectLink);
15
14
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlzLW1hbmFnZXIvYXBpLW1hbmFnZXIuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxPQUFlLEVBQUUsa0JBQWtCLEdBQUcsSUFBSTtJQUN6RSxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELGNBQWMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ2pELGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLElBQUksa0JBQWtCLEVBQUU7UUFDdEIsY0FBYyxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDaEQ7SUFDRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBZGQgYSBwcmVjb25uZWN0IGA8bGluaz5gIGVsZW1lbnQgdG8gdGhlIERPTVxuICpcbiAqIEBwYXJhbSBiYXNlVXJsIHRoZSBvcmlnaW4gaHJlZlxuICogQHBhcmFtIHN1cHBvcnRDcm9zc09yaWdpbiBhZGQgY3Jvc3NvcmlnaW4gYXR0cmlidXRlIHRvIHRoZSBsaW5rIGVsZW1lbnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZFByZWNvbm5lY3QoYmFzZVVybDogc3RyaW5nLCBzdXBwb3J0Q3Jvc3NPcmlnaW4gPSB0cnVlKTogdm9pZCB7XG4gIGNvbnN0IHByZUNvbm5lY3RMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICBwcmVDb25uZWN0TGluay5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdwcmVjb25uZWN0Jyk7XG4gIHByZUNvbm5lY3RMaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIGJhc2VVcmwpO1xuICBpZiAoc3VwcG9ydENyb3NzT3JpZ2luKSB7XG4gICAgcHJlQ29ubmVjdExpbmsuc2V0QXR0cmlidXRlKCdjcm9zc29yaWdpbicsICcnKTtcbiAgfVxuICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHByZUNvbm5lY3RMaW5rKTtcbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlzLW1hbmFnZXIvYXBpLW1hbmFnZXIuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQWUsRUFBRSxrQkFBa0IsR0FBRyxJQUFJO0lBQ3pFLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEQsY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDakQsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0MsSUFBSSxrQkFBa0IsRUFBRTtRQUN0QixjQUFjLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUNoRDtJQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFkZCBhIHByZWNvbm5lY3QgYDxsaW5rPmAgZWxlbWVudCB0byB0aGUgRE9NXG4gKiBAcGFyYW0gYmFzZVVybCB0aGUgb3JpZ2luIGhyZWZcbiAqIEBwYXJhbSBzdXBwb3J0Q3Jvc3NPcmlnaW4gYWRkIGNyb3Nzb3JpZ2luIGF0dHJpYnV0ZSB0byB0aGUgbGluayBlbGVtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRQcmVjb25uZWN0KGJhc2VVcmw6IHN0cmluZywgc3VwcG9ydENyb3NzT3JpZ2luID0gdHJ1ZSk6IHZvaWQge1xuICBjb25zdCBwcmVDb25uZWN0TGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgcHJlQ29ubmVjdExpbmsuc2V0QXR0cmlidXRlKCdyZWwnLCAncHJlY29ubmVjdCcpO1xuICBwcmVDb25uZWN0TGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBiYXNlVXJsKTtcbiAgaWYgKHN1cHBvcnRDcm9zc09yaWdpbikge1xuICAgIHByZUNvbm5lY3RMaW5rLnNldEF0dHJpYnV0ZSgnY3Jvc3NvcmlnaW4nLCAnJyk7XG4gIH1cbiAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChwcmVDb25uZWN0TGluayk7XG59XG4iXX0=
@@ -7,7 +7,6 @@
7
7
  export class ApiManager {
8
8
  /**
9
9
  * Map of registered Api Client associated to specific API
10
- *
11
10
  * @warning This should not be used to get the ApiClient for an API, the function getConfiguration() should be used instead
12
11
  */
13
12
  get registeredApiConfigurations() {
@@ -15,7 +14,6 @@ export class ApiManager {
15
14
  }
16
15
  /**
17
16
  * Create an API manager using a custom ApiClient
18
- *
19
17
  * @param defaultConfiguration
20
18
  */
21
19
  constructor(defaultConfiguration, apiConfigurations = {}) {
@@ -24,7 +22,6 @@ export class ApiManager {
24
22
  }
25
23
  /**
26
24
  * Retrieve a configuration for a specific API
27
- *
28
25
  * @param api API to get the configuration for
29
26
  */
30
27
  getConfiguration(api) {
@@ -32,7 +29,6 @@ export class ApiManager {
32
29
  }
33
30
  /**
34
31
  * Set or override API configuration
35
- *
36
32
  * @param apiClient API configuration to override to the given api
37
33
  * @param api API name to override, the default configuration will be used if not specified
38
34
  */
@@ -45,4 +41,4 @@ export class ApiManager {
45
41
  }
46
42
  }
47
43
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpcy1tYW5hZ2VyL2FwaS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFJckI7Ozs7T0FJRztJQUNILElBQVcsMkJBQTJCO1FBQ3BDLE9BQU8sRUFBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBVSxDQUFDO0lBQzlDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxvQkFBK0IsRUFBRSxvQkFBa0QsRUFBRTtRQUMvRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7UUFDakQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZ0JBQWdCLENBQUMsR0FBWTtRQUNsQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ3pFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGdCQUFnQixDQUFDLFNBQW9CLEVBQUUsR0FBWTtRQUN4RCxJQUFJLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUM7U0FDekM7YUFBTTtZQUNMLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxTQUFTLENBQUM7U0FDdkM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFwaUNsaWVudCB9IGZyb20gJ0BhbWEtc2RrL2NvcmUnO1xuXG4vKipcbiAqIEFwaSBtYW5hZ2VyIGlzIHJlc3BvbnNpYmxlIHRvIHByb3ZpZGUgYW4gYXBpIGNvbmZpZ3VyYXRpb24gdG8gYSBzZXJ2aWNlIGZhY3RvcnksIHNvIHRoYXQgaXQgY291bGQgaW5zdGFudGlhdGUgYW4gQVBJXG4gKiB3aXRoIHRoZSByaWdodCBwYXJhbWV0ZXJzLiBJdCBjb250YWlucyBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiBhbmQgYSBtYXAgb2Ygc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgZm9yIEFQSSAvIHNldCBvZlxuICogQVBJLiBDb25maWd1cmF0aW9ucyBhcmUgb25seSBleHBvc2VkIHRocm91Z2ggdGhlIG1ldGhvZCBnZXRDb25maWd1cmF0aW9uLCB3aGljaCB3aWxsIG1lcmdlIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbiAqIGFuZCB0aGUgcmVxdWVzdGVkIG9uZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwaU1hbmFnZXIge1xuICBwcml2YXRlIGRlZmF1bHRDb25maWd1cmF0aW9uOiBBcGlDbGllbnQ7XG4gIHByaXZhdGUgYXBpQ29uZmlndXJhdGlvbnM6IHsgW2tleTogc3RyaW5nXTogQXBpQ2xpZW50IH07XG5cbiAgLyoqXG4gICAqIE1hcCBvZiByZWdpc3RlcmVkIEFwaSBDbGllbnQgYXNzb2NpYXRlZCB0byBzcGVjaWZpYyBBUElcbiAgICpcbiAgICogQHdhcm5pbmcgVGhpcyBzaG91bGQgbm90IGJlIHVzZWQgdG8gZ2V0IHRoZSBBcGlDbGllbnQgZm9yIGFuIEFQSSwgdGhlIGZ1bmN0aW9uIGdldENvbmZpZ3VyYXRpb24oKSBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgZ2V0IHJlZ2lzdGVyZWRBcGlDb25maWd1cmF0aW9ucygpIHtcbiAgICByZXR1cm4gey4uLnRoaXMuYXBpQ29uZmlndXJhdGlvbnN9IGFzIGNvbnN0O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBBUEkgbWFuYWdlciB1c2luZyBhIGN1c3RvbSBBcGlDbGllbnRcbiAgICpcbiAgICogQHBhcmFtIGRlZmF1bHRDb25maWd1cmF0aW9uXG4gICAqL1xuICBjb25zdHJ1Y3RvcihkZWZhdWx0Q29uZmlndXJhdGlvbjogQXBpQ2xpZW50LCBhcGlDb25maWd1cmF0aW9uczogeyBba2V5OiBzdHJpbmddOiBBcGlDbGllbnQgfSA9IHt9KSB7XG4gICAgdGhpcy5kZWZhdWx0Q29uZmlndXJhdGlvbiA9IGRlZmF1bHRDb25maWd1cmF0aW9uO1xuICAgIHRoaXMuYXBpQ29uZmlndXJhdGlvbnMgPSBhcGlDb25maWd1cmF0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgc3BlY2lmaWMgQVBJXG4gICAqXG4gICAqIEBwYXJhbSBhcGkgQVBJIHRvIGdldCB0aGUgY29uZmlndXJhdGlvbiBmb3JcbiAgICovXG4gIHB1YmxpYyBnZXRDb25maWd1cmF0aW9uKGFwaT86IHN0cmluZyk6IEFwaUNsaWVudCB7XG4gICAgcmV0dXJuIGFwaSAmJiB0aGlzLmFwaUNvbmZpZ3VyYXRpb25zW2FwaV0gfHwgdGhpcy5kZWZhdWx0Q29uZmlndXJhdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgb3Igb3ZlcnJpZGUgQVBJIGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIGFwaUNsaWVudCBBUEkgY29uZmlndXJhdGlvbiB0byBvdmVycmlkZSB0byB0aGUgZ2l2ZW4gYXBpXG4gICAqIEBwYXJhbSBhcGkgQVBJIG5hbWUgdG8gb3ZlcnJpZGUsIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gd2lsbCBiZSB1c2VkIGlmIG5vdCBzcGVjaWZpZWRcbiAgICovXG4gIHB1YmxpYyBzZXRDb25maWd1cmF0aW9uKGFwaUNsaWVudDogQXBpQ2xpZW50LCBhcGk/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoYXBpKSB7XG4gICAgICB0aGlzLmFwaUNvbmZpZ3VyYXRpb25zW2FwaV0gPSBhcGlDbGllbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZ3VyYXRpb24gPSBhcGlDbGllbnQ7XG4gICAgfVxuICB9XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpcy1tYW5hZ2VyL2FwaS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFJckI7OztPQUdHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxFQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFVLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksb0JBQStCLEVBQUUsb0JBQWtELEVBQUU7UUFDL0YsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQ2pELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZ0JBQWdCLENBQUMsR0FBWTtRQUNsQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ3pFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZ0JBQWdCLENBQUMsU0FBb0IsRUFBRSxHQUFZO1FBQ3hELElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQztTQUN6QzthQUFNO1lBQ0wsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztTQUN2QztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQXBpQ2xpZW50IH0gZnJvbSAnQGFtYS1zZGsvY29yZSc7XG5cbi8qKlxuICogQXBpIG1hbmFnZXIgaXMgcmVzcG9uc2libGUgdG8gcHJvdmlkZSBhbiBhcGkgY29uZmlndXJhdGlvbiB0byBhIHNlcnZpY2UgZmFjdG9yeSwgc28gdGhhdCBpdCBjb3VsZCBpbnN0YW50aWF0ZSBhbiBBUElcbiAqIHdpdGggdGhlIHJpZ2h0IHBhcmFtZXRlcnMuIEl0IGNvbnRhaW5zIGEgZGVmYXVsdCBjb25maWd1cmF0aW9uIGFuZCBhIG1hcCBvZiBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyBmb3IgQVBJIC8gc2V0IG9mXG4gKiBBUEkuIENvbmZpZ3VyYXRpb25zIGFyZSBvbmx5IGV4cG9zZWQgdGhyb3VnaCB0aGUgbWV0aG9kIGdldENvbmZpZ3VyYXRpb24sIHdoaWNoIHdpbGwgbWVyZ2UgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICogYW5kIHRoZSByZXF1ZXN0ZWQgb25lLlxuICovXG5leHBvcnQgY2xhc3MgQXBpTWFuYWdlciB7XG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZ3VyYXRpb246IEFwaUNsaWVudDtcbiAgcHJpdmF0ZSBhcGlDb25maWd1cmF0aW9uczogeyBba2V5OiBzdHJpbmddOiBBcGlDbGllbnQgfTtcblxuICAvKipcbiAgICogTWFwIG9mIHJlZ2lzdGVyZWQgQXBpIENsaWVudCBhc3NvY2lhdGVkIHRvIHNwZWNpZmljIEFQSVxuICAgKiBAd2FybmluZyBUaGlzIHNob3VsZCBub3QgYmUgdXNlZCB0byBnZXQgdGhlIEFwaUNsaWVudCBmb3IgYW4gQVBJLCB0aGUgZnVuY3Rpb24gZ2V0Q29uZmlndXJhdGlvbigpIHNob3VsZCBiZSB1c2VkIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyBnZXQgcmVnaXN0ZXJlZEFwaUNvbmZpZ3VyYXRpb25zKCkge1xuICAgIHJldHVybiB7Li4udGhpcy5hcGlDb25maWd1cmF0aW9uc30gYXMgY29uc3Q7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIEFQSSBtYW5hZ2VyIHVzaW5nIGEgY3VzdG9tIEFwaUNsaWVudFxuICAgKiBAcGFyYW0gZGVmYXVsdENvbmZpZ3VyYXRpb25cbiAgICovXG4gIGNvbnN0cnVjdG9yKGRlZmF1bHRDb25maWd1cmF0aW9uOiBBcGlDbGllbnQsIGFwaUNvbmZpZ3VyYXRpb25zOiB7IFtrZXk6IHN0cmluZ106IEFwaUNsaWVudCB9ID0ge30pIHtcbiAgICB0aGlzLmRlZmF1bHRDb25maWd1cmF0aW9uID0gZGVmYXVsdENvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5hcGlDb25maWd1cmF0aW9ucyA9IGFwaUNvbmZpZ3VyYXRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGEgY29uZmlndXJhdGlvbiBmb3IgYSBzcGVjaWZpYyBBUElcbiAgICogQHBhcmFtIGFwaSBBUEkgdG8gZ2V0IHRoZSBjb25maWd1cmF0aW9uIGZvclxuICAgKi9cbiAgcHVibGljIGdldENvbmZpZ3VyYXRpb24oYXBpPzogc3RyaW5nKTogQXBpQ2xpZW50IHtcbiAgICByZXR1cm4gYXBpICYmIHRoaXMuYXBpQ29uZmlndXJhdGlvbnNbYXBpXSB8fCB0aGlzLmRlZmF1bHRDb25maWd1cmF0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBvciBvdmVycmlkZSBBUEkgY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0gYXBpQ2xpZW50IEFQSSBjb25maWd1cmF0aW9uIHRvIG92ZXJyaWRlIHRvIHRoZSBnaXZlbiBhcGlcbiAgICogQHBhcmFtIGFwaSBBUEkgbmFtZSB0byBvdmVycmlkZSwgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aWxsIGJlIHVzZWQgaWYgbm90IHNwZWNpZmllZFxuICAgKi9cbiAgcHVibGljIHNldENvbmZpZ3VyYXRpb24oYXBpQ2xpZW50OiBBcGlDbGllbnQsIGFwaT86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChhcGkpIHtcbiAgICAgIHRoaXMuYXBpQ29uZmlndXJhdGlvbnNbYXBpXSA9IGFwaUNsaWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlndXJhdGlvbiA9IGFwaUNsaWVudDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -7,7 +7,6 @@ export class ApiManagerModule {
7
7
  /**
8
8
  * Provide a custom apiManager
9
9
  * A factory can be provided via injection to the token API_TOKEN
10
- *
11
10
  * @param apiManager
12
11
  */
13
12
  static forRoot(apiManager) {
@@ -18,13 +17,13 @@ export class ApiManagerModule {
18
17
  ]
19
18
  };
20
19
  }
21
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ApiManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
22
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: ApiManagerModule }); }
23
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ApiManagerModule, providers: [
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: [
24
23
  ApiFactoryService
25
24
  ] }); }
26
25
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ApiManagerModule, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiManagerModule, decorators: [{
28
27
  type: NgModule,
29
28
  args: [{
30
29
  providers: [
@@ -32,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
32
31
  ]
33
32
  }]
34
33
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaXMtbWFuYWdlci9hcGktbWFuYWdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUVoRCwyRkFBMkY7QUFNM0YsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBc0I7UUFDMUMsT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFO2FBQzdDO1NBQ0YsQ0FBQztJQUNKLENBQUM7aUlBZFUsZ0JBQWdCO2tJQUFoQixnQkFBZ0I7a0lBQWhCLGdCQUFnQixhQUpoQjtZQUNULGlCQUFpQjtTQUNsQjs7MkZBRVUsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVCxpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwaUZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9hcGktZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwaU1hbmFnZXIgfSBmcm9tICcuL2FwaS1tYW5hZ2VyJztcbmltcG9ydCB7IEFQSV9UT0tFTiB9IGZyb20gJy4vYXBpLW1hbmFnZXIudG9rZW4nO1xuXG4vLyBNb2R1bGUgdGhhdCBuZWVkcyB0byBiZSBpbXBvcnRlZCBieSB0aGUgYXBwbGljYXRpb24gdG8gaW5zdGFudGlhdGUgYW4gU0RLIGNvbmZpZ3VyYXRpb24uXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICBBcGlGYWN0b3J5U2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFwaU1hbmFnZXJNb2R1bGUge1xuICAvKipcbiAgICogUHJvdmlkZSBhIGN1c3RvbSBhcGlNYW5hZ2VyXG4gICAqIEEgZmFjdG9yeSBjYW4gYmUgcHJvdmlkZWQgdmlhIGluamVjdGlvbiB0byB0aGUgdG9rZW4gQVBJX1RPS0VOXG4gICAqXG4gICAqIEBwYXJhbSBhcGlNYW5hZ2VyXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoYXBpTWFuYWdlcjogQXBpTWFuYWdlcik6IE1vZHVsZVdpdGhQcm92aWRlcnM8QXBpTWFuYWdlck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQXBpTWFuYWdlck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEFQSV9UT0tFTiwgdXNlVmFsdWU6IGFwaU1hbmFnZXIgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaXMtbWFuYWdlci9hcGktbWFuYWdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUVoRCwyRkFBMkY7QUFNM0YsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFzQjtRQUMxQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7YUFDN0M7U0FDRixDQUFDO0lBQ0osQ0FBQztpSUFiVSxnQkFBZ0I7a0lBQWhCLGdCQUFnQjtrSUFBaEIsZ0JBQWdCLGFBSmhCO1lBQ1QsaUJBQWlCO1NBQ2xCOzsyRkFFVSxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNULGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBpRmFjdG9yeVNlcnZpY2UgfSBmcm9tICcuL2FwaS1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBpTWFuYWdlciB9IGZyb20gJy4vYXBpLW1hbmFnZXInO1xuaW1wb3J0IHsgQVBJX1RPS0VOIH0gZnJvbSAnLi9hcGktbWFuYWdlci50b2tlbic7XG5cbi8vIE1vZHVsZSB0aGF0IG5lZWRzIHRvIGJlIGltcG9ydGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiB0byBpbnN0YW50aWF0ZSBhbiBTREsgY29uZmlndXJhdGlvbi5cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW1xuICAgIEFwaUZhY3RvcnlTZXJ2aWNlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBpTWFuYWdlck1vZHVsZSB7XG4gIC8qKlxuICAgKiBQcm92aWRlIGEgY3VzdG9tIGFwaU1hbmFnZXJcbiAgICogQSBmYWN0b3J5IGNhbiBiZSBwcm92aWRlZCB2aWEgaW5qZWN0aW9uIHRvIHRoZSB0b2tlbiBBUElfVE9LRU5cbiAgICogQHBhcmFtIGFwaU1hbmFnZXJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChhcGlNYW5hZ2VyOiBBcGlNYW5hZ2VyKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBcGlNYW5hZ2VyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBcGlNYW5hZ2VyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQVBJX1RPS0VOLCB1c2VWYWx1ZTogYXBpTWFuYWdlciB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -10,7 +10,6 @@ import { InjectionToken, Injectable, Inject, Optional, NgModule } from '@angular
10
10
  class ApiManager {
11
11
  /**
12
12
  * Map of registered Api Client associated to specific API
13
- *
14
13
  * @warning This should not be used to get the ApiClient for an API, the function getConfiguration() should be used instead
15
14
  */
16
15
  get registeredApiConfigurations() {
@@ -18,7 +17,6 @@ class ApiManager {
18
17
  }
19
18
  /**
20
19
  * Create an API manager using a custom ApiClient
21
- *
22
20
  * @param defaultConfiguration
23
21
  */
24
22
  constructor(defaultConfiguration, apiConfigurations = {}) {
@@ -27,7 +25,6 @@ class ApiManager {
27
25
  }
28
26
  /**
29
27
  * Retrieve a configuration for a specific API
30
- *
31
28
  * @param api API to get the configuration for
32
29
  */
33
30
  getConfiguration(api) {
@@ -35,7 +32,6 @@ class ApiManager {
35
32
  }
36
33
  /**
37
34
  * Set or override API configuration
38
- *
39
35
  * @param apiClient API configuration to override to the given api
40
36
  * @param api API name to override, the default configuration will be used if not specified
41
37
  */
@@ -69,7 +65,6 @@ class ApiFactoryService {
69
65
  }
70
66
  /**
71
67
  * Determine if the given parameter is a API class
72
- *
73
68
  * @param apiClass object to check
74
69
  */
75
70
  isApiClass(apiClass) {
@@ -77,7 +72,6 @@ class ApiFactoryService {
77
72
  }
78
73
  /**
79
74
  * Retrieve a specific API with loaded configuration
80
- *
81
75
  * @param apiClass class of the API to retrieve
82
76
  * @param refreshCache Ignore cached API instance and refresh it
83
77
  */
@@ -94,7 +88,6 @@ class ApiFactoryService {
94
88
  /**
95
89
  * Update the Map of loaded APIs.
96
90
  * Note: Can be used to override the a specific API
97
- *
98
91
  * @param map Map of loaded APIs to update
99
92
  */
100
93
  updateApiMapping(map) {
@@ -115,7 +108,6 @@ class ApiFactoryService {
115
108
  }
116
109
  /**
117
110
  * Clear the cache of loaded APIs
118
- *
119
111
  * @param apis Whitelist of APIs to clear from the cache, if specified only these apis will be removed from the cache
120
112
  */
121
113
  clearCache(apis) {
@@ -128,18 +120,17 @@ class ApiFactoryService {
128
120
  }
129
121
  /**
130
122
  * Retrieve the configuration for a specific API
131
- *
132
123
  * @param apiClass class of the API for which retrieving the configuration
133
124
  */
134
125
  getConfigFor(apiClass) {
135
126
  return this.apiManager.getConfiguration(apiClass.apiName);
136
127
  }
137
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ApiFactoryService, deps: [{ token: API_TOKEN }, { token: INITIAL_APIS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
138
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ApiFactoryService }); }
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 }); }
139
130
  }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ApiFactoryService, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiFactoryService, decorators: [{
141
132
  type: Injectable
142
- }], ctorParameters: function () { return [{ type: ApiManager, decorators: [{
133
+ }], ctorParameters: () => [{ type: ApiManager, decorators: [{
143
134
  type: Inject,
144
135
  args: [API_TOKEN]
145
136
  }] }, { type: undefined, decorators: [{
@@ -147,14 +138,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
147
138
  }, {
148
139
  type: Inject,
149
140
  args: [INITIAL_APIS_TOKEN]
150
- }] }]; } });
141
+ }] }] });
151
142
 
152
143
  // Module that needs to be imported by the application to instantiate an SDK configuration.
153
144
  class ApiManagerModule {
154
145
  /**
155
146
  * Provide a custom apiManager
156
147
  * A factory can be provided via injection to the token API_TOKEN
157
- *
158
148
  * @param apiManager
159
149
  */
160
150
  static forRoot(apiManager) {
@@ -165,13 +155,13 @@ class ApiManagerModule {
165
155
  ]
166
156
  };
167
157
  }
168
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ApiManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
169
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: ApiManagerModule }); }
170
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ApiManagerModule, providers: [
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: [
171
161
  ApiFactoryService
172
162
  ] }); }
173
163
  }
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ApiManagerModule, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ApiManagerModule, decorators: [{
175
165
  type: NgModule,
176
166
  args: [{
177
167
  providers: [
@@ -182,7 +172,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
182
172
 
183
173
  /**
184
174
  * Add a preconnect `<link>` element to the DOM
185
- *
186
175
  * @param baseUrl the origin href
187
176
  * @param supportCrossOrigin add crossorigin attribute to the link element
188
177
  */
@@ -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 *\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 *\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 *\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 *\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 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 *\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 *\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 *\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 *\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 *\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 *\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 *\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,6 @@
1
1
  {
2
2
  "name": "@o3r/apis-manager",
3
- "version": "10.0.0-next.9",
3
+ "version": "11.0.0-next.0",
4
4
  "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
5
  "keywords": [
6
6
  "apis-manager",
@@ -8,15 +8,14 @@
8
8
  "otter-module"
9
9
  ],
10
10
  "peerDependencies": {
11
- "@ama-sdk/core": "^10.0.0-next.9",
12
- "@angular-devkit/schematics": "~16.2.0",
13
- "@angular/common": "~16.2.0",
14
- "@angular/core": "~16.2.0",
15
- "@o3r/dev-tools": "^10.0.0-next.9",
16
- "@o3r/schematics": "^10.0.0-next.9",
17
- "@schematics/angular": "~16.2.0",
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",
18
17
  "rxjs": "^7.8.1",
19
- "typescript": "~5.1.6"
18
+ "typescript": "~5.2.2"
20
19
  },
21
20
  "peerDependenciesMeta": {
22
21
  "@angular-devkit/schematics": {
@@ -34,7 +33,7 @@
34
33
  },
35
34
  "schematics": "./collection.json",
36
35
  "engines": {
37
- "node": ">=16.0.0"
36
+ "node": ">=18.0.0"
38
37
  },
39
38
  "module": "fesm2022/o3r-apis-manager.mjs",
40
39
  "typings": "index.d.ts",
@@ -113,5 +112,6 @@
113
112
  ],
114
113
  "bugs": "https://github.com/AmadeusITGroup/otter/issues",
115
114
  "repository": "https://github.com/AmadeusITGroup/otter",
116
- "license": "BSD-3-Clause"
115
+ "license": "BSD-3-Clause",
116
+ "homepage": "https://amadeusitgroup.github.io/otter/"
117
117
  }
@@ -1,6 +1,8 @@
1
1
  import { Rule } from '@angular-devkit/schematics';
2
2
  /**
3
3
  * Update app.module file with api manager, if needed
4
+ * @param options
5
+ * @param options.projectName
4
6
  */
5
7
  export declare function updateApiDependencies(options: {
6
8
  projectName?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/helpers/update-api-deps/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAyB,MAAM,4BAA4B,CAAC;AAY/E;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAC,GAAG,IAAI,CAsGvF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/helpers/update-api-deps/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,IAAI,EAA0B,MAAM,4BAA4B,CAAC;AAYjF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAC,GAAG,IAAI,CA0GvF"}
@@ -3,13 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateApiDependencies = void 0;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
5
  const schematics_2 = require("@o3r/schematics");
6
- const ts = require("typescript");
7
6
  const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
7
+ const utility_1 = require("@schematics/angular/utility");
8
+ const ts = require("typescript");
8
9
  /**
9
10
  * Update app.module file with api manager, if needed
11
+ * @param options
12
+ * @param options.projectName
10
13
  */
11
14
  function updateApiDependencies(options) {
12
15
  const updateAppModule = (tree, context) => {
16
+ const additionalRules = [];
13
17
  const moduleFilePath = (0, schematics_2.getAppModuleFilePath)(tree, context, options.projectName);
14
18
  if (!moduleFilePath) {
15
19
  return tree;
@@ -20,16 +24,15 @@ function updateApiDependencies(options) {
20
24
  return tree;
21
25
  }
22
26
  const recorder = tree.beginUpdate(moduleFilePath);
23
- const ngModulesMetadata = (0, ast_utils_1.getDecoratorMetadata)(sourceFile, 'NgModule', '@angular/core');
24
- const moduleIndex = ngModulesMetadata[0] ? ngModulesMetadata[0].pos - ('NgModule'.length + 1) : sourceFileContent.indexOf('@NgModule');
25
- const addImportToModuleFile = (name, file) => (0, schematics_2.addImportToModuleFile)(name, file, sourceFile, sourceFileContent, context, recorder, moduleFilePath, moduleIndex);
27
+ const { moduleIndex } = (0, schematics_2.getModuleIndex)(sourceFile, sourceFileContent);
28
+ const addImportToModuleFile = (name, file, moduleFunction) => additionalRules.push((0, utility_1.addRootImport)(options.projectName, ({ code, external }) => code `${external(name, file)}${moduleFunction}`));
26
29
  const insertImportToModuleFile = (name, file, isDefault) => (0, schematics_2.insertImportToModuleFile)(name, file, sourceFile, recorder, moduleFilePath, isDefault);
27
- const addProviderToModuleFile = (name, file, customProvider) => (0, schematics_2.addProviderToModuleFile)(name, file, sourceFile, sourceFileContent, context, recorder, moduleFilePath, moduleIndex, customProvider);
30
+ const addProviderToModuleFile = (name, file, customProvider) => additionalRules.push((0, utility_1.addRootProvider)(options.projectName, ({ code, external }) => code `{provide: ${external(name, file)}, ${customProvider}}`));
28
31
  const insertBeforeModule = (line) => (0, schematics_2.insertBeforeModule)(line, sourceFileContent, recorder, moduleIndex);
29
32
  insertImportToModuleFile('appendPreconnect', '@o3r/apis-manager', false);
30
- insertBeforeModule('appendPreconnect(\'https://YOUR_API_ENDPOINT\');');
31
- addImportToModuleFile('ApiManagerModule', '@o3r/apis-manager');
32
33
  insertBeforeModule('const PROXY_SERVER = \'https://YOUR_API_ENDPOINT\';');
34
+ insertBeforeModule('appendPreconnect(PROXY_SERVER);');
35
+ addImportToModuleFile('ApiManagerModule', '@o3r/apis-manager');
33
36
  insertBeforeModule(`
34
37
  export function apiManagerFactory(): ApiManager {
35
38
  const apiClient = new ApiFetchClient({
@@ -39,16 +42,16 @@ export function apiManagerFactory(): ApiManager {
39
42
 
40
43
  return new ApiManager(apiClient);
41
44
  }`);
42
- addProviderToModuleFile('API_TOKEN', '@o3r/apis-manager', '{provide: API_TOKEN, useFactory: apiManagerFactory}');
45
+ addProviderToModuleFile('API_TOKEN', '@o3r/apis-manager', 'useFactory: apiManagerFactory');
43
46
  insertImportToModuleFile('ApiManager', '@o3r/apis-manager', false);
44
47
  insertImportToModuleFile('ApiFetchClient', '@ama-sdk/core', false);
45
48
  insertImportToModuleFile('ApiKeyRequest', '@ama-sdk/core', false);
46
49
  tree.commitUpdate(recorder);
47
50
  context.logger.info('Please update by hand the placeholders for YOUR_API_ENDPOINT and YOUR_API_KEY!');
48
- return tree;
51
+ return (0, schematics_1.chain)(additionalRules)(tree, context);
49
52
  };
50
53
  const updateTsConfig = (tree, context) => {
51
- const workspaceProject = (0, schematics_2.getProjectFromTree)(tree, options.projectName);
54
+ const workspaceProject = options.projectName ? (0, schematics_2.getWorkspaceConfig)(tree)?.projects[options.projectName] : undefined;
52
55
  const tsconfig = workspaceProject &&
53
56
  workspaceProject.architect &&
54
57
  workspaceProject.architect.build &&
@@ -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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"}
@@ -2,7 +2,6 @@ import { Rule } from '@angular-devkit/schematics';
2
2
  import { NgAddSchematicsSchema } from './schema';
3
3
  /**
4
4
  * Add Otter apis manager to an Angular Project
5
- *
6
5
  * @param options
7
6
  */
8
7
  export declare function ngAdd(options: NgAddSchematicsSchema): Rule;
@@ -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;AAIvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD;;;;GAIG;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,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"}
@@ -2,21 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ngAdd = void 0;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
- const schematics_2 = require("@o3r/schematics");
6
5
  const path = require("node:path");
7
6
  /**
8
7
  * Add Otter apis manager to an Angular Project
9
- *
10
8
  * @param options
11
9
  */
12
10
  function ngAdd(options) {
13
11
  return async (tree, context) => {
14
12
  try {
15
- const { ngAddPackages, getO3rPeerDeps, applyEsLintFix, getProjectFromTree } = await Promise.resolve().then(() => require('@o3r/schematics'));
13
+ const { ngAddPackages, getO3rPeerDeps, applyEsLintFix, getWorkspaceConfig, getProjectNewDependenciesType } = await Promise.resolve().then(() => require('@o3r/schematics'));
16
14
  const { updateApiDependencies } = await Promise.resolve().then(() => require('../helpers/update-api-deps'));
17
15
  const depsInfo = getO3rPeerDeps(path.resolve(__dirname, '..', '..', 'package.json'));
18
16
  const rulesToExecute = [];
19
- const workspaceProject = tree.exists('angular.json') ? getProjectFromTree(tree, options.projectName) : undefined;
17
+ const workspaceProject = options.projectName ? getWorkspaceConfig(tree)?.projects[options.projectName] : undefined;
20
18
  const workingDirectory = workspaceProject?.root;
21
19
  const projectType = workspaceProject?.projectType || 'application';
22
20
  if (projectType === 'application') {
@@ -30,7 +28,7 @@ function ngAdd(options) {
30
28
  version: depsInfo.packageVersion,
31
29
  parentPackageInfo: depsInfo.packageName,
32
30
  projectName: options.projectName,
33
- dependencyType: (0, schematics_2.getProjectDepType)(tree),
31
+ dependencyType: getProjectNewDependenciesType(workspaceProject),
34
32
  workingDirectory
35
33
  })
36
34
  ])(tree, context);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,2DAAuF;AACvF,gDAAoD;AAEpD,kCAAkC;AAGlC;;;;GAIG;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,GAAG,2CAAa,iBAAiB,EAAC,CAAC;YAC9G,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,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjH,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,IAAA,8BAAiB,EAAC,IAAI,CAAC;oBACvC,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,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,5 +1,5 @@
1
1
  {
2
- "$schema": "http://json-schema.org/schema",
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
3
  "$id": "ngAddSchematicsSchema",
4
4
  "title": "Add Otter library",
5
5
  "description": "ngAdd Otter library",
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }