diff --git a/lib/types.d.ts b/lib/types.d.ts index 84fb7ab3..fbb2311c 100644 --- a/lib/types.d.ts +++ b/lib/types.d.ts @@ -100,9 +100,25 @@ declare module "sql" { notExists(subQuery:SubQuery):BinaryNode } + interface OnConflictOptionsBase { + update?: string[] + } + + interface OnConflictOptionsWithConstraint extends OnConflictOptionsBase { + constraint: string + columns?: undefined + } + + interface OnConflictOptionsWithColumns extends OnConflictOptionsBase { + columns: string[] + constraint?: undefined + } + + type OnConflictOptions = OnConflictOptionsWithConstraint | OnConflictOptionsWithColumns | (OnConflictOptionsWithConstraint & OnConflictOptionsWithColumns) interface ModifyingQuery extends Executable { returning(...nodes:any[]):Query + onConflict(options: OnConflictOptions): ModifyingQuery where(...nodes:any[]):ModifyingQuery }