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 c727d93b3a..eaafd8b8c8 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" {
- var localforage: LocalForage;
+ let localforage: LocalForage;
export = localforage;
}