nuxt-surrealdb
Version:
A Nuxt module aimed to simplify the use of SurrealDB
30 lines (29 loc) • 835 B
JavaScript
import { surrealHooks, useNuxtApp } from "#imports";
export async function useSurreal() {
const {
$surreal: client,
$config: {
public: {
surrealdb: {
local,
memory,
...config
} = {}
}
}
} = useNuxtApp();
if (!client.isConnected) {
await surrealHooks.callHookParallel("surrealdb:connecting", { client, config });
if (config.endpoint && config.autoConnect !== false) {
let endpoint = config.endpoint;
if (import.meta.server && config.preferHttp !== false) {
endpoint = endpoint.replace(/^ws/, "http");
}
const isConnected = await client.connect(endpoint, config.connectOptions);
if (isConnected) {
await surrealHooks.callHookParallel("surrealdb:connected", { client });
}
}
}
return client;
}