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
						
					
					
				| 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;
 | |
| };
 |