29 lines
710 B
JavaScript
29 lines
710 B
JavaScript
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;
|
|
};
|