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