Difference between revisions of "Module:Data/sandbox"

From Yugipedia
Jump to: navigation, search
(Forgot to apply the latest changes.)
(Load through /loader.)
Line 1: Line 1:
 
-- <pre>
 
-- <pre>
local methods = mw.loadData( 'Module:Data/methods' )
+
local Module = nil
  
return setmetatable( {}, {
+
return Module or ( function()
__index = function( self, key ) -- only if it doesn't contain the key
+
Module = require( 'Module:Data/loader' )()
local subModule = methods[ key ]
 
  
if not subModule then
+
return Module
-- Let it explode on the calling code, just like it would
+
end )
-- if all of the functions were explicitly declared.
 
return nil
 
else
 
rawset( self, key, require( 'Module:Data/' .. subModule ) )
 
 
 
return rawget( self, key )
 
end
 
end,
 
 
 
__call = function( self, moduleName )
 
return require( 'Module:Data/static/' .. moduleName .. '/data' ).main;
 
end,
 
} )
 
 
-- </pre>
 
-- </pre>

Revision as of 01:17, 29 December 2019

-- <pre>
local Module = nil

return Module or ( function()
	Module = require( 'Module:Data/loader' )()

	return Module
end )
-- </pre>