From 0362cc64dd6b863fa021b2349e5bdbf843ff31bc Mon Sep 17 00:00:00 2001 From: Nikita Matrosov Date: Sun, 26 Mar 2017 13:51:50 +0300 Subject: [PATCH] Add plugin typings from DefinitelyTyped --- package.json | 1 + types/index.d.ts | 67 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 types/index.d.ts diff --git a/package.json b/package.json index edf495bcd..1f0311f35 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "cordova-sqlite-storage", "version": "1.5.2", "description": "Native interface to SQLite for PhoneGap/Cordova", + "types": "./types/index.d.ts", "cordova": { "id": "cordova-sqlite-storage", "platforms": [ diff --git a/types/index.d.ts b/types/index.d.ts new file mode 100644 index 000000000..2f78c908f --- /dev/null +++ b/types/index.d.ts @@ -0,0 +1,67 @@ +// Type definitions for cordova-sqlite-storage 1.5 +// Project: https://github.com/litehelpers/Cordova-sqlite-storage +// Definitions by: rafw87 +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +interface Window { + sqlitePlugin: SQLitePlugin.SQLite; +} + +declare var sqlitePlugin: SQLitePlugin.SQLite; + +declare namespace SQLitePlugin { + type TransactionFunction = (tx: Transaction) => void; + + type SuccessCallback = () => void; + type DatabaseSuccessCallback = (db: Database) => void; + type StatementSuccessCallback = (results: Results) => void; + type TransactionStatementSuccessCallback = (tx: Transaction, results: Results) => void; + + type ErrorCallback = (err: Error) => void; + type TransactionStatementErrorCallback = (tx: Transaction, err: Error) => boolean | void; + + interface OpenArgs { + name: string; + location?: string; + iosDatabaseLocation?: string; + androidDatabaseImplementation?: number; + androidLockWorkaround?: number; + createFromLocation?: number; + [key: string]: any; + } + interface DeleteArgs { + name: string; + location?: string; + iosDatabaseLocation?: string; + } + + interface Results { + rowsAffected: number; + insertId?: number; + rows: { + length: number; + item(i: number): any; + }; + } + + interface Transaction { + executeSql(statement: string, params?: any[], success?: TransactionStatementSuccessCallback, error?: TransactionStatementErrorCallback): void; + } + + interface Database { + transaction(fn: TransactionFunction, error?: ErrorCallback, success?: SuccessCallback): void; + readTransaction(fn: TransactionFunction, error?: ErrorCallback, success?: SuccessCallback): void; + + executeSql(statement: string, params?: any[], success?: StatementSuccessCallback, error?: ErrorCallback): void; + sqlBatch(sqlStatements: Array, success?: SuccessCallback, error?: ErrorCallback): void; + + close(success?: SuccessCallback, error?: ErrorCallback): void; + } + + interface SQLite { + openDatabase(args: OpenArgs, success?: DatabaseSuccessCallback, error?: ErrorCallback): Database; + deleteDatabase(args: DeleteArgs, success?: SuccessCallback, error?: ErrorCallback): void; + selfTest(success?: SuccessCallback, error?: ErrorCallback): void; + echoTest(ok?: (value: string) => void, error?: (msg: string) => void): void; + } +}