Module:File link: Difference between revisions
Content deleted Content added
seperate treatment of private fields and read-only fields, and add a __pairs metamethod |
reduce redundant error code |
||
Line 247:
for field in pairs(data) do
readOnlyFields[field] = true
end
local function restrictedFieldError(key, restriction)
restriction
end
Line 252 ⟶ 260:
__index = function (t, key)
if privateFields[key] then
restrictedFieldError(key, 'private')
▲ error(string.format(
▲ "image object field '%s' is private",
▲ tostring(key)
▲ ), 2)
else
return data[key]
Line 262 ⟶ 267:
__newindex = function (t, key, value)
if privateFields[key] then
restrictedFieldError(key, 'private')
elseif readOnlyFields[key] then
restrictedFieldError(key, 'read-only')
else
data[key] = value
|