Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Module:Infobox/Configs » : différence entre les versions

De Nefald
Hiob (discussion | contributions)
Aucun résumé des modifications
Balise : Révoqué
Hiob (discussion | contributions)
Aucun résumé des modifications
Balise : Révoqué
Ligne 1 : Ligne 1 :
local configs = {}
local configs = {}


-- Fonction pour charger dynamiquement les configurations
-- Charge dynamiquement les configurations depuis les sous-pages
function configs.load(configName)
local function loadConfig(configName)
     -- Si déjà en cache, retourner directement
     local success, config = pcall(require, 'Module:Infobox/Configs/' .. configName)
    if configs[configName] then
        return configs[configName]
    end
   
    -- Essayer de charger la configuration
    local moduleName = 'Module:Infobox/Configs/' .. configName
    local success, config = pcall(require, moduleName)
   
     if success then
     if success then
        -- Mettre en cache pour les prochaines utilisations
        configs[configName] = config
         return config
         return config
     else
     else
         -- Erreur plus descriptive
         -- Fallback en cas d'erreur
         error('Type d\'infobox inconnu : ' .. configName .. ' (Module: ' .. moduleName .. ')')
         mw.log('Erreur lors du chargement de la configuration: ' .. configName)
        return nil
    end
end
 
-- Ne pas charger immédiatement, juste déclarer les configurations disponibles
-- configs.Edifice = loadConfig('Edifice')
-- configs.Localite = loadConfig('Localite'
-- configs.Monde = loadConfig('Monde')
-- configs.Personnage = loadConfig('Personnage')
 
-- Fonction pour ajouter dynamiquement d'autres configurations
function configs.load(configName)
    if not configs[configName] then
        configs[configName] = loadConfig(configName)
     end
     end
    return configs[configName]
end
end
-- Métatable pour chargement automatique
setmetatable(configs, {
    __index = function(t, key)
        return t.load(key)
    end
})


return configs
return configs

Version du 24 septembre 2025 à 14:12

La documentation pour ce module peut être créée à Module:Infobox/Configs/doc

local configs = {}

-- Charge dynamiquement les configurations depuis les sous-pages
local function loadConfig(configName)
    local success, config = pcall(require, 'Module:Infobox/Configs/' .. configName)
    if success then
        return config
    else
        -- Fallback en cas d'erreur
        mw.log('Erreur lors du chargement de la configuration: ' .. configName)
        return nil
    end
end

-- Ne pas charger immédiatement, juste déclarer les configurations disponibles
-- configs.Edifice = loadConfig('Edifice')
-- configs.Localite = loadConfig('Localite')  
-- configs.Monde = loadConfig('Monde')
-- configs.Personnage = loadConfig('Personnage')

-- Fonction pour ajouter dynamiquement d'autres configurations
function configs.load(configName)
    if not configs[configName] then
        configs[configName] = loadConfig(configName)
    end
    return configs[configName]
end

-- Métatable pour chargement automatique
setmetatable(configs, {
    __index = function(t, key)
        return t.load(key)
    end
})

return configs