Your IP : 216.73.216.147


Current Path : /home/lejardintz/www/media/foundry/3.1/scripts/
Upload File :
Current File : /home/lejardintz/www/media/foundry/3.1/scripts/module.min.js

FD31.plugin("module",function($){var Module=function(name){var module=this,ready=$.Callbacks("once memory");$.extend(this,$.Deferred(),{name:name,status:"pending",ready:function(fn){fn===!0&&ready.fire.call(module,$),$.isFunction(fn)&&ready.add(fn)}}),module.then(function(){module.exports=this,module.status="resolved"},function(){module.status="rejected"});var done=module.done;module.done=function(){module.required=!0;var factory=module.factory;return factory&&"ready"===module.status&&factory.call(module,$),module.done=done,module.done.apply(this,arguments)
}};$.module=function(){var self=function(name,factory){var module;if("string"==typeof name){if(module=self.get(name),void 0===factory)return module;if($.isFunction(factory))return"resolved"==module.status?module:(module.factory=factory,module.status="ready",module.ready("true"),module.required&&(module.status="executing",factory.call(module,$)),module)}if($.isArray(name)){var tasks=$.map(name,function(task){var module=self.get($.isString(task)?task:task.name);if(module)return"pending"===module.status&&(module.status="ready"),$.isPlainObject(task)?task:void 0
});$.each(tasks,function(i,task){self(task.name,task.factory)})}};return $.extend(self,{registry:{},get:function(name){return name?($.isModule(name)&&(name=name.replace("module://","")),self.registry[name]||self.create(name)):void 0},create:function(name){return self.registry[name]=new Module(name)},remove:function(name){delete self.registry[name]}}),self}(),$.isModule=function(module){return $.isString(module)?!!module.match("module://"):module&&module instanceof Module}});