Skip to content

Commit

Permalink
re-order get-dialect.
Browse files Browse the repository at this point in the history
  • Loading branch information
igalklebanov committed Jun 28, 2024
1 parent 3d8c446 commit a44ac2b
Showing 1 changed file with 18 additions and 15 deletions.
33 changes: 18 additions & 15 deletions src/kysely/get-dialect.mts
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,39 @@ import type { ResolvedKyselyCTLConfig } from '../config/kysely-ctl-config.mjs'
export async function getDialect(
config: ResolvedKyselyCTLConfig,
): Promise<Dialect> {
const { dialect } = config
const { dialect, dialectConfig } = config

if (dialect === 'better-sqlite3') {
return new SqliteDialect(config.dialectConfig)
if (!dialect) {
throw new Error('No dialect provided')
}

if (dialect === 'mysql2') {
return new MysqlDialect(config.dialectConfig)
if (typeof dialect === 'object') {
return dialect
}

if (dialect === 'pg') {
return new PostgresDialect(config.dialectConfig)
return new PostgresDialect(dialectConfig)
}

if (dialect === 'postgres') {
return new (await import('kysely-postgres-js')).PostgresJSDialect(
config.dialectConfig,
)
if (dialect === 'mysql2') {
return new MysqlDialect(dialectConfig)
}

if (dialect === 'tedious') {
// since it was introduced only in kysely v0.27.0
// and we want to support older versions too
return new (await import('kysely')).MssqlDialect(config.dialectConfig)
return new (await import('kysely')).MssqlDialect(dialectConfig)
}

if (typeof dialect === 'object') {
return config.dialect
if (dialect === 'better-sqlite3') {
return new SqliteDialect(dialectConfig)
}

if (dialect === 'postgres') {
return new (await import('kysely-postgres-js')).PostgresJSDialect(
dialectConfig,
)
}

// @ts-expect-error
throw new Error(`Unknown dialect: ${config.dialect}`)
throw new Error(`Unknown dialect: ${dialect}`)
}

0 comments on commit a44ac2b

Please sign in to comment.