@@ -28,50 +28,55 @@ export default function(options = {}) {
2828 android : Object . keys
2929 } ) ;
3030
31+ const noop = ( ) => null ;
32+
3133 return {
32- /* eslint-disable callback-return */
33- async getItem ( key , callback ) {
34+ async getItem ( key , callback = noop ) {
3435 try {
3536 // getItem() returns `null` on Android and `undefined` on iOS;
3637 // explicitly return `null` here as `undefined` causes an exception
3738 // upstream.
38- const result = ( await sensitiveInfo . getItem ( key , options ) ) || null ;
39+ let result = await sensitiveInfo . getItem ( key , options ) ;
40+
41+ if ( typeof result === "undefined" ) {
42+ result = null ;
43+ }
3944
40- callback && callback ( null , result ) ;
45+ callback ( null , result ) ;
4146
4247 return result ;
4348 } catch ( error ) {
44- callback && callback ( error ) ;
49+ callback ( error ) ;
4550 throw error ;
4651 }
4752 } ,
4853
49- async setItem ( key , value , callback ) {
54+ async setItem ( key , value , callback = noop ) {
5055 try {
5156 await sensitiveInfo . setItem ( key , value , options ) ;
52- callback && callback ( null ) ;
57+ callback ( null ) ;
5358 } catch ( error ) {
5459 callback ( error ) ;
5560 throw error ;
5661 }
5762 } ,
5863
59- async removeItem ( key , callback ) {
64+ async removeItem ( key , callback = noop ) {
6065 try {
6166 await sensitiveInfo . deleteItem ( key , options ) ;
62- callback && callback ( null ) ;
67+ callback ( null ) ;
6368 } catch ( error ) {
6469 callback ( error ) ;
6570 throw error ;
6671 }
6772 } ,
6873
69- async getAllKeys ( callback ) {
74+ async getAllKeys ( callback = noop ) {
7075 try {
7176 const values = await sensitiveInfo . getAllItems ( options ) ;
7277 const result = extractKeys ( values ) ;
7378
74- callback && callback ( null , result ) ;
79+ callback ( null , result ) ;
7580
7681 return result ;
7782 } catch ( error ) {
0 commit comments