UNPKG

@snap/camera-kit

Version:
29 lines 1.57 kB
import { forActions } from "@snap/state-management"; import { map } from "rxjs"; import { Injectable } from "@snap/ts-inject"; import { TypedCustomEvent } from "../../events/TypedCustomEvent"; import { CameraKitLegalPromptResult } from "../../generated-proto/blizzard/cameraKitEvents"; import { legalStateFactory } from "../../legal/legalState"; import { metricsEventTargetFactory } from "../metricsEventTarget"; import { metricsClientFactory } from "../../clients/metricsClient"; import { Count } from "../operational/Count"; export const reportLegalState = Injectable("reportLegalState", [legalStateFactory.token, metricsEventTargetFactory.token, metricsClientFactory.token], (legalState, metricsEventTarget, metrics) => { legalState.events .pipe(forActions("accept", "reject"), map(([{ data, name }]) => ({ name: "legalPrompt", legalPromptId: data, legalPromptResult: name === "accept" ? CameraKitLegalPromptResult.CAMERA_KIT_LEGAL_PROMPT_ACCEPTED : CameraKitLegalPromptResult.CAMERA_KIT_LEGAL_PROMPT_DISMISSED, }))) .subscribe({ next: (legalPromptEvent) => { metricsEventTarget.dispatchEvent(new TypedCustomEvent("legalPrompt", legalPromptEvent)); metrics.setOperationalMetrics(Count.count("legal_prompt_interaction", 1, { accepted: (legalPromptEvent.legalPromptResult === CameraKitLegalPromptResult.CAMERA_KIT_LEGAL_PROMPT_ACCEPTED).toString(), })); }, }); }); //# sourceMappingURL=reportLegalState.js.map