updated localforage to use es6 promises definitions + enabled es6 imports + fixed up generics

also updated angular-localForage due to a breaking change in the interface
This commit is contained in:
Stephen Lautier
2015-09-14 03:06:47 +02:00
parent 7a3ca1f0b8
commit 6062a2c9d8
3 changed files with 37 additions and 37 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ declare module angular.localForage {
interface ILocalForageService {
setDriver(driver:string):angular.IPromise<void>;
driver<T>():lf.ILocalForage<T>;
driver<T>():lf.ILocalForage;
setItem(key:string, value:any):angular.IPromise<void>;
setItem(keys:Array<string>, values:Array<any>):angular.IPromise<void>;
+18 -21
View File
@@ -1,13 +1,6 @@
/// <reference path="localForage.d.ts" />
declare var localForage: lf.ILocalForage<string>;
declare var callback: lf.ICallback<string>;
declare var iterateCallback: lf.IIterateCallback<string>;
declare var errorCallback: lf.IErrorCallback;
declare var keyCallback: lf.IKeyCallback;
declare var keysCallback: lf.IKeysCallback;
declare var numberCallback: lf.INumberCallback;
declare var promise: lf.IPromise<string>;
import * as localForage from "localforage";
() => {
localForage.clear((err: any) => {
@@ -40,9 +33,12 @@ declare var promise: lf.IPromise<string>;
var newStr: string = str
});
localForage.getItem("key").then((err: any, str: string) => {
var newError: any = err;
var newStr: string = str
localForage.getItem<string>("key").then((value) => {
var newStr: string = value
});
localForage.getItem<number>("keyNumber").then((value) => {
var newValue: number = value
});
localForage.setItem("key", "value",(err: any, str: string) => {
@@ -50,19 +46,20 @@ declare var promise: lf.IPromise<string>;
var newStr: string = str
});
localForage.setItem("key", "value").then((err: any, str: string) => {
var newError: any = err;
var newStr: string = str;
localForage.setItem("key", "value").then((value) => {
var v: string = value;
});
localForage.setItem("keyNumber", 1337).then((value) => {
var v: number = value;
});
localForage.removeItem("key",(err: any) => {
var newError: any = err;
});
localForage.removeItem("key").then((err: any, str: string) => {
var newError: any = err;
var newStr: string = str
});
promise.then(callback);
localForage.removeItem("key")
.then( () => {
});
}
+18 -15
View File
@@ -3,20 +3,22 @@
// Definitions by: yuichi david pichsenmeister <https://github.com/3x14159265>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../es6-promise/es6-promise.d.ts" />
declare module lf {
interface ILocalForage<T> {
interface ILocalForage {
/**
* Removes every key from the database, returning it to a blank slate.
*/
clear(callback: IErrorCallback): void
clear(callback: IErrorCallback): void;
/**
* Iterate over all value/key pairs in datastore.
*/
iterate(iterateCallback: IIterateCallback<T>): void
iterate<T>(iterateCallback: IIterateCallback<T>): void;
/**
* Get the name of a key based on its ID.
*/
key(keyIndex: number, callback: IKeyCallback): void
key(keyIndex: number, callback: IKeyCallback): void;
/**
* Get the list of all keys in the datastore.
*/
@@ -24,23 +26,23 @@ declare module lf {
/**
* Gets the number of keys in the offline store (i.e. its “length”).
*/
length(callback: INumberCallback): void
length(callback: INumberCallback): void;
/**
* Gets an item from the storage library and supplies the result to a callback.
* If the key does not exist, getItem() will return null.
*/
getItem(key: string, callback: ICallback<T>): void
getItem(key: string): IPromise<T>
getItem<T>(key: string, callback: ICallback<T>): void;
getItem<T>(key: string): Promise<T>;
/**
* Saves data to an offline store.
*/
setItem(key: string, value: T, callback: ICallback<T>): void
setItem(key: string, value: T): IPromise<T>
setItem<T>(key: string, value: T, callback: ICallback<T>): void;
setItem<T>(key: string, value: T): Promise<T>;
/**
* Removes the value of a key from the offline store.
*/
removeItem(key: string, callback: IErrorCallback): void
removeItem(key: string): IPromise<T>
removeItem(key: string, callback: IErrorCallback): void;
removeItem(key: string): Promise<void>;
}
interface ICallback<T> {
@@ -65,9 +67,10 @@ declare module lf {
interface INumberCallback {
(err: any, numberOfKeys: number): void
}
}
}
interface IPromise<T> {
then(callback: ICallback<T>): void
}
declare module 'localforage' {
var tmp: lf.ILocalForage;
export = tmp;
}