Módulo:IPAc-pt/data
Aspeto
Este módulo não apresenta nenhuma documentação. Por favor, documente-o caso o saiba usar ou tenha conhecimentos para tal. |
-- Este módulo processa dados para [[Module:IPAc-pt]]. É destinado a ser
-- carregado com mw.loadData.
local PRONUNCIATION_MODULE = 'Módulo:IPAc-pt/pronúncia'
local PHONEME_MODULE = 'Módulo:IPAc-pt/fonemas'
local function makeData(oldData)
local newData = {}
for i, old in ipairs(oldData) do
local new = {}
for k, v in pairs(old) do
if k ~= 'aliases' and k ~= 'code' then
new[k] = v
end
end
newData[old.code] = new
if old.aliases then
for i, alias in ipairs(old.aliases) do
newData[alias] = new
end
end
end
return newData
end
local function main()
local pronunciation = makeData(require(PRONUNCIATION_MODULE))
local phonemes = makeData(require(PHONEME_MODULE))
-- Cheque que nenhuma tabela de pronúncia está contida nos dados dos
-- fonemas. Isto poderia causar erros silenciosos e difíceis de debugar
-- não fossem checados, então faça causar uma grande mensagem de erro
-- vermelha, em vez disso.
for id in pairs(pronunciation) do
if phonemes[id] then
error(string.format(
"ID duplicada '%s' encontrada em %s e %s",
id,
PRONUNCIATION_MODULE,
PHONEME_MODULE
))
end
end
return {
pronunciation = pronunciation,
phonemes = phonemes,
}
end
return main()