mirror of
https://github.com/rxliuli/apps.apple.com.git
synced 2025-11-09 22:00:32 +00:00
28 lines
884 B
TypeScript
28 lines
884 B
TypeScript
import type {
|
|
MetricsFieldsBuilder,
|
|
MetricsFieldsContext,
|
|
MetricsFieldsProvider,
|
|
} from '@jet/engine';
|
|
import { IMPRESSION_CONTEXT_NAME } from './impressions/constants';
|
|
import type { Impressions } from './impressions';
|
|
|
|
export class ImpressionSnapshotFieldProvider implements MetricsFieldsProvider {
|
|
constructor(private readonly appContext: Map<string, unknown>) {
|
|
this.appContext = appContext;
|
|
}
|
|
|
|
addMetricsFields(
|
|
builder: MetricsFieldsBuilder,
|
|
_metricsContext: MetricsFieldsContext,
|
|
) {
|
|
const impressionInstance = this.appContext.get(
|
|
IMPRESSION_CONTEXT_NAME,
|
|
) as Impressions;
|
|
|
|
if (impressionInstance?.settings?.captureType === 'jet') {
|
|
let impressions = impressionInstance.captureSnapshotImpression();
|
|
builder.addValue(impressions, 'impressions');
|
|
}
|
|
}
|
|
}
|