UNPKG

univ-conv

Version:

The universal binary and text converter

1 lines 1.95 kB
"use strict";(self.webpackChunkuniv_conv=self.webpackChunkuniv_conv||[]).push([[248],{248:(t,e,r)=>{r.r(e),r.d(e,{BlobConverter:()=>o});var a=r(5),s=r(689),n=r(374),i=r(354);class o extends a.f{constructor(){super(...arguments),this.type="blob"}empty(){return n.EV}is(t){return n.eo&&t instanceof Blob}async _from(t,e){if(this.is(t)){if((0,s.az)(e))return t;const{start:r,end:a}=await this._getStartEnd(t,e);return t.slice(r,a)}const r=await(0,a._)().convert("uint8array",t,e);return new Blob([r])}_getStartEnd(t,e){return Promise.resolve((0,s.og)(e,t.size))}_isEmpty(t){return 0===t.size}_merge(t){return Promise.resolve(new Blob(t))}_size(t){return Promise.resolve(t.size)}async _toArrayBuffer(t,e){const r=await this._toUint8Array(t,e);return r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength)}async _toBase64(t,e){const r=await this._getStartEnd(t,e);let a=r.start;const s=r.end,o=[],u=e.bufferSize;for(;a<s;a+=u){let e=a+u;s<e&&(e=s);const r=t.slice(a,e),f=await(0,n.S6)((t=>t.readAsDataURL(r)),(t=>(0,i.R)(t)));o.push(f)}return o.join("")}async _toText(t,e){if("utf8"===e.bufferToTextCharset)return n.w$?await t.text():await(0,n.S6)((e=>e.readAsText(t)),(t=>t));const r=await this._toUint8Array(t,e),a=await(0,i.p)();return await a.bufferToText(r,e)}async _toUint8Array(t,e){if(n.zi){const e=await t.arrayBuffer();return(0,n.ai)(e)}const r=await this._getStartEnd(t,e);let s=r.start;const i=r.end,o=e.bufferSize;if(n.br){const e=(0,n.QM)(i-s);for(let r=0;s<i;s+=o){let a=s+o;i<a&&(a=i);const u=t.slice(s,a),f=await(0,n.S6)((t=>t.readAsArrayBuffer(u)),(t=>t));e.set((0,n.ai)(f),r),r+=f.byteLength}return e}const u=(0,a._)()._of("uint8array");if(n.Mn){const r=t.stream(),a=[];let o=0;return await(0,n.vg)(r,(t=>{const e=t.byteLength;if(s<o+e){let r=o+e;i<r&&(r=i),o<s&&s<r?a.push(t.subarray(s,r)):s<=o&&a.push(t)}return o+=e,Promise.resolve(null==i||o<i)})),await u.merge(a,e)}const f=await this._toBase64(t,e);return await u.from(f)}}}}]);