Files
dbmole-mcp/packages/esmole-mcp/src/registry.ts
T

19 lines
880 B
TypeScript

import { createRegistry as coreCreate, type Registry } from '@dbmole/core'
import { type ConnectionConfig, connectionConfigSchema } from './schema.js'
import { readConfigFile, readEnvConnections } from './sources.js'
import { readStore, writeStore } from './store.js'
export type EsRegistry = Registry<ConnectionConfig>
export type RegistryOptions = { storePath: string; configPath?: string; env?: NodeJS.ProcessEnv }
export const createRegistry = (options: RegistryOptions): EsRegistry => {
const env = options.env ?? process.env
return coreCreate<ConnectionConfig>({
schema: connectionConfigSchema,
readStore: () => readStore(options.storePath),
writeStore: (configs) => writeStore(options.storePath, configs),
readConfigFile: () => readConfigFile(options.configPath),
readEnvConnections: () => readEnvConnections(env)
})
}