{"ast":null,"code":"// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/browserify-sign/node_modules/readable-stream/lib/internal/streams/end-of-stream.js"],"names":["ERR_STREAM_PREMATURE_CLOSE","require","codes","once","callback","called","_len","arguments","length","args","Array","_key","apply","noop","isRequest","stream","setHeader","abort","eos","opts","readable","writable","onlegacyfinish","onfinish","writableEnded","_writableState","finished","call","readableEnded","_readableState","endEmitted","onend","onerror","err","onclose","ended","onrequest","req","on","error","removeListener","module","exports"],"mappings":"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","sourcesContent":["// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;"]},"metadata":{},"sourceType":"script"}