%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; var test = require('tape'); var traverse = require('../'); test('interface map', function (t) { var obj = { a: [5, 6, 7], b: { c: [8] } }; t.same( traverse.paths(obj) .sort() .map(function (path) { return path.join('/'); }) .slice(1) .join(' ') , 'a a/0 a/1 a/2 b b/c b/c/0' ); t.same( traverse.nodes(obj), [ { a: [5, 6, 7], b: { c: [8] } }, [5, 6, 7], 5, 6, 7, { c: [8] }, [8], 8, ] ); t.same( traverse.map(obj, function (node) { if (typeof node === 'number') { return node + 1000; } if (Array.isArray(node)) { return node.join(' '); } return void undefined; }), { a: '5 6 7', b: { c: '8' } } ); var nodes = 0; traverse.forEach(obj, function () { nodes += 1; }); t.equal(nodes, 8); t.end(); });