-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathworker.js
More file actions
1 lines (1 loc) · 3.97 KB
/
worker.js
File metadata and controls
1 lines (1 loc) · 3.97 KB
1
"no use strict";(function(window){if(typeof window.window!="undefined"&&window.document)return;if(window.require&&window.define)return;if(!window.console){window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:msgs})};window.console.error=window.console.warn=window.console.log=window.console.trace=window.console}window.window=window;window.ace=window;window.onerror=function(message,file,line,col,err){postMessage({type:"error",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})};window.normalizeModule=function(parentId,moduleName){if(moduleName.indexOf("!")!==-1){var chunks=moduleName.split("!");return window.normalizeModule(parentId,chunks[0])+"!"+window.normalizeModule(parentId,chunks[1])}if(moduleName.charAt(0)=="."){var base=parentId.split("/").slice(0,-1).join("/");moduleName=(base?base+"/":"")+moduleName;while(moduleName.indexOf(".")!==-1&&previous!=moduleName){var previous=moduleName;moduleName=moduleName.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return moduleName};window.require=function require(parentId,id){if(!id){id=parentId;parentId=null}if(!id.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");id=window.normalizeModule(parentId,id);var module=window.require.modules[id];if(module){if(!module.initialized){module.initialized=true;module.exports=module.factory().exports}return module.exports}if(!window.require.tlns)return console.log("unable to load "+id);var path=resolveModuleId(id,window.require.tlns);if(path.slice(-3)!=".js")path+=".js";window.require.id=id;window.require.modules[id]={};importScripts(path);return window.require(parentId,id)};function resolveModuleId(id,paths){var testPath=id,tail="";while(testPath){var alias=paths[testPath];if(typeof alias=="string")return alias+tail;else if(alias)return alias.location.replace(/\/*$/,"/")+(tail||alias.main||alias.name);else if(alias===false)return"";var i=testPath.lastIndexOf("/");if(i===-1)break;tail=testPath.substr(i)+tail;testPath=testPath.slice(0,i)}return id}window.require.modules={};window.require.tlns={};window.define=function(id,deps,factory){if(arguments.length==2){factory=deps;if(typeof id!="string"){deps=id;id=window.require.id}}else if(arguments.length==1){factory=id;deps=[];id=window.require.id}if(typeof factory!="function"){window.require.modules[id]={exports:factory,initialized:true};return}if(!deps.length)deps=["require","exports","module"];var req=function(childId){return window.require(id,childId)};window.require.modules[id]={exports:{},factory:function(){var module=this;var returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case "require":return req;case "exports":return module.exports;case "module":return module;default:return req(dep)}}));if(returnExports)module.exports=returnExports;return module}}};window.define.amd={};require.tlns={};window.initBaseUrls=function initBaseUrls(topLevelNamespaces){for(var i in topLevelNamespaces)require.tlns[i]=topLevelNamespaces[i]};window.initSender=function initSender(){var EventEmitter=window.require("ace/lib/event_emitter").EventEmitter;var oop=window.require("ace/lib/oop");var Sender=function(){};(function(){oop.implement(this,EventEmitter);this.callback=function(data,callbackId){postMessage({type:"call",id:callbackId,data:data})};this.emit=function(name,data){postMessage({type:"event",name:name,data:data})}}).call(Sender.prototype);return new Sender};var main=window.main=null;var sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else if(window[msg.command])window[msg.command].apply(window,msg.args);else throw new Error("Unknown command:"+msg.command);else if(msg.init){window.initBaseUrls(msg.tlns);require("ace/lib/es5-shim");sender=window.sender=window.initSender();var clazz=require(msg.module)[msg.classname];main=window.main=new clazz(sender)}}})(this);