UNPKG

@snap/camera-kit

Version:
37 lines 1.46 kB
import type { Lens } from "../lens/Lens"; import type { LensState } from "../session/lensState"; import type { SessionState } from "../session/sessionState"; import type { Uri, UriHandler, UriRequest, UriResponse } from "./UriHandlers"; export type UriRequestEvent = { request: UriRequest; reply: (response: UriResponse) => void; lens: Lens; }; /** * Represents a Remote API request cancellation handler function. */ export type RemoteApiCancelRequestHandler = () => void; export type CreateLensRequestState<State> = (request: UriRequest, lens: Lens) => State; export type ProcessRequest<State> = (input: { request: UriRequest; reply: (response: UriResponse) => void; lens: Lens; setCancellationHandler: (fn: () => void) => void; state: State; }) => void; export type ProcessError = (error: Error) => void; /** * Creates a UriHandler for the provided URI. * Handles lens and sessions state events, so provides clear abstraction for internal usages. * * @internal */ export declare function createUriRequestProcessor<State = undefined>({ uri, lensState, sessionState, createLensRequestState, processRequest, processInternalError, }: { uri: Uri | Uri[]; lensState: LensState; sessionState: SessionState; createLensRequestState?: CreateLensRequestState<State>; processRequest: ProcessRequest<State>; processInternalError: ProcessError; }): UriHandler; //# sourceMappingURL=uriRequestProcessor.d.ts.map