Sha256: f7100d22ab6bb7859dc40475496173ee0d4c5c181dd33070eae1d3233baa950e

Contents?: true

Size: 873 Bytes

Versions: 3

Compression:

Stored size: 873 Bytes

Contents

var traverse = require('../');
var assert = require('assert');

exports.subexpr = function () {
    var obj = [ 'a', 4, 'b', 5, 'c', 6 ];
    var r = traverse(obj).map(function (x) {
        if (typeof x === 'number') {
            this.update([ x - 0.1, x, x + 0.1 ], true);
        }
    });
    
    assert.deepEqual(obj, [ 'a', 4, 'b', 5, 'c', 6 ]);
    assert.deepEqual(r, [
        'a', [ 3.9, 4, 4.1 ],
        'b', [ 4.9, 5, 5.1 ],
        'c', [ 5.9, 6, 6.1 ],
    ]);
};

exports.block = function () {
    var obj = [ [ 1 ], [ 2 ], [ 3 ] ];
    var r = traverse(obj).map(function (x) {
        if (Array.isArray(x) && !this.isRoot) {
            if (x[0] === 5) this.block()
            else this.update([ [ x[0] + 1 ] ])
        }
    });
    
    assert.deepEqual(r, [
        [ [ [ [ [ 5 ] ] ] ] ],
        [ [ [ [ 5 ] ] ] ],
        [ [ [ 5 ] ] ],
    ]);
};

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
trans-0.5.10 template/node_modules/grunt-contrib-nodeunit/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/traverse/test/subexpr.js
trans-0.5.9 template/node_modules/grunt-contrib-nodeunit/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/traverse/test/subexpr.js
holmes-0.0.1 lib/holmes/node_modules/detective/node_modules/burrito/node_modules/traverse/test/subexpr.js