1
1
var sjcl_ss = cordova . require ( 'cordova-plugin-secure-storage.sjcl_ss' ) ;
2
2
var ESP6Promise = cordova . require ( 'cordova-plugin-secure-storage.es6-promise' ) . Promise ;
3
- var _AES_PARAM = {
4
- ks : 256 ,
5
- ts : 128 ,
6
- mode : 'ccm' ,
7
- cipher : 'aes'
8
- } ;
9
-
10
- var _checkCallbacks = function ( success , error ) {
11
-
12
- if ( typeof success !== "function" ) {
13
- console . log ( "SecureStorage failure: success callback parameter must be a function" ) ;
14
- return false ;
15
- }
16
-
17
- if ( typeof error !== "function" ) {
18
- console . log ( "SecureStorage failure: error callback parameter must be a function" ) ;
19
- return false ;
20
- }
21
-
22
- return true ;
23
- } ;
24
3
25
4
var SecureStorageiOS = function ( success , error , service ) {
26
5
var _success = function ( ) { } ;
@@ -41,73 +20,102 @@ var SecureStorageiOS = function (success, error, service) {
41
20
SecureStorageiOS . prototype = {
42
21
43
22
get : function ( success , error , key ) {
23
+ var defer = new ESP6Promise . defer ( ) ;
44
24
var self = this ;
45
25
var _key = key ;
46
- var _hasCallbacks = true ;
26
+
27
+ var _success = function ( value ) {
28
+ if ( 'function' === typeof success ) {
29
+ success ( value ) ;
30
+ } ;
31
+
32
+ defer . resolve ( value ) ;
33
+ } ;
34
+ var _error = function ( error ) {
35
+ if ( 'function' === typeof error ) {
36
+ error ( error ) ;
37
+ }
38
+
39
+ defer . reject ( error ) ;
40
+ } ;
47
41
48
42
if ( 'string' === typeof success ) {
49
43
_key = success ;
50
- _hasCallbacks = false ;
51
44
}
52
45
53
- var promise = new ESP6Promise ( function ( resolve , reject ) {
54
- cordova . exec ( resolve , reject , "SecureStorage" , "get" , [ self . service , _key ] ) ;
55
- } ) ;
56
-
57
- if ( _hasCallbacks ) {
58
- promise . then ( success , error ) ;
59
- }
60
- return promise ;
46
+ cordova . exec ( _success , _error , "SecureStorage" , "get" , [ self . service , _key ] ) ;
47
+
48
+ return defer . promise ;
61
49
} ,
62
50
63
51
set : function ( success , error , key , value ) {
52
+ var defer = new ESP6Promise . defer ( ) ;
64
53
var self = this ;
65
54
var _key = key ;
66
55
var _value = value ;
67
- var _hasCallbacks = true ;
68
56
69
- if ( 'string' === typeof success && 'function' !== typeof error && 'undefined' !== typeof error && ! ! error ) {
57
+ var _success = function ( value ) {
58
+ if ( ! ! success && 'function' === typeof success ) {
59
+ success ( value ) ;
60
+ } ;
61
+
62
+ defer . resolve ( value ) ;
63
+ } ;
64
+ var _error = function ( error ) {
65
+ if ( ! ! error && 'function' === typeof error ) {
66
+ error ( error ) ;
67
+ }
68
+
69
+ defer . reject ( error ) ;
70
+ } ;
71
+
72
+ if ( ! ! success && 'string' === typeof success ) {
70
73
_key = success ;
74
+ }
75
+ if ( ! ! error && 'string' === typeof error ) {
71
76
_value = error ;
72
- _hasCallbacks = false ;
73
77
}
74
78
75
- var promise = new ESP6Promise ( function ( resolve , reject ) {
76
- cordova . exec ( resolve , reject , "SecureStorage" , "set" , [ self . service , _key , _value ] ) ;
77
- } ) ;
78
-
79
- if ( _hasCallbacks ) {
80
- promise . then ( success , error ) ;
81
- }
82
- return promise ;
79
+ cordova . exec ( _success , _error , "SecureStorage" , "set" , [ self . service , _key , _value ] ) ;
80
+
81
+ return defer . promise ;
83
82
} ,
84
83
85
84
remove : function ( success , error , key ) {
85
+ var defer = new ESP6Promise . defer ( ) ;
86
86
var self = this ;
87
87
var _key = key ;
88
- var _hasCallbacks = true ;
88
+
89
+ var _success = function ( value ) {
90
+ if ( 'function' === typeof success ) {
91
+ success ( value ) ;
92
+ } ;
93
+
94
+ defer . resolve ( value ) ;
95
+ } ;
96
+ var _error = function ( error ) {
97
+ if ( 'function' === typeof error ) {
98
+ error ( error ) ;
99
+ }
100
+
101
+ defer . reject ( error ) ;
102
+ } ;
89
103
90
104
if ( 'string' === typeof success ) {
91
105
_key = success ;
92
- _hasCallbacks = false ;
93
106
}
94
107
95
- var promise = new ESP6Promise ( function ( resolve , reject ) {
96
- cordova . exec ( resolve , reject , "SecureStorage" , "remove" , [ self . service , _key ] ) ;
97
- } ) ;
98
-
99
- if ( _hasCallbacks ) {
100
- promise . then ( success , error ) ;
101
- }
102
- return promise ;
108
+ cordova . exec ( _success , _error , "SecureStorage" , "remove" , [ self . service , _key ] ) ;
109
+
110
+ return defer . promise ;
103
111
}
104
112
} ;
105
113
106
114
var SecureStorageAndroid = function ( success , error , service , encryptionKey ) {
107
115
var _success = function ( ) { } ;
108
116
var _error = function ( error ) { } ;
109
117
var _service = service ;
110
- var _encryptionKey = encryptionKey ;
118
+ var _encryptionKey = encryptionKey ;
111
119
112
120
if ( 'function' === typeof success ) {
113
121
_success = success ;
@@ -119,80 +127,108 @@ var SecureStorageAndroid = function (success, error, service, encryptionKey) {
119
127
if ( 'function' === typeof error ) {
120
128
_error = error ;
121
129
}
130
+ else if ( 'string' === typeof error ) {
131
+ _encryptionKey = error ;
132
+ }
122
133
123
134
this . service = _service ;
124
- this . encryptionKey = _encryptionKey ;
135
+ this . encryptionKey = _encryptionKey ;
136
+
125
137
cordova . exec ( _success , _error , "SecureStorage" , "init" , [ this . service , this . encryptionKey ] ) ;
138
+
126
139
return this ;
127
140
} ;
128
141
129
142
SecureStorageAndroid . prototype = {
130
143
get : function ( success , error , key ) {
144
+ var defer = new ESP6Promise . defer ( ) ;
131
145
var self = this ;
132
146
var _key = key ;
133
- var _hasCallbacks = true ;
134
- var _success = success ;
135
- var _error = error ;
147
+
148
+ var _success = function ( value ) {
149
+ if ( 'function' === typeof success ) {
150
+ success ( value ) ;
151
+ } ;
152
+
153
+ defer . resolve ( value ) ;
154
+ } ;
155
+ var _error = function ( error ) {
156
+ if ( 'function' === typeof error ) {
157
+ error ( error ) ;
158
+ }
159
+
160
+ defer . reject ( error ) ;
161
+ } ;
136
162
137
163
if ( 'string' === typeof success ) {
138
164
_key = success ;
139
- _hasCallbacks = false ;
140
165
}
141
166
142
- var promise = new ESP6Promise ( function ( _success , _error ) {
143
- cordova . exec ( _success , _error , "SecureStorage" , "get" , [ self . service , _key ] ) ;
144
- } ) ;
145
-
146
- if ( _hasCallbacks ) {
147
- promise . then ( _success , _error ) ;
148
- }
149
- return promise ;
167
+ cordova . exec ( _success , _error , "SecureStorage" , "get" , [ self . service , _key ] ) ;
168
+
169
+ return defer . promise ;
150
170
} ,
151
171
152
172
set : function ( success , error , key , value ) {
173
+ var defer = new ESP6Promise . defer ( ) ;
153
174
var self = this ;
154
175
var _key = key ;
155
176
var _value = value ;
156
- var _hasCallbacks = true ;
157
- var _success = success ;
158
- var _error = error ;
159
177
160
- if ( 'string' === typeof success && 'function' !== typeof error && 'undefined' !== typeof error && ! ! error ) {
178
+ var _success = function ( value ) {
179
+ if ( ! ! success && 'function' === typeof success ) {
180
+ success ( value ) ;
181
+ } ;
182
+
183
+ defer . resolve ( value ) ;
184
+ } ;
185
+ var _error = function ( error ) {
186
+ if ( ! ! error && 'function' === typeof error ) {
187
+ error ( error ) ;
188
+ }
189
+
190
+ defer . reject ( error ) ;
191
+ } ;
192
+
193
+ if ( ! ! success && 'string' === typeof success ) {
161
194
_key = success ;
195
+ }
196
+ if ( ! ! error && 'string' === typeof error ) {
162
197
_value = error ;
163
- _hasCallbacks = false ;
164
198
}
165
199
166
- var promise = new ESP6Promise ( function ( _success , _error ) {
167
- cordova . exec ( _success , _error , "SecureStorage" , "set" , [ self . service , _key , _value ] ) ;
168
- } ) ;
169
-
170
- if ( _hasCallbacks ) {
171
- promise . then ( _success , _error ) ;
172
- }
173
- return promise ;
200
+ cordova . exec ( _success , _error , "SecureStorage" , "set" , [ self . service , _key , _value ] ) ;
201
+
202
+ return defer . promise ;
174
203
} ,
175
204
176
205
remove : function ( success , error , key ) {
206
+ var defer = new ESP6Promise . defer ( ) ;
177
207
var self = this ;
178
208
var _key = key ;
179
- var _hasCallbacks = true ;
180
- var _success = success ;
181
- var _error = error ;
209
+
210
+ var _success = function ( value ) {
211
+ if ( 'function' === typeof success ) {
212
+ success ( value ) ;
213
+ } ;
214
+
215
+ defer . resolve ( value ) ;
216
+ } ;
217
+ var _error = function ( error ) {
218
+ if ( 'function' === typeof error ) {
219
+ error ( error ) ;
220
+ }
221
+
222
+ defer . reject ( error ) ;
223
+ } ;
182
224
183
225
if ( 'string' === typeof success ) {
184
226
_key = success ;
185
- _hasCallbacks = false ;
186
227
}
187
228
188
- var promise = new ESP6Promise ( function ( _success , _error ) {
189
- cordova . exec ( _success , _error , "SecureStorage" , "remove" , [ self . service , _key ] ) ;
190
- } ) ;
191
-
192
- if ( _hasCallbacks ) {
193
- promise . then ( _success , _error ) ;
194
- }
195
- return promise ;
229
+ cordova . exec ( _success , _error , "SecureStorage" , "remove" , [ self . service , _key ] ) ;
230
+
231
+ return defer . promise ;
196
232
}
197
233
} ;
198
234
0 commit comments