diff --git a/types/sql-bricks-postgres/index.d.ts b/types/sql-bricks-postgres/index.d.ts new file mode 100644 index 0000000..7e64e8c --- /dev/null +++ b/types/sql-bricks-postgres/index.d.ts @@ -0,0 +1,30 @@ +declare module "sql-bricks-postgres" { + import * as sql from "sql-bricks"; + export * from "sql-bricks"; + + interface OnConflictClause { + doUpdate(colNames: string[]): sql.Statement; + } + + interface LimitClause extends sql.SelectStatement { + offset(value: number): sql.Statement; + } + + export interface PgInsertStatement extends sql.InsertStatement { + onConflict(...colNames: string[]): OnConflictClause; + } + + export interface PgSelectStatement extends sql.SelectStatement { + limit(value: number): LimitClause; + } + + export interface PgSqlBricksFn extends sql.SqlBricksFn { + insert(tbl?: string, ...values: any[]): PgInsertStatement; + + select(...columns: Array): PgSelectStatement; + select(columns: string[] | sql.SelectStatement[]): PgSelectStatement; + } + + const PgSqlBricks: PgSqlBricksFn; + export default PgSqlBricks; +}