{"version":3,"file":"vendor.multipipe.39753a93e35e4225.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":""}