blob: d82b68d7b2625d2cbdc4068a08123f26b688503e [file] [log] [blame]
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import {PluginApi} from '../../../api/plugin';
import {EventDetails, ReportingPluginApi} from '../../../api/reporting';
import {ReportingService} from '../../../services/gr-reporting/gr-reporting';
/**
* Defines all methods that will be exported to plugin from reporting service.
*/
export class GrReportingJsApi implements ReportingPluginApi {
constructor(
private readonly reporting: ReportingService,
private readonly plugin: PluginApi
) {
this.reporting.trackApi(this.plugin, 'reporting', 'constructor');
}
reportInteraction(eventName: string, details?: EventDetails) {
this.reporting.trackApi(this.plugin, 'reporting', 'reportInteraction');
this.reporting.reportPluginInteractionLog(
`${this.plugin.getPluginName()}-${eventName}`,
details
);
}
reportLifeCycle(eventName: string, details?: EventDetails) {
this.reporting.trackApi(this.plugin, 'reporting', 'reportLifeCycle');
this.reporting.reportPluginLifeCycleLog(
`${this.plugin.getPluginName()}-${eventName}`,
details
);
}
}