UNPKG

nuxt-surrealdb

Version:

A Nuxt module aimed to simplify the use of SurrealDB

28 lines (27 loc) 795 B
import { createWasmWorkerEngines } from "@surrealdb/wasm"; import WorkerAgent from "@surrealdb/wasm/worker?worker"; import { Surreal, Value } from "surrealdb"; import { markRaw } from "vue"; import { defineNuxtPlugin } from "#imports"; export default defineNuxtPlugin({ name: "surrealdb:local", enforce: "pre", parallel: true, setup(nuxtApp) { const { local: { wasmEngine } = {} } = nuxtApp.$config.public.surrealdb || {}; const client = new Surreal({ engines: createWasmWorkerEngines({ ...wasmEngine, createWorker: () => new WorkerAgent() }), codecOptions: { valueDecodeVisitor: (value) => value instanceof Value ? markRaw(value) : value } }); return { provide: { surrealLocal: client } }; } });