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