withApis -> fromApis, non-optional actualApis argument, etc

Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
This commit is contained in:
Eric Peterson
2022-08-30 13:49:47 +02:00
parent e9d40ebf54
commit a5610bee0c
4 changed files with 9 additions and 8 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ createApiFactory({
api: analyticsApiRef,
deps: { configApi: configApiRef, identityApi: identityApiRef, storageApi: storageApiRef },
factory: ({ configApi, identityApi, storageApi }) =>
MultipleAnalyticsApi.withApis([
MultipleAnalyticsApi.fromApis([
VendorAnalyticsApi.fromConfig(configApi, { identityApi }),
CustomAnalyticsApi.fromConfig(configApi, { identityApi, storageApi }),
]),
+1 -1
View File
@@ -412,7 +412,7 @@ export class MicrosoftAuth {
// @public
export class MultipleAnalyticsApi implements AnalyticsApi {
captureEvent(event: AnalyticsEvent): void;
static withApis(actualApis?: AnalyticsApi[]): MultipleAnalyticsApi;
static fromApis(actualApis: AnalyticsApi[]): MultipleAnalyticsApi;
}
// @public
@@ -18,7 +18,7 @@ import { MultipleAnalyticsApi } from './MultipleAnalyticsApi';
describe('MultipleAnalyticsApi', () => {
const analyticsApiOne = { captureEvent: jest.fn() };
const analyticsApiTwo = { captureEvent: jest.fn() };
const multipleApis = MultipleAnalyticsApi.withApis([
const multipleApis = MultipleAnalyticsApi.fromApis([
analyticsApiOne,
analyticsApiTwo,
]);
@@ -28,7 +28,7 @@ import { AnalyticsApi, AnalyticsEvent } from '@backstage/core-plugin-api';
* api: analyticsApiRef,
* deps: { configApi: configApiRef, identityApi: identityApiRef, storageApi: storageApiRef },
* factory: ({ configApi, identityApi, storageApi }) =>
* MultipleAnalyticsApi.withApis([
* MultipleAnalyticsApi.fromApis([
* VendorAnalyticsApi.fromConfig(configApi, { identityApi }),
* CustomAnalyticsApi.fromConfig(configApi, { identityApi, storageApi }),
* ]),
@@ -45,13 +45,13 @@ export class MultipleAnalyticsApi implements AnalyticsApi {
* @example
*
* ```jsx
* MultipleAnalyticsApi.withApis([
* MultipleAnalyticsApi.fromApis([
* SomeAnalyticsApi.fromConfig(configApi),
* new CustomAnalyticsApi(),
* ]);
* ```
*/
static withApis(actualApis: AnalyticsApi[] = []) {
static fromApis(actualApis: AnalyticsApi[]) {
return new MultipleAnalyticsApi(actualApis);
}
@@ -60,10 +60,11 @@ export class MultipleAnalyticsApi implements AnalyticsApi {
*/
captureEvent(event: AnalyticsEvent): void {
this.actualApis.forEach(analyticsApi => {
/* eslint no-empty: ["error", { "allowEmptyCatch": true }] */
try {
analyticsApi.captureEvent(event);
} catch {}
} catch {
/* ignored */
}
});
}
}