mirror of
https://github.com/openstf/stf
synced 2025-10-04 02:09:32 +02:00
35 lines
697 B
JavaScript
35 lines
697 B
JavaScript
var util = require('util')
|
|
|
|
var EventEmitter = require('eventemitter3').EventEmitter
|
|
|
|
function RiskyStream(stream) {
|
|
this.endListener = function() {
|
|
this.ended = true
|
|
this.stream.removeListener('end', this.endListener)
|
|
|
|
if (!this.expectingEnd) {
|
|
this.emit('unexpectedEnd')
|
|
}
|
|
|
|
this.emit('end')
|
|
}.bind(this)
|
|
|
|
this.stream = stream
|
|
.on('end', this.endListener)
|
|
this.expectingEnd = false
|
|
this.ended = false
|
|
}
|
|
|
|
util.inherits(RiskyStream, EventEmitter)
|
|
|
|
RiskyStream.prototype.end = function() {
|
|
this.expectEnd()
|
|
return this.stream.end()
|
|
}
|
|
|
|
RiskyStream.prototype.expectEnd = function() {
|
|
this.expectingEnd = true
|
|
return this
|
|
}
|
|
|
|
module.exports = RiskyStream
|