From 13033ecfa1c8e79626cc63fde4824803df78fd9f Mon Sep 17 00:00:00 2001 From: NullBite Date: Sun, 2 Jul 2023 02:12:40 -0400 Subject: [PATCH] Make nulllib.logging optional for other libs --- sharedconfig.lua | 10 +++++++++- sharedstate.lua | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) 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,