• File: date.js
  • Full Path: /var/www/nodejs/daily_store_reports_nodejs/node_modules/traverse/test/date.js
  • Date Modified: 02/04/2023 9:31 PM
  • File size: 780 bytes
  • MIME-type: text/plain
  • Charset: utf-8
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,
    });
};