withApis -> fromApis, non-optional actualApis argument, etc
Signed-off-by: Eric Peterson <ericpeterson@spotify.com>
This commit is contained in:
@@ -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 }),
|
||||
]),
|
||||
|
||||
@@ -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
|
||||
|
||||
+1
-1
@@ -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 */
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user