UNPKG

phaser4-rex-plugins

Version:
8 lines (7 loc) 26 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).rexcsvtohashtableplugin=t()}(void 0,(function(){"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t={exports:{}}; /* @license Papa Parse v5.4.1 https://github.com/mholt/PapaParse License: MIT */!function(e){e.exports=function e(){var t="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t?t:{},r=!t.document&&!!t.postMessage,i=t.IS_PAPA_WORKER||!1,s={},n=0,o={parse:function(r,i){var a=(i=i||{}).dynamicTyping||!1;if(b(a)&&(i.dynamicTypingFunction=a,a={}),i.dynamicTyping=a,i.transform=!!b(i.transform)&&i.transform,i.worker&&o.WORKERS_SUPPORTED){var h=function(){if(!o.WORKERS_SUPPORTED)return!1;var r,i,a=(r=t.URL||t.webkitURL||null,i=e.toString(),o.BLOB_URL||(o.BLOB_URL=r.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",i,")();"],{type:"text/javascript"})))),h=new t.Worker(a);return h.onmessage=g,h.id=n++,s[h.id]=h}();return h.userStep=i.step,h.userChunk=i.chunk,h.userComplete=i.complete,h.userError=i.error,i.step=b(i.step),i.chunk=b(i.chunk),i.complete=b(i.complete),i.error=b(i.error),delete i.worker,void h.postMessage({input:r,config:i,workerId:h.id})}var c=null;return o.NODE_STREAM_INPUT,"string"==typeof r?(r=function(e){return 65279===e.charCodeAt(0)?e.slice(1):e}(r),c=i.download?new u(i):new f(i)):!0===r.readable&&b(r.read)&&b(r.on)?c=new d(i):(t.File&&r instanceof File||r instanceof Object)&&(c=new l(i)),c.stream(r)},unparse:function(e,t){var r=!1,i=!0,s=",",n="\r\n",a='"',h=a+a,u=!1,l=null,f=!1;!function(){if("object"==typeof t){if("string"!=typeof t.delimiter||o.BAD_DELIMITERS.filter((function(e){return-1!==t.delimiter.indexOf(e)})).length||(s=t.delimiter),("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(r=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(u=t.skipEmptyLines),"string"==typeof t.newline&&(n=t.newline),"string"==typeof t.quoteChar&&(a=t.quoteChar),"boolean"==typeof t.header&&(i=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error("Option columns is empty");l=t.columns}void 0!==t.escapeChar&&(h=t.escapeChar+a),("boolean"==typeof t.escapeFormulae||t.escapeFormulae instanceof RegExp)&&(f=t.escapeFormulae instanceof RegExp?t.escapeFormulae:/^[=+\-@\t\r].*$/)}}();var d=new RegExp(p(a),"g");if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return c(null,e,u);if("object"==typeof e[0])return c(l||Object.keys(e[0]),e,u)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||l),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),c(e.fields||[],e.data||[],u);throw new Error("Unable to serialize unrecognized input");function c(e,t,r){var o="";"string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t));var a=Array.isArray(e)&&0<e.length,h=!Array.isArray(t[0]);if(a&&i){for(var u=0;u<e.length;u++)0<u&&(o+=s),o+=y(e[u],u);0<t.length&&(o+=n)}for(var l=0;l<t.length;l++){var f=a?e.length:t[l].length,d=!1,c=a?0===Object.keys(t[l]).length:0===t[l].length;if(r&&!a&&(d="greedy"===r?""===t[l].join("").trim():1===t[l].length&&0===t[l][0].length),"greedy"===r&&a){for(var p=[],g=0;g<f;g++){var m=h?e[g]:g;p.push(t[l][m])}d=""===p.join("").trim()}if(!d){for(var _=0;_<f;_++){0<_&&!c&&(o+=s);var v=a&&h?e[_]:_;o+=y(t[l][v],_)}l<t.length-1&&(!r||0<f&&!c)&&(o+=n)}}return o}function y(e,t){if(null==e)return"";if(e.constructor===Date)return JSON.stringify(e).slice(1,25);var i=!1;f&&"string"==typeof e&&f.test(e)&&(e="'"+e,i=!0);var n=e.toString().replace(d,h);return(i=i||!0===r||"function"==typeof r&&r(e,t)||Array.isArray(r)&&r[t]||function(e,t){for(var r=0;r<t.length;r++)if(-1<e.indexOf(t[r]))return!0;return!1}(n,o.BAD_DELIMITERS)||-1<n.indexOf(s)||" "===n.charAt(0)||" "===n.charAt(n.length-1))?a+n+a:n}}};if(o.RECORD_SEP=String.fromCharCode(30),o.UNIT_SEP=String.fromCharCode(31),o.BYTE_ORDER_MARK="\ufeff",o.BAD_DELIMITERS=["\r","\n",'"',o.BYTE_ORDER_MARK],o.WORKERS_SUPPORTED=!r&&!!t.Worker,o.NODE_STREAM_INPUT=1,o.LocalChunkSize=10485760,o.RemoteChunkSize=5242880,o.DefaultDelimiter=",",o.Parser=y,o.ParserHandle=c,o.NetworkStreamer=u,o.FileStreamer=l,o.StringStreamer=f,o.ReadableStreamStreamer=d,t.jQuery){var a=t.jQuery;a.fn.parse=function(e){var r=e.config||{},i=[];return this.each((function(e){if("INPUT"!==a(this).prop("tagName").toUpperCase()||"file"!==a(this).attr("type").toLowerCase()||!t.FileReader||!this.files||0===this.files.length)return!0;for(var s=0;s<this.files.length;s++)i.push({file:this.files[s],inputElem:this,instanceConfig:a.extend({},r)})})),s(),this;function s(){if(0!==i.length){var t,r,s,h,u=i[0];if(b(e.before)){var l=e.before(u.file,u.inputElem);if("object"==typeof l){if("abort"===l.action)return t="AbortError",r=u.file,s=u.inputElem,h=l.reason,void(b(e.error)&&e.error({name:t},r,s,h));if("skip"===l.action)return void n();"object"==typeof l.config&&(u.instanceConfig=a.extend(u.instanceConfig,l.config))}else if("skip"===l)return void n()}var f=u.instanceConfig.complete;u.instanceConfig.complete=function(e){b(f)&&f(e,u.file,u.inputElem),n()},o.parse(u.file,u.instanceConfig)}else b(e.complete)&&e.complete()}function n(){i.splice(0,1),s()}}}function h(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=v(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new c(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(e,r){if(this.isFirstChunk&&b(this._config.beforeFirstChunk)){var s=this._config.beforeFirstChunk(e);void 0!==s&&(e=s)}this.isFirstChunk=!1,this._halted=!1;var n=this._partialLine+e;this._partialLine="";var a=this._handle.parse(n,this._baseIndex,!this._finished);if(!this._handle.paused()&&!this._handle.aborted()){var h=a.meta.cursor;this._finished||(this._partialLine=n.substring(h-this._baseIndex),this._baseIndex=h),a&&a.data&&(this._rowCount+=a.data.length);var u=this._finished||this._config.preview&&this._rowCount>=this._config.preview;if(i)t.postMessage({results:a,workerId:o.WORKER_ID,finished:u});else if(b(this._config.chunk)&&!r){if(this._config.chunk(a,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);a=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(a.data),this._completeResults.errors=this._completeResults.errors.concat(a.errors),this._completeResults.meta=a.meta),this._completed||!u||!b(this._config.complete)||a&&a.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),u||a&&a.meta.paused||this._nextChunk(),a}this._halted=!0},this._sendError=function(e){b(this._config.error)?this._config.error(e):i&&this._config.error&&t.postMessage({workerId:o.WORKER_ID,error:e,finished:!1})}}function u(e){var t;(e=e||{}).chunkSize||(e.chunkSize=o.RemoteChunkSize),h.call(this,e),this._nextChunk=r?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),r||(t.onload=w(this._chunkLoaded,this),t.onerror=w(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!r),this._config.downloadRequestHeaders){var e=this._config.downloadRequestHeaders;for(var i in e)t.setRequestHeader(i,e[i])}if(this._config.chunkSize){var s=this._start+this._config.chunkSize-1;t.setRequestHeader("Range","bytes="+this._start+"-"+s)}try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}r&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:t.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(e){var t=e.getResponseHeader("Content-Range");return null===t?-1:parseInt(t.substring(t.lastIndexOf("/")+1))}(t),this.parseChunk(t.responseText)))},this._chunkError=function(e){var r=t.statusText||e;this._sendError(new Error(r))}}function l(e){var t,r;(e=e||{}).chunkSize||(e.chunkSize=o.LocalChunkSize),h.call(this,e);var i="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,i?((t=new FileReader).onload=w(this._chunkLoaded,this),t.onerror=w(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var e=this._input;if(this._config.chunkSize){var s=Math.min(this._start+this._config.chunkSize,this._input.size);e=r.call(e,this._start,s)}var n=t.readAsText(e,this._config.encoding);i||this._chunkLoaded({target:{result:n}})},this._chunkLoaded=function(e){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function f(e){var t;h.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var e,r=this._config.chunkSize;return r?(e=t.substring(0,r),t=t.substring(r)):(e=t,t=""),this._finished=!t,this.parseChunk(e)}}}function d(e){h.call(this,e=e||{});var t=[],r=!0,i=!1;this.pause=function(){h.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){h.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){i&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0},this._streamData=w((function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}}),this),this._streamError=w((function(e){this._streamCleanUp(),this._sendError(e)}),this),this._streamEnd=w((function(){this._streamCleanUp(),i=!0,this._streamData("")}),this),this._streamCleanUp=w((function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)}),this)}function c(e){var t,r,i,s=Math.pow(2,53),n=-s,a=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,h=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,u=this,l=0,f=0,d=!1,c=!1,g=[],m={data:[],errors:[],meta:{}};if(b(e.step)){var _=e.step;e.step=function(t){if(m=t,C())k();else{if(k(),0===m.data.length)return;l+=t.data.length,e.preview&&l>e.preview?r.abort():(m.data=m.data[0],_(m,u))}}}function w(t){return"greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function k(){return m&&i&&(K("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+o.DefaultDelimiter+"'"),i=!1),e.skipEmptyLines&&(m.data=m.data.filter((function(e){return!w(e)}))),C()&&function(){if(m)if(Array.isArray(m.data[0])){for(var t=0;C()&&t<m.data.length;t++)m.data[t].forEach(r);m.data.splice(0,1)}else m.data.forEach(r);function r(t,r){b(e.transformHeader)&&(t=e.transformHeader(t,r)),g.push(t)}}(),function(){if(!m||!e.header&&!e.dynamicTyping&&!e.transform)return m;function t(t,r){var i,s=e.header?{}:[];for(i=0;i<t.length;i++){var n=i,o=t[i];e.header&&(n=i>=g.length?"__parsed_extra":g[i]),e.transform&&(o=e.transform(o,n)),o=R(n,o),"__parsed_extra"===n?(s[n]=s[n]||[],s[n].push(o)):s[n]=o}return e.header&&(i>g.length?K("FieldMismatch","TooManyFields","Too many fields: expected "+g.length+" fields but parsed "+i,f+r):i<g.length&&K("FieldMismatch","TooFewFields","Too few fields: expected "+g.length+" fields but parsed "+i,f+r)),s}var r=1;return!m.data.length||Array.isArray(m.data[0])?(m.data=m.data.map(t),r=m.data.length):m.data=t(m.data,0),e.header&&m.meta&&(m.meta.fields=g),f+=r,m}()}function C(){return e.header&&0===g.length}function R(t,r){return i=t,e.dynamicTypingFunction&&void 0===e.dynamicTyping[i]&&(e.dynamicTyping[i]=e.dynamicTypingFunction(i)),!0===(e.dynamicTyping[i]||e.dynamicTyping)?"true"===r||"TRUE"===r||"false"!==r&&"FALSE"!==r&&(function(e){if(a.test(e)){var t=parseFloat(e);if(n<t&&t<s)return!0}return!1}(r)?parseFloat(r):h.test(r)?new Date(r):""===r?null:r):r;var i}function K(e,t,r,i){var s={type:e,code:t,message:r};void 0!==i&&(s.row=i),m.errors.push(s)}this.parse=function(s,n,a){var h=e.quoteChar||'"';if(e.newline||(e.newline=function(e,t){e=e.substring(0,1048576);var r=new RegExp(p(t)+"([^]*?)"+p(t),"gm"),i=(e=e.replace(r,"")).split("\r"),s=e.split("\n"),n=1<s.length&&s[0].length<i[0].length;if(1===i.length||n)return"\n";for(var o=0,a=0;a<i.length;a++)"\n"===i[a][0]&&o++;return o>=i.length/2?"\r\n":"\r"}(s,h)),i=!1,e.delimiter)b(e.delimiter)&&(e.delimiter=e.delimiter(s),m.meta.delimiter=e.delimiter);else{var u=function(t,r,i,s,n){var a,h,u,l;n=n||[",","\t","|",";",o.RECORD_SEP,o.UNIT_SEP];for(var f=0;f<n.length;f++){var d=n[f],c=0,p=0,g=0;u=void 0;for(var m=new y({comments:s,delimiter:d,newline:r,preview:10}).parse(t),_=0;_<m.data.length;_++)if(i&&w(m.data[_]))g++;else{var v=m.data[_].length;p+=v,void 0!==u?0<v&&(c+=Math.abs(v-u),u=v):u=v}0<m.data.length&&(p/=m.data.length-g),(void 0===h||c<=h)&&(void 0===l||l<p)&&1.99<p&&(h=c,a=d,l=p)}return{successful:!!(e.delimiter=a),bestDelimiter:a}}(s,e.newline,e.skipEmptyLines,e.comments,e.delimitersToGuess);u.successful?e.delimiter=u.bestDelimiter:(i=!0,e.delimiter=o.DefaultDelimiter),m.meta.delimiter=e.delimiter}var l=v(e);return e.preview&&e.header&&l.preview++,t=s,r=new y(l),m=r.parse(t,n,a),k(),d?{meta:{paused:!0}}:m||{meta:{paused:!1}}},this.paused=function(){return d},this.pause=function(){d=!0,r.abort(),t=b(e.chunk)?"":t.substring(r.getCharIndex())},this.resume=function(){u.streamer._halted?(d=!1,u.streamer.parseChunk(t,!0)):setTimeout(u.resume,3)},this.aborted=function(){return c},this.abort=function(){c=!0,r.abort(),m.meta.aborted=!0,b(e.complete)&&e.complete(m),t=""}}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function y(e){var t,r=(e=e||{}).delimiter,i=e.newline,s=e.comments,n=e.step,a=e.preview,h=e.fastMode,u=t=void 0===e.quoteChar||null===e.quoteChar?'"':e.quoteChar;if(void 0!==e.escapeChar&&(u=e.escapeChar),("string"!=typeof r||-1<o.BAD_DELIMITERS.indexOf(r))&&(r=","),s===r)throw new Error("Comment character same as delimiter");!0===s?s="#":("string"!=typeof s||-1<o.BAD_DELIMITERS.indexOf(s))&&(s=!1),"\n"!==i&&"\r"!==i&&"\r\n"!==i&&(i="\n");var l=0,f=!1;this.parse=function(o,d,c){if("string"!=typeof o)throw new Error("Input must be a string");var y=o.length,g=r.length,m=i.length,_=s.length,v=b(n),w=[],k=[],C=[],R=l=0;if(!o)return J();if(e.header&&!d){var K=o.split(i)[0].split(r),E=[],O={},x=!1;for(var S in K){var A=K[S];b(e.transformHeader)&&(A=e.transformHeader(A,S));var I=A,T=O[A]||0;for(0<T&&(x=!0,I=A+"_"+T),O[A]=T+1;E.includes(I);)I=I+"_"+T;E.push(I)}if(x){var D=o.split(i);D[0]=E.join(r),o=D.join(i)}}if(h||!1!==h&&-1===o.indexOf(t)){for(var F=o.split(i),L=0;L<F.length;L++){if(C=F[L],l+=C.length,L!==F.length-1)l+=i.length;else if(c)return J();if(!s||C.substring(0,_)!==s){if(v){if(w=[],N(C.split(r)),Q(),f)return J()}else N(C.split(r));if(a&&a<=L)return w=w.slice(0,a),J(!0)}}return J()}for(var P=o.indexOf(r,l),j=o.indexOf(i,l),z=new RegExp(p(u)+p(t),"g"),M=o.indexOf(t,l);;)if(o[l]!==t)if(s&&0===C.length&&o.substring(l,l+_)===s){if(-1===j)return J();l=j+m,j=o.indexOf(i,l),P=o.indexOf(r,l)}else if(-1!==P&&(P<j||-1===j))C.push(o.substring(l,P)),l=P+g,P=o.indexOf(r,l);else{if(-1===j)break;if(C.push(o.substring(l,j)),H(j+m),v&&(Q(),f))return J();if(a&&w.length>=a)return J(!0)}else for(M=l,l++;;){if(-1===(M=o.indexOf(t,M+1)))return c||k.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:w.length,index:l}),W();if(M===y-1)return W(o.substring(l,M).replace(z,t));if(t!==u||o[M+1]!==u){if(t===u||0===M||o[M-1]!==u){-1!==P&&P<M+1&&(P=o.indexOf(r,M+1)),-1!==j&&j<M+1&&(j=o.indexOf(i,M+1));var U=B(-1===j?P:Math.min(P,j));if(o.substr(M+1+U,g)===r){C.push(o.substring(l,M).replace(z,t)),o[l=M+1+U+g]!==t&&(M=o.indexOf(t,l)),P=o.indexOf(r,l),j=o.indexOf(i,l);break}var q=B(j);if(o.substring(M+1+q,M+1+q+m)===i){if(C.push(o.substring(l,M).replace(z,t)),H(M+1+q+m),P=o.indexOf(r,l),M=o.indexOf(t,l),v&&(Q(),f))return J();if(a&&w.length>=a)return J(!0);break}k.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:w.length,index:l}),M++}}else M++}return W();function N(e){w.push(e),R=l}function B(e){var t=0;if(-1!==e){var r=o.substring(M+1,e);r&&""===r.trim()&&(t=r.length)}return t}function W(e){return c||(void 0===e&&(e=o.substring(l)),C.push(e),l=y,N(C),v&&Q()),J()}function H(e){l=e,N(C),C=[],j=o.indexOf(i,l)}function J(e){return{data:w,errors:k,meta:{delimiter:r,linebreak:i,aborted:f,truncated:!!e,cursor:R+(d||0)}}}function Q(){n(J()),w=[],k=[]}},this.abort=function(){f=!0},this.getCharIndex=function(){return l}}function g(e){var t=e.data,r=s[t.workerId],i=!1;if(t.error)r.userError(t.error,t.file);else if(t.results&&t.results.data){var n={abort:function(){i=!0,m(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:_,resume:_};if(b(r.userStep)){for(var o=0;o<t.results.data.length&&(r.userStep({data:t.results.data[o],errors:t.results.errors,meta:t.results.meta},n),!i);o++);delete t.results}else b(r.userChunk)&&(r.userChunk(t.results,n,t.file),delete t.results)}t.finished&&!i&&m(t.workerId,t.results)}function m(e,t){var r=s[e];b(r.userComplete)&&r.userComplete(t),r.terminate(),delete s[e]}function _(){throw new Error("Not implemented.")}function v(e){if("object"!=typeof e||null===e)return e;var t=Array.isArray(e)?[]:{};for(var r in e)t[r]=v(e[r]);return t}function w(e,t){return function(){e.apply(t,arguments)}}function b(e){return"function"==typeof e}return i&&(t.onmessage=function(e){var r=e.data;if(void 0===o.WORKER_ID&&r&&(o.WORKER_ID=r.workerId),"string"==typeof r.input)t.postMessage({workerId:o.WORKER_ID,results:o.parse(r.input,r.config),finished:!0});else if(t.File&&r.input instanceof File||r.input instanceof Object){var i=o.parse(r.input,r.config);i&&t.postMessage({workerId:o.WORKER_ID,results:i,finished:!0})}}),(u.prototype=Object.create(h.prototype)).constructor=u,(l.prototype=Object.create(h.prototype)).constructor=l,(f.prototype=Object.create(f.prototype)).constructor=f,(d.prototype=Object.create(h.prototype)).constructor=d,o}()}(t);var i=e(t.exports),s=/^\s*-?(\d*\.?\d+|\d+\.?\d*)(e[-+]?\d+)?\s*$/i,n=/^0x[0-9A-F]+$/i,o=function(e){if("string"!=typeof e)return e;if(""===e)e=null;else if(s.test(e))e=parseFloat(e);else if(n.test(e))e=parseInt(e,16);else switch(e){case"false":e=!1;break;case"true":e=!0;break;case"null":e=null;break;case"undefined":e=void 0}return e};const a=Phaser.Utils.Objects.GetValue;class h{constructor(e){this.resetFromJSON(e)}resetFromJSON(e){return this.table=a(e,"table",{}),this.rowKeys=a(e,"row",[]),this.colKeys=a(e,"col",[]),this.cursor=a(e,"cursor",{}),this}toJSON(){return{table:this.table,row:this.rowKeys,col:this.colKeys,cursor:this.cursor}}shutdown(){this.table=void 0,this.rowKeys=void 0,this.colKeys=void 0,this.cursor=void 0}destroy(){this.shutdown()}loadCSV(e,t){var r=a(t,"delimiter",","),s=a(t,"convert",!0),n=a(t,"convertScope",void 0);s?!0===s&&(s=o,n=void 0):(s=void 0,n=void 0);for(var h=i.parse(e,{delimiter:r}).data,u=h[0],l=0,f=u.length;l<f;l++){var d=u[l];-1===this.colKeys.indexOf(d)&&this.colKeys.push(d)}var c=h.map((function(e){return e[0]}));c.shift();for(l=0,f=c.length;l<f;l++){var p=c[l];-1===this.rowKeys.indexOf(p)&&this.rowKeys.push(p)}for(var y,g,m=this.table,_=0,v=c.length;_<v;_++){p=c[_],m.hasOwnProperty(p)||(m[p]={}),y=m[p];for(var w=0,b=u.length;w<b;w++)g=h[_+1][w],d=u[w],s&&(g=n?s.call(n,g,p,d,this):s(g,p,d,this)),y[d]=g}return this.setCursor("",""),this}clear(){var e=this.table;for(var t in e)delete e[t];return this.rowKeys.length=0,this.colKeys.length=0,this}get(e,t){"number"==typeof e&&(e=this.rowKeys[e]),"number"==typeof t&&(t=this.colKeys[t]);var r=void 0,i=this.table;if(i.hasOwnProperty(e)){var s=i[e];s.hasOwnProperty(t)&&(r=s[t])}return this.setCursor(e,t),r}set(e,t,r){"number"==typeof e&&(e=this.rowKeys[e]),"number"==typeof t&&(t=this.colKeys[t]);var i=this.table;if(i.hasOwnProperty(e)){var s=i[e];s.hasOwnProperty(t)&&(s[t]=r)}return this.setCursor(e,t),this}add(e,t,r){"number"==typeof e&&(e=this.rowKeys[e]),"number"==typeof t&&(t=this.colKeys[t]);var i=this.table;if(i.hasOwnProperty(e)){var s=i[e];s.hasOwnProperty(t)&&(s[t]+=r)}return this.setCursor(e,t),this}hasRowKey(e){return"number"==typeof e?this.rowKeys.length>e:-1!==this.rowKeys.indexOf(e)}hasColKey(e){return"number"==typeof e?this.colKeys.length>e:-1!==this.colKeys.indexOf(e)}hasKey(e,t){return this.hasRowKey(e)&&this.hasColKey(t)}isValueInRol(e,t){if(!this.hasRowKey(e))return!1;"number"==typeof e&&(e=this.rowKeys[e]);for(var r=this.table[e],i=this.colKeys,s=0,n=i.length;s<n;s++)if(r[i[s]]===t)return!0;return!1}isValueInCol(e,t){if(!this.hasColKey(e))return!1;"number"==typeof e&&(e=this.colKeys[e]);for(var r=this.table,i=0,s=this.rowKeys.length;i<s;i++)if(r[undefined][e]===t)return!0;return!1}appendRow(e,t,r){if(this.hasRowKey(e))return this;"number"==typeof e&&(e=this.rowKeys[e]);var i="function"==typeof t,s=i?void 0:t;this.rowKeys.push(e);var n={};this.table[e]=n;for(var o,a,h=this.colKeys,u=0,l=h.length;u<l;u++)o=h[u],a=i?r?t.call(r,this,e,o):t(this,e,o):s,n[o]=a;return this}appendCol(e,t,r){if(this.hasColKey(e))return this;"number"==typeof e&&(e=this.colKeys[e]);var i="function"==typeof t,s=i?void 0:t;this.colKeys.push(e);for(var n,o,a=this.table,h=this.rowKeys,u=0,l=h.length;u<l;u++)n=h[u],o=i?r?t.call(r,this,n,e):t(this,n,e):s,a[n][e]=o;return this}removeRol(e){var t;return-1===(t="number"==typeof e?this.rowKeys.length>e?e:-1:this.rowKeys.indexOf(e))||(this.rowKeys.splice(t,1),delete this.table[e]),this}removeCol(e){var t;if(-1===(t="number"==typeof e?this.colKeys.length>e?e:-1:this.colKeys.indexOf(e)))return this;this.colKeys.splice(t,1);for(var r=this.table,i=this.rowKeys,s=0,n=i.length;s<n;s++)delete r[i[s]][e];return this}eachRow(e,t,r){"number"==typeof e&&(e=this.colKeys[e]);for(var i,s,n=this.rowKeys,o=this.hasColKey(e),a=0,h=n.length;a<h;a++)i=n[a],o&&(s=this.get(i,e)),r?t.call(r,this,i,e,s):t(this,i,e,s);return this}eachCol(e,t,r){"number"==typeof e&&(e=this.rowKeys[e]);for(var i,s,n=this.colKeys,o=this.hasRowKey(e),a=0,h=n.length;a<h;a++)i=n[a],o&&(s=this.get(e,i)),r?t.call(r,this,e,i,s):t(r,this,e,i,s);return this}convertCol(e,t,r){if("number"==typeof e&&(e=this.colKeys[e]),void 0===t&&(t=o),Array.isArray(e)){for(var i=0,s=e.length;i<s;i++)this.convertCol(e[i],t,r);return this}if(!this.hasColKey(e))return this;for(var n,a,h,u=this.table,l=this.rowKeys,f=0,d=l.length;f<d;f++)h=(n=u[a=l[f]])[e],h=r?t.call(r,this,a,e,h):t(this,a,e,h),n[e]=h;return this}convertRow(e,t,i){if("number"==typeof e&&(e=this.rowKeys[e]),void 0===t&&(t=o),Array.isArray(e)){for(var s=0,n=e.length;s<n;s++)this.convertRow(e[s],t,i);return this}for(var a,h,u=this.table[e],l=this.colKeys,f=0,d=l.length;f<d;f++)h=u[a=l[r]],h=i?t.call(i,this,e,a,h):t(this,e,a,h),u[a]=h;return this}get curColKey(){return this.cursor.colKey}get curRowKey(){return this.cursor.rowKey}nextColKey(e,t){void 0===e&&(e=this.cursor.colKey),void 0===t&&(t=1);var r=this.colKeys,i=r.indexOf(e);if(-1!==i)return r[i+t]}nextRowKey(e,t){void 0===e&&(e=this.cursor.rowKey);var r=this.rowKeys,i=r.indexOf(e);if(-1!==i)return r[i+1]}previousColKey(e,t){return void 0===t&&(t=1),t=-t,this.nextColKey(e,t)}previousRowKey(e,t){return void 0===t&&(t=1),t=-t,this.nextRowlKey(e,t)}sortCol(e,t){if("function"==typeof e)t&&(e=e.bind(t));else{var r=e;if(!this.hasColKey(r))return this;var i=t;"string"==typeof i&&(i=u[i]);var s=this;e=function(e,t){var n,o=s.get(e,r),a=s.get(t,r);switch(i>=2&&(o=parseFloat(o),a=parseFloat(a)),i){case 0:case 2:n=o>a?1:o<a?-1:0;break;case 1:case 3:n=o<a?1:o>a?-1:0}return n}}return this.rowKeys.sort(e),this}sortRow(e,t){if("function"==typeof e)t&&(e=e.bind(t));else{var r=e;if(!this.hasRowKey(r))return this;var i=t;"string"==typeof i&&(i=u[i]);var s=this;e=function(e,t){var n,o=s.get(r,e),a=s.get(r,t);switch(i>=2&&(o=parseFloat(o),a=parseFloat(a)),i){case 0:case 2:n=o>a?1:o<a?-1:0;break;case 1:case 3:n=o<a?1:o>a?-1:0}return n}}return this.colKeys.sort(e),this}setCursor(e,t){var r=this.cursor;return r.rowKey=e,r.colKey=t,this}}const u={ascending:0,descending:1,"logical ascending":2,"logical descending":3};class l extends Phaser.Plugins.BasePlugin{constructor(e){super(e)}start(){this.game.events.on("destroy",this.destroy,this)}add(e){return new h(e)}}return l}));