@@ -15,6 +15,13 @@ class ValuesRow {
1515 }
1616}
1717
18+ function getQueryGeneratorCompat ( value : any ) : QueryGenerator {
19+ const { queryGenerator, QueryGenerator } = value
20+ if ( queryGenerator ) return queryGenerator
21+ if ( QueryGenerator ) return QueryGenerator
22+ throw new Error ( `failed to get queryGenerator on ${ value } ` )
23+ }
24+
1825function isValuesArray ( expression : any ) : boolean {
1926 if ( ! Array . isArray ( expression ) ) return false
2027 for ( let i = 0 ; i < expression . length ; i ++ ) {
@@ -50,16 +57,13 @@ function sql(
5057 )
5158 if ( Array . isArray ( options . bind ) ) bind . push ( ...options . bind )
5259 } else if ( expression && expression . prototype instanceof Model ) {
53- const { QueryGenerator , tableName } = ( expression : any )
54- queryGenerator = QueryGenerator
55- parts . push ( QueryGenerator . quoteTable ( tableName ) )
60+ const { tableName } = ( expression : any )
61+ queryGenerator = getQueryGeneratorCompat ( expression )
62+ parts . push ( queryGenerator . quoteTable ( tableName ) )
5663 } else if ( expression && expression . type instanceof Sequelize . ABSTRACT ) {
57- const {
58- field,
59- Model : { QueryGenerator } ,
60- } = ( expression : any )
61- queryGenerator = QueryGenerator
62- parts . push ( QueryGenerator . quoteIdentifier ( field ) )
64+ const { field, Model } = ( expression : any )
65+ queryGenerator = getQueryGeneratorCompat ( Model )
66+ parts . push ( queryGenerator . quoteIdentifier ( field ) )
6367 } else {
6468 bind. push ( expression )
6569 parts . push ( `$${ bind . length } ` )
@@ -89,11 +93,11 @@ function findQueryGenerator(
8993 ) {
9094 return ( expression : any ) [ queryGeneratorSymbol ]
9195 } else if ( expression && expression . prototype instanceof Model ) {
92- return ( expression : any ) . QueryGenerator
96+ return getQueryGeneratorCompat ( expression )
9397 } else if ( expression && expression . type instanceof Sequelize . ABSTRACT ) {
94- return ( expression : any ) . Model . QueryGenerator
98+ return getQueryGeneratorCompat ( ( expression : any ) . Model )
9599 } else if ( expression instanceof Sequelize ) {
96- return expression . getQueryInterface ( ) . QueryGenerator
100+ return getQueryGeneratorCompat ( expression . getQueryInterface ( ) )
97101 }
98102 }
99103 throw new Error (
@@ -177,7 +181,7 @@ sql.with = (sequelize: Sequelize) => ({
177181 strings : $ReadOnlyArray < string > ,
178182 ...expressions : $ReadOnlyArray < mixed >
179183 ) : string =>
180- escapeSql ( ( ) => sequelize . getQueryInterface ( ) . QueryGenerator ) (
184+ escapeSql ( ( ) => getQueryGeneratorCompat ( sequelize . getQueryInterface ( ) ) ) (
181185 strings ,
182186 ...expressions
183187 ) ,
@@ -186,7 +190,7 @@ sql.with = (sequelize: Sequelize) => ({
186190 ...expressions : $ReadOnlyArray < mixed >
187191 ) : ValuesRow =>
188192 new ValuesRow (
189- escapeSql ( ( ) => sequelize . getQueryInterface ( ) . QueryGenerator ) (
193+ escapeSql ( ( ) => getQueryGeneratorCompat ( sequelize . getQueryInterface ( ) ) ) (
190194 strings ,
191195 ...expressions
192196 )
@@ -196,7 +200,7 @@ sql.with = (sequelize: Sequelize) => ({
196200 ...expressions : $ReadOnlyArray < mixed >
197201 ) : Literal =>
198202 Sequelize . literal (
199- escapeSql ( ( ) => sequelize . getQueryInterface ( ) . QueryGenerator ) (
203+ escapeSql ( ( ) => getQueryGeneratorCompat ( sequelize . getQueryInterface ( ) ) ) (
200204 strings ,
201205 ...expressions
202206 )
0 commit comments