@o3r/apis-manager 12.0.0-next.2 → 12.0.0-next.20

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
@@ -99,7 +99,7 @@ export function apiFactory(eventTrackService: EventTrackService): ApiManager {
99
99
  @NgModule({
100
100
  imports: [
101
101
  ...,
102
- ApiManagerModule
102
+ ApiManagerModule,
103
103
  ],
104
104
  providers: [
105
105
  ...,
@@ -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: "18.2.13", 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: "18.2.13", ngImport: i0, type: ApiFactoryService }); }
128
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", 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: "19.0.7", ngImport: i0, type: ApiFactoryService }); }
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiFactoryService, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: ApiFactoryService, decorators: [{
132
132
  type: Injectable
133
133
  }], ctorParameters: () => [{ type: ApiManager, decorators: [{
134
134
  type: Inject,
@@ -170,13 +170,13 @@ class ApiManagerModule {
170
170
  ]
171
171
  };
172
172
  }
173
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
174
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ApiManagerModule }); }
175
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiManagerModule, providers: [
173
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: ApiManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
174
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: ApiManagerModule }); }
175
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: ApiManagerModule, providers: [
176
176
  ApiFactoryService
177
177
  ] }); }
178
178
  }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiManagerModule, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: ApiManagerModule, decorators: [{
180
180
  type: NgModule,
181
181
  args: [{
182
182
  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.helpers.ts","../../src/apis-manager/api-manager.module.ts","../../src/o3r-apis-manager.ts"],"sourcesContent":["import type {\n Api,\n ApiClient,\n} 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 | Api): ApiClient {\n return (api && this.apiConfigurations[typeof api === 'string' ? api : api.apiName]) || 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 | Api): void {\n if (api) {\n this.apiConfigurations[typeof api === 'string' ? api : api.apiName] = apiClient;\n } else {\n this.defaultConfiguration = apiClient;\n }\n }\n}\n","import {\n InjectionToken,\n} from '@angular/core';\nimport {\n ApiManager,\n} 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 {\n Api,\n ApiClient,\n ApiName,\n} from '@ama-sdk/core';\nimport {\n Inject,\n Injectable,\n InjectionToken,\n Optional,\n} from '@angular/core';\nimport {\n ApiManager,\n} from './api-manager';\nimport {\n API_TOKEN,\n} 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 /** 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 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)\n ? map\n .reduce<Record<string, Api | ApiClassType<Api>>>((acc, curr) => {\n acc[curr.apiName] = curr;\n return acc;\n }, {})\n : map;\n\n this.loadedApis = {\n ...this.loadedApis,\n ...Object.entries(newItems)\n .reduce<Record<string, Api>>((acc, [apiName, api]) => {\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","/**\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.append(preConnectLink);\n}\n","import {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport {\n ApiFactoryService,\n} from './api-factory.service';\nimport {\n ApiManager,\n} from './api-manager';\nimport {\n API_TOKEN,\n} 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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;AAKA;;;;;AAKG;MACU,UAAU,CAAA;AAIrB;;;AAGG;AACH,IAAA,IAAW,2BAA2B,GAAA;AACpC,QAAA,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAW;;AAG/C;;;AAGG;IACH,WAAY,CAAA,oBAA+B,EAAE,iBAAA,GAAkD,EAAE,EAAA;AAC/F,QAAA,IAAI,CAAC,oBAAoB,GAAG,oBAAoB;AAChD,QAAA,IAAI,CAAC,iBAAiB,GAAG,iBAAiB;;AAG5C;;;AAGG;AACI,IAAA,gBAAgB,CAAC,GAAkB,EAAA;QACxC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,oBAAoB;;AAGlH;;;;AAIG;IACI,gBAAgB,CAAC,SAAoB,EAAE,GAAkB,EAAA;QAC9D,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS;;aAC1E;AACL,YAAA,IAAI,CAAC,oBAAoB,GAAG,SAAS;;;AAG1C;;AC7CD;;AAEG;MACU,SAAS,GAAG,IAAI,cAAc,CAAa,0BAA0B;;ACWlF;;AAEG;MACU,kBAAkB,GAAG,IAAI,cAAc,CAAyB,oBAAoB;MAGpF,iBAAiB,CAAA;IAI5B,WAAgD,CAAA,UAAsB,EAA0C,IAA6B,EAAA;QAA7F,IAAU,CAAA,UAAA,GAAV,UAAU;;QAFlD,IAAU,CAAA,UAAA,GAAwB,EAAE;QAG1C,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;;;AAI/B;;;AAGG;AACK,IAAA,UAAU,CAAsB,QAAa,EAAA;QACnD,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,QAAQ,KAAK,UAAU;;AAG7D;;;;AAIG;AACI,IAAA,MAAM,CAAgB,QAAkD,EAAE,YAAY,GAAG,KAAK,EAAA;QACnG,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC/C,QAAA,IAAI,CAAC,YAAY,IAAI,KAAK,EAAE;AAC1B,YAAA,OAAO,KAAU;;AAGnB,QAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,QAAQ;AAC5C,QAAA,OAAO,QAAQ;;AAGjB;;;;AAIG;AACI,IAAA,gBAAgB,CAAC,GAAkE,EAAA;AACxF,QAAA,MAAM,QAAQ,GAAyC,KAAK,CAAC,OAAO,CAAC,GAAG;AACtE,cAAE;AACC,iBAAA,MAAM,CAA0C,CAAC,GAAG,EAAE,IAAI,KAAI;AAC7D,gBAAA,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI;AACxB,gBAAA,OAAO,GAAG;aACX,EAAE,EAAE;cACL,GAAG;QAEP,IAAI,CAAC,UAAU,GAAG;YAChB,GAAG,IAAI,CAAC,UAAU;AAClB,YAAA,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ;iBACvB,MAAM,CAAsB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,KAAI;gBACnD,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG;AAC3E,gBAAA,OAAO,GAAG;aACX,EAAE,EAAE;SACR;;AAGH;;;AAGG;AACI,IAAA,UAAU,CAAC,IAAgB,EAAA;QAChC,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;;aACrD;AACL,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE;;;AAIxB;;;AAGG;AACI,IAAA,YAAY,CAAC,QAAiB,EAAA;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;;kIA3EhD,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAIR,SAAS,EAAA,EAAA,EAAA,KAAA,EAA+D,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;sIAJnG,iBAAiB,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B;;0BAKc,MAAM;2BAAC,SAAS;;0BAA4C;;0BAAY,MAAM;2BAAC,kBAAkB;;;AC/BhH;;;;AAIG;SACa,gBAAgB,CAAC,OAAe,EAAE,kBAAkB,GAAG,IAAI,EAAA;IACzE,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AACrD,IAAA,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC;AAChD,IAAA,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5C,IAAI,kBAAkB,EAAE;AACtB,QAAA,cAAc,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;;AAEhD,IAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;AACtC;;ACCA;MAMa,gBAAgB,CAAA;AAC3B;;;;AAIG;IACI,OAAO,OAAO,CAAC,UAAsB,EAAA;QAC1C,OAAO;AACL,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,SAAS,EAAE;AACT,gBAAA,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU;AAC3C;SACF;;kIAZQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mIAAhB,gBAAgB,EAAA,CAAA,CAAA;AAAhB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAJhB,SAAA,EAAA;YACT;AACD,SAAA,EAAA,CAAA,CAAA;;4FAEU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,SAAS,EAAE;wBACT;AACD;AACF,iBAAA;;;ACnBD;;AAEG;;;;"}
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.helpers.ts","../../src/apis-manager/api-manager.module.ts","../../src/o3r-apis-manager.ts"],"sourcesContent":["import type {\n Api,\n ApiClient,\n} 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 | Api): ApiClient {\n return (api && this.apiConfigurations[typeof api === 'string' ? api : api.apiName]) || 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 | Api): void {\n if (api) {\n this.apiConfigurations[typeof api === 'string' ? api : api.apiName] = apiClient;\n } else {\n this.defaultConfiguration = apiClient;\n }\n }\n}\n","import {\n InjectionToken,\n} from '@angular/core';\nimport {\n ApiManager,\n} 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 {\n Api,\n ApiClient,\n ApiName,\n} from '@ama-sdk/core';\nimport {\n Inject,\n Injectable,\n InjectionToken,\n Optional,\n} from '@angular/core';\nimport {\n ApiManager,\n} from './api-manager';\nimport {\n API_TOKEN,\n} 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 /** 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 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)\n ? map\n .reduce<Record<string, Api | ApiClassType<Api>>>((acc, curr) => {\n acc[curr.apiName] = curr;\n return acc;\n }, {})\n : map;\n\n this.loadedApis = {\n ...this.loadedApis,\n ...Object.entries(newItems)\n .reduce<Record<string, Api>>((acc, [apiName, api]) => {\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","/**\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.append(preConnectLink);\n}\n","import {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport {\n ApiFactoryService,\n} from './api-factory.service';\nimport {\n ApiManager,\n} from './api-manager';\nimport {\n API_TOKEN,\n} 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 * 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": "12.0.0-next.2",
3
+ "version": "12.0.0-next.20",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,14 +11,15 @@
11
11
  "otter-module"
12
12
  ],
13
13
  "peerDependencies": {
14
- "@ama-sdk/client-fetch": "^12.0.0-next.2",
15
- "@ama-sdk/core": "^12.0.0-next.2",
16
- "@angular-devkit/schematics": "^18.2.0",
17
- "@angular/common": "^18.2.0",
18
- "@angular/core": "^18.2.0",
19
- "@o3r/schematics": "^12.0.0-next.2",
20
- "@schematics/angular": "^18.2.0",
14
+ "@ama-sdk/client-fetch": "^12.0.0-next.20",
15
+ "@ama-sdk/core": "^12.0.0-next.20",
16
+ "@angular-devkit/schematics": "^19.0.0",
17
+ "@angular/common": "^19.0.0",
18
+ "@angular/core": "^19.0.0",
19
+ "@o3r/schematics": "^12.0.0-next.20",
20
+ "@schematics/angular": "^19.0.0",
21
21
  "rxjs": "^7.8.1",
22
+ "ts-node": "~10.9.2",
22
23
  "typescript": "^5.5.4"
23
24
  },
24
25
  "peerDependenciesMeta": {
@@ -50,8 +51,6 @@
50
51
  },
51
52
  ".": {
52
53
  "types": "./index.d.ts",
53
- "esm2022": "./esm2022/o3r-apis-manager.mjs",
54
- "esm": "./esm2022/o3r-apis-manager.mjs",
55
54
  "default": "./fesm2022/o3r-apis-manager.mjs"
56
55
  }
57
56
  },
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -1,95 +0,0 @@
1
- import { Inject, Injectable, InjectionToken, Optional, } from '@angular/core';
2
- import { ApiManager, } from './api-manager';
3
- import { API_TOKEN, } from './api-manager.token';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./api-manager";
6
- /**
7
- * Initial APIs instantiations
8
- */
9
- export const INITIAL_APIS_TOKEN = new InjectionToken('Initial APIs token');
10
- export class ApiFactoryService {
11
- constructor(apiManager, apis) {
12
- this.apiManager = apiManager;
13
- /** Map of loaded APIs */
14
- this.loadedApis = {};
15
- if (apis) {
16
- this.updateApiMapping(apis);
17
- }
18
- }
19
- /**
20
- * Determine if the given parameter is a API class
21
- * @param apiClass object to check
22
- */
23
- isApiClass(apiClass) {
24
- return !!apiClass.apiName && typeof apiClass === 'function';
25
- }
26
- /**
27
- * Retrieve a specific API with loaded configuration
28
- * @param apiClass class of the API to retrieve
29
- * @param refreshCache Ignore cached API instance and refresh it
30
- */
31
- getApi(apiClass, refreshCache = false) {
32
- const cache = this.loadedApis[apiClass.apiName];
33
- if (!refreshCache && cache) {
34
- return cache;
35
- }
36
- const instance = new apiClass(this.getConfigFor(apiClass));
37
- this.loadedApis[apiClass.apiName] = instance;
38
- return instance;
39
- }
40
- /**
41
- * Update the Map of loaded APIs.
42
- * Note: Can be used to override the a specific API
43
- * @param map Map of loaded APIs to update
44
- */
45
- updateApiMapping(map) {
46
- const newItems = Array.isArray(map)
47
- ? map
48
- .reduce((acc, curr) => {
49
- acc[curr.apiName] = curr;
50
- return acc;
51
- }, {})
52
- : map;
53
- this.loadedApis = {
54
- ...this.loadedApis,
55
- ...Object.entries(newItems)
56
- .reduce((acc, [apiName, api]) => {
57
- acc[apiName] = this.isApiClass(api) ? new api(this.getConfigFor(api)) : api;
58
- return acc;
59
- }, {})
60
- };
61
- }
62
- /**
63
- * Clear the cache of loaded APIs
64
- * @param apis Whitelist of APIs to clear from the cache, if specified only these apis will be removed from the cache
65
- */
66
- clearCache(apis) {
67
- if (apis) {
68
- apis.forEach((api) => delete this.loadedApis[api.apiName]);
69
- }
70
- else {
71
- this.loadedApis = {};
72
- }
73
- }
74
- /**
75
- * Retrieve the configuration for a specific API
76
- * @param apiClass class of the API for which retrieving the configuration
77
- */
78
- getConfigFor(apiClass) {
79
- return this.apiManager.getConfiguration(apiClass.apiName);
80
- }
81
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", 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: "18.2.13", ngImport: i0, type: ApiFactoryService }); }
83
- }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiFactoryService, decorators: [{
85
- type: Injectable
86
- }], ctorParameters: () => [{ type: i1.ApiManager, decorators: [{
87
- type: Inject,
88
- args: [API_TOKEN]
89
- }] }, { type: undefined, decorators: [{
90
- type: Optional
91
- }, {
92
- type: Inject,
93
- args: [INITIAL_APIS_TOKEN]
94
- }] }] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlzLW1hbmFnZXIvYXBpLWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFDVixjQUFjLEVBQ2QsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFNBQVMsR0FDVixNQUFNLHFCQUFxQixDQUFDOzs7QUFLN0I7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsb0JBQW9CLENBQUMsQ0FBQztBQUduRyxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQWdELFVBQXNCLEVBQTBDLElBQTZCO1FBQTdGLGVBQVUsR0FBVixVQUFVLENBQVk7UUFIdEUseUJBQXlCO1FBQ2pCLGVBQVUsR0FBd0IsRUFBRSxDQUFDO1FBRzNDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxVQUFVLENBQXNCLFFBQWE7UUFDbkQsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxPQUFPLFFBQVEsS0FBSyxVQUFVLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQWdCLFFBQWtELEVBQUUsWUFBWSxHQUFHLEtBQUs7UUFDbkcsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUMzQixPQUFPLEtBQVUsQ0FBQztRQUNwQixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUM3QyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLEdBQWtFO1FBQ3hGLE1BQU0sUUFBUSxHQUF5QyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUN2RSxDQUFDLENBQUMsR0FBRztpQkFDRixNQUFNLENBQTBDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUM3RCxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDekIsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUVSLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsR0FBRyxJQUFJLENBQUMsVUFBVTtZQUNsQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO2lCQUN4QixNQUFNLENBQXNCLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7Z0JBQ25ELEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDNUUsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDO1NBQ1QsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsSUFBZ0I7UUFDaEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksWUFBWSxDQUFDLFFBQWlCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQztrSUE1RVUsaUJBQWlCLGtCQUlSLFNBQVMsYUFBK0Qsa0JBQWtCO3NJQUpuRyxpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQUtJLE1BQU07MkJBQUMsU0FBUzs7MEJBQTRDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBcGksXG4gIEFwaUNsaWVudCxcbiAgQXBpTmFtZSxcbn0gZnJvbSAnQGFtYS1zZGsvY29yZSc7XG5pbXBvcnQge1xuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdGlvblRva2VuLFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBcGlNYW5hZ2VyLFxufSBmcm9tICcuL2FwaS1tYW5hZ2VyJztcbmltcG9ydCB7XG4gIEFQSV9UT0tFTixcbn0gZnJvbSAnLi9hcGktbWFuYWdlci50b2tlbic7XG5cbi8qKiBUeXBlIG9mIHRoZSBDbGFzcyBvZiBhbiBTREsgQXBpICovXG5leHBvcnQgdHlwZSBBcGlDbGFzc1R5cGU8VCBleHRlbmRzIEFwaSA9IEFwaT4gPSAobmV3IChjbGllbnQ6IEFwaUNsaWVudCkgPT4gVCkgJiBBcGlOYW1lO1xuXG4vKipcbiAqIEluaXRpYWwgQVBJcyBpbnN0YW50aWF0aW9uc1xuICovXG5leHBvcnQgY29uc3QgSU5JVElBTF9BUElTX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPChBcGkgfCBBcGlDbGFzc1R5cGUpW10+KCdJbml0aWFsIEFQSXMgdG9rZW4nKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFwaUZhY3RvcnlTZXJ2aWNlIHtcbiAgLyoqIE1hcCBvZiBsb2FkZWQgQVBJcyAqL1xuICBwcml2YXRlIGxvYWRlZEFwaXM6IFJlY29yZDxzdHJpbmcsIEFwaT4gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQSV9UT0tFTikgcHJpdmF0ZSByZWFkb25seSBhcGlNYW5hZ2VyOiBBcGlNYW5hZ2VyLCBAT3B0aW9uYWwoKSBASW5qZWN0KElOSVRJQUxfQVBJU19UT0tFTikgYXBpcz86IChBcGkgfCBBcGlDbGFzc1R5cGUpW10pIHtcbiAgICBpZiAoYXBpcykge1xuICAgICAgdGhpcy51cGRhdGVBcGlNYXBwaW5nKGFwaXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgaWYgdGhlIGdpdmVuIHBhcmFtZXRlciBpcyBhIEFQSSBjbGFzc1xuICAgKiBAcGFyYW0gYXBpQ2xhc3Mgb2JqZWN0IHRvIGNoZWNrXG4gICAqL1xuICBwcml2YXRlIGlzQXBpQ2xhc3M8VCBleHRlbmRzIEFwaSA9IEFwaT4oYXBpQ2xhc3M6IGFueSk6IGFwaUNsYXNzIGlzIEFwaUNsYXNzVHlwZTxUPiB7XG4gICAgcmV0dXJuICEhYXBpQ2xhc3MuYXBpTmFtZSAmJiB0eXBlb2YgYXBpQ2xhc3MgPT09ICdmdW5jdGlvbic7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgYSBzcGVjaWZpYyBBUEkgd2l0aCBsb2FkZWQgY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0gYXBpQ2xhc3MgY2xhc3Mgb2YgdGhlIEFQSSB0byByZXRyaWV2ZVxuICAgKiBAcGFyYW0gcmVmcmVzaENhY2hlIElnbm9yZSBjYWNoZWQgQVBJIGluc3RhbmNlIGFuZCByZWZyZXNoIGl0XG4gICAqL1xuICBwdWJsaWMgZ2V0QXBpPFQgZXh0ZW5kcyBBcGk+KGFwaUNsYXNzOiAobmV3IChjbGllbnQ6IEFwaUNsaWVudCkgPT4gVCkgJiBBcGlOYW1lLCByZWZyZXNoQ2FjaGUgPSBmYWxzZSk6IFQge1xuICAgIGNvbnN0IGNhY2hlID0gdGhpcy5sb2FkZWRBcGlzW2FwaUNsYXNzLmFwaU5hbWVdO1xuICAgIGlmICghcmVmcmVzaENhY2hlICYmIGNhY2hlKSB7XG4gICAgICByZXR1cm4gY2FjaGUgYXMgVDtcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBhcGlDbGFzcyh0aGlzLmdldENvbmZpZ0ZvcihhcGlDbGFzcykpO1xuICAgIHRoaXMubG9hZGVkQXBpc1thcGlDbGFzcy5hcGlOYW1lXSA9IGluc3RhbmNlO1xuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIE1hcCBvZiBsb2FkZWQgQVBJcy5cbiAgICogTm90ZTogQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGEgc3BlY2lmaWMgQVBJXG4gICAqIEBwYXJhbSBtYXAgTWFwIG9mIGxvYWRlZCBBUElzIHRvIHVwZGF0ZVxuICAgKi9cbiAgcHVibGljIHVwZGF0ZUFwaU1hcHBpbmcobWFwOiAoQXBpIHwgQXBpQ2xhc3NUeXBlKVtdIHwgUmVjb3JkPHN0cmluZywgKEFwaSB8IEFwaUNsYXNzVHlwZSk+KSB7XG4gICAgY29uc3QgbmV3SXRlbXM6IFJlY29yZDxzdHJpbmcsIChBcGkgfCBBcGlDbGFzc1R5cGUpPiA9IEFycmF5LmlzQXJyYXkobWFwKVxuICAgICAgPyBtYXBcbiAgICAgICAgLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBBcGkgfCBBcGlDbGFzc1R5cGU8QXBpPj4+KChhY2MsIGN1cnIpID0+IHtcbiAgICAgICAgICBhY2NbY3Vyci5hcGlOYW1lXSA9IGN1cnI7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30pXG4gICAgICA6IG1hcDtcblxuICAgIHRoaXMubG9hZGVkQXBpcyA9IHtcbiAgICAgIC4uLnRoaXMubG9hZGVkQXBpcyxcbiAgICAgIC4uLk9iamVjdC5lbnRyaWVzKG5ld0l0ZW1zKVxuICAgICAgICAucmVkdWNlPFJlY29yZDxzdHJpbmcsIEFwaT4+KChhY2MsIFthcGlOYW1lLCBhcGldKSA9PiB7XG4gICAgICAgICAgYWNjW2FwaU5hbWVdID0gdGhpcy5pc0FwaUNsYXNzKGFwaSkgPyBuZXcgYXBpKHRoaXMuZ2V0Q29uZmlnRm9yKGFwaSkpIDogYXBpO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9KVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgdGhlIGNhY2hlIG9mIGxvYWRlZCBBUElzXG4gICAqIEBwYXJhbSBhcGlzIFdoaXRlbGlzdCBvZiBBUElzIHRvIGNsZWFyIGZyb20gdGhlIGNhY2hlLCBpZiBzcGVjaWZpZWQgb25seSB0aGVzZSBhcGlzIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSBjYWNoZVxuICAgKi9cbiAgcHVibGljIGNsZWFyQ2FjaGUoYXBpcz86IEFwaU5hbWVbXSkge1xuICAgIGlmIChhcGlzKSB7XG4gICAgICBhcGlzLmZvckVhY2goKGFwaSkgPT4gZGVsZXRlIHRoaXMubG9hZGVkQXBpc1thcGkuYXBpTmFtZV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvYWRlZEFwaXMgPSB7fTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGEgc3BlY2lmaWMgQVBJXG4gICAqIEBwYXJhbSBhcGlDbGFzcyBjbGFzcyBvZiB0aGUgQVBJIGZvciB3aGljaCByZXRyaWV2aW5nIHRoZSBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29uZmlnRm9yKGFwaUNsYXNzOiBBcGlOYW1lKTogQXBpQ2xpZW50IHtcbiAgICByZXR1cm4gdGhpcy5hcGlNYW5hZ2VyLmdldENvbmZpZ3VyYXRpb24oYXBpQ2xhc3MuYXBpTmFtZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,15 +0,0 @@
1
- /**
2
- * Add a preconnect `<link>` element to the DOM
3
- * @param baseUrl the origin href
4
- * @param supportCrossOrigin add crossorigin attribute to the link element
5
- */
6
- export function appendPreconnect(baseUrl, supportCrossOrigin = true) {
7
- const preConnectLink = document.createElement('link');
8
- preConnectLink.setAttribute('rel', 'preconnect');
9
- preConnectLink.setAttribute('href', baseUrl);
10
- if (supportCrossOrigin) {
11
- preConnectLink.setAttribute('crossorigin', '');
12
- }
13
- document.head.append(preConnectLink);
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGlzLW1hbmFnZXIvYXBpLW1hbmFnZXIuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQWUsRUFBRSxrQkFBa0IsR0FBRyxJQUFJO0lBQ3pFLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEQsY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDakQsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0MsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3ZCLGNBQWMsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBZGQgYSBwcmVjb25uZWN0IGA8bGluaz5gIGVsZW1lbnQgdG8gdGhlIERPTVxuICogQHBhcmFtIGJhc2VVcmwgdGhlIG9yaWdpbiBocmVmXG4gKiBAcGFyYW0gc3VwcG9ydENyb3NzT3JpZ2luIGFkZCBjcm9zc29yaWdpbiBhdHRyaWJ1dGUgdG8gdGhlIGxpbmsgZWxlbWVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kUHJlY29ubmVjdChiYXNlVXJsOiBzdHJpbmcsIHN1cHBvcnRDcm9zc09yaWdpbiA9IHRydWUpOiB2b2lkIHtcbiAgY29uc3QgcHJlQ29ubmVjdExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gIHByZUNvbm5lY3RMaW5rLnNldEF0dHJpYnV0ZSgncmVsJywgJ3ByZWNvbm5lY3QnKTtcbiAgcHJlQ29ubmVjdExpbmsuc2V0QXR0cmlidXRlKCdocmVmJywgYmFzZVVybCk7XG4gIGlmIChzdXBwb3J0Q3Jvc3NPcmlnaW4pIHtcbiAgICBwcmVDb25uZWN0TGluay5zZXRBdHRyaWJ1dGUoJ2Nyb3Nzb3JpZ2luJywgJycpO1xuICB9XG4gIGRvY3VtZW50LmhlYWQuYXBwZW5kKHByZUNvbm5lY3RMaW5rKTtcbn1cbiJdfQ==
@@ -1,44 +0,0 @@
1
- /**
2
- * Api manager is responsible to provide an api configuration to a service factory, so that it could instantiate an API
3
- * with the right parameters. It contains a default configuration and a map of specific configurations for API / set of
4
- * API. Configurations are only exposed through the method getConfiguration, which will merge the default configuration
5
- * and the requested one.
6
- */
7
- export class ApiManager {
8
- /**
9
- * Map of registered Api Client associated to specific API
10
- * Warning: This should not be used to get the ApiClient for an API, the function getConfiguration() should be used instead
11
- */
12
- get registeredApiConfigurations() {
13
- return { ...this.apiConfigurations };
14
- }
15
- /**
16
- * Create an API manager using a custom ApiClient
17
- * @param defaultConfiguration
18
- */
19
- constructor(defaultConfiguration, apiConfigurations = {}) {
20
- this.defaultConfiguration = defaultConfiguration;
21
- this.apiConfigurations = apiConfigurations;
22
- }
23
- /**
24
- * Retrieve a configuration for a specific API
25
- * @param api API to get the configuration for
26
- */
27
- getConfiguration(api) {
28
- return (api && this.apiConfigurations[typeof api === 'string' ? api : api.apiName]) || this.defaultConfiguration;
29
- }
30
- /**
31
- * Set or override API configuration
32
- * @param apiClient API configuration to override to the given api
33
- * @param api API name to override, the default configuration will be used if not specified
34
- */
35
- setConfiguration(apiClient, api) {
36
- if (api) {
37
- this.apiConfigurations[typeof api === 'string' ? api : api.apiName] = apiClient;
38
- }
39
- else {
40
- this.defaultConfiguration = apiClient;
41
- }
42
- }
43
- }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpcy1tYW5hZ2VyL2FwaS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFJckI7OztPQUdHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFXLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksb0JBQStCLEVBQUUsb0JBQWtELEVBQUU7UUFDL0YsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQ2pELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZ0JBQWdCLENBQUMsR0FBa0I7UUFDeEMsT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLFNBQW9CLEVBQUUsR0FBa0I7UUFDOUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUNsRixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxTQUFTLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQXBpLFxuICBBcGlDbGllbnQsXG59IGZyb20gJ0BhbWEtc2RrL2NvcmUnO1xuXG4vKipcbiAqIEFwaSBtYW5hZ2VyIGlzIHJlc3BvbnNpYmxlIHRvIHByb3ZpZGUgYW4gYXBpIGNvbmZpZ3VyYXRpb24gdG8gYSBzZXJ2aWNlIGZhY3RvcnksIHNvIHRoYXQgaXQgY291bGQgaW5zdGFudGlhdGUgYW4gQVBJXG4gKiB3aXRoIHRoZSByaWdodCBwYXJhbWV0ZXJzLiBJdCBjb250YWlucyBhIGRlZmF1bHQgY29uZmlndXJhdGlvbiBhbmQgYSBtYXAgb2Ygc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgZm9yIEFQSSAvIHNldCBvZlxuICogQVBJLiBDb25maWd1cmF0aW9ucyBhcmUgb25seSBleHBvc2VkIHRocm91Z2ggdGhlIG1ldGhvZCBnZXRDb25maWd1cmF0aW9uLCB3aGljaCB3aWxsIG1lcmdlIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbiAqIGFuZCB0aGUgcmVxdWVzdGVkIG9uZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwaU1hbmFnZXIge1xuICBwcml2YXRlIGRlZmF1bHRDb25maWd1cmF0aW9uOiBBcGlDbGllbnQ7XG4gIHByaXZhdGUgYXBpQ29uZmlndXJhdGlvbnM6IHsgW2tleTogc3RyaW5nXTogQXBpQ2xpZW50IH07XG5cbiAgLyoqXG4gICAqIE1hcCBvZiByZWdpc3RlcmVkIEFwaSBDbGllbnQgYXNzb2NpYXRlZCB0byBzcGVjaWZpYyBBUElcbiAgICogV2FybmluZzogVGhpcyBzaG91bGQgbm90IGJlIHVzZWQgdG8gZ2V0IHRoZSBBcGlDbGllbnQgZm9yIGFuIEFQSSwgdGhlIGZ1bmN0aW9uIGdldENvbmZpZ3VyYXRpb24oKSBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgZ2V0IHJlZ2lzdGVyZWRBcGlDb25maWd1cmF0aW9ucygpIHtcbiAgICByZXR1cm4geyAuLi50aGlzLmFwaUNvbmZpZ3VyYXRpb25zIH0gYXMgY29uc3Q7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIEFQSSBtYW5hZ2VyIHVzaW5nIGEgY3VzdG9tIEFwaUNsaWVudFxuICAgKiBAcGFyYW0gZGVmYXVsdENvbmZpZ3VyYXRpb25cbiAgICovXG4gIGNvbnN0cnVjdG9yKGRlZmF1bHRDb25maWd1cmF0aW9uOiBBcGlDbGllbnQsIGFwaUNvbmZpZ3VyYXRpb25zOiB7IFtrZXk6IHN0cmluZ106IEFwaUNsaWVudCB9ID0ge30pIHtcbiAgICB0aGlzLmRlZmF1bHRDb25maWd1cmF0aW9uID0gZGVmYXVsdENvbmZpZ3VyYXRpb247XG4gICAgdGhpcy5hcGlDb25maWd1cmF0aW9ucyA9IGFwaUNvbmZpZ3VyYXRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGEgY29uZmlndXJhdGlvbiBmb3IgYSBzcGVjaWZpYyBBUElcbiAgICogQHBhcmFtIGFwaSBBUEkgdG8gZ2V0IHRoZSBjb25maWd1cmF0aW9uIGZvclxuICAgKi9cbiAgcHVibGljIGdldENvbmZpZ3VyYXRpb24oYXBpPzogc3RyaW5nIHwgQXBpKTogQXBpQ2xpZW50IHtcbiAgICByZXR1cm4gKGFwaSAmJiB0aGlzLmFwaUNvbmZpZ3VyYXRpb25zW3R5cGVvZiBhcGkgPT09ICdzdHJpbmcnID8gYXBpIDogYXBpLmFwaU5hbWVdKSB8fCB0aGlzLmRlZmF1bHRDb25maWd1cmF0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBvciBvdmVycmlkZSBBUEkgY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0gYXBpQ2xpZW50IEFQSSBjb25maWd1cmF0aW9uIHRvIG92ZXJyaWRlIHRvIHRoZSBnaXZlbiBhcGlcbiAgICogQHBhcmFtIGFwaSBBUEkgbmFtZSB0byBvdmVycmlkZSwgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aWxsIGJlIHVzZWQgaWYgbm90IHNwZWNpZmllZFxuICAgKi9cbiAgcHVibGljIHNldENvbmZpZ3VyYXRpb24oYXBpQ2xpZW50OiBBcGlDbGllbnQsIGFwaT86IHN0cmluZyB8IEFwaSk6IHZvaWQge1xuICAgIGlmIChhcGkpIHtcbiAgICAgIHRoaXMuYXBpQ29uZmlndXJhdGlvbnNbdHlwZW9mIGFwaSA9PT0gJ3N0cmluZycgPyBhcGkgOiBhcGkuYXBpTmFtZV0gPSBhcGlDbGllbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZ3VyYXRpb24gPSBhcGlDbGllbnQ7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,34 +0,0 @@
1
- import { NgModule, } from '@angular/core';
2
- import { ApiFactoryService, } from './api-factory.service';
3
- import { API_TOKEN, } from './api-manager.token';
4
- import * as i0 from "@angular/core";
5
- // Module that needs to be imported by the application to instantiate an SDK configuration.
6
- export class ApiManagerModule {
7
- /**
8
- * Provide a custom apiManager
9
- * A factory can be provided via injection to the token API_TOKEN
10
- * @param apiManager
11
- */
12
- static forRoot(apiManager) {
13
- return {
14
- ngModule: ApiManagerModule,
15
- providers: [
16
- { provide: API_TOKEN, useValue: apiManager }
17
- ]
18
- };
19
- }
20
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ApiManagerModule }); }
22
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiManagerModule, providers: [
23
- ApiFactoryService
24
- ] }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiManagerModule, decorators: [{
27
- type: NgModule,
28
- args: [{
29
- providers: [
30
- ApiFactoryService
31
- ]
32
- }]
33
- }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaXMtbWFuYWdlci9hcGktbWFuYWdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsaUJBQWlCLEdBQ2xCLE1BQU0sdUJBQXVCLENBQUM7QUFJL0IsT0FBTyxFQUNMLFNBQVMsR0FDVixNQUFNLHFCQUFxQixDQUFDOztBQUU3QiwyRkFBMkY7QUFNM0YsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFzQjtRQUMxQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7YUFDN0M7U0FDRixDQUFDO0lBQ0osQ0FBQztrSUFiVSxnQkFBZ0I7bUlBQWhCLGdCQUFnQjttSUFBaEIsZ0JBQWdCLGFBSmhCO1lBQ1QsaUJBQWlCO1NBQ2xCOzs0RkFFVSxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNULGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBcGlGYWN0b3J5U2VydmljZSxcbn0gZnJvbSAnLi9hcGktZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFwaU1hbmFnZXIsXG59IGZyb20gJy4vYXBpLW1hbmFnZXInO1xuaW1wb3J0IHtcbiAgQVBJX1RPS0VOLFxufSBmcm9tICcuL2FwaS1tYW5hZ2VyLnRva2VuJztcblxuLy8gTW9kdWxlIHRoYXQgbmVlZHMgdG8gYmUgaW1wb3J0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHRvIGluc3RhbnRpYXRlIGFuIFNESyBjb25maWd1cmF0aW9uLlxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgQXBpRmFjdG9yeVNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBcGlNYW5hZ2VyTW9kdWxlIHtcbiAgLyoqXG4gICAqIFByb3ZpZGUgYSBjdXN0b20gYXBpTWFuYWdlclxuICAgKiBBIGZhY3RvcnkgY2FuIGJlIHByb3ZpZGVkIHZpYSBpbmplY3Rpb24gdG8gdGhlIHRva2VuIEFQSV9UT0tFTlxuICAgKiBAcGFyYW0gYXBpTWFuYWdlclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGFwaU1hbmFnZXI6IEFwaU1hbmFnZXIpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwaU1hbmFnZXJNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFwaU1hbmFnZXJNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBBUElfVE9LRU4sIHVzZVZhbHVlOiBhcGlNYW5hZ2VyIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,6 +0,0 @@
1
- import { InjectionToken, } from '@angular/core';
2
- /**
3
- * Token used by the core library to provide an Api manager to services. It can be provided in the app.
4
- */
5
- export const API_TOKEN = new InjectionToken('Custom API manager token');
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW1hbmFnZXIudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpcy1tYW5hZ2VyL2FwaS1tYW5hZ2VyLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFLdkI7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxjQUFjLENBQWEsMEJBQTBCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGlvblRva2VuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFwaU1hbmFnZXIsXG59IGZyb20gJy4vYXBpLW1hbmFnZXInO1xuXG4vKipcbiAqIFRva2VuIHVzZWQgYnkgdGhlIGNvcmUgbGlicmFyeSB0byBwcm92aWRlIGFuIEFwaSBtYW5hZ2VyIHRvIHNlcnZpY2VzLiBJdCBjYW4gYmUgcHJvdmlkZWQgaW4gdGhlIGFwcC5cbiAqL1xuZXhwb3J0IGNvbnN0IEFQSV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcGlNYW5hZ2VyPignQ3VzdG9tIEFQSSBtYW5hZ2VyIHRva2VuJyk7XG4iXX0=
@@ -1,6 +0,0 @@
1
- export * from './api-factory.service';
2
- export * from './api-manager';
3
- export * from './api-manager.helpers';
4
- export * from './api-manager.module';
5
- export * from './api-manager.token';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpcy1tYW5hZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwaS1mYWN0b3J5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGktbWFuYWdlcic7XG5leHBvcnQgKiBmcm9tICcuL2FwaS1tYW5hZ2VyLmhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGktbWFuYWdlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGktbWFuYWdlci50b2tlbic7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWFwaXMtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vM3ItYXBpcy1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './apis-manager/index';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwaXMtbWFuYWdlci9pbmRleCc7XG4iXX0=