From 934f5638d4df5b19443e03fa981f5b441ea9043f Mon Sep 17 00:00:00 2001 From: recuedav Date: Tue, 4 Oct 2016 11:40:55 +0200 Subject: [PATCH] UPDATE localForage type definitions --- localForage/localForage-tests.ts | 85 ++++++++++++++++++++------------ localForage/localForage.d.ts | 30 ++++++++--- 2 files changed, 75 insertions(+), 40 deletions(-) diff --git a/localForage/localForage-tests.ts b/localForage/localForage-tests.ts index 6f162e8c4b..4a885f18fc 100644 --- a/localForage/localForage-tests.ts +++ b/localForage/localForage-tests.ts @@ -1,65 +1,86 @@ /// -declare var localForage: LocalForage; +declare let localForage: LocalForage; -() => { +namespace LocalForageTest { localForage.clear((err: any) => { - var newError: any = err; + let newError: any = err; }); localForage.iterate((str: string, key: string, num: number) => { - var newStr: string = str; - var newKey: string = key; - var newNum: number = num; + let newStr: string = str; + let newKey: string = key; + let newNum: number = num; }); localForage.length((err: any, num: number) => { - var newError: any = err; - var newNumber: number = num; + let newError: any = err; + let newNumber: number = num; }); localForage.key(0, (err: any, value: string) => { - var newError: any = err; - var newValue: string = value; + let newError: any = err; + let newValue: string = value; }); localForage.keys((err: any, keys: Array) => { - var newError: any = err; - var newArray: Array = keys; + let newError: any = err; + let newArray: Array = keys; }); localForage.getItem("key",(err: any, str: string) => { - var newError: any = err; - var newStr: string = str + let newError: any = err; + let newStr: string = str }); localForage.getItem("key").then((str: string) => { - var newStr: string = str; + let newStr: string = str; }); - + localForage.setItem("key", "value",(err: any, str: string) => { - var newError: any = err; - var newStr: string = str + let newError: any = err; + let newStr: string = str }); localForage.setItem("key", "value").then((str: string) => { - var newStr: string = str; + let newStr: string = str; }); - + localForage.removeItem("key",(err: any) => { - var newError: any = err; + let newError: any = err; }); localForage.removeItem("key").then(() => { }); - - var config = localForage.config({ - name: "testyo", - driver: localForage.LOCALSTORAGE - }); - - var store = localForage.createInstance({ - name: "da instance", - driver: localForage.LOCALSTORAGE - }); -} \ No newline at end of file + + { + let config: boolean; + + config = localForage.config({ + name: "testyo", + driver: localForage.LOCALSTORAGE + }); + } + + { + let store: LocalForage; + + store = localForage.createInstance({ + name: "da instance", + driver: localForage.LOCALSTORAGE + }); + } + + { + let testSerializer: LocalForageSerializer; + + localForage.getSerializer() + .then((serializer: LocalForageSerializer) => { + testSerializer = serializer; + }); + + localForage.getSerializer((serializer: LocalForageSerializer) => { + testSerializer = serializer; + }); + } +} diff --git a/localForage/localForage.d.ts b/localForage/localForage.d.ts index 803bde9e57..89dae93ca0 100644 --- a/localForage/localForage.d.ts +++ b/localForage/localForage.d.ts @@ -39,6 +39,16 @@ interface LocalForageDriver { setItem(key: string, value: any, callback: (err: any, value: any) => void): void; } +interface LocalForageSerializer { + serialize(value: T | ArrayBuffer | Blob, callback: (value: string, error: any) => {}): void; + + deserialize(value: string): T | ArrayBuffer | Blob; + + stringToBuffer(serializedString: string): ArrayBuffer; + + bufferToString(buffer: ArrayBuffer): string; +} + interface LocalForage { LOCALSTORAGE: string; WEBSQL: string; @@ -50,6 +60,12 @@ interface LocalForage { * @param {ILocalForageConfig} options? */ config(options: LocalForageOptions): boolean; + + /** + * Create a new instance of localForage to point to a different store. + * All the configuration options used by config are supported. + * @param {LocalForageOptions} options + */ createInstance(options: LocalForageOptions): LocalForage; driver(): string; @@ -62,6 +78,11 @@ interface LocalForage { defineDriver(driver: LocalForageDriver): Promise; defineDriver(driver: LocalForageDriver, callback: () => void, errorCallback: (error: any) => void): void; + getSerializer(): Promise; + getSerializer(callback: (serializer: LocalForageSerializer) => void): void; + + supports(driverName: string): boolean; + getItem(key: string): Promise; getItem(key: string, callback: (err: any, value: T) => void): void; @@ -86,16 +107,9 @@ interface LocalForage { iterate(iteratee: (value: any, key: string, iterationNumber: number) => any): Promise; iterate(iteratee: (value: any, key: string, iterationNumber: number) => any, callback: (err: any, result: any) => void): void; - - /** - * Create a new instance of localForage to point to a different store. - * All the configuration options used by config are supported. - * @param {LocalForageOptions} options - */ - createInstance(options: LocalForageOptions): LocalForage; } declare module "localforage" { export var localforage: LocalForage; - export default localforage; + export default localforage; }