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