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.
		
		
		
		
		
			
		
			
				
					
					
						
							36 lines
						
					
					
						
							780 B
						
					
					
				
			
		
		
	
	
							36 lines
						
					
					
						
							780 B
						
					
					
				var assert = require('assert');
 | 
						|
var Traverse = require('traverse');
 | 
						|
 | 
						|
exports.dateEach = function () {
 | 
						|
    var obj = { x : new Date, y : 10, z : 5 };
 | 
						|
    
 | 
						|
    var counts = {};
 | 
						|
    
 | 
						|
    Traverse(obj).forEach(function (node) {
 | 
						|
        var t = (node instanceof Date && 'Date') || typeof node;
 | 
						|
        counts[t] = (counts[t] || 0) + 1;
 | 
						|
    });
 | 
						|
    
 | 
						|
    assert.deepEqual(counts, {
 | 
						|
        object : 1,
 | 
						|
        Date : 1,
 | 
						|
        number : 2,
 | 
						|
    });
 | 
						|
};
 | 
						|
 | 
						|
exports.dateMap = function () {
 | 
						|
    var obj = { x : new Date, y : 10, z : 5 };
 | 
						|
    
 | 
						|
    var res = Traverse(obj).map(function (node) {
 | 
						|
        if (typeof node === 'number') this.update(node + 100);
 | 
						|
    });
 | 
						|
    
 | 
						|
    assert.ok(obj.x !== res.x);
 | 
						|
    assert.deepEqual(res, {
 | 
						|
        x : obj.x,
 | 
						|
        y : 110,
 | 
						|
        z : 105,
 | 
						|
    });
 | 
						|
};
 | 
						|
 |