You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
710 B
29 lines
710 B
4 years ago
|
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;
|
||
|
};
|