- Notifications
You must be signed in to change notification settings - Fork8
WebModule.js
uupaa edited this pageAug 1, 2015 ·23 revisions
このエントリでは WebModule.js について説明します。
WebModule.js は WebModule をベースに生成したモジュールの前で読み込む必要があります。
モジュールを global 空間に公開するには// WebModule.publish = true;
行のコメントを解除してください。
<scriptsrc="../lib/WebModule.js"></script><script>// publish to global. eg: window.WebModule.Class -> window.ClassWebModule.publish=true;</script>
WebModule version 0.5.25 時点の WebModule.js はこのようになっています。
// http://git.io/WebModule// --- global variables ------------------------------------// https://github.com/uupaa/WebModule/wiki/WebModuleIdiomvarGLOBAL=GLOBAL||(this||0).self||global;// --- environment detection -------------------------------GLOBAL["IN_NODE_OR_NW"]=!!GLOBAL.global;GLOBAL["IN_BROWSER"]=!GLOBAL["IN_NODE_OR_NW"]&&"document"inGLOBAL;GLOBAL["IN_WORKER"]=!GLOBAL["IN_NODE_OR_NW"]&&"WorkerLocation"inGLOBAL;GLOBAL["IN_NODE"]=GLOBAL["IN_NODE_OR_NW"]&&!/native/.test(setTimeout);GLOBAL["IN_NW"]=GLOBAL["IN_NODE_OR_NW"]&&/native/.test(setTimeout);// --- validate and assert functions -----------------------//{@dev https://github.com/uupaa/WebModule/wiki/ValidateGLOBAL["$type"]=function(value,types){returnGLOBAL["Valid"] ?GLOBAL["Valid"].type(value,types) :true;};GLOBAL["$keys"]=function(value,keys){returnGLOBAL["Valid"] ?GLOBAL["Valid"].keys(value,keys) :true;};GLOBAL["$some"]=function(value,candidate,ignoreCase){returnGLOBAL["Valid"] ?GLOBAL["Valid"].some(value,candidate,ignoreCase) :true;};GLOBAL["$args"]=function(api,args){if(GLOBAL["Valid"]){GLOBAL["Valid"].args(api,args);}};GLOBAL["$valid"]=function(value,api,highlihgt){if(GLOBAL["Valid"]){GLOBAL["Valid"](value,api,highlihgt);}};//}@dev// --- WebModule ------------------------------------------GLOBAL["WebModule"]={"publish":false,// All WebModules publish to global."closure":{},"exports":function(name,closure){varaka=this[name] ?(name+"_") :name;returnthis[aka]||(function(wm){// GLOBAL.WebModulewm[aka]=closure(GLOBAL);wm["closure"][aka]=closure+"";return(!wm["publish"]||GLOBAL[aka]) ?wm[aka] :GLOBAL[aka]=wm[aka];})(this);}};
GLOBAL は ブラウザ上では window と等価です。