@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
33 lines • 1.42 kB
TypeScript
import type { InferSlotVars } from "@tai-kun/surrealdb/standard-client";
import type { PreparedQueryLike, SlotLike } from "@tai-kun/surrealdb/types";
import type { Simplify } from "type-fest";
import { type InlineQueryOptions } from "./query";
type Override<T, U> = Simplify<Omit<T, keyof U> & U>;
export type CreateInlineQueryOptions = Omit<InlineQueryOptions, "signal"> & {
readonly timeout?: number | undefined;
readonly bindings?: {
readonly [p: string]: unknown;
};
};
/**
* @experimental
*/
export default function createQuery(endpoint: string | URL, options?: CreateInlineQueryOptions | undefined): {
<T extends readonly unknown[] = unknown[]>(surql: string, vars?: {
readonly [p: string]: unknown;
} | undefined, options?: InlineQueryOptions | undefined): Promise<T>;
<T>(surql: Override<PreparedQueryLike, {
readonly slots: readonly (never | SlotLike<string, false>)[];
readonly __type: T;
}>, vars?: {
readonly [p: string]: unknown;
} | undefined, options?: InlineQueryOptions | undefined): Promise<T>;
<S extends SlotLike, T>(surql: Override<PreparedQueryLike, {
readonly slots: readonly S[];
readonly __type: T;
}>, vars: Simplify<InferSlotVars<S> & {
readonly [p: string]: unknown;
}>, options?: InlineQueryOptions | undefined): Promise<T>;
};
export {};
//# sourceMappingURL=create-query.d.ts.map