UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

24 lines 1.17 kB
import type { RpcParams, RpcResultMapping } from "@tai-kun/surrealdb/types"; import type { UnionToIntersection, ValueOf } from "type-fest"; import { type InlineRpcMethod, type InlineRpcOptions } from "./rpc"; export type CreateInlineRpcOptions = Omit<InlineRpcOptions, "signal"> & { readonly timeout?: number | undefined; }; interface RpcWithRequiredParams<TMethod extends InlineRpcMethod> { <TResult extends RpcResultMapping[TMethod]>(method: TMethod, options: InlineRpcOptions & { readonly params: RpcParams<TMethod>; }): Promise<TResult>; } interface RpcWithOptionalParams<TMethod extends InlineRpcMethod> { <TResult extends RpcResultMapping[TMethod]>(method: TMethod, options?: (InlineRpcOptions & { readonly params?: RpcParams<TMethod>; }) | undefined): Promise<TResult>; } /** * @experimental */ export default function createRpc(endpoint: string | URL, options?: CreateInlineRpcOptions | undefined): UnionToIntersection<ValueOf<{ [TMethod in InlineRpcMethod]: undefined extends RpcParams<TMethod> ? RpcWithOptionalParams<TMethod> : RpcWithRequiredParams<TMethod>; }>>; export {}; //# sourceMappingURL=create-rpc.d.ts.map