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