Files
jsowell-charger-web/jsowell-ui/node_modules/traverse/test/siblings.js
Lemon f5e6e29f00 Merge branch 'dev-zza' into dev
# Conflicts:
#	jsowell-ui/.env.development
#	jsowell-ui/.env.staging
#	jsowell-ui/bin/build-sit.bat
#	jsowell-ui/bin/build.bat
#	jsowell-ui/src/api/adapayMember/adapayMember.js
#	jsowell-ui/src/api/pile/merchant.js
#	jsowell-ui/src/router/index.js
#	jsowell-ui/src/views/financial/financeDetail.vue
#	jsowell-ui/src/views/financial/merchant.vue
#	jsowell-ui/src/views/homeIndex/homeIndex.vue
#	jsowell-ui/src/views/login.vue
#	jsowell-ui/src/views/pile/basic/detail.vue
#	jsowell-ui/src/views/pile/station/components/SiteInfo.vue
#	jsowell-ui/src/views/pile/station/detail.vue
#	jsowell-ui/src/views/pile/station/orderReport.vue
2025-06-03 14:26:37 +08: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();
});