bassoon
Version:
a simplified and optimized fork of oboejs
3 lines • 7.02 kB
JavaScript
/*! @version bassoon 1.0.7 */
self.bassoon=(()=>{"use strict";var e={684:(e,t,r)=>{function n(e,t){function r(e,t,r){var n=u.call(this,e,t);return l.set(n,r||l.get(e)),n}function c(e,t){var r=l.get(t);return Object.keys(r).reduce((function(t,n){return t[n]=e[r[n]],t}),Object.create(null))}n=function(e,t){return new r(e,void 0,t)};var u=o(RegExp),s=RegExp.prototype,l=new WeakMap;return a(r,u),r.prototype.exec=function(e){var t=s.exec.call(this,e);return t&&(t.groups=c(t,this)),t},r.prototype[Symbol.replace]=function(e,t){if("string"==typeof t){var r=l.get(this);return s[Symbol.replace].call(this,e,t.replace(/\$<([^>]+)>/g,(function(e,t){return"$"+r[t]})))}if("function"==typeof t){var n=this;return s[Symbol.replace].call(this,e,(function(){var e=[];return e.push.apply(e,arguments),"object"!=typeof e[e.length-1]&&e.push(c(e,n)),t.apply(this,e)}))}return s[Symbol.replace].call(this,e,t)},n.apply(this,arguments)}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}function o(e){var t="function"==typeof Map?new Map:void 0;return(o=function(e){function r(){return c(e,arguments,l(this).constructor)}if(null===e||!function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),s(r,e)})(e)}function c(e,t,r){return(c=u()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var a=new(Function.bind.apply(e,n));return r&&s(a,r.prototype),a}).apply(null,arguments)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function s(e,t){return(s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function i(e){function t(){c=!0,y&&(y.onreadystatechange=null,y.onload=null,y.onerror=null,y.abort())}function r(e){c||(b?(g.push(e),g.length>=b&&(o.emit("data",g),g=[])):o.emit("data",e))}var a="string"==typeof e?{url:e}:e,o={_events:{},_get:function(e){return this._events[e]||(this._events[e]={callback:null,queue:[]}),this._events[e]},on:function(e,t){var r=this._get(e),n=r.queue;if(r.callback=t,t&&n.length){for(var a=0;a<n.length;++a)t.call(this,n[a]);r.queue=[]}return this},emit:function(e,t){var r=this._get(e),n=r.callback;return n?n.call(this,t):r.queue.push(t),this}},c=!1;if(a.worker&&Worker){a.url=new URL(a.url,location).toString();var u=a.workerPath||"/bassoon/bassoon-worker.min.js",s=new Worker(u);return s.onmessage=function(e){c||o.emit(e.data.cmd,e.data.data)},s.postMessage({cmd:"start",args:a}),o.abort=function(){c=!0,s.postMessage({cmd:"abort"})},o}var l=a.url,i=a.method||"GET",p=a.withCredentials||!1,f=a.verbose||!1,b=a.chunkSize,h=function(e){function t(t,r){(e=M.callback)&&e({key:t,data:r,depth:E.length})}function r(){var e=d;return e.lastIndex=P,!!(S=e.exec(T))&&(P=e.lastIndex-1,t("key",S.groups.value1||S.groups.value2),R=i,!0)}function a(e){var r=null;return e===p?r=k:e===f?r=w:e===b?r=x:e===h?r=m:e===y?r=j:e===v&&(r=O),r.lastIndex=P,!(!(S=r.exec(T))||(P=r.lastIndex-2,e===p?_=S.groups.value:e===f?_=parseFloat(S.groups.value):e===b?_=!0:e===h?_=!1:e===y?_=null:e===v&&(_=void 0),t("value",_),R!==c&&(R=E.pop()),0))}function o(e){for(T+=e;P<T.length;++P){var n=T[P];switch(R){case g:P=T.length;break;case c:case i:switch(n){case" ":case"\t":case"\n":case"\r":break;case"[":t("openarray"),R=u;break;case"{":t("openobject"),R=s;break;case'"':if(!a(p))return;break;case"-":case"+":case".":case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":if(!a(f))return;break;case"t":case"T":if(!a(b))return;break;case"f":case"F":if(!a(h))return;break;case"n":case"N":if(!a(y))return;break;default:if(!a(v))return}break;case u:switch(n){case" ":case"\t":case"\n":case"\r":break;case"]":t("closearray"),R=E.length?E.pop():c;break;case",":break;default:E.push(R),R=i,--P}break;case s:switch(n){case" ":case"\t":case"\n":case"\r":break;case"}":t("closeobject"),R=E.length?E.pop():c;break;case"{":case"[":case"]":case",":break;default:E.push(R),R=l,--P}break;case l:if(!r())return;break;default:throw new Error("unexpected state "+R)}}T=T.substring(P),P=0}var c=0,u=1,s=2,l=3,i=4,p=5,f=6,b=7,h=8,y=9,v=10,g=11,d=n(new RegExp('(("((?:(?!["\\\\])[\\s\\S])+)")|([0-9A-Z_a-z]+))[\\t\\n\\r ]*:[\\t\\n\\r ]*',"y"),{value1:3,value2:4}),k=n(new RegExp('"((?:(?:(?!["\\\\])[\\s\\S])|(?:\\\\["\\/\\\\bfnrtv])|(?:\\\\u[0-9A-Fa-f]{4}))*)"[\\t\\n\\r ,\\]\\}]',"y"),{value:1}),w=n(new RegExp("([\\+\\x2D]?[0-9]+(.[0-9]+)?([Ee][\\+\\x2D]?[0-9]+)?)[\\t\\n\\r ,\\]\\}]","y"),{value:1}),x=n(new RegExp("(true)[\\t\\n\\r ,\\]\\}]","iy"),{value:1}),m=n(new RegExp("(false)[\\t\\n\\r ,\\]\\}]","iy"),{value:1}),j=n(new RegExp("(null)[\\t\\n\\r ,\\]\\}]","iy"),{value:1}),O=new RegExp("[^ \\t\\n\\r,}\\]]+[ \\t\\n\\r,}\\]]","y"),E=[],R=c,_=null,S=null,T="",P=0,M={parse:o,end:function(){return o(",")},callback:e};return M}((function(e){var t=e.key,n=e.data,a=e.depth;if(!c)if(f&&console.log(" ".repeat(2*a),t,n),k)switch(t){case"openarray":d.push({curObj:k,curKey:w}),k=[],w=null;break;case"openobject":d.push({curObj:k,curKey:w}),k={},w=null;break;case"closearray":case"closeobject":if(d.length){var o,u=k;o=d.pop(),k=o.curObj,null===(w=o.curKey)?k.push(u):(k[w]=u,w=null)}else r(k),k=w=null;break;case"key":w=n;break;case"value":null===w?k.push(n):(k[w]=n,w=null)}else switch(t){case"openarray":case"closearray":break;case"openobject":k={};break;case"value":r(n)}})),y=null,v=0,g=[],d=[],k=null,w=null;try{(y=new XMLHttpRequest).open(i||"GET",l),y.responseType="text",y.withCredentials=p,y.onreadystatechange=function(e){try{if(y.readyState>2){var r=y.responseText,n=r.substr(v);v=r.length,h.parse(n)}}catch(e){t(),o.emit("error",e)}},y.onload=function(e){try{h.end(),d.length?r(d[0]):k&&r(k),g.length&&o.emit("data",g),o.emit("end",{status:y.status,statusText:y.statusText})}catch(e){o.emit("error",e)}},y.onerror=function(e){var t=new Error("Network Error");t.status=y.status,t.statusText=y.statusText,t.timeout=y.timeout,o.emit("error",t)},y.send()}catch(e){console.error(e),t(),o.emit("error",e)}return o.abort=t,o}r.d(t,{default:()=>i})}},t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}return r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r(684)})().default;
//# sourceMappingURL=bassoon.min.js.map