@snap/camera-kit
Version:
Camera Kit Web
33 lines • 1.6 kB
TypeScript
import { grpc } from "@improbable-eng/grpc-web";
import { type Handler, type RequestMetadata } from "../handlers/HandlerChainBuilder";
import type { CameraKitConfiguration } from "../configuration";
import type { Result } from "../common/result";
import type { FetchHandler } from "../handlers/defaultFetchHandler";
import type { RequestStateEventTarget } from "../handlers/requestStateEmittingHandler";
export interface GrpcRequest {
serviceName: string;
methodName: string;
requestType: grpc.ProtobufMessageClass<grpc.ProtobufMessage>;
responseType: grpc.ProtobufMessageClass<grpc.ProtobufMessage>;
}
export type GrpcHandler = Handler<GrpcRequest, GrpcResult, RequestMetadata>;
export type GrpcResult = Result<grpc.UnaryOutput<grpc.ProtobufMessage> & {
status: grpc.Code.OK;
}, grpc.UnaryOutput<grpc.ProtobufMessage>>;
export declare const GRPC_CALL_REQUEST_TYPE = "grpc_call";
export interface GrpcRequestDimensions extends Record<string, string> {
requestType: typeof GRPC_CALL_REQUEST_TYPE;
methodName: string;
}
/**
* An Injectable handler that can make requests to the CameraKit backend service via grpc-web. This handler can be
* passed to {@link createTsProtoClient} to produce a well-typed service client.
*
* @internal
*/
export declare const grpcHandlerFactory: {
(args_0: CameraKitConfiguration, args_1: FetchHandler, args_2: RequestStateEventTarget): GrpcHandler;
token: "grpcHandlerFactory";
dependencies: readonly ["configuration", "cameraKitServiceFetchHandler", "requestStateEventTarget"];
};
//# sourceMappingURL=grpcHandler.d.ts.map