Модуль:Песочница/Pok: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
-- Загрузка данных | |||
local data = mw.loadData("Модуль:Prototypes/Хранилище/Предмет/data") | |||
local allSelectorData = mw.loadData("Модуль:Prototypes/Хранилище/Предмет/data2") | |||
local p = {} | local p = {} | ||
| Строка 23: | Строка 27: | ||
-- Локальные функции | -- Локальные функции | ||
local | local findDataById, formatContent, getContentsOutput, processNestedSelectors, getTableOutput, getContainedOutput, getChemOutput, handleGroupSelector, handleAllSelector, handleNestedSelector | ||
-- Функция для создания хэш-таблицы для быстрого поиска по ID | -- Функция для создания хэш-таблицы для быстрого поиска по ID | ||
local function buildIndex(data) | local function buildIndex(data) | ||
if not data then return {} end | if not data then return {} end | ||
| Строка 102: | Строка 99: | ||
-- Обработка таблиц | -- Обработка таблиц | ||
getTableOutput = function(tableId) | getTableOutput = function(tableId) | ||
local tableData = findDataById(buildIndex(allSelectorData), tableId) | |||
local tableData = findDataById(buildIndex( | |||
if not tableData then return 'Таблица не найдена.' end | if not tableData then return 'Таблица не найдена.' end | ||
| Строка 245: | Строка 241: | ||
if not id then return 'Не указан ID.' end | if not id then return 'Не указан ID.' end | ||
local dataIndex = buildIndex(data) | local dataIndex = buildIndex(data) | ||