{"version":3,"file":"vendor.multipipe.6423f1a16be61310.js","mappings":";;;;;;;;;;;;;;;;;;;;;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,KAAW;AAClC,kBAAkB,wCAA6B;AAC/C,eAAe,wCAA6B;AAC5C,mBAAmB,mBAAO,CAAC,KAAe;;AAE1C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,kCAAkC,OAAO;AACzC,iCAAiC,OAAO;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA","sources":["webpack://admin/./node_modules/multipipe/index.js"],"sourcesContent":["\n/**\n * Module dependencies.\n */\n\nvar duplexer = require('duplexer2');\nvar PassThrough = require('stream').PassThrough;\nvar Readable = require('stream').PassThrough;\nvar objectAssign = require('object-assign');\n\n/**\n * Slice reference.\n */\n\nvar slice = [].slice;\n\n/**\n * Duplexer options.\n */\n\nvar defaultOpts = {\n bubbleErrors: false,\n objectMode: true\n};\n\n/**\n * Expose `pipe`.\n */\n\nmodule.exports = pipe;\n\n/**\n * Pipe.\n *\n * @param streams Array[Stream,...]\n * @param opts [Object]\n * @param cb [Function]\n * @return {Stream}\n * @api public\n */\n\nfunction pipe(streams, opts, cb){\n if (!Array.isArray(streams)) {\n streams = slice.call(arguments);\n opts = null;\n cb = null;\n }\n\n var lastArg = streams[streams.length - 1];\n if ('function' == typeof lastArg) {\n cb = streams.splice(-1)[0];\n lastArg = streams[streams.length - 1];\n }\n if ('object' == typeof lastArg && typeof lastArg.pipe != 'function') {\n opts = streams.splice(-1)[0];\n }\n var first = streams[0];\n var last = streams[streams.length - 1];\n var ret;\n opts = objectAssign({}, defaultOpts, opts)\n\n if (!first) {\n if (cb) process.nextTick(cb);\n return new PassThrough(opts);\n }\n \n if (first.writable && last.readable) ret = duplexer(opts, first, last);\n else if (streams.length == 1) ret = new Readable(opts).wrap(streams[0]);\n else if (first.writable) ret = first;\n else if (last.readable) ret = last;\n else ret = new PassThrough(opts);\n \n streams.forEach(function(stream, i){\n var next = streams[i+1];\n if (next) stream.pipe(next);\n if (stream != ret) stream.on('error', ret.emit.bind(ret, 'error'));\n });\n\n if (cb) {\n var ended = false;\n ret.on('error', end);\n last.on('finish', function(){ end() });\n last.on('close', function(){ end() });\n function end(err){\n if (ended) return;\n ended = true;\n cb(err);\n }\n }\n\n return ret;\n}\n\n"],"names":[],"sourceRoot":""}