- __index = function(t, k)
- local raw = rawget(t, k)
-
- if raw then
- return raw
- end
-
- return function(value)
- local newK = k
-
- if type(value) == 'table' then
- -- remove any 's' at the end (client_scripts, ...)
- if k:sub(-1) == 's' then
- newK = k:sub(1, -2)
- end
-
- -- add metadata for each table entry
- for _, v in ipairs(value) do
- addMetaData(newK, v)
- end
- else