rsnext/packages/next/compiled/browserify-zlib/index.js

1 line
58 KiB
JavaScript
Raw Normal View History

(function(){"use strict";var e={958:function(e,t,i){var a=i(491);var r=i(944);var n=i(492);var s=i(422);var l=i(234);for(var f in l){t[f]=l[f]}t.NONE=0;t.DEFLATE=1;t.INFLATE=2;t.GZIP=3;t.GUNZIP=4;t.DEFLATERAW=5;t.INFLATERAW=6;t.UNZIP=7;var o=31;var h=139;function Zlib(e){if(typeof e!=="number"||e<t.DEFLATE||e>t.UNZIP){throw new TypeError("Bad argument")}this.dictionary=null;this.err=0;this.flush=0;this.init_done=false;this.level=0;this.memLevel=0;this.mode=e;this.strategy=0;this.windowBits=0;this.write_in_progress=false;this.pending_close=false;this.gzip_id_bytes_read=0}Zlib.prototype.close=function(){if(this.write_in_progress){this.pending_close=true;return}this.pending_close=false;a(this.init_done,"close before init");a(this.mode<=t.UNZIP);if(this.mode===t.DEFLATE||this.mode===t.GZIP||this.mode===t.DEFLATERAW){n.deflateEnd(this.strm)}else if(this.mode===t.INFLATE||this.mode===t.GUNZIP||this.mode===t.INFLATERAW||this.mode===t.UNZIP){s.inflateEnd(this.strm)}this.mode=t.NONE;this.dictionary=null};Zlib.prototype.write=function(e,t,i,a,r,n,s){return this._write(true,e,t,i,a,r,n,s)};Zlib.prototype.writeSync=function(e,t,i,a,r,n,s){return this._write(false,e,t,i,a,r,n,s)};Zlib.prototype._write=function(e,i,r,n,s,l,f,o){a.equal(arguments.length,8);a(this.init_done,"write before init");a(this.mode!==t.NONE,"already finalized");a.equal(false,this.write_in_progress,"write already in progress");a.equal(false,this.pending_close,"close is pending");this.write_in_progress=true;a.equal(false,i===undefined,"must provide flush value");this.write_in_progress=true;if(i!==t.Z_NO_FLUSH&&i!==t.Z_PARTIAL_FLUSH&&i!==t.Z_SYNC_FLUSH&&i!==t.Z_FULL_FLUSH&&i!==t.Z_FINISH&&i!==t.Z_BLOCK){throw new Error("Invalid flush value")}if(r==null){r=Buffer.alloc(0);s=0;n=0}this.strm.avail_in=s;this.strm.input=r;this.strm.next_in=n;this.strm.avail_out=o;this.strm.output=l;this.strm.next_out=f;this.flush=i;if(!e){this._process();if(this._checkError()){return this._afterSync()}return}var h=this;process.nextTick((function(){h._process();h._after()}));return this};Zlib.prototype._afterSync=function(){var e=this.strm.avail_out;var t=this.strm.avail_in;this.write_in_progress=false;return[t,e]};Zlib.prototype._process=function(){var e=null;switch(this.mode){case t.DEFLATE:case t.GZIP:case t.DEFLATERAW:this.err=n.deflate(this.strm,this.flush);break;case t.UNZIP:if(this.strm.avail_in>0){e=this.strm.next_in}switch(this.gzip_id_bytes_read){case 0:if(e===null){break}if(this.strm.input[e]===o){this.gzip_id_bytes_read=1;e++;if(this.strm.avail_in===1){break}}else{this.mode=t.INFLATE;break}case 1:if(e===null){break}if(this.strm.input[e]===h){this.gzip_id_bytes_read=2;this.mode=t.GUNZIP}else{this.mode=t.INFLATE}break;default:throw new Error("invalid number of gzip magic number bytes read")}case t.INFLATE:case t.GUNZIP:case t.INFLATERAW:this.err=s.inflate(this.strm,this.flush);if(this.err===t.Z_NEED_DICT&&this.dictionary){this.err=s.inflateSetDictionary(this.strm,this.dictionary);if(this.err===t.Z_OK){this.err=s.inflate(this.strm,this.flush)}else if(this.err===t.Z_DATA_ERROR){this.err=t.Z_NEED_DICT}}while(this.strm.avail_in>0&&this.mode===t.GUNZIP&&this.err===t.Z_STREAM_END&&this.strm.next_in[0]!==0){this.reset();this.err=s.inflate(this.strm,this.flush)}break;default:throw new Error("Unknown mode "+this.mode)}};Zlib.prototype._checkError=function(){switch(this.err){case t.Z_OK:case t.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===t.Z_FINISH){this._error("unexpected end of file");return false}break;case t.Z_STREAM_END:break;case t.Z_NEED_DICT:if(this.dictionary==null){this._error("Missing dictionary")}else{this._error("Bad dictionary")}return false;default:this._error("Zlib error");return false}return true};Zlib.prototype._after=function(){if(!this._checkError()){return}var e=this.strm.avail_out;var t=this.strm.avail_in;this.write_in_progress=false;this.callback(t,e);if(this.pending_close){this.close()}};Zlib.prototype._error=function(e){if(this.strm.msg){e=this.strm.msg}this.onerror(e,this.err);this.write_in_progress=false;if(this.pending_close){this.close()}};Zlib.proto