nuxt-surrealdb
Version:
A Nuxt module aimed to simplify the use of SurrealDB
61 lines (60 loc) • 6.42 kB
TypeScript
import type { PublicRuntimeConfig } from '@nuxt/schema';
import type { AsyncData } from 'nuxt/app';
import type { FetchError } from 'ofetch';
import type { KeysOf, PickFrom, Overrides, QueryResponse, RpcMethods, RpcParams, RpcResponseError, UseSurrealRpcOptions } from '#surrealdb/types/index';
import type { MaybeRefOrGetter } from '#imports';
type MROGParam<T, M extends keyof RpcMethods<T>, N extends number> = MaybeRefOrGetter<RpcParams<T, M>[N]>;
export declare function useSurrealDB(overrides?: Overrides): {
$authenticate: (token: MROGParam<any, "authenticate", 0>, options?: Overrides) => Promise<void>;
authenticate: (token: MROGParam<any, "authenticate", 0>, options?: UseSurrealRpcOptions<any>) => Promise<AsyncData<void, RpcResponseError | undefined>>;
$create: <T = any>(thing: MROGParam<T, "create", 0>, data?: MROGParam<T, "create", 1>, options?: Overrides) => Promise<T>;
create: <ResT, DataT = ResT, DefaultT = undefined>(thing: MROGParam<ResT, "create", 0>, data?: MROGParam<ResT, "create", 1>, options?: UseSurrealRpcOptions<ResT, DataT, DefaultT>) => Promise<AsyncData<DefaultT | PickFrom<DataT, KeysOf<DataT>>, RpcResponseError | undefined>>;
$delete: <T = any>(thing: MROGParam<any, "delete", 0>, options?: Overrides) => Promise<T>;
delete: <ResT, DataT = ResT, DefaultT = undefined>(thing: MROGParam<any, "delete", 0>, options?: UseSurrealRpcOptions<ResT, DataT, DefaultT>) => Promise<AsyncData<DefaultT | PickFrom<DataT, KeysOf<DataT>>, RpcResponseError | undefined>>;
$info: <T = any>(options?: Overrides) => Promise<T>;
info: <ResT, DataT = ResT, DefaultT = undefined>(options?: UseSurrealRpcOptions<ResT, DataT, DefaultT>) => Promise<AsyncData<DefaultT | PickFrom<DataT, KeysOf<DataT>>, RpcResponseError | undefined>>;
$insert: <T = any>(thing: MROGParam<T, "insert", 0>, data?: MROGParam<T, "insert", 1>, options?: Overrides) => Promise<T>;
insert: <ResT, DataT = ResT, DefaultT = undefined>(thing: MROGParam<ResT, "insert", 0>, data?: MROGParam<ResT, "insert", 1>, options?: UseSurrealRpcOptions<ResT, DataT, DefaultT>) => Promise<AsyncData<DefaultT | PickFrom<DataT, KeysOf<DataT>>, RpcResponseError | undefined>>;
$invalidate: (options?: Overrides) => Promise<void>;
invalidate: (options?: UseSurrealRpcOptions<any>) => Promise<AsyncData<void, RpcResponseError | undefined>>;
$merge: <T = any>(thing: MROGParam<T, "merge", 0>, data: MROGParam<T, "merge", 1>, options?: Overrides) => Promise<T>;
merge: <ResT, DataT = ResT, DefaultT = undefined>(thing: MROGParam<ResT, "merge", 0>, data: MROGParam<ResT, "merge", 1>, options?: UseSurrealRpcOptions<ResT, DataT, DefaultT>) => Promise<AsyncData<DefaultT | PickFrom<DataT, KeysOf<DataT>>, RpcResponseError | undefined>>;
$patch: <T = any>(thing: MROGParam<T, "patch", 0>, patches: MROGParam<T, "patch", 1>, diff?: MROGParam<T, "patch", 2>, options?: Overrides) => Promise<T>;
patch: <T = any>(thing: MROGParam<T, "patch", 0>, patches: MROGParam<T, "patch", 1>, diff?: MROGParam<T, "patch", 2>, options?: UseSurrealRpcOptions<T>) => Promise<AsyncData<undefined | PickFrom<T, KeysOf<T>>, RpcResponseError | undefined>>;
$query: <T = any, R = QueryResponse<T>>(sql: MROGParam<any, "query", 0>, vars?: MROGParam<any, "query", 1>, options?: Overrides) => Promise<R>;
query: <ResT extends QueryResponse<any[]> = import("#surrealdb/types/index").RpcResponse<any>[], DataT = ResT, DefaultT = undefined>(sql: MROGParam<any, "query", 0>, vars?: MROGParam<any, "query", 1>, options?: UseSurrealRpcOptions<ResT, DataT, DefaultT>) => Promise<AsyncData<DefaultT | PickFrom<DataT, KeysOf<DataT>>, RpcResponseError | undefined>>;
$remove: <T = any>(thing: MROGParam<any, "delete", 0>, options?: Overrides) => Promise<T>;
remove: <ResT, DataT = ResT, DefaultT = undefined>(thing: MROGParam<any, "delete", 0>, options?: UseSurrealRpcOptions<ResT, DataT, DefaultT>) => Promise<AsyncData<DefaultT | PickFrom<DataT, KeysOf<DataT>>, RpcResponseError | undefined>>;
$select: <T = any>(thing: MROGParam<T, "select", 0>, options?: Overrides) => Promise<T>;
select: <ResT, DataT = ResT, DefaultT = undefined>(thing: MROGParam<ResT, "select", 0>, options?: UseSurrealRpcOptions<ResT, DataT, DefaultT>) => Promise<AsyncData<DefaultT | PickFrom<DataT, KeysOf<DataT>>, RpcResponseError | undefined>>;
$signin: (auth: MROGParam<any, "signin", 0>, options?: {
database?: keyof PublicRuntimeConfig["surrealdb"]["databases"] | {
host?: string;
};
}) => Promise<string>;
signin: (auth: MROGParam<any, "signin", 0>, options?: UseSurrealRpcOptions<string>) => Promise<AsyncData<string | undefined, RpcResponseError | undefined>>;
$signup: {
(credentials: MROGParam<any, "signup", 0> & {
SC: string;
AC?: never;
}): Promise<string>;
(credentials: MROGParam<any, "signup", 0> & {
AC: string;
SC?: never;
}): Promise<string>;
};
signup: (auth: MROGParam<any, "signup", 0>, options?: Omit<UseSurrealRpcOptions<string>, "database"> & {
database?: keyof PublicRuntimeConfig["surrealdb"]["databases"] | {
host?: string;
};
}) => Promise<AsyncData<string | undefined, RpcResponseError | undefined>>;
$sql: <T = any, R = QueryResponse<T>>(sql: MROGParam<any, "query", 0>, vars?: MROGParam<any, "query", 1>, options?: Overrides) => Promise<R>;
sql: <ResT extends QueryResponse<any[]> = import("#surrealdb/types/index").RpcResponse<any>[], DataT = ResT, DefaultT = undefined>(sql: MROGParam<any, "query", 0>, vars?: MROGParam<any, "query", 1>, options?: UseSurrealRpcOptions<ResT, DataT, DefaultT>) => Promise<AsyncData<DefaultT | PickFrom<DataT, KeysOf<DataT>>, RpcResponseError | undefined>>;
$update: <T = any>(thing: MROGParam<T, "update", 0>, data?: MROGParam<T, "update", 1>, options?: Overrides) => Promise<T>;
update: <ResT, DataT = ResT, DefaultT = undefined>(thing: MROGParam<ResT, "update", 0>, data?: MROGParam<ResT, "update", 1>, options?: UseSurrealRpcOptions<ResT, DataT, DefaultT>) => Promise<AsyncData<DefaultT | PickFrom<DataT, KeysOf<DataT>>, RpcResponseError | undefined>>;
$version: (options?: Overrides) => Promise<string>;
version: (options?: Overrides) => Promise<AsyncData<string | undefined, FetchError<any> | undefined>>;
$surrealFetch: unknown;
$surrealRPC: unknown;
};
export {};