kekule
Version:
Open source JavaScript toolkit for chemoinformatics
1 lines • 1.59 kB
JavaScript
!function(e){var t=Kekule.$jsRoot||e;Kekule.EmscriptenUtils={DEF_MODULE_NAME:"Module",_createdModules:{},_getActualModule:function(e){return t[e||o.DEF_MODULE_NAME]},isSupported:function(e){return void 0!==o._getActualModule(e)},getRootModule:function(e,t){var u=o._createdModules[e];if(u)return u;var n=o._getActualModule(e);return u=n,"function"==typeof n&&(u=n(t)),u&&(o._createdModules[e]=u),u},setRootModule:function(e,t){o._createdModules[e]=t},getModuleObj:function(e){return"object"==typeof e?e:o.getRootModule(e)},getMember:function(e,t){return(o.getModuleObj(t)||{})[e]},getClassCtor:function(e,t){return(o.getModuleObj(t)||{})[e]},cwrap:function(e,t,u,n){var r=o.getModuleObj(n);return r&&r.cwrap&&r.cwrap(e,t,u)},initModule:function(e,t,u){e||(e=Kekule.$jsRoot.document);var n=t.moduleName,r=t.moduleInitEventName,l=t.moduleInitCallbackName,i=t.creationOptions,d=function(e){u&&u(e)};if(o.isModuleReady(n))d();else try{if(r&&e&&Kekule.X){var c=function(){d(),Kekule.X.Event.removeListener(e,r,c)};Kekule.X.Event.addListener(e,r,c)}else l&&(Kekule.$jsRoot[l]=function(){d()});n&&o.getRootModule(n,i)}catch(e){throw d(e),e}},isModuleReady:function(e){return!!o._createdModules[e]},ensureModuleReady:function(e,t,u){return o.initModule(e,t,u)},loadScript:function(e,t,u,n){u||(u=Kekule.$jsRoot.document);var r=function(e){e?t(e):o.initModule(u,n,t)};if(Kekule.environment.isNode)try{var l=Kekule.environment.nodeRequire(e);n.moduleName&&(Kekule.$jsRoot[n.moduleName]=l),r()}catch(e){throw r(e),e}else Kekule.ScriptFileUtils.appendScriptFile(u,e,r)}};var o=Kekule.EmscriptenUtils}(this);