UNPKG

librecast-auth

Version:

Library to access Librecast authentication over multicast from the browser

2 lines (1 loc) 7.37 kB
"use strict";function StringView(e,t,r,i){var n,a,o,h,g,s,f=isFinite(r)?r:0,c=15;t&&(this.encoding=t.toString());e:switch(this.encoding){case"UTF-8":h=StringView.putUTF8CharCode,g=StringView.getUTF8CharLength,n=Uint8Array;break e;case"UTF-16":h=StringView.putUTF16CharCode,g=StringView.getUTF16CharLength,n=Uint16Array;break e;case"UTF-32":n=Uint32Array,c&=14;break e;default:n=Uint8Array,c&=14}e:switch(typeof e){case"string":c&=7;break e;case"object":switch(e.constructor){case StringView:c&=3;break e;case String:c&=7;break e;case ArrayBuffer:a=new n(e),s="UTF-32"===this.encoding?e.byteLength>>>2:"UTF-16"===this.encoding?e.byteLength>>>1:e.byteLength,o=0!==f||isFinite(i)&&i!==s?new n(e,f,isFinite(i)?i:s-f):a;break e;case Uint32Array:case Uint16Array:case Uint8Array:n=e.constructor,s=e.length,a=0===e.byteOffset&&e.length===(n===Uint32Array?e.buffer.byteLength>>>2:n===Uint16Array?e.buffer.byteLength>>>1:e.buffer.byteLength)?e:new n(e.buffer),o=0!==f||isFinite(i)&&i!==s?e.subarray(f,isFinite(i)?f+i:s):e;break e;default:s=(a=new n(e)).length,o=0!==f||isFinite(i)&&i!==s?a.subarray(f,isFinite(i)?f+i:s):a}break e;default:a=o=new n(Number(e)||0)}if(c<8){var w,u,d,U,b,F,T;4&c?(u=s=(w=e).length,c^="UTF-32"===this.encoding?0:2,f=d=r?Math.max((u+r)%u,0):0,b=U=(Number.isInteger(i)?Math.min(Math.max(i,0)+f,u):u)-1):(w=e.rawData,s=e.makeIndex(),f=d=r?Math.max((s+r)%s,0):0,b=U=(u=Number.isInteger(i)?Math.min(Math.max(i,0),s-d):s)+d,"UTF-8"===e.encoding?(F=StringView.getUTF8CharLength,T=StringView.loadUTF8CharCode):"UTF-16"===e.encoding?(F=StringView.getUTF16CharLength,T=StringView.loadUTF16CharCode):c&=1),(0===u||c<4&&w.encoding===this.encoding&&0===d&&u===s)&&(c=7);e:switch(c){case 0:a=new n(u);for(var S=0;S<u;a[S]=w[f+S++]);break e;case 1:u=0;for(var V=f;V<b;V++)u+=g(w[V]);a=new n(u);for(V=f,S=0;S<u;V++)S=h(a,w[V],S);break e;case 2:for(l=f=0;l<d;l++)f+=F(C=T(w,f));a=new n(u);for(V=f,S=0;S<u;V+=F(C),S++)C=T(w,V),a[S]=C;break e;case 3:var C,l=u=0;for(V=0;l<U;V+=F(C))C=T(w,V),l===d&&(f=V),++l>d&&(u+=g(C));a=new n(u);for(V=f,S=0;S<u;V+=F(C))S=h(a,C=T(w,V),S);break e;case 4:a=new n(u);for(var y=0;y<u;y++)a[y]=255&w.charCodeAt(y);break e;case 5:for(var m=u=0;m<s;m++)m===d&&(f=u),u+=g(w.charCodeAt(m)),m===U&&(b=u);a=new n(u);for(S=0,l=0;S<u;l++)S=h(a,w.charCodeAt(l),S);break e;case 6:a=new n(u);for(y=0;y<u;y++)a[y]=w.charCodeAt(y);break e;case 7:a=new n(u?w:0)}o=3<c&&(0<f||b<a.length-1)?a.subarray(f,b):a}this.buffer=a.buffer,this.bufferView=a,this.rawData=o,Object.freeze(this)}Number.isInteger||(Number.isInteger=function(e){return"number"==typeof e&&isFinite(e)&&-9007199254740992<e&&e<9007199254740992&&Math.floor(e)===e}),StringView.loadUTF8CharCode=function(e,t){var r=e.length,i=e[t];return 251<i&&i<254&&t+5<r?1073741824*(i-252)+(e[t+1]-128<<24)+(e[t+2]-128<<18)+(e[t+3]-128<<12)+(e[t+4]-128<<6)+e[t+5]-128:247<i&&i<252&&t+4<r?(i-248<<24)+(e[t+1]-128<<18)+(e[t+2]-128<<12)+(e[t+3]-128<<6)+e[t+4]-128:239<i&&i<248&&t+3<r?(i-240<<18)+(e[t+1]-128<<12)+(e[t+2]-128<<6)+e[t+3]-128:223<i&&i<240&&t+2<r?(i-224<<12)+(e[t+1]-128<<6)+e[t+2]-128:191<i&&i<224&&t+1<r?(i-192<<6)+e[t+1]-128:i},StringView.putUTF8CharCode=function(e,t,r){var i=r;return t<128?e[i++]=t:(t<2048?e[i++]=192+(t>>>6):(t<65536?e[i++]=224+(t>>>12):(t<2097152?e[i++]=240+(t>>>18):(t<67108864?e[i++]=248+(t>>>24):(e[i++]=252+t/1073741824,e[i++]=128+(t>>>24&63)),e[i++]=128+(t>>>18&63)),e[i++]=128+(t>>>12&63)),e[i++]=128+(t>>>6&63)),e[i++]=128+(63&t)),i},StringView.getUTF8CharLength=function(e){return e<128?1:e<2048?2:e<65536?3:e<2097152?4:e<67108864?5:6},StringView.loadUTF16CharCode=function(e,t){var r=e[t];return 55231<r&&t+1<e.length?(r-55296<<10)+e[t+1]+9216:r},StringView.putUTF16CharCode=function(e,t,r){var i=r;return t<65536?e[i++]=t:(e[i++]=55232+(t>>>10),e[i++]=56320+(1023&t)),i},StringView.getUTF16CharLength=function(e){return e<65536?1:2},StringView.b64ToUint6=function(e){return 64<e&&e<91?e-65:96<e&&e<123?e-71:47<e&&e<58?e+4:43===e?62:47===e?63:0},StringView.uint6ToB64=function(e){return e<26?e+65:e<52?e+71:e<62?e-4:62===e?43:63===e?47:65},StringView.bytesToBase64=function(e){for(var t,r=(3-e.length%3)%3,i="",n=e.length,a=0,o=0;o<n;o++)t=o%3,a|=e[o]<<(16>>>t&24),2!==t&&e.length-o!=1||(i+=String.fromCharCode(StringView.uint6ToB64(a>>>18&63),StringView.uint6ToB64(a>>>12&63),StringView.uint6ToB64(a>>>6&63),StringView.uint6ToB64(63&a)),a=0);return 0===r?i:i.substring(0,i.length-r)+(1===r?"=":"==")},StringView.base64ToBytes=function(e,t){for(var r,i,n=e.replace(/[^A-Za-z0-9\+\/]/g,""),a=n.length,o=t?Math.ceil((3*a+1>>>2)/t)*t:3*a+1>>>2,h=new Uint8Array(o),g=0,s=0,f=0;f<a;f++)if(i=3&f,g|=StringView.b64ToUint6(n.charCodeAt(f))<<18-6*i,3===i||a-f==1){for(r=0;r<3&&s<o;r++,s++)h[s]=g>>>(16>>>r&24)&255;g=0}return h},StringView.makeFromBase64=function(e,t,r,i){return new StringView("UTF-16"===t||"UTF-32"===t?StringView.base64ToBytes(e,"UTF-16"===t?2:4).buffer:StringView.base64ToBytes(e),t,r,i)},StringView.prototype.encoding="UTF-8",StringView.prototype.makeIndex=function(e,t){var r,i=this.rawData,n=i.length,a=t||0,o=a,h=isNaN(e)?1/0:e;if(e+1>i.length)throw new RangeError("StringView.prototype.makeIndex - The offset can't be major than the length of the array - 1.");switch(this.encoding){case"UTF-8":var g;for(r=0;o<n&&r<h;r++)o+=251<(g=i[o])&&g<254&&o+5<n?6:247<g&&g<252&&o+4<n?5:239<g&&g<248&&o+3<n?4:223<g&&g<240&&o+2<n?3:191<g&&g<224&&o+1<n?2:1;break;case"UTF-16":for(r=a;o<n&&r<h;r++)o+=55231<i[o]&&o+1<i.length?2:1;break;default:o=r=isFinite(e)?e:n-1}return e?o:r},StringView.prototype.toBase64=function(e){return StringView.bytesToBase64(e?this.bufferView.constructor===Uint8Array?this.bufferView:new Uint8Array(this.buffer):this.rawData.constructor===Uint8Array?this.rawData:new Uint8Array(this.buffer,this.rawData.byteOffset,this.rawData.length<<(this.rawData.constructor===Uint16Array?1:2)))},StringView.prototype.subview=function(e,t){var r,i,n,a,o,h="UTF-8"===this.encoding||"UTF-16"===this.encoding,g=this.rawData.length;return 0===g?new StringView(this.buffer,this.encoding):(o=h?this.makeIndex():g,n=e?o<e+1?o:Math.max((o+e)%o,0):0,a=Number.isInteger(t)?Math.max(t,0)+n>o?o-n:t:o-n,0===n&&a===o?this:(h?(i=n<o?this.makeIndex(n):o,r=a?this.makeIndex(a,i)-i:0):(i=n,r=a),"UTF-16"===this.encoding?i<<=1:"UTF-32"===this.encoding&&(i<<=2),new StringView(this.buffer,this.encoding,this.rawData.byteOffset+i,r)))},StringView.prototype.forEachChar=function(e,t,r,i){var n,a,o=this.rawData;if("UTF-8"===this.encoding||"UTF-16"===this.encoding){var h,g;"UTF-8"===this.encoding?(h=StringView.getUTF8CharLength,g=StringView.loadUTF8CharCode):"UTF-16"===this.encoding&&(h=StringView.getUTF16CharLength,g=StringView.loadUTF16CharCode),a=isFinite(r)?this.makeIndex(r):0,n=isFinite(i)?this.makeIndex(i,a):o.length;for(var s,f=0;a<n;f++)s=g(o,a),t?e.call(t,s,f,a,o):e(s,f,a,o),a+=h(s)}else for(a=isFinite(r)?r:0,n=isFinite(i)?i+a:o.length;a<n;a++)t?e.call(t,o[a],a,a,o):e(o[a],a,a,o)},StringView.prototype.valueOf=StringView.prototype.toString=function(){if("UTF-8"!==this.encoding&&"UTF-16"!==this.encoding)return String.fromCharCode.apply(null,this.rawData);var e,t,r="";"UTF-8"===this.encoding?(t=StringView.getUTF8CharLength,e=StringView.loadUTF8CharCode):"UTF-16"===this.encoding&&(t=StringView.getUTF16CharLength,e=StringView.loadUTF16CharCode);for(var i,n=this.rawData.length,a=0;a<n;a+=t(i))i=e(this.rawData,a),r+=String.fromCharCode(i);return r};