module.exports = function (store) { function getset (name, value) { var node = vars.store; var keys = name.split('.'); keys.slice(0,-1).forEach(function (k) { if (node[k] === undefined) node[k] = {}; node = node[k] }); var key = keys[keys.length - 1]; if (arguments.length == 1) { return node[key]; } else { return node[key] = value; } } var vars = { get : function (name) { return getset(name); }, set : function (name, value) { return getset(name, value); }, store : store || {}, }; return vars; };