VimUnDo4jqqTſQ##[S9__S 5_S 1 # duplexer5_ S 1 # reduplexer5_+$S *,17 [1]: https://secure.travis-ci.org/Raynos/duplexer.png5_+$S *,11 [1]: https://secure.travis-ci.org//duplexer.png5_+-S *,19 [1]: https://secure.travis-ci.org/mcollina/duplexer.png5_,S +-1, [2]: https://travis-ci.org/Raynos/duplexer5_ ,S +-1& [2]: https://travis-ci.org//duplexer5_ ,&S +-1. [2]: https://travis-ci.org/mcollina/duplexer5_ --'1'V'S ,-/ [3]: https://david-dm.org/Raynos/duplexer.png+ [4]: https://david-dm.org/Raynos/duplexer2 [5]: https://ci.testling.com/Raynos/duplexer.png. [6]: https://ci.testling.com/Raynos/duplexerP [7]: https://github.com/dominictarr/event-stream#duplex-writestream-readstream5_ ##'VS "### Contributors - Dominictarr - Raynos - samccone5_ ###VS "#5_  ###VS  "### MIT Licenced5_  ##VS %`npm install duplexer`5_##VS  %`npm install reduplexer`5_##VS [![browser support][5]][6]5_3vS $4[![build status][1]][2] [![dependency status][3]][4]5_3vS 5_3vS Taken from [event-stream][7]5_3vS !### duplex (writeStream, readStream)5_3vS "5_3vS $5_3vS 'bTakes a writable stream and a readable stream and makes them appear as a readable writable stream.5_3vS 3 # reduplexer(writable, readable)5_3vS ? , duplex = require('duplexer')5_3vS FbTakes a Writable stream and a readable stream and makes them appear as a readable writable stream.5_3vS GcTakes a `Writable stream and a readable stream and makes them appear as a readable writable stream.5_ 3vS JdTakes a `Writable` stream and a readable stream and makes them appear as a readable writable stream.5_ 3vS KdTakes a `Writable` stream and a Readable stream and makes them appear as a readable writable stream.5_)3vS NeTakes a `Writable` stream and a `Readable stream and makes them appear as a readable writable stream.5_ MM]v]S QfTakes a `Writable` stream and a `Readable` stream and makes them appear as a readable writable stream.5_! MM]v]S R"UTakes a `Writable` stream and a `Readable` stream and makes them appear as a stream.5_ "!M]v]S }#Creates a duplex stream5_!#" M]v]S Creates a duplex stream.5_"$# M]v]S Creates a stream.5_#%$ M]v]S &Creates a `stream.5_$&% M]v]S Creates a `Duplex` stream.5_%'&M]v]S Creates a [`Duplex` stream.5_&('M]v]S 'Creates a [`Duplex`]() stream.5_')( M]v]S   5_(*)!M]v]S (  [4]: !5_)+*  FvFS !P[`Duplex`](http://nodejs.org/api/stream.html#stream_class_stream_duplex) stream.5_*,+  FvFS  "" "!5_+-,! FvFS ) "" [3]: !""5_,.-  FvFS "[`Duplex`]() stream.5_-/.  FvFS "[`Duplex`]) stream.5_.0/  FvFS ,"[`Duplex`] stream.5_/10  FvFS  "]Takes a `Writable` stream and a `Readable` stream and makes them appear as a `Duplex` stream.5_021+ FvFS - "^Takes a `Writable` stream and a [`Readable` stream and makes them appear as a `Duplex` stream.5_132 FvFS  "bTakes a `Writable` stream and a [`Readable`][4] stream and makes them appear as a `Duplex` stream.5_243 FvFS . "cTakes a [`Writable` stream and a [`Readable`][4] stream and makes them appear as a `Duplex` stream.5_354" FvFS #1""5_485 FvFS )6$#5_5968S!l* $5_8:9S!l+:-% %5_9;:S!lc=2duplex(grep.stdin, grep.stdout)5_:<;S!l>2 Creates a[`Duplex`][3] stream.2[`Duplex`][3] stream.5_;=<S!lCreates a [`Duplex`][3] stream.5_<>=S!l@5_=?>S!lC0/5_>@?6S!m07Heavily inspired by [duplexer](http://npm.im/duplexer).5_?A@6S!m06Heavily inspired by [duplexer](http://npm.im/duplexer)5_@BAS!mH1with a bundled [rea5_ACBSe215_BDCSh435_CEDSk5_DFESk35_EGFS45_FHGS555_GIHS6= * coap.request()5_HJIS69 * .request()5_IKJS665_JLKS7? * stream.request()5_KMLS78 * stream.request()5_LNMS7@ * stream.request()5_MON S7B * stream.request()5_NPO S7< * .request()5_OQP  *v*S7F * reduplexer.request()5_PRQ" *v*S7; * request()75_QSR--4v4SI7F * reduplexer.request()5_RTS -4v4S7" , duplex = require('reduplexer')5_SUT-4v4S 7!var cp = require('child_process')5_TVU -4v4S7$ , duplexer = require('reduplexer')5_UWV -4v4SJ7! , grep = cp.exec('grep Stream')5_VXW-4v4S75duplex(grep.stdin, grep.stdout, { objectMode: true })5_WYX-4v4S79duplexexer(grep.stdin, grep.stdout, { objectMode: true })5_XZY-4v4SK78duplexeer(grep.stdin, grep.stdout, { objectMode: true })5_Y[Z-4v4S7? * stream.request()5_Z\[-4v4S79 * .request()5_[]\'-4v4S7? * duplex.request()5_\^]'-4v4SL78 * duplex.()5_]_^-4v4S7D * duplex.hookWritable()5_^`_-4v4SN7= * duplex.hookWritable()5__a`-4v4S775_`ba-4v4SOI * duplex.hookWritable()5_acb-4v4S 85_bdc-4v4S#9 95_ced-4v4S5_dfe -4v4S!;5_egf -4v4S!;5_fhg!-4v4S ";### request(url)5_gih!-4v4S "; ### re(url)5_hji!-4v4S ";### reduplexer(url)5_ikj!-4v4S ";### reduplexer()5_jlk!)-4v4S!$<!#;5_kml#vS "$= Create a #$=5_lnm#vS "$=Create a [`Writable`][5]5_mon# vS "$=Create a [`Writable`][3]5_npo# vS "$=Create a [``][3]5_oqp#vS"$=Create a [`Duplex`][3]5_prq#(vS"$=(Create a [`Duplex`][3] stream based on `5_qsr#1vS"$=1Create a [`Duplex`][3] stream based on `writable`5_rts#7vS"$=7Create a [`Duplex`][3] stream based on `writable` and `5_sut#@vSP"%=@Create a [`Duplex`][3] stream based on `writable` and `readable`5_tvu$vS $'?$&>5_uwv$ VS#$&@5_vxw% VS#%(A%&A5_wyx'  VS%&(C5_xzy'  VS&Q&(C5_y{z' VS-')C5_z|{( VS.(*D()D5_{}|) VS2(*E+### reduplexer(writable, readable, options)5_|~}) VS2(*E!### (writable, readable, options)5_}~) ) )2v2S8(*E4### duplex.hookWritable(writable, readable, options)5_~) ) )2v2S9),F)+E5_$) )2v2S@$&H$&G5_% * *2v2SE$&H `writable`5_%* *2v2SJR$'H`writable` and `readable`5_-+ +2v2Sh,.IHook a writable5_.+ +2v2Sk-.5_--(VSn-/H5_.-(VSn.5I./I5_0 -(VSq/1O5_0 -(VSq/1O5_2-(VSt13O!### duplex.hookWritable(writable)5_2-(VSt13O### duplex.hook(writable)5_--(VSwS,.OHook a writable stream5_2 -(VS24O5_3-(VS35P34P5_4-(VS35QFHook a writable stream. It will throw if a writable is already hooked.5_4-(VS35Q=Hook a stream. It will throw if a writable is already hooked.5_4+-(VS35QFHook a readable stream. It will throw if a writable is already hooked.5_4+-(VS35Q=Hook a readable stream. It will throw if a is already hooked.5_4-(VST35QMHook a readable stream. It will throw if a Readable stream is already hooked.5_--(VS,.QFHook a writable stream. It will throw if a writable is already hooked.5_--(VS,.QFHook a Writable stream. It will throw if a writable is already hooked.5_--(VS,.QGHook a `Writable stream. It will throw if a writable is already hooked.5_--(VS,.QHHook a `Writable` stream. It will throw if a writable is already hooked.5_-.-(VS,.QIHooks a `Writable` stream. It will throw if a writable is already hooked.5_-/-(VS,.QJHooks a `Writable` stream. It will throw if a `writable is already hooked.5_-7-(VSW,.QJHooks a `Writable` stream. It will throw if a `Writable is already hooked.5_4-(VS35QMHook a Readable stream. It will throw if a Readable stream is already hooked.5_4-(VSX35QNHook a `Readable stream. It will throw if a Readable stream is already hooked.5_4--(VS35QOHook a `Readable` stream. It will throw if a Readable stream is already hooked.5_46-(VSY35QPHook a `Readable` stream. It will throw if a `Readable stream is already hooked.5_6-(VS57QHook a writable stream5_6-(VS56Hook a Writable stream5_5-(VS455_4-(VSZ35OQHook a `Readable` stream. It will throw if a `Readable` stream is already hooked.5_5-(VS455_1-(VS015_3/3VS35M5_4/3VS4:N45N5_6 /3VS57S5_ /3VSSS5_04VSTI * duplex.hookReadable()5_(04VSTA * duplex.hookReadable()5_804VS79T!### duplex.hookReadable(writable)5_804VS[79T### duplex.hook(writable)5_:04VS9:RHooks a `Readable` stream. It will throw if a `Readable` stream is already hooked.5_804VS 8;T8:S5_:04VS9;UBoth a `5_:04VS9;Ua `5_: 04VS9;UShortcut for a `5_: 04VS9;U Shortcut for 5_: 04VS9=U Shortcut for5_<04VS;>W```5_<04VS<>Y<>X5_=04VS =?Y=>Y5_> 04VS"=?Zduplex.hookWritable(writable)5_> 04VS"=?Zduplex.hook(writable)5_>04VS$=?Zduplex.hookReadable(writable)5_>04VS$\=?Zduplex.hookReadable()5_?04VS'?B[?AZ5_A04VS1]@B\But it will not throw.5_B04VS8_AB5_5786 FvFS!l$)# reduplexer(writable, readable, options)5_67 FvFS!l '-------- hello: aaa ---------5