%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('siblings', function (t) { var obj = { a: 1, b: 2, c: [4, 5, 6] }; var res = traverse(obj).reduce(function (acc) { /* eslint no-param-reassign: 0 */ var p = '/' + this.path.join('/'); if (this.parent) { acc[p] = { siblings: this.parent.keys, key: this.key, index: this.parent.keys.indexOf(this.key), }; } else { acc[p] = { siblings: [], key: this.key, index: -1, }; } return acc; }, {}); t.same(res, { '/': { siblings: [], key: undefined, index: -1 }, '/a': { siblings: ['a', 'b', 'c'], key: 'a', index: 0 }, '/b': { siblings: ['a', 'b', 'c'], key: 'b', index: 1 }, '/c': { siblings: ['a', 'b', 'c'], key: 'c', index: 2 }, '/c/0': { siblings: ['0', '1', '2'], key: '0', index: 0 }, '/c/1': { siblings: ['0', '1', '2'], key: '1', index: 1 }, '/c/2': { siblings: ['0', '1', '2'], key: '2', index: 2 }, }); t.end(); });