| 123456789101112131415161718192021222324252627282930313233343536373839 | '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();});
 |