From e714e43f06cd24acf7066b41ed0941b2b2a20960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Santiago=20Aguilar=20Hern=C3=A1ndez?= Date: Mon, 12 Nov 2018 03:36:03 -0500 Subject: [PATCH] * Renamed property according with docs * Moved types to other file --- types/better-sqlite3/better-sqlite3-tests.ts | 2 + types/better-sqlite3/index.d.ts | 84 +------------------- types/better-sqlite3/tsconfig.json | 1 + types/better-sqlite3/types.d.ts | 80 +++++++++++++++++++ 4 files changed, 86 insertions(+), 81 deletions(-) create mode 100644 types/better-sqlite3/types.d.ts diff --git a/types/better-sqlite3/better-sqlite3-tests.ts b/types/better-sqlite3/better-sqlite3-tests.ts index 34ee6808c3..5d8b95ecf7 100644 --- a/types/better-sqlite3/better-sqlite3-tests.ts +++ b/types/better-sqlite3/better-sqlite3-tests.ts @@ -1,7 +1,9 @@ import Database = require('better-sqlite3'); +import { RunResult } from 'better-sqlite3/types'; const integer = Database.Integer(1); const err = new Database.SqliteError('ok', 'ok'); +const result: RunResult = { changes: 1, lastInsertRowid: 1 }; let db = Database('.'); db = new Database('.', {memory: true}); diff --git a/types/better-sqlite3/index.d.ts b/types/better-sqlite3/index.d.ts index 899a85a2e2..d120209765 100644 --- a/types/better-sqlite3/index.d.ts +++ b/types/better-sqlite3/index.d.ts @@ -1,89 +1,11 @@ -// Type definitions for better-sqlite3 3.1 +// Type definitions for better-sqlite3 5.0 // Project: http://github.com/JoshuaWise/better-sqlite3 // Definitions by: Ben Davies // Mathew Rumsey +// Santiago Aguilar // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import Integer = require('integer'); - -interface RunResult { - changes: number; - lastInsertROWID: Integer.IntLike; -} - -declare class Statement { - database: Database; - source: string; - returnsData: boolean; - constructor(db: Database, sources: string[]); - - run(...params: any[]): RunResult; - get(...params: any[]): any; - all(...params: any[]): any[]; - each(params: any, cb: (row: any) => void): void; - each(cb: (row: any) => void): void; - each(...params: any[]): void; - pluck(toggleState?: boolean): this; - bind(...params: any[]): this; - safeIntegers(toggleState?: boolean): this; -} - -declare class Transaction { - database: Database; - source: string; - constructor(db: Database, sources: string[]); - - run(...params: any[]): RunResult; - bind(...params: any[]): this; - safeIntegers(toggleState?: boolean): this; -} - -interface DatabaseOptions { - memory?: boolean; - readonly?: boolean; - fileMustExist?: boolean; -} - -interface RegistrationOptions { - name?: string; - varargs?: boolean; - deterministic?: boolean; - safeIntegers?: boolean; -} - -interface Database { - memory: boolean; - readonly: boolean; - name: string; - open: boolean; - inTransaction: boolean; - - prepare(source: string): Statement; - transaction(sources: string[]): Transaction; - exec(source: string): this; - pragma(source: string, simplify?: boolean): any; - checkpoint(databaseName?: string): this; - register(cb: (...params: any[]) => any): this; - register(options: RegistrationOptions, cb: (...params: any[]) => any): this; - close(): this; - defaultSafeIntegers(toggleState?: boolean): this; -} - -declare class SqliteError implements Error { - name: string; - message: string; - code: string; - constructor(message: string, code: string); -} - -interface DatabaseConstructor { - new(filename: string, options?: DatabaseOptions): Database; - (filename: string, options?: DatabaseOptions): Database; - prototype: Database; - - Integer: typeof Integer; - SqliteError: typeof SqliteError; -} +import { DatabaseConstructor } from "./types"; declare const Database: DatabaseConstructor; export = Database; diff --git a/types/better-sqlite3/tsconfig.json b/types/better-sqlite3/tsconfig.json index 30a480355b..891afa0aad 100644 --- a/types/better-sqlite3/tsconfig.json +++ b/types/better-sqlite3/tsconfig.json @@ -18,6 +18,7 @@ }, "files": [ "index.d.ts", + "types.d.ts", "better-sqlite3-tests.ts" ] } \ No newline at end of file diff --git a/types/better-sqlite3/types.d.ts b/types/better-sqlite3/types.d.ts new file mode 100644 index 0000000000..61f376b0bf --- /dev/null +++ b/types/better-sqlite3/types.d.ts @@ -0,0 +1,80 @@ +import Integer = require("integer"); + +export interface RunResult { + changes: number; + lastInsertRowid: Integer.IntLike; +} + +export class Statement { + database: Database; + source: string; + returnsData: boolean; + constructor(db: Database, sources: string[]); + + run(...params: any[]): RunResult; + get(...params: any[]): any; + all(...params: any[]): any[]; + each(params: any, cb: (row: any) => void): void; + each(cb: (row: any) => void): void; + each(...params: any[]): void; + pluck(toggleState?: boolean): this; + bind(...params: any[]): this; + safeIntegers(toggleState?: boolean): this; +} + +export class Transaction { + database: Database; + source: string; + constructor(db: Database, sources: string[]); + + run(...params: any[]): RunResult; + bind(...params: any[]): this; + safeIntegers(toggleState?: boolean): this; +} + +export interface DatabaseOptions { + memory?: boolean; + readonly?: boolean; + fileMustExist?: boolean; +} + +export interface RegistrationOptions { + name?: string; + varargs?: boolean; + deterministic?: boolean; + safeIntegers?: boolean; +} + +export interface Database { + memory: boolean; + readonly: boolean; + name: string; + open: boolean; + inTransaction: boolean; + + prepare(source: string): Statement; + transaction(sources: string[]): Transaction; + exec(source: string): this; + pragma(source: string, simplify?: boolean): any; + checkpoint(databaseName?: string): this; + register(cb: (...params: any[]) => any): this; + register(options: RegistrationOptions, cb: (...params: any[]) => any): this; + close(): this; + defaultSafeIntegers(toggleState?: boolean): this; +} + +export class SqliteError implements Error { + name: string; + message: string; + code: string; + constructor(message: string, code: string); +} + +export interface DatabaseConstructor { + new (filename: string, options?: DatabaseOptions): Database; + (filename: string, options?: DatabaseOptions): Database; + prototype: Database; + + Integer: typeof Integer; + SqliteError: typeof SqliteError; +}