@@ -7,7 +7,7 @@ var Batch = require('./batch')
77var errors = require ( 'level-errors' )
88var supports = require ( 'level-supports' )
99var assert = require ( 'assert' )
10- var promisify = require ( './promisify ' )
10+ var catering = require ( 'catering ' )
1111var getCallback = require ( './common' ) . getCallback
1212var getOptions = require ( './common' ) . getOptions
1313
@@ -86,30 +86,26 @@ inherits(LevelUP, EventEmitter)
8686
8787LevelUP . prototype . open = function ( opts , callback ) {
8888 var self = this
89- var promise
9089
9190 if ( typeof opts === 'function' ) {
9291 callback = opts
9392 opts = null
9493 }
9594
96- if ( ! callback ) {
97- callback = promisify ( )
98- promise = callback . promise
99- }
95+ callback = catering . fromCallback ( callback )
10096
10197 if ( ! opts ) {
10298 opts = this . options
10399 }
104100
105101 if ( this . isOpen ( ) ) {
106102 process . nextTick ( callback , null , self )
107- return promise
103+ return callback . promise
108104 }
109105
110106 if ( this . _isOpening ( ) ) {
111107 this . once ( 'open' , function ( ) { callback ( null , self ) } )
112- return promise
108+ return callback . promise
113109 }
114110
115111 this . emit ( 'opening' )
@@ -124,17 +120,13 @@ LevelUP.prototype.open = function (opts, callback) {
124120 self . emit ( 'ready' )
125121 } )
126122
127- return promise
123+ return callback . promise
128124}
129125
130126LevelUP . prototype . close = function ( callback ) {
131127 var self = this
132- var promise
133128
134- if ( ! callback ) {
135- callback = promisify ( )
136- promise = callback . promise
137- }
129+ callback = catering . fromCallback ( callback )
138130
139131 if ( this . isOpen ( ) ) {
140132 this . db . close ( function ( ) {
@@ -153,7 +145,7 @@ LevelUP.prototype.close = function (callback) {
153145 } )
154146 }
155147
156- return promise
148+ return callback . promise
157149}
158150
159151LevelUP . prototype . isOpen = function ( ) {
@@ -169,17 +161,13 @@ LevelUP.prototype.isClosed = function () {
169161}
170162
171163LevelUP . prototype . get = function ( key , options , callback ) {
172- var promise
173-
174164 callback = getCallback ( options , callback )
165+ callback = catering . fromCallback ( callback )
175166
176- if ( ! callback ) {
177- callback = promisify ( )
178- promise = callback . promise
167+ if ( maybeError ( this , callback ) ) {
168+ return callback . promise
179169 }
180170
181- if ( maybeError ( this , callback ) ) { return promise }
182-
183171 options = getOptions ( options )
184172
185173 this . db . get ( key , options , function ( err , value ) {
@@ -194,22 +182,19 @@ LevelUP.prototype.get = function (key, options, callback) {
194182 callback ( null , value )
195183 } )
196184
197- return promise
185+ return callback . promise
198186}
199187
200188LevelUP . prototype . put = function ( key , value , options , callback ) {
201189 var self = this
202- var promise
203190
204191 callback = getCallback ( options , callback )
192+ callback = catering . fromCallback ( callback )
205193
206- if ( ! callback ) {
207- callback = promisify ( )
208- promise = callback . promise
194+ if ( maybeError ( this , callback ) ) {
195+ return callback . promise
209196 }
210197
211- if ( maybeError ( this , callback ) ) { return promise }
212-
213198 options = getOptions ( options )
214199
215200 this . db . put ( key , value , options , function ( err ) {
@@ -220,22 +205,19 @@ LevelUP.prototype.put = function (key, value, options, callback) {
220205 callback ( )
221206 } )
222207
223- return promise
208+ return callback . promise
224209}
225210
226211LevelUP . prototype . del = function ( key , options , callback ) {
227212 var self = this
228- var promise
229213
230214 callback = getCallback ( options , callback )
215+ callback = catering . fromCallback ( callback )
231216
232- if ( ! callback ) {
233- callback = promisify ( )
234- promise = callback . promise
217+ if ( maybeError ( this , callback ) ) {
218+ return callback . promise
235219 }
236220
237- if ( maybeError ( this , callback ) ) { return promise }
238-
239221 options = getOptions ( options )
240222
241223 this . db . del ( key , options , function ( err ) {
@@ -246,7 +228,7 @@ LevelUP.prototype.del = function (key, options, callback) {
246228 callback ( )
247229 } )
248230
249- return promise
231+ return callback . promise
250232}
251233
252234LevelUP . prototype . batch = function ( arr , options , callback ) {
@@ -255,17 +237,15 @@ LevelUP.prototype.batch = function (arr, options, callback) {
255237 }
256238
257239 var self = this
258- var promise
259240
260241 if ( typeof arr === 'function' ) callback = arr
261242 else callback = getCallback ( options , callback )
262243
263- if ( ! callback ) {
264- callback = promisify ( )
265- promise = callback . promise
266- }
244+ callback = catering . fromCallback ( callback )
267245
268- if ( maybeError ( this , callback ) ) { return promise }
246+ if ( maybeError ( this , callback ) ) {
247+ return callback . promise
248+ }
269249
270250 options = getOptions ( options )
271251
@@ -277,7 +257,7 @@ LevelUP.prototype.batch = function (arr, options, callback) {
277257 callback ( )
278258 } )
279259
280- return promise
260+ return callback . promise
281261}
282262
283263LevelUP . prototype . iterator = function ( options ) {
@@ -286,18 +266,13 @@ LevelUP.prototype.iterator = function (options) {
286266
287267LevelUP . prototype . clear = function ( options , callback ) {
288268 var self = this
289- var promise
290269
291270 callback = getCallback ( options , callback )
292271 options = getOptions ( options )
293-
294- if ( ! callback ) {
295- callback = promisify ( )
296- promise = callback . promise
297- }
272+ callback = catering . fromCallback ( callback )
298273
299274 if ( maybeError ( this , callback ) ) {
300- return promise
275+ return callback . promise
301276 }
302277
303278 this . db . clear ( options , function ( err ) {
@@ -308,7 +283,7 @@ LevelUP.prototype.clear = function (options, callback) {
308283 callback ( )
309284 } )
310285
311- return promise
286+ return callback . promise
312287}
313288
314289LevelUP . prototype . readStream =
0 commit comments