From 22c3d0436e5b894f61ae81715fae3b80d1a0b2d5 Mon Sep 17 00:00:00 2001 From: Manuel Simon Hirsig Date: Sat, 27 Aug 2016 12:57:20 +0200 Subject: [PATCH] refactoring --- aux-addon.lua | 6 +++--- libs/module.lua | 13 ++++++++----- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/aux-addon.lua b/aux-addon.lua index 2d273be..a34216c 100644 --- a/aux-addon.lua +++ b/aux-addon.lua @@ -156,9 +156,9 @@ do end local set_mt, list_mt, object_mt = collector_mt(insert_keys), collector_mt(insert_values), collector_mt(insert_pairs) public() - function set.list() return setmetatable(t, list_mt) end - function set.set() return setmetatable(t, set_mt) end - function set.object() return setmetatable(t, object_mt) end + function list() return setmetatable(t, list_mt) end + function set() return setmetatable(t, set_mt) end + function object() return setmetatable(t, object_mt) end private() end diff --git a/libs/module.lua b/libs/module.lua index 8d3ad31..b4fe628 100644 --- a/libs/module.lua +++ b/libs/module.lua @@ -41,10 +41,13 @@ do return self end function declarator_mt:__newindex(key, value) local state=_state[self] - local type = state.declaration_name - and (TYPE[key] or declaration_error()) - or typeof(value) == 'function' and FUNCTION or GETTER - declare(state, state.declaration_access, key, {[type]=value}) + local name, type = state.declaration_name, nil + if name then + type = TYPE[key] or declaration_error() + else + name, type = key, typeof(value) == 'function' and FUNCTION or GETTER + end + declare(state, state.declaration_access, name, {[type]=value}) state.declaration_access, state.declaration_name = nil, nil end function declarator_mt:__call(value) local state=_state[self] @@ -71,7 +74,7 @@ function env_mt:__newindex(key, value) local state=_state[self] local setter = state[SETTER][key] if setter then setter(value) end else - return state.declarator[key] + state.declarator[key] = value end end