Build 545032stable
Module 733344
2,148 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";var i=n(683402),r=n(549412),s=n(382811),a=n(163173),o=n(267795),l=Object.prototype.toString;function u(e){if(!(this instanceof u))return new u(e);this.options=r.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},e||{});var t,n=this.options;n.raw&&n.windowBits>0?n.windowBits=-n.windowBits:n.gzip&&n.windowBits>0&&n.windowBits<16&&(n.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var c=i.deflateInit2(this.strm,n.level,n.method,n.windowBits,n.memLevel,n.strategy);if(0!==c)throw Error(a[c]);if(n.header&&i.deflateSetHeader(this.strm,n.header),n.dictionary){if(t="string"==typeof n.dictionary?s.string2buf(n.dictionary):"[object ArrayBuffer]"===l.call(n.dictionary)?new Uint8Array(n.dictionary):n.dictionary,0!==(c=i.deflateSetDictionary(this.strm,t)))throw Error(a[c]);this._dict_set=!0}}function c(e,t){var n=new u(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}u.prototype.push=function(e,t){var n,a,o=this.strm,u=this.options.chunkSize;if(this.ended)return!1;a=t===~~t?t:4*(!0===t),"string"==typeof e?o.input=s.string2buf(e):"[object ArrayBuffer]"===l.call(e)?o.input=new Uint8Array(e):o.input=e,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new r.Buf8(u),o.next_out=0,o.avail_out=u),1!==(n=i.deflate(o,a))&&0!==n)return this.onEnd(n),this.ended=!0,!1;(0===o.avail_out||0===o.avail_in&&(4===a||2===a))&&("string"===this.options.to?this.onData(s.buf2binstring(r.shrinkBuf(o.output,o.next_out))):this.onData(r.shrinkBuf(o.output,o.next_out)))}while((o.avail_in>0||0===o.avail_out)&&1!==n);return 4===a?(n=i.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,0===n):(2===a&&(this.onEnd(0),o.avail_out=0),!0)},u.prototype.onData=function(e){this.chunks.push(e)},u.prototype.onEnd=function(e){0===e&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Deflate=u,t.deflate=c,t.deflateRaw=function(e,t){return(t=t||{}).raw=!0,c(e,t)},t.gzip=function(e,t){return(t=t||{}).gzip=!0,c(e,t)}}