@@ -5,12 +5,28 @@ import { createDialect, DialectOptions } from './dialect.js';
5
5
import Formatter from './formatter/Formatter.js' ;
6
6
import { ConfigError , validateConfig } from './validateConfig.js' ;
7
7
8
- const formatters = {
9
- ...allDialects ,
10
- tsql : allDialects . transactsql , // alias for transactsql
8
+ const dialectNameMap : Record < string , keyof typeof allDialects > = {
9
+ bigquery : 'bigquery' ,
10
+ db2 : 'db2' ,
11
+ hive : 'hive' ,
12
+ mariadb : 'mariadb' ,
13
+ mysql : 'mysql' ,
14
+ n1ql : 'n1ql' ,
15
+ plsql : 'plsql' ,
16
+ postgresql : 'postgresql' ,
17
+ redshift : 'redshift' ,
18
+ spark : 'spark' ,
19
+ sqlite : 'sqlite' ,
20
+ sql : 'sql' ,
21
+ trino : 'trino' ,
22
+ transactsql : 'transactsql' ,
23
+ tsql : 'transactsql' , // alias for transactsq
24
+ singlestoredb : 'singlestoredb' ,
25
+ snowflake : 'snowflake' ,
11
26
} ;
12
- export type SqlLanguage = keyof typeof formatters ;
13
- export const supportedDialects = Object . keys ( formatters ) ;
27
+
28
+ export const supportedDialects = Object . keys ( dialectNameMap ) ;
29
+ export type SqlLanguage = keyof typeof dialectNameMap ;
14
30
15
31
export type FormatOptionsWithLanguage = Partial < FormatOptions > & {
16
32
language ?: SqlLanguage ;
@@ -46,9 +62,11 @@ export const format = (query: string, cfg: FormatOptionsWithLanguage = {}): stri
46
62
throw new ConfigError ( `Unsupported SQL dialect: ${ cfg . language } ` ) ;
47
63
}
48
64
65
+ const canonicalDialectName = dialectNameMap [ cfg . language || 'sql' ] ;
66
+
49
67
return formatDialect ( query , {
50
68
...cfg ,
51
- dialect : formatters [ cfg . language || 'sql' ] ,
69
+ dialect : allDialects [ canonicalDialectName ] ,
52
70
} ) ;
53
71
} ;
54
72
0 commit comments