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.
28 lines
710 B
28 lines
710 B
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; |
|
};
|
|
|