初始化
This commit is contained in:
68
uni_modules/UniDevTools/node_modules/licia/through.js
generated
vendored
Normal file
68
uni_modules/UniDevTools/node_modules/licia/through.js
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
const isFn = require('./isFn');
|
||||
const extend = require('./extend');
|
||||
const inherits = require('./inherits');
|
||||
|
||||
const Transform = require('stream').Transform;
|
||||
|
||||
exports = through(function(opts, transform, flush) {
|
||||
const t = new Transform(opts);
|
||||
|
||||
t._transform = transform;
|
||||
if (flush) t._flush = flush;
|
||||
|
||||
return t;
|
||||
});
|
||||
|
||||
exports.obj = through(function(opts, transform, flush) {
|
||||
const t = new Transform(
|
||||
extend(
|
||||
{
|
||||
objectMode: true,
|
||||
highWaterMark: 16
|
||||
},
|
||||
opts
|
||||
)
|
||||
);
|
||||
|
||||
t._transform = transform;
|
||||
if (flush) t._flush = flush;
|
||||
|
||||
return t;
|
||||
});
|
||||
|
||||
exports.ctor = through(function(opts, transform, flush) {
|
||||
function Through(override) {
|
||||
if (!(this instanceof Through)) return new Through(override);
|
||||
|
||||
Transform.call(this, extend(opts, override));
|
||||
}
|
||||
|
||||
inherits(Through, Transform);
|
||||
|
||||
const proto = Through.prototype;
|
||||
proto._transform = transform;
|
||||
if (flush) proto._flush = flush;
|
||||
|
||||
return Through;
|
||||
});
|
||||
|
||||
function through(streamFactory) {
|
||||
return function(opts, transform, flush) {
|
||||
if (isFn(opts)) {
|
||||
flush = transform;
|
||||
transform = opts;
|
||||
opts = {};
|
||||
}
|
||||
|
||||
if (!isFn(transform)) transform = defTransform;
|
||||
if (!isFn(flush)) flush = null;
|
||||
|
||||
return streamFactory(opts, transform, flush);
|
||||
};
|
||||
}
|
||||
|
||||
function defTransform(chunk, enc, cb) {
|
||||
cb(null, chunk);
|
||||
}
|
||||
|
||||
module.exports = exports;
|
||||
Reference in New Issue
Block a user