11'use strict'
22
3- const duplexify = require ( 'duplexify' )
43const { AbstractLevel, AbstractIterator } = require ( 'abstract-level' )
5- const eos = require ( 'end-of-stream' )
6- const lpstream = require ( 'length-prefixed-stream' )
4+ const lpstream = require ( '@vweevers/length-prefixed-stream' )
75const ModuleError = require ( 'module-error' )
86const { input, output } = require ( './tags' )
7+ const { Duplex, pipeline, finished } = require ( 'readable-stream' )
98
109const kExplicitClose = Symbol ( 'explicitClose' )
1110const kAbortRequests = Symbol ( 'abortRequests' )
@@ -108,10 +107,8 @@ class ManyLevelGuest extends AbstractLevel {
108107 self [ kFlushed ] ( )
109108 } )
110109
111- const proxy = duplexify ( )
112- proxy . setWritable ( decode )
113- proxy . setReadable ( encode )
114- eos ( proxy , cleanup )
110+ const proxy = Duplex . from ( { writable : decode , readable : encode } )
111+ finished ( proxy , cleanup )
115112 this [ kRpcStream ] = proxy
116113 return proxy
117114
@@ -312,7 +309,7 @@ class ManyLevelGuest extends AbstractLevel {
312309 this [ kAbortRequests ] ( 'Aborted on database close()' , 'LEVEL_DATABASE_NOT_OPEN' )
313310
314311 if ( this [ kRpcStream ] ) {
315- eos ( this [ kRpcStream ] , ( ) => {
312+ finished ( this [ kRpcStream ] , ( ) => {
316313 this [ kRpcStream ] = null
317314 this . _close ( cb )
318315 } )
@@ -330,7 +327,12 @@ class ManyLevelGuest extends AbstractLevel {
330327 // For tests only so does not need error handling
331328 this [ kExplicitClose ] = false
332329 const remote = this [ kRemote ] ( )
333- remote . pipe ( this . connect ( ) ) . pipe ( remote )
330+ pipeline (
331+ remote ,
332+ this . connect ( ) ,
333+ remote ,
334+ ( ) => { }
335+ )
334336 } else if ( this [ kExplicitClose ] ) {
335337 throw new ModuleError ( 'Cannot reopen many-level database after close()' , {
336338 code : 'LEVEL_NOT_SUPPORTED'
0 commit comments