Home
Random
Recent changes
Special pages
Community portal
Settings
About Porn Base Central
Disclaimers
Porn Base Central
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:VarsUtil
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
local util_args = require ('Module:ArgsUtil') local binser = require('binser') VariablesLua = mw.ext.VariablesLua local p = {} function p.getVar(var) local val = VariablesLua.var(var) if val == '' then return nil end return val end function p.getBool(var) local val = p.getVar(var) return util_args.castAsBool(val) end function p.setBool(var, val) if type(val) == 'string' then val = util_args.castAsBool(val) end if val then p.setVar(var, 'Yes') return end p.setVar(var, 'No') end function p.setVar(var, val) VariablesLua.vardefine(var, val) return val end function p.setVarOnlyIf(var, val) if not val then return end p.setVar(var, val) end function p.getGlobalIndex(name) local val = p.getVar('luaGlobalIndex' .. name) return tonumber(val or 0) or 0 end function p.setGlobalIndex(name) local n = p.getGlobalIndex(name) + 1 p.setVar('luaGlobalIndex' .. name, n) return n end function p.resetGlobalIndex(name, val) val = val or 0 p.setVar('luaGlobalIndex' .. name, val) return val end function p.appendToList(name, val, sep) -- this is just for helping to debug and shouldn't actually be used ever probably sep = sep or ', ' local old_val = p.getVar(name) or '' p.setVar(name, old_val .. sep .. val) end function p.log(val) if type(val) == 'table' then p.logObject(val) return end p.appendToList('log', tostring(val)) end function p.logObject(val) local tbl = {} for k, v in pairs(val) do tbl[#tbl+1] = k .. ': ' .. tostring(v) end p.appendToList('log', table.concat(tbl,', ')) end function p.clearAll(tbl) for _, v in ipairs(tbl) do p.setVar(v, '') end end function p.setTypedVar(var, val) local val_to_store = binser.serialize(val) p.setVar(var, val_to_store) end function p.getTypedVar(var) local val = p.getVar(var) if not val then return nil end return binser.deserialize(val)[1] end function p.setObject(var, val) local val_to_store = binser.serialize(val) p.setVar(var, val_to_store) end function p.getObject(var) local val = p.getVar(var) if not val then return nil end return binser.deserialize(val)[1] end return p
Summary:
Please note that all contributions to Porn Base Central may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Porn Base Central:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Preview page with this template
Template used on this page:
Module:VarsUtil/doc
(
view source
)