vars.js 710 B

12345678910111213141516171819202122232425262728
  1. module.exports = function (store) {
  2. function getset (name, value) {
  3. var node = vars.store;
  4. var keys = name.split('.');
  5. keys.slice(0,-1).forEach(function (k) {
  6. if (node[k] === undefined) node[k] = {};
  7. node = node[k]
  8. });
  9. var key = keys[keys.length - 1];
  10. if (arguments.length == 1) {
  11. return node[key];
  12. }
  13. else {
  14. return node[key] = value;
  15. }
  16. }
  17. var vars = {
  18. get : function (name) {
  19. return getset(name);
  20. },
  21. set : function (name, value) {
  22. return getset(name, value);
  23. },
  24. store : store || {},
  25. };
  26. return vars;
  27. };