webmcp

view framework/env/slot/reset_all.lua @ 382:810c020b0da4

Reverted changes to mondelefant_result_index and mondelefant_result_newindex C-functions (proxying of JSON document)
author jbe
date Mon Nov 16 18:31:49 2015 +0100 (2015-11-16)
parents f491011ebe16
children
line source
1 --[[--
2 slot.reset_all{
3 except = except -- Reset all slots, except slots named in this list
4 }
6 Calling this function resets all slots to be empty. An exclusion list may be passed to the function as named argument.
8 --]]--
10 local data_metatable = {}
11 function data_metatable:__index(key)
12 self[key] = { string_fragments = {}, state_table = {} }
13 return self[key]
14 end
16 function slot.reset_all(args)
17 local saved
18 if args and args.except then
19 saved = {}
20 for i, key in ipairs(args.except) do
21 saved[key] = slot._data[key]
22 end
23 end
24 slot._data = setmetatable({}, data_metatable)
25 if saved then
26 for key, value in pairs(saved) do
27 slot._data[key] = value
28 end
29 end
30 end

Impressum / About Us