3
3
// Definitions by: yuichi david pichsenmeister <https://github.com/3x14159265>
4
4
// Definitions: https://github.com/borisyankov/DefinitelyTyped
5
5
6
- declare module lf {
7
- interface ILocalForage < T > {
8
- /**
9
- * Removes every key from the database, returning it to a blank slate.
10
- */
11
- clear ( callback : IErrorCallback ) : void
12
- /**
13
- * Iterate over all value/key pairs in datastore.
14
- */
15
- iterate ( iterateCallback : IIterateCallback < T > ) : void
16
- /**
17
- * Get the name of a key based on its ID.
18
- */
19
- key ( keyIndex : number , callback : IKeyCallback ) : void
20
- /**
21
- * Get the list of all keys in the datastore.
22
- */
23
- keys ( callback : IKeysCallback ) : void ;
24
- /**
25
- * Gets the number of keys in the offline store (i.e. its “length”).
26
- */
27
- length ( callback : INumberCallback ) : void
28
- /**
29
- * Gets an item from the storage library and supplies the result to a callback.
30
- * If the key does not exist, getItem() will return null.
31
- */
32
- getItem ( key : string , callback : ICallback < T > ) : void
33
- getItem ( key : string ) : IPromise < T >
34
- /**
35
- * Saves data to an offline store.
36
- */
37
- setItem ( key : string , value : T , callback : ICallback < T > ) : void
38
- setItem ( key : string , value : T ) : IPromise < T >
39
- /**
40
- * Removes the value of a key from the offline store.
41
- */
42
- removeItem ( key : string , callback : IErrorCallback ) : void
43
- removeItem ( key : string ) : IPromise < T >
44
- }
6
+ /// <reference path="../es6-promise/es6-promise.d.ts" />
45
7
46
- interface ICallback < T > {
47
- ( err : any , value : T ) : void
48
- }
8
+ interface LocalForageOptions {
9
+ driver ?: LocalForageDriver | LocalForageDriver [ ] ;
10
+
11
+ name ?: string ;
12
+
13
+ size ?: number ;
14
+
15
+ storeName ?: string ;
16
+
17
+ version ?: string ;
18
+
19
+ description ?: string ;
20
+ }
49
21
50
- interface IIterateCallback < T > {
51
- ( value : T , key : string , iterationNumber : number ) : void
52
- }
22
+ interface LocalForageDriver {
23
+ _driver : string ;
24
+
25
+ _initStorage ( options : LocalForageOptions ) : void ;
26
+
27
+ _support : boolean | Promise < boolean > ;
28
+
29
+ clear ( callback : ( err : any ) => void ) : void ;
30
+
31
+ getItem ( key : string , callback : ( err : any , value : any ) => void ) : void ;
32
+
33
+ key ( keyIndex : number , callback : ( err : any , key : string ) => void ) : void ;
34
+
35
+ keys ( callback : ( err : any , keys : string [ ] ) => void ) : void ;
36
+
37
+ length ( callback : ( err : any , numberOfKeys : number ) => void ) : void ;
38
+
39
+ removeItem ( key : string , callback : ( err : any ) => void ) : void ;
40
+
41
+ setItem ( key : string , value : any , callback : ( err : any , value : any ) => void ) : void ;
42
+ }
53
43
54
- interface IErrorCallback {
55
- ( err : any ) : void
56
- }
57
-
58
- interface IKeyCallback {
59
- ( err : any , keyName : string ) : void
60
- }
61
-
62
- interface IKeysCallback {
63
- ( err : any , keys : Array < string > ) : void
64
- }
65
-
66
- interface INumberCallback {
67
- ( err : any , numberOfKeys : number ) : void
68
- }
69
-
70
- interface IPromise < T > {
71
- then ( callback : ICallback < T > ) : void
72
- }
73
- }
44
+ interface LocalForage {
45
+ LOCALSTORAGE : string ;
46
+ WEBSQL : string ;
47
+ INDEXEDDB : string ;
48
+
49
+ config ( options : LocalForageOptions ) : void ;
50
+
51
+ driver ( ) : LocalForageDriver ;
52
+ setDriver ( driver : string | string [ ] ) : Promise < void > ;
53
+ setDriver ( driver : string | string [ ] , callback : ( ) => void , errorCallback : ( error : any ) => void ) : void ;
54
+ defineDriver ( driver : LocalForageDriver ) : Promise < void > ;
55
+ defineDriver ( driver : LocalForageDriver , callback : ( ) => void , errorCallback : ( error : any ) => void ) : void ;
56
+
57
+ getItem < T > ( key : string ) : Promise < T > ;
58
+ getItem < T > ( key : string , callback : ( err : any , value : T ) => void ) : void ;
59
+
60
+ setItem < T > ( key : string , value : T ) : Promise < T > ;
61
+ setItem < T > ( key : string , value : T , callback : ( err : any , value : T ) => void ) : void ;
62
+
63
+ removeItem ( key : string ) : Promise < void > ;
64
+ removeItem ( key : string , callback : ( err : any ) => void ) : void ;
65
+
66
+ clear ( ) : Promise < void > ;
67
+ clear ( callback : ( err : any ) => void ) : void ;
68
+
69
+ length ( ) : Promise < number > ;
70
+ length ( callback : ( err : any , numberOfKeys : number ) => void ) : void ;
71
+
72
+ key ( keyIndex : number ) : Promise < string > ;
73
+ key ( keyIndex : number , callback : ( err : any , key : string ) => void ) : void ;
74
+
75
+ keys ( ) : Promise < string [ ] > ;
76
+ keys ( callback : ( err : any , keys : string [ ] ) => void ) : void ;
77
+
78
+ iterate ( iteratee : ( value : any , key : string , iterationNumber : number ) => any ) : Promise < any > ;
79
+ iterate ( iteratee : ( value : any , key : string , iterationNumber : number ) => any ,
80
+ callback : ( err : any , result : any ) => void ) : void ;
81
+ }
0 commit comments