nuxt-surrealdb
Version:
A Nuxt module aimed to simplify the use of SurrealDB
44 lines (43 loc) • 2.78 kB
TypeScript
import type { UseWebSocketOptions } from '@vueuse/core';
import type { Overrides, RpcMethodsWS, RpcParamsWS, RpcRequestWS } from '#surrealdb/types/index';
import type { MaybeRefOrGetter } from '#imports';
type MROGParam<T, M extends keyof RpcMethodsWS<T>, N extends number> = MaybeRefOrGetter<RpcParamsWS<T, M>[N]>;
export declare function useSurrealWS(options?: UseWebSocketOptions & {
database?: Overrides['database'];
auth?: string | null | false;
}): {
authenticate: (token: MROGParam<any, "authenticate", 0>) => boolean;
close: {
(code?: number, reason?: string): void;
(code?: number, reason?: string): void;
};
create: <T = any>(thing: MROGParam<T, "create", 0>, data?: MROGParam<T, "create", 1>) => boolean;
_data: import("vue").Ref<string | null, string | null>;
data: import("vue").ComputedRef<any>;
delete: (thing: MROGParam<any, "delete", 0>) => boolean;
info: <T = any>() => boolean;
insert: <T = any>(thing: MROGParam<T, "insert", 0>, data?: MROGParam<T, "insert", 1>) => boolean;
invalidate: () => boolean;
kill: (thing: MROGParam<any, "kill", 0>) => boolean;
let: <T = any>(name: MROGParam<T, "let", 0>, value: MROGParam<T, "let", 1>) => boolean;
live: <T = any>(table: MROGParam<T, "live", 0>, diff?: MROGParam<T, "live", 1>) => boolean;
merge: <T = any>(thing: MROGParam<T, "merge", 0>, data: MROGParam<T, "merge", 1>) => boolean;
open: import("@vueuse/core").Fn;
patch: <T = any>(thing: MROGParam<T, "patch", 0>, patches: MROGParam<T, "patch", 1>, diff?: MROGParam<T, "patch", 2>) => boolean;
query: <T = any>(sql: MROGParam<T, "query", 0>, vars?: MROGParam<T, "query", 1>) => boolean;
remove: (thing: MROGParam<any, "delete", 0>) => boolean;
rpc: <T = any>(req: RpcRequestWS<T>) => boolean;
select: <T = any>(thing: MROGParam<T, "select", 0>) => boolean;
_send: (data: string | ArrayBuffer | Blob, useBuffer?: boolean) => boolean;
send: (data: Record<string, any>, useBuffer?: boolean) => boolean;
set: <T = any>(name: MROGParam<T, "let", 0>, value: MROGParam<T, "let", 1>) => boolean;
signin: (auth: MROGParam<any, "signin", 0>) => boolean;
signup: (auth: MROGParam<any, "signup", 0>) => boolean;
sql: <T = any>(sql: MROGParam<T, "query", 0>, vars?: MROGParam<T, "query", 1>) => boolean;
status: import("vue").Ref<import("@vueuse/core").WebSocketStatus, import("@vueuse/core").WebSocketStatus>;
unset: (name: MROGParam<any, "unset", 0>) => boolean;
update: <T = any>(thing: MROGParam<T, "update", 0>, data?: MROGParam<T, "update", 1>) => boolean;
use: (NS?: MROGParam<any, "use", 0>, DB?: MROGParam<any, "use", 1>) => boolean;
ws: import("vue").Ref<WebSocket | undefined, WebSocket | undefined>;
};
export {};