@@ -9,6 +9,7 @@ const levelup = require('levelup')
9
9
const asyncFilter = require ( 'interface-datastore' ) . utils . asyncFilter
10
10
const asyncSort = require ( 'interface-datastore' ) . utils . asyncSort
11
11
const Key = require ( 'interface-datastore' ) . Key
12
+ const Errors = require ( 'interface-datastore' ) . Errors
12
13
const encode = require ( 'encoding-down' )
13
14
14
15
/**
@@ -50,15 +51,30 @@ class LevelDatastore {
50
51
}
51
52
52
53
open ( callback /* : Callback<void> */ ) /* : void */ {
53
- this . db . open ( callback )
54
+ this . db . open ( ( err ) => {
55
+ if ( err ) {
56
+ return callback ( Errors . dbOpenFailedError ( err ) )
57
+ }
58
+ callback ( )
59
+ } )
54
60
}
55
61
56
62
put ( key /* : Key */ , value /* : Buffer */ , callback /* : Callback<void> */ ) /* : void */ {
57
- this . db . put ( key . toString ( ) , value , callback )
63
+ this . db . put ( key . toString ( ) , value , ( err ) => {
64
+ if ( err ) {
65
+ return callback ( Errors . dbWriteFailedError ( err ) )
66
+ }
67
+ callback ( )
68
+ } )
58
69
}
59
70
60
71
get ( key /* : Key */ , callback /* : Callback<Buffer> */ ) /* : void */ {
61
- this . db . get ( key . toString ( ) , callback )
72
+ this . db . get ( key . toString ( ) , ( err , data ) => {
73
+ if ( err ) {
74
+ return callback ( Errors . notFoundError ( err ) )
75
+ }
76
+ callback ( null , data )
77
+ } )
62
78
}
63
79
64
80
has ( key /* : Key */ , callback /* : Callback<bool> */ ) /* : void */ {
@@ -78,8 +94,10 @@ class LevelDatastore {
78
94
79
95
delete ( key /* : Key */ , callback /* : Callback<void> */ ) /* : void */ {
80
96
this . db . del ( key . toString ( ) , ( err ) => {
81
- // Avoid level passing additional arguments to callback, we dont need them
82
- callback ( err )
97
+ if ( err ) {
98
+ return callback ( Errors . dbDeleteFailedError ( err ) )
99
+ }
100
+ callback ( )
83
101
} )
84
102
}
85
103
0 commit comments