UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

49 lines 2.29 kB
import type { EncodedCBOR, EncodedJSON } from "@tai-kun/surrealdb/formatter"; import type { PreparedQueryLike, SlotLike } from "@tai-kun/surrealdb/types"; declare const NONE: unique symbol; type None = typeof NONE; export interface PreparedQueryOptions<TResults extends readonly unknown[] = any[], TTransformed = any> { readonly parse?: ((results: unknown[]) => TResults) | undefined; readonly trans?: ((results: TResults) => TTransformed) | undefined; readonly encodedText?: string | EncodedJSON<string> | EncodedCBOR<string> | undefined; } export default class PreparedQuery<TSlot extends SlotLike, TResults extends unknown[] = unknown[], TTransformed = None> implements PreparedQueryLike { readonly vars: { readonly [p: string]: unknown; }; readonly slots: readonly TSlot[]; readonly text: string | EncodedJSON<string> | EncodedCBOR<string>; readonly originalText: string; readonly __type: TTransformed extends None ? TResults : TTransformed; readonly _parse: (results: unknown[]) => TResults; readonly _trans: (results: TResults) => TTransformed; constructor(text: string, vars: { readonly [p: string]: unknown; }, slots: readonly TSlot[], options?: PreparedQueryOptions<TResults, TTransformed>); /** * @alias {@link type} */ as<TResults extends unknown[] = unknown[]>(): PreparedQuery<TSlot, TResults, TTransformed>; /** * @alias {@link type} */ as<TResults extends unknown[] = unknown[]>(parser: (results: unknown[]) => TResults): PreparedQuery<TSlot, TResults, TTransformed>; /** * @alias {@link as} */ type<TResults extends unknown[] = unknown[]>(): PreparedQuery<TSlot, TResults, TTransformed>; /** * @alias {@link as} */ type<TResults extends unknown[] = unknown[]>(parser: (results: unknown[]) => TResults): PreparedQuery<TSlot, TResults, TTransformed>; /** * @alias {@link transform} */ to<TTransformed>(transformer: (results: TResults) => TTransformed): PreparedQuery<TSlot, TResults, TTransformed>; /** * @alias {@link to} */ transform<TTransformed>(transformer: (results: TResults) => TTransformed): PreparedQuery<TSlot, TResults, TTransformed>; } export {}; //# sourceMappingURL=prepared-query.d.ts.map