@@ -25,7 +25,6 @@ import {
2525 ValueListNode ,
2626 ValueNode ,
2727 ValuesNode ,
28- WhereNode ,
2928} from 'kysely' ;
3029import type { EnumDef , EnumField , FieldDef , ModelDef , SchemaDef } from '../../schema' ;
3130import {
@@ -185,40 +184,42 @@ export class QueryNameMapper extends OperationNodeTransformer {
185184 return ColumnNode . create ( mappedName ) ;
186185 }
187186
188- protected override transformWhere ( node : WhereNode ) : WhereNode {
187+ protected override transformBinaryOperation ( node : BinaryOperationNode ) : BinaryOperationNode {
189188 if (
190- BinaryOperationNode . is ( node . where ) &&
191- ReferenceNode . is ( node . where . leftOperand ) &&
192- ColumnNode . is ( node . where . leftOperand . column ) &&
193- node . where . leftOperand . table &&
194- TableNode . is ( node . where . leftOperand . table ) &&
195- // where: { enumColumn: Enum.VALUE }
196- ( ValueNode . is ( node . where . rightOperand ) ||
197- // where: { enumColumn: { in: [Enum.VALUE] } }
198- PrimitiveValueListNode . is ( node . where . rightOperand ) )
189+ ReferenceNode . is ( node . leftOperand ) &&
190+ ColumnNode . is ( node . leftOperand . column ) &&
191+ node . leftOperand . table &&
192+ TableNode . is ( node . leftOperand . table ) &&
193+ // { enumColumn: Enum.VALUE }
194+ ( ValueNode . is ( node . rightOperand ) ||
195+ // { enumColumn: { in: [Enum.VALUE] } }
196+ PrimitiveValueListNode . is ( node . rightOperand ) )
199197 ) {
200- const tableName = node . where . leftOperand . table . table . identifier . name ;
201- const columnNode = node . where . leftOperand . column ;
202- const valueNode = node . where . rightOperand ;
198+ const tableName = node . leftOperand . table . table . identifier . name ;
199+ const columnNode = node . leftOperand . column ;
200+ const valueNode = node . rightOperand ;
203201
204202 let resultValue : OperationNode = valueNode ;
205203
206204 if ( ValueNode . is ( valueNode ) ) {
207205 resultValue = this . processEnumMappingForValue ( tableName , columnNode , valueNode ) as OperationNode ;
208206 } else if ( PrimitiveValueListNode . is ( valueNode ) ) {
209207 resultValue = PrimitiveValueListNode . create (
210- this . processEnumMappingForValues ( tableName , valueNode . values . map ( ( ) => columnNode ) , valueNode . values ) ,
208+ this . processEnumMappingForValues (
209+ tableName ,
210+ valueNode . values . map ( ( ) => columnNode ) ,
211+ valueNode . values ,
212+ ) ,
211213 ) ;
212214 }
213215
214- return super . transformWhere (
215- WhereNode . create (
216- BinaryOperationNode . create ( node . where . leftOperand , node . where . operator , resultValue )
217- )
218- ) ;
216+ return super . transformBinaryOperation ( {
217+ ...node ,
218+ rightOperand : resultValue ,
219+ } ) ;
219220 }
220221
221- return super . transformWhere ( node ) ;
222+ return super . transformBinaryOperation ( node ) ;
222223 }
223224
224225 protected override transformUpdateQuery ( node : UpdateQueryNode ) {
0 commit comments