diff --git a/sharedconfig.lua b/sharedconfig.lua index 4bc3f88..1e466af 100644 --- a/sharedconfig.lua +++ b/sharedconfig.lua @@ -1,5 +1,13 @@ local sharedconfig={} -local logging=require((...):gsub("(.)$", "%1.") .. 'logging') + +local fallback=setmetatable({}, {__index=function() return function() end end}) +local function optrequire(...) + local status, req=pcall(require, ...) + if status then return req end + return fallback +end + +local logging=optrequire((...):gsub("(.)$", "%1.") .. 'logging') local sharedstate=require((...):gsub("(.)$", "%1.") .. 'sharedstate') sharedstate=require('nulllib.sharedstate') diff --git a/sharedstate.lua b/sharedstate.lua index 3ea0a9c..09e505a 100644 --- a/sharedstate.lua +++ b/sharedstate.lua @@ -1,5 +1,13 @@ local sharedstate={} -local logging=require((...):gsub("(.)$", "%1.") .. 'logging') +local fallback=setmetatable({}, {__index=function() return function() end end}) +local function optrequire(...) + local status, req=pcall(require, ...) + if status then return req end + return fallback +end + + +local logging=optrequire((...):gsub("(.)$", "%1.") .. 'logging') -- function names local is_initialized, callback_value, set_value,