zioinfo-mail/app/node_modules/traverse/test/siblings.js
DESKTOP-TKLFCPR\ython 11c670f2a0 refactor: 101.79.17.164 → zioinfo.co.kr 전체 도메인 변환 + Manager UI 배포
- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스)
- Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포
- 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 10:09:17 +09:00

40 lines
968 B
JavaScript

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