Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
বিষয়বস্তুতে চলুন

মডিউল:utilities/require when needed

উইকিঅভিধান, মুক্ত অভিধান থেকে

এই মডিউলের জন্য মডিউল:utilities/require when needed/নথি-এ নথিপত্র তৈরি করা হয়ে থাকতে পারে

local loaded = package.loaded
local require = require
local setmetatable = setmetatable

return function(text, key)
	local module = loaded[text]
	
	if module then
		return key and module[key] or module
	end
	
	local mt = {}
	
	function mt:__index(k)
		module = module or key and require(text)[key] or require(text)
		return module[k]
	end
	
	function mt:__call(...)
		module = module or key and require(text)[key] or require(text)
		return module(...)
	end
	
	return setmetatable({}, mt)
end