feat: initial setup for nuxt devtools

This commit is contained in:
arashsheyda
2023-04-20 18:16:10 +03:00
parent 7301bb390c
commit 7df0af10f2
15 changed files with 1979 additions and 488 deletions

3
src/types/index.ts Normal file
View File

@ -0,0 +1,3 @@
export * from './rpc'
export * from './server-ctx'
export * from './module-options'

View File

@ -0,0 +1,7 @@
import type { ConnectOptions } from 'mongoose'
export interface ModuleOptions {
uri: string
devtools: boolean
options?: ConnectOptions
}

7
src/types/rpc.ts Normal file
View File

@ -0,0 +1,7 @@
export interface ServerFunctions {
listCollections(): Promise<any>
}
export interface ClientFunctions {
refresh(type: string): void
}

15
src/types/server-ctx.ts Normal file
View File

@ -0,0 +1,15 @@
import type { BirpcGroup } from 'birpc'
import type { Nuxt } from 'nuxt/schema'
import type { ClientFunctions, ServerFunctions } from './rpc'
import type { ModuleOptions } from './module-options'
export interface NuxtDevtoolsServerContext {
nuxt: Nuxt
options: ModuleOptions
rpc: BirpcGroup<ClientFunctions, ServerFunctions>
refresh: (event: keyof ServerFunctions) => void
extendServerRpc: <ClientFunctions = {}, ServerFunctions = {}>(name: string, functions: ServerFunctions) => BirpcGroup<ClientFunctions, ServerFunctions>
}