UNPKG

@substrate-system/bencode

Version:
12 lines (10 loc) 2.87 kB
var U=Object.defineProperty;var a=(n,t)=>U(n,"name",{value:t,configurable:!0});var C=Object.defineProperty,T=a((n,t)=>C(n,"name",{value:t,configurable:!0}),"__name");var u="0123456789abcdef",y=[],h=[];for(let n=0;n<256;n++)y[n]=u[n>>4&15]+u[n&15],n<16&&(n<10?h[48+n]=n:h[87+n]=n);var d=T(n=>{let t=n.length,r="",o=0;for(;o<t;)r+=y[n[o++]];return r},"arr2hex");var p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(l=0;l<p.length;l++)_[p.charCodeAt(l)]=l;var l;var v=Object.defineProperty,m=a((n,t)=>v(n,"name",{value:t,configurable:!0}),"__name"),D=new TextDecoder,f=m((n,t)=>t?new TextDecoder(t).decode(n):D.decode(n),"arr2text"),E=new TextEncoder,w=m(n=>E.encode(n),"text2arr");var b=typeof window<"u"?window:globalThis,x=b.crypto||b.msCrypto||{},V=x.subtle||x.webkitSubtle;var R=105,S=58,I=100,L=108,g=101,e=a(function n(t,r,o,i){if(!t||t.length===0)throw new Error("Missing data to decode.");return typeof r!="number"&&i==null&&(i=r,r=void 0),typeof o!="number"&&i==null&&(i=o,o=void 0),n.position=0,n.encoding=i||null,n.data=ArrayBuffer.isView(t)?new Uint8Array(t.slice(r,o)):w(t),n.bytes=n.data.length,n.next()},"decode");e.bytes=0;e.position=0;e.data=null;e.encoding=null;e.next=function(){switch(e.data[e.position]){case I:return e.dictionary();case L:return e.list();case R:return e.integer();default:return e.buffer()}};e.find=function(n){if(!e.data?.length)return null;let t=e.position,r=e.data.length,o=e.data;for(;t<r;){if(o[t]===n)return t;t++}throw new Error('Invalid data: Missing delimiter "'+String.fromCharCode(n)+'" [0x'+n.toString(16)+"]")};e.dictionary=function(){if(!e.data)return null;e.position++;let n={};for(;e.data[e.position]!==g;){let t=e.buffer();if(typeof t=="string"){n[t]=e.next();continue}let r=f(t);r.includes("\uFFFD")&&(r=d(t)),n[r]=e.next()}return e.position++,n};e.list=function(){e.position++;let n=[];for(;e.data[e.position]!==g;)n.push(e.next());return e.position++,n};e.integer=function(){let n=e.find(g),t=A(e.data,e.position+1,n);if(!n)throw new Error("not end");return e.position+=n+1-e.position,t};e.buffer=function(){let n=e.find(S),t=(n||0)+1,r=A(e.data,e.position,n),o=t+r;return e.position=o,e.encoding?f(e.data.slice(t,o)):e.data.slice(t,o)};var Q=e;function A(n,t,r){let o=0,i=1;for(let s=t;s<r;s++){let c=n[s];if(c<58&&c>=48){o=o*10+(c-48);continue}if(!(s===t&&c===43)){if(s===t&&c===45){i=-1;continue}if(c===46)break;throw new Error("not a number: buffer["+s+"] = "+c)}}return o*i}a(A,"getIntFromBuffer");export{Q as default}; /*! Bundled license information: @substrate-system/uint8-util/dist/util.js: (* Common package for dealing with hex/string/uint8 conversions (and sha1 hashing) * * @author Jimmy Wärting <jimmy@warting.se> (https://jimmy.warting.se/opensource) * @license MIT *) */ //# sourceMappingURL=decode.min.js.map