@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
49 lines • 2.29 kB
TypeScript
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