UNPKG

19 kBJavaScriptView Raw
1var cr=Object.create,W=Object.defineProperty,fr=Object.getPrototypeOf,lr=Object.prototype.hasOwnProperty,dr=Object.getOwnPropertyNames,pr=Object.getOwnPropertyDescriptor;var hr=r=>W(r,"__esModule",{value:!0});var d=(r,e)=>()=>(e||(e={exports:{}},r(e.exports,e)),e.exports);var kr=(r,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of dr(e))!lr.call(r,o)&&o!=="default"&&W(r,o,{get:()=>e[o],enumerable:!(t=pr(e,o))||t.enumerable});return r},F=r=>kr(hr(W(r!=null?cr(fr(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r);var E=d((exports,module)=>{var requireFoolWebpack=eval(`typeof require !== 'undefined' ? require : function (module) { throw new Error('Module " + module + " not found.') }`);module.exports=requireFoolWebpack});var g=d((jr,h)=>{var L=E(),N=function(r){return typeof r!="undefined"&&r.versions!=null&&r.versions.node!=null};h.exports.isNode=N;h.exports.platform=typeof process!="undefined"&&N(process)?"node":"browser";var S=wr("worker_threads");h.exports.isMainThread=h.exports.platform==="node"?(!S||S.isMainThread)&&!process.connected:typeof Window!="undefined";h.exports.cpus=h.exports.platform==="browser"?self.navigator.hardwareConcurrency:L("os").cpus().length;function wr(r){try{return L(r)}catch(e){return null}}});var b=d((Ar,D)=>{"use strict";function f(r,e){var t=this;if(!(this instanceof f))throw new SyntaxError("Constructor must be called with the new operator");if(typeof r!="function")throw new SyntaxError("Function parameter handler(resolve, reject) missing");var o=[],n=[];this.resolved=!1,this.rejected=!1,this.pending=!0;var u=function(s,a){o.push(s),n.push(a)};this.then=function(s,a){return new f(function(w,x){var ur=s?U(s,w,x):w,ar=a?U(a,w,x):x;u(ur,ar)},t)};var c=function(s){return t.resolved=!0,t.rejected=!1,t.pending=!1,o.forEach(function(a){a(s)}),u=function(a,w){a(s)},c=i=function(){},t},i=function(s){return t.resolved=!1,t.rejected=!0,t.pending=!1,n.forEach(function(a){a(s)}),u=function(a,w){w(s)},c=i=function(){},t};this.cancel=function(){return e?e.cancel():i(new y),t},this.timeout=function(s){if(e)e.timeout(s);else{var a=setTimeout(function(){i(new v("Promise timed out after "+s+" ms"))},s);t.always(function(){clearTimeout(a)})}return t},r(function(s){c(s)},function(s){i(s)})}function U(r,e,t){return function(o){try{var n=r(o);n&&typeof n.then=="function"&&typeof n.catch=="function"?n.then(e,t):e(n)}catch(u){t(u)}}}f.prototype.catch=function(r){return this.then(null,r)};f.prototype.always=function(r){return this.then(r,r)};f.all=function(r){return new f(function(e,t){var o=r.length,n=[];o?r.forEach(function(u,c){u.then(function(i){n[c]=i,o--,o==0&&e(n)},function(i){o=0,t(i)})}):e(n)})};f.defer=function(){var r={};return r.promise=new f(function(e,t){r.resolve=e,r.reject=t}),r};function y(r){this.message=r||"promise cancelled",this.stack=new Error().stack}y.prototype=new Error;y.prototype.constructor=Error;y.prototype.name="CancellationError";f.CancellationError=y;function v(r){this.message=r||"timeout exceeded",this.stack=new Error().stack}v.prototype=new Error;v.prototype.constructor=Error;v.prototype.name="TimeoutError";f.TimeoutError=v;D.exports=f});var C=d((Ir,H)=>{H.exports=`!function(){var __webpack_exports__={};!function(){var exports=__webpack_exports__,__webpack_unused_export__;function _typeof(r){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r})(r)}var requireFoolWebpack=eval("typeof require !== 'undefined' ? require : function (module) { throw new Error('Module \\" + module + \\" not found.') }"),TERMINATE_METHOD_ID="__workerpool-terminate__",worker={exit:function(){}},WorkerThreads,parentPort;if("undefined"!=typeof self&&"function"==typeof postMessage&&"function"==typeof addEventListener)worker.on=function(r,e){addEventListener(r,function(r){e(r.data)})},worker.send=function(r){postMessage(r)};else{if("undefined"==typeof process)throw new Error("Script must be executed as a worker");try{WorkerThreads=requireFoolWebpack("worker_threads")}catch(error){if("object"!==_typeof(error)||null===error||"MODULE_NOT_FOUND"!==error.code)throw error}WorkerThreads&&null!==WorkerThreads.parentPort?(parentPort=WorkerThreads.parentPort,worker.send=parentPort.postMessage.bind(parentPort),worker.on=parentPort.on.bind(parentPort)):(worker.on=process.on.bind(process),worker.send=process.send.bind(process),worker.on("disconnect",function(){process.exit(1)}),worker.exit=process.exit.bind(process))}function convertError(o){return Object.getOwnPropertyNames(o).reduce(function(r,e){return Object.defineProperty(r,e,{value:o[e],enumerable:!0})},{})}function isPromise(r){return r&&"function"==typeof r.then&&"function"==typeof r.catch}worker.methods={},worker.methods.run=function(r,e){r=new Function("return ("+r+").apply(null, arguments);");return r.apply(r,e)},worker.methods.methods=function(){return Object.keys(worker.methods)};var currentRequestId=null;worker.on("message",function(e){if(e===TERMINATE_METHOD_ID)return worker.exit(0);try{var r=worker.methods[e.method];if(!r)throw new Error('Unknown method "'+e.method+'"');currentRequestId=e.id;var o=r.apply(r,e.params);isPromise(o)?o.then(function(r){worker.send({id:e.id,result:r,error:null}),currentRequestId=null}).catch(function(r){worker.send({id:e.id,result:null,error:convertError(r)}),currentRequestId=null}):(worker.send({id:e.id,result:o,error:null}),currentRequestId=null)}catch(r){worker.send({id:e.id,result:null,error:convertError(r)})}}),worker.register=function(r){if(r)for(var e in r)r.hasOwnProperty(e)&&(worker.methods[e]=r[e]);worker.send("ready")},worker.emit=function(r){currentRequestId&&worker.send({id:currentRequestId,isEvent:!0,payload:r})},__webpack_unused_export__=worker.register,__webpack_unused_export__=worker.emit}()}();`});var X=d((Rr,k)=>{"use strict";var _=b(),B=g(),T=E(),Q="__workerpool-terminate__",mr=1e3;function z(){var r=O();if(!r)throw new Error("WorkerPool: workerType = 'thread' is not supported, Node >= 11.7.0 required");return r}function $(){if(typeof Worker!="function"&&(typeof Worker!="object"||typeof Worker.prototype.constructor!="function"))throw new Error("WorkerPool: Web Workers not supported")}function O(){try{return T("worker_threads")}catch(r){if(typeof r=="object"&&r!==null&&r.code==="MODULE_NOT_FOUND")return null;throw r}}function yr(){if(B.platform==="browser"){if(typeof Blob=="undefined")throw new Error("Blob not supported by the browser");if(!window.URL||typeof window.URL.createObjectURL!="function")throw new Error("URL.createObjectURL not supported by the browser");var r=new Blob([C()],{type:"text/javascript"});return window.URL.createObjectURL(r)}else return __dirname+"/worker.js"}function vr(r,e){if(e.workerType==="web")return $(),P(r,Worker);if(e.workerType==="thread")return t=z(),q(r,t);if(e.workerType==="process"||!e.workerType)return M(r,G(e),T("child_process"));if(B.platform==="browser")return $(),P(r,Worker);var t=O();return t?q(r,t):M(r,G(e),T("child_process"))}function P(r,e){var t=new e(r);return t.isBrowserWorker=!0,t.on=function(o,n){this.addEventListener(o,function(u){n(u.data)})},t.send=function(o){this.postMessage(o)},t}function q(r,e){var t=new e.Worker(r,{stdout:!1,stderr:!1});return t.isWorkerThread=!0,t.send=function(o){this.postMessage(o)},t.kill=function(){return this.terminate(),!0},t.disconnect=function(){this.terminate()},t}function M(r,e,t){var o=t.fork(r,e.forkArgs,e.forkOpts);return o.isChildProcess=!0,o}function G(r){r=r||{};var e=process.execArgv.join(" "),t=e.indexOf("--inspect")!==-1,o=e.indexOf("--debug-brk")!==-1,n=[];return t&&(n.push("--inspect="+r.debugPort),o&&n.push("--debug-brk")),process.execArgv.forEach(function(u){u.indexOf("--max-old-space-size")>-1&&n.push(u)}),Object.assign({},r,{forkArgs:r.forkArgs,forkOpts:Object.assign({},r.forkOpts,{execArgv:(r.forkOpts&&r.forkOpts.execArgv||[]).concat(n)})})}function gr(r){for(var e=new Error(""),t=Object.keys(r),o=0;o<t.length;o++)e[t[o]]=r[t[o]];return e}function m(r,e){var t=this,o=e||{};this.script=r||yr(),this.worker=vr(this.script,o),this.debugPort=o.debugPort,r||(this.worker.ready=!0),this.requestQueue=[],this.worker.on("message",function(i){if(!t.terminated)if(typeof i=="string"&&i==="ready")t.worker.ready=!0,u();else{var s=i.id,a=t.processing[s];a!==void 0&&(i.isEvent?a.options&&typeof a.options.on=="function"&&a.options.on(i.payload):(delete t.processing[s],t.terminating===!0&&t.terminate(),i.error?a.resolver.reject(gr(i.error)):a.resolver.resolve(i.result)))}});function n(i){t.terminated=!0;for(var s in t.processing)t.processing[s]!==void 0&&t.processing[s].resolver.reject(i);t.processing=Object.create(null)}function u(){for(let i of t.requestQueue.splice(0))t.worker.send(i)}var c=this.worker;this.worker.on("error",n),this.worker.on("exit",function(i,s){var a=`Workerpool Worker terminated Unexpectedly
2`;a+=" exitCode: `"+i+"`\n",a+=" signalCode: `"+s+"`\n",a+=" workerpool.script: `"+t.script+"`\n",a+=" spawnArgs: `"+c.spawnargs+"`\n",a+=" spawnfile: `"+c.spawnfile+"`\n",a+=" stdout: `"+c.stdout+"`\n",a+=" stderr: `"+c.stderr+"`\n",n(new Error(a))}),this.processing=Object.create(null),this.terminating=!1,this.terminated=!1,this.terminationHandler=null,this.lastId=0}m.prototype.methods=function(){return this.exec("methods")};m.prototype.exec=function(r,e,t,o){t||(t=_.defer());var n=++this.lastId;this.processing[n]={id:n,resolver:t,options:o};var u={id:n,method:r,params:e};this.terminated?t.reject(new Error("Worker is terminated")):this.worker.ready?this.worker.send(u):this.requestQueue.push(u);var c=this;return t.promise.catch(function(i){if(i instanceof _.CancellationError||i instanceof _.TimeoutError)return delete c.processing[n],c.terminateAndNotify(!0).then(function(){throw i},function(s){throw s});throw i})};m.prototype.busy=function(){return Object.keys(this.processing).length>0};m.prototype.terminate=function(r,e){var t=this;if(r){for(var o in this.processing)this.processing[o]!==void 0&&this.processing[o].resolver.reject(new Error("Worker terminated"));this.processing=Object.create(null)}if(typeof e=="function"&&(this.terminationHandler=e),this.busy())this.terminating=!0;else{var n=function(c){if(t.terminated=!0,t.worker!=null&&t.worker.removeAllListeners&&t.worker.removeAllListeners("message"),t.worker=null,t.terminating=!1,t.terminationHandler)t.terminationHandler(c,t);else if(c)throw c};if(this.worker)if(typeof this.worker.kill=="function"){if(this.worker.killed){n(new Error("worker already killed!"));return}if(this.worker.isChildProcess){var u=setTimeout(function(){t.worker.kill()},mr);this.worker.once("exit",function(){clearTimeout(u),t.worker.killed=!0,n()}),this.worker.ready?this.worker.send(Q):this.worker.requestQueue.push(Q)}else this.worker.kill(),this.worker.killed=!0,n();return}else if(typeof this.worker.terminate=="function")this.worker.terminate(),this.worker.killed=!0;else throw new Error("Failed to terminate worker");n()}};m.prototype.terminateAndNotify=function(r,e){var t=_.defer();return e&&(t.promise.timeout=e),this.terminate(r,function(o,n){o?t.reject(o):t.resolve(n)}),t.promise};k.exports=m;k.exports._tryRequireWorkerThreads=O;k.exports._setupProcessWorker=M;k.exports._setupBrowserWorker=P;k.exports._setupWorkerThreadWorker=q;k.exports.ensureWorkerThreads=z});var V=d((Fr,J)=>{"use strict";var K=65535;J.exports=j;function j(){this.ports=Object.create(null),this.length=0}j.prototype.nextAvailableStartingAt=function(r){for(;this.ports[r]===!0;)r++;if(r>=K)throw new Error("WorkerPool debug port limit reached: "+r+">= "+K);return this.ports[r]=!0,this.length++,r};j.prototype.releasePort=function(r){delete this.ports[r],this.length--}});var or=d((Lr,Y)=>{var A=b(),Z=X(),br=g(),_r=V(),rr=new _r;function l(r,e){typeof r=="string"?this.script=r||null:(this.script=null,e=r),this.workers=[],this.tasks=[],e=e||{},this.forkArgs=e.forkArgs||[],this.forkOpts=e.forkOpts||{},this.debugPortStart=e.debugPortStart||43210,this.nodeWorker=e.nodeWorker,this.workerType=e.workerType||e.nodeWorker||"auto",this.maxQueueSize=e.maxQueueSize||Infinity,e&&"maxWorkers"in e?(xr(e.maxWorkers),this.maxWorkers=e.maxWorkers):this.maxWorkers=Math.max((br.cpus||4)-1,1),e&&"minWorkers"in e&&(e.minWorkers==="max"?this.minWorkers=this.maxWorkers:(Wr(e.minWorkers),this.minWorkers=e.minWorkers,this.maxWorkers=Math.max(this.minWorkers,this.maxWorkers)),this._ensureMinWorkers()),this._boundNext=this._next.bind(this),this.workerType==="thread"&&Z.ensureWorkerThreads()}l.prototype.exec=function(r,e,t){if(e&&!Array.isArray(e))throw new TypeError('Array expected as argument "params"');if(typeof r=="string"){var o=A.defer();if(this.tasks.length>=this.maxQueueSize)throw new Error("Max queue size of "+this.maxQueueSize+" reached");var n=this.tasks,u={method:r,params:e,resolver:o,timeout:null,options:t};n.push(u);var c=o.promise.timeout;return o.promise.timeout=function(s){return n.indexOf(u)!==-1?(u.timeout=s,o.promise):c.call(o.promise,s)},this._next(),o.promise}else{if(typeof r=="function")return this.exec("run",[String(r),e]);throw new TypeError('Function or string expected as argument "method"')}};l.prototype.proxy=function(){if(arguments.length>0)throw new Error("No arguments expected");var r=this;return this.exec("methods").then(function(e){var t={};return e.forEach(function(o){t[o]=function(){return r.exec(o,Array.prototype.slice.call(arguments))}}),t})};l.prototype._next=function(){if(this.tasks.length>0){var r=this._getWorker();if(r){var e=this,t=this.tasks.shift();if(t.resolver.promise.pending){var o=r.exec(t.method,t.params,t.resolver,t.options).then(e._boundNext).catch(function(){if(r.terminated)return e._removeWorker(r)}).then(function(){e._next()});typeof t.timeout=="number"&&o.timeout(t.timeout)}else e._next()}}};l.prototype._getWorker=function(){for(var r=this.workers,e=0;e<r.length;e++){var t=r[e];if(t.busy()===!1)return t}return r.length<this.maxWorkers?(t=this._createWorkerHandler(),r.push(t),t):null};l.prototype._removeWorker=function(r){return rr.releasePort(r.debugPort),this._removeWorkerFromList(r),this._ensureMinWorkers(),new A(function(e,t){r.terminate(!1,function(o){o?t(o):e(r)})})};l.prototype._removeWorkerFromList=function(r){var e=this.workers.indexOf(r);e!==-1&&this.workers.splice(e,1)};l.prototype.terminate=function(r,e){this.tasks.forEach(function(c){c.resolver.reject(new Error("Pool terminated"))}),this.tasks.length=0;var t=function(c){this._removeWorkerFromList(c)},o=t.bind(this),n=[],u=this.workers.slice();return u.forEach(function(c){var i=c.terminateAndNotify(r,e).then(o);n.push(i)}),A.all(n)};l.prototype.stats=function(){var r=this.workers.length,e=this.workers.filter(function(t){return t.busy()}).length;return{totalWorkers:r,busyWorkers:e,idleWorkers:r-e,pendingTasks:this.tasks.length,activeTasks:e}};l.prototype._ensureMinWorkers=function(){if(this.minWorkers)for(var r=this.workers.length;r<this.minWorkers;r++)this.workers.push(this._createWorkerHandler())};l.prototype._createWorkerHandler=function(){return new Z(this.script,{forkArgs:this.forkArgs,forkOpts:this.forkOpts,debugPort:rr.nextAvailableStartingAt(this.debugPortStart),workerType:this.workerType})};function xr(r){if(!er(r)||!tr(r)||r<1)throw new TypeError("Option maxWorkers must be an integer number >= 1")}function Wr(r){if(!er(r)||!tr(r)||r<0)throw new TypeError("Option minWorkers must be an integer number >= 0")}function er(r){return typeof r=="number"}function tr(r){return Math.round(r)==r}Y.exports=l});var I=d((exports,module)=>{var requireFoolWebpack=eval(`typeof require !== 'undefined' ? require : function (module) { throw new Error('Module " + module + " not found.') }`),TERMINATE_METHOD_ID="__workerpool-terminate__",worker={exit:function(){}};if(typeof self!="undefined"&&typeof postMessage=="function"&&typeof addEventListener=="function")worker.on=function(r,e){addEventListener(r,function(t){e(t.data)})},worker.send=function(r){postMessage(r)};else if(typeof process!="undefined"){try{WorkerThreads=requireFoolWebpack("worker_threads")}catch(r){if(!(typeof r=="object"&&r!==null&&r.code==="MODULE_NOT_FOUND"))throw r}WorkerThreads&&WorkerThreads.parentPort!==null?(parentPort=WorkerThreads.parentPort,worker.send=parentPort.postMessage.bind(parentPort),worker.on=parentPort.on.bind(parentPort)):(worker.on=process.on.bind(process),worker.send=process.send.bind(process),worker.on("disconnect",function(){process.exit(1)}),worker.exit=process.exit.bind(process))}else throw new Error("Script must be executed as a worker");var WorkerThreads,parentPort;function convertError(r){return Object.getOwnPropertyNames(r).reduce(function(e,t){return Object.defineProperty(e,t,{value:r[t],enumerable:!0})},{})}function isPromise(r){return r&&typeof r.then=="function"&&typeof r.catch=="function"}worker.methods={};worker.methods.run=function(e,t){var o=new Function("return ("+e+").apply(null, arguments);");return o.apply(o,t)};worker.methods.methods=function(){return Object.keys(worker.methods)};var currentRequestId=null;worker.on("message",function(r){if(r===TERMINATE_METHOD_ID)return worker.exit(0);try{var e=worker.methods[r.method];if(e){currentRequestId=r.id;var t=e.apply(e,r.params);isPromise(t)?t.then(function(o){worker.send({id:r.id,result:o,error:null}),currentRequestId=null}).catch(function(o){worker.send({id:r.id,result:null,error:convertError(o)}),currentRequestId=null}):(worker.send({id:r.id,result:t,error:null}),currentRequestId=null)}else throw new Error('Unknown method "'+r.method+'"')}catch(o){worker.send({id:r.id,result:null,error:convertError(o)})}});worker.register=function(r){if(r)for(var e in r)r.hasOwnProperty(e)&&(worker.methods[e]=r[e]);worker.send("ready")};worker.emit=function(r){currentRequestId&&worker.send({id:currentRequestId,isEvent:!0,payload:r})};typeof exports!="undefined"&&(exports.add=worker.register,exports.emit=worker.emit)});var nr=d(p=>{var R=g();p.pool=function(e,t){var o=or();return new o(e,t)};p.worker=function(e){var t=I();t.add(e)};p.workerEmit=function(e){var t=I();t.emit(e)};p.Promise=b();p.platform=R.platform;p.isMainThread=R.isMainThread;p.cpus=R.cpus});var ir=F(require("./compiler.imba.js")),sr=F(require("./scripts/bootstrap.compiler.js"));function Er(r){let e;return r?(e=r.toIterable)?e.call(r):r:[]}var Tr=Symbol.for("#lineText"),Or=nr(),Sr=Math.random();function Pr(r,e){let t={id:e.sourceId},o=null;try{o=(0,ir.compile)(r,e)}catch(u){console.log("ERROR COMPILING IMBA",u,e.sourcePath),o={}}for(let u=0,c=Er(o.diagnostics),i=c.length;u<i;u++){let s=c[u];s.lineText=s[Tr]}o.warnings&&(t.warnings=o.warnings),o.errors&&(t.errors=o.errors);let n=o.js;return t.js=n,t.css=o.css,t}function qr(r,e){e.target=="browser"&&(e.target="web");let t={id:e.sourceId,warnings:[],errors:[]},n=sr.default.compile(r,e).js;return n.indexOf("$_ =")>0&&(n=`var $_;
3`+n),t.js=n,t}Or.worker({compile_imba:Pr,compile_imba1:qr});