@@ -48,6 +48,12 @@ type Reject = (err: any) => void;
4848 * the options for each iteration.
4949 */
5050export default class StreamToAsyncIterator < TVal > {
51+ _stream : Readable ;
52+ _error: ?Error ;
53+ _state: Symbol ;
54+ _size: ?number ;
55+ _rejections: Set < Reject > ;
56+
5157 /**
5258 * @param {Readable } stream
5359 * @param {StreamToAsyncIterator~Options } [options]
@@ -65,7 +71,7 @@ export default class StreamToAsyncIterator<TVal> {
6571 * @private
6672 * @type {?Error }
6773 */
68- this . _error = null ;
74+ this . _error = undefined ;
6975
7076 /**
7177 * The current state of the iterator (not readable, readable, ended, errored)
@@ -103,12 +109,6 @@ export default class StreamToAsyncIterator<TVal> {
103109 stream . once ( 'end' , handleStreamEnd ) ;
104110 }
105111
106- _stream: Readable;
107- _error: ?Error;
108- _state: Symbol;
109- _size: ?number;
110- _rejections: Set< Reject > ;
111-
112112 //todo: flow is not working with this method in place
113113 // [Symbol.asyncIterator]() {
114114 // return this;
@@ -125,16 +125,16 @@ export default class StreamToAsyncIterator<TVal> {
125125
126126 //need to wait until the stream is readable or ended
127127 try {
128- await Promise . race ( [ read . promise , end . promise ] ) ;
129- return this . next ( ) ;
128+ await Promise . race ( [ read . promise , end . promise ] ) ;
129+ return this . next ( ) ;
130130 }
131131 catch ( e ) {
132- throw e
132+ throw e ;
133133 }
134134 finally {
135- //need to clean up any hanging event listeners
136- read . cleanup ( )
137- end . cleanup ( )
135+ //need to clean up any hanging event listeners
136+ read . cleanup ( ) ;
137+ end . cleanup ( ) ;
138138 }
139139 } else if ( this . _state === states . ended ) {
140140 return { done : true } ;
@@ -164,15 +164,15 @@ export default class StreamToAsyncIterator<TVal> {
164164 //let is used here instead of const because the exact reference is
165165 //required to remove it, this is why it is not a curried function that
166166 //accepts resolve & reject as parameters.
167- let eventListener = null ;
167+ let eventListener = undefined ;
168168
169169 const promise = new Promise ( ( resolve , reject ) => {
170170 eventListener = ( ) => {
171171 this . _state = states . readable ;
172172 this . _rejections . delete ( reject ) ;
173173
174- // we set this to null to info the clean up not to do anything
175- eventListener = null ;
174+ // we set this to undefined to info the clean up not to do anything
175+ eventListener = undefined ;
176176 resolve ( ) ;
177177 } ;
178178
@@ -187,7 +187,7 @@ export default class StreamToAsyncIterator<TVal> {
187187 this . _stream . removeListener ( 'readable' , eventListener ) ;
188188 } ;
189189
190- return { cleanup , promise }
190+ return { cleanup , promise } ;
191191 }
192192
193193 /**
@@ -196,14 +196,14 @@ export default class StreamToAsyncIterator<TVal> {
196196 * @returns {Promise }
197197 */
198198 _untilEnd ( ) : PromiseWithCleanUp < void > {
199- let eventListener = null ;
199+ let eventListener = undefined ;
200200
201201 const promise = new Promise ( ( resolve , reject ) => {
202202 eventListener = ( ) => {
203203 this . _state = states . ended ;
204204 this . _rejections . delete ( reject ) ;
205205
206- eventListener = null
206+ eventListener = undefined ;
207207 resolve ( ) ;
208208 } ;
209209
@@ -216,7 +216,7 @@ export default class StreamToAsyncIterator<TVal> {
216216 this . _stream . removeListener ( 'end' , eventListener ) ;
217217 } ;
218218
219- return { cleanup, promise }
219+ return { cleanup, promise } ;
220220 }
221221}
222222
0 commit comments