Skip to content

Commit

Permalink
feat: support in memory database ✨ #3
Browse files Browse the repository at this point in the history
  • Loading branch information
0xwal committed Sep 30, 2023
1 parent 7d41299 commit 5306118
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 9 deletions.
41 changes: 34 additions & 7 deletions exports.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,47 +12,74 @@ local function transform_array_key(key)
return table.concat(key, '/')
end

local ludb = ludb_new()
ludb:setDriver(kvp_driver())

local ludbInMemory = ludb_new()

exports('save', function(key, value)
if type(key) == 'table' then
key = transform_array_key(key)
end
ludb_save(make_key_unique_for_resource(key), value)
ludb:save(make_key_unique_for_resource(key), value)
end)

exports('saveGlobal', function(key, value)
if type(key) == 'table' then
key = transform_array_key(key)
end
print(('global/%s'):format(key))
ludb_save(('global/%s'):format(key), value)
ludb:save(('global/%s'):format(key), value)
end)

exports('saveInMemory', function(key, value)
if type(key) == 'table' then
key = transform_array_key(key)
end
ludbInMemory:save(make_key_unique_for_resource(key), value)
end)

exports('retrieve', function(key)
if type(key) == 'table' then
key = transform_array_key(key)
end
return ludb_retrieve(make_key_unique_for_resource(key))
return ludb:retrieve(make_key_unique_for_resource(key))
end)

exports('retrieveGlobal', function(key)
if type(key) == 'table' then
key = transform_array_key(key)
end
return ludb_retrieve(('global/%s'):format(key))
return ludb:retrieve(('global/%s'):format(key))
end)

exports('retrieveFromMemory', function(key)
if type(key) == 'table' then
key = transform_array_key(key)
end
return ludbInMemory:retrieve(make_key_unique_for_resource(key))
end)

exports('delete', function(key)
if type(key) == 'table' then
key = transform_array_key(key)
end
ludb_delete(make_key_unique_for_resource(key))
ludb:delete(make_key_unique_for_resource(key))
end)

exports('deleteGlobal', function(key)
if type(key) == 'table' then
key = transform_array_key(key)
end
ludb_delete(('global/%s'):format(key))
ludb:delete(('global/%s'):format(key))
end)


exports('deleteInMemory', function(key)
if type(key) == 'table' then
key = transform_array_key(key)
end
ludbInMemory:delete(make_key_unique_for_resource(key))
end)

RegisterCommand('0xludb-export', function(serverId)
Expand All @@ -64,7 +91,7 @@ RegisterCommand('0xludb-export', function(serverId)
local ret = SaveResourceFile(
GetCurrentResourceName(),
('dump-%s.json'):format(time),
json.encode(ludb_retrieve('*'))
json.encode(ludb:retrieve('*'))
)
print('ret', ret, type(ret))
end, true)
2 changes: 0 additions & 2 deletions kvp_driver.lua
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,3 @@ function kvp_driver()

return o
end

ludb_set_driver(kvp_driver())

0 comments on commit 5306118

Please sign in to comment.