Skip to content

Commit

Permalink
Minor typings tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
dex4er committed May 9, 2019
1 parent 6e7ba2b commit aa997b2
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 15 deletions.
11 changes: 9 additions & 2 deletions src/promise-readable.ts
Expand Up @@ -3,15 +3,15 @@
interface ReadableStream extends NodeJS.ReadableStream {
closed?: boolean
destroyed?: boolean
destroy?: () => void
destroy?(): void
}

export class PromiseReadable<TReadable extends ReadableStream> {
private errorHandler: (err: Error) => void
private errored?: Error

constructor(readonly stream: TReadable) {
this.errorHandler = err => {
this.errorHandler = (err: Error) => {
this.errored = err
}

Expand Down Expand Up @@ -104,6 +104,7 @@ export class PromiseReadable<TReadable extends ReadableStream> {

const endHandler = () => {
removeListeners()

if (bufferArray.length) {
resolve(Buffer.concat(bufferArray))
} else {
Expand Down Expand Up @@ -208,20 +209,26 @@ export class PromiseReadable<TReadable extends ReadableStream> {
if (eventHandler) {
stream.removeListener(event, eventHandler)
}

stream.removeListener('error', errorHandler)

if (endHandler) {
stream.removeListener('end', endHandler)
}

stream.removeListener('error', errorHandler)
}

if (eventHandler) {
stream.on(event, eventHandler)
}

stream.on('close', closeHandler)

if (endHandler) {
stream.on('end', endHandler)
}

stream.on('error', errorHandler)
})
}
Expand Down
1 change: 1 addition & 0 deletions test/lib/mock-stream.ts
Expand Up @@ -10,6 +10,7 @@ export class MockStream extends Readable {
paused = false

private buffer = Buffer.alloc(0)

private encoding?: string
private error?: Error

Expand Down
26 changes: 13 additions & 13 deletions test/promise-readable.ts
Expand Up @@ -195,7 +195,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

And('I call read method', () => {
promiseReadable.read().catch(err => {
promiseReadable.read().catch((err: Error) => {
error = err
})
})
Expand Down Expand Up @@ -397,7 +397,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

When('I call readAll method', () => {
promiseReadable.readAll().catch(err => {
promiseReadable.readAll().catch((err: Error) => {
error = err
})
})
Expand Down Expand Up @@ -435,7 +435,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

When('I call readAll method', () => {
promiseReadable.readAll().catch(err => {
promiseReadable.readAll().catch((err: Error) => {
error = err
})
})
Expand Down Expand Up @@ -497,7 +497,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

And('I wait for open event', () => {
promiseReadable.once('open').catch(err => {
promiseReadable.once('open').catch((err: Error) => {
error = err
})
})
Expand Down Expand Up @@ -527,7 +527,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

And('I wait for open event', () => {
promiseReadable.once('open').catch(err => {
promiseReadable.once('open').catch((err: Error) => {
error = err
})
})
Expand All @@ -553,7 +553,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

When('I wait for open event', () => {
promiseReadable.once('open').catch(err => {
promiseReadable.once('open').catch((err: Error) => {
error = err
})
})
Expand Down Expand Up @@ -587,7 +587,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

When('I wait for open event', () => {
promiseReadable.once('open').catch(err => {
promiseReadable.once('open').catch((err: Error) => {
error = err
})
})
Expand Down Expand Up @@ -641,7 +641,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

When('I wait for close event', () => {
promiseReadable.once('close').catch(err => {
promiseReadable.once('close').catch((err: Error) => {
error = err
})
})
Expand Down Expand Up @@ -675,7 +675,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

When('I wait for close event', () => {
promiseReadable.once('close').catch(err => {
promiseReadable.once('close').catch((err: Error) => {
error = err
})
})
Expand Down Expand Up @@ -737,7 +737,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

When('I wait for end event', () => {
promiseReadable.once('end').catch(err => {
promiseReadable.once('end').catch((err: Error) => {
error = err
})
})
Expand Down Expand Up @@ -775,7 +775,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

When('I wait for end event', () => {
promiseReadable.once('end').catch(err => {
promiseReadable.once('end').catch((err: Error) => {
error = err
})
})
Expand Down Expand Up @@ -841,7 +841,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

When('I wait for error event', () => {
promiseReadable.once('error').catch(err => {
promiseReadable.once('error').catch((err: Error) => {
error = err
})
})
Expand Down Expand Up @@ -879,7 +879,7 @@ Feature('Test promise-readable module with stream2 API', () => {
})

When('I wait for error event', () => {
promiseReadable.once('error').catch(err => {
promiseReadable.once('error').catch((err: Error) => {
error = err
})
})
Expand Down

0 comments on commit aa997b2

Please sign in to comment.