Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- declare module 'knex' {
- export interface IReferencesDefinition {
- inTable(tableName: string)
- }
- export interface IForeignDefinition {
- references(columnName: string): IReferencesDefinition
- }
- export interface IColumnDefinition {
- primary(): void
- notNullable(): void
- }
- export interface ITableDefinitionCallback {
- (table: ITableDefinition): void
- }
- export type IIntegerDefinition = IColumnDefinition & {
- unsigned(): IColumnDefinition
- }
- export interface ITableDefinition {
- integer(columnName: string): IIntegerDefinition
- timestamps(): void
- increments(columnName?: string): IColumnDefinition
- enum(columnName: string, values: string[]): IColumnDefinition
- timestamp(columnName: string): IColumnDefinition
- string(columnName: string, length: number): IColumnDefinition
- foreign(columnName: string): IForeignDefinition
- }
- export interface IKnexSchema {
- createTable(tableName: string, callback: ITableDefinitionCallback): Promise<void>
- }
- export type IQuery = {
- where(where: Object): IQuery
- first(...columns: string[]): IQuery
- } & Promise<any>
- export type IQueryBuilder = IQuery & {
- insert(row: Object): Promise<any> & IQuery
- update(row: Object): Promise<any> & IQuery
- }
- export interface IKnex {
- schema: IKnexSchema
- (tableName: string): IQueryBuilder
- }
- export interface IConnectionOptions {
- host: string
- user: string
- password: string
- database: string
- }
- export interface IKnexOptions {
- client: string
- connection: IConnectionOptions
- }
- export default function knex(IKnexOptions): IKnex
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement