UNPKG

@snap/camera-kit

Version:
42 lines 1.87 kB
import { TypedCustomEvent } from "../events/TypedCustomEvent"; import { TypedEventTarget } from "../events/TypedEventTarget"; import { Timer } from "../metrics/operational/Timer"; import type { ChainableHandler, RequestMetadata } from "./HandlerChainBuilder"; interface Started { requestId: number; timer: Timer<"download_latency">; dimensions: Dimensions; } interface Completed { requestId: number; dimensions: Dimensions; status: number; sizeByte: number; } interface Errored { requestId: number; dimensions: Dimensions; error: Error; } export type Dimensions = Record<string, string | undefined>; export type RequestStateEvents = TypedCustomEvent<"started", Started> | TypedCustomEvent<"completed", Completed> | TypedCustomEvent<"errored", Errored>; export declare const dispatchRequestStarted: (requestStateEventTarget: RequestStateEventTarget, data: Omit<Started, "requestId" | "timer">) => Started; export declare const dispatchRequestCompleted: (requestStateEventTarget: RequestStateEventTarget, data: Completed) => Completed; export declare const dispatchRequestErrored: (requestStateEventTarget: RequestStateEventTarget, data: Errored) => Errored; export declare const createRequestStateEmittingHandler: <D extends Dimensions = Dimensions>(requestStateEventTarget: RequestStateEventTarget) => ChainableHandler<[RequestInfo, D], Response, RequestInfo, Response, RequestMetadata>; /** * This event target may be used to listen for any network request state changes initiated by CameraKit. * * @internal */ export type RequestStateEventTarget = TypedEventTarget<RequestStateEvents>; /** * @internal */ export declare const requestStateEventTargetFactory: { (): RequestStateEventTarget; token: "requestStateEventTarget"; dependencies: []; }; export {}; //# sourceMappingURL=requestStateEmittingHandler.d.ts.map