mirror of
https://github.com/tiennm99/FBcount.git
synced 2026-10-03 06:04:37 +00:00
Init
This commit is contained in:
1 parent
f2c263eefa
commit
2ae7118139
4280 files changed
+484929
No files matched your search
+51
@@ -0,0 +1,51 @@
|
||||
'use strict'
|
||||
|
||||
var Writable = require('readable-stream').Writable
|
||||
var inherits = require('inherits')
|
||||
|
||||
function CallbackStream (options, callback) {
|
||||
if (!(this instanceof CallbackStream)) {
|
||||
return new CallbackStream(options, callback)
|
||||
}
|
||||
|
||||
if (typeof options === 'function') {
|
||||
callback = options
|
||||
options = {}
|
||||
}
|
||||
|
||||
Writable.call(this, options)
|
||||
|
||||
this.results = []
|
||||
this.callback = callback
|
||||
|
||||
this.on('finish', deliversCallback)
|
||||
this.once('pipe', handlePipe)
|
||||
}
|
||||
|
||||
function deliversCallback () {
|
||||
this.callback(null, this.results)
|
||||
}
|
||||
|
||||
function handlePipe (source) {
|
||||
source.on('error', this.callback)
|
||||
}
|
||||
|
||||
inherits(CallbackStream, Writable)
|
||||
|
||||
CallbackStream.prototype._write = function (data, encoding, done) {
|
||||
this.results.push(data)
|
||||
done()
|
||||
}
|
||||
|
||||
CallbackStream.obj = function (options, callback) {
|
||||
if (typeof options === 'function') {
|
||||
callback = options
|
||||
options = {}
|
||||
}
|
||||
|
||||
options.objectMode = true
|
||||
|
||||
return new CallbackStream(options, callback)
|
||||
}
|
||||
|
||||
module.exports = CallbackStream
|
||||
Reference in new issue
Block a user