directus

Форк
0
/
map-values-deep.test.ts 
26 строк · 1.2 Кб
1
import { test, expect } from 'vitest';
2
import { mapValuesDeep } from './map-values-deep.js';
3

4
test('Replace all undefined values with null', () => {
5
	const obj = { a: { b: { c: undefined } }, b: 'test' };
6
	const result = mapValuesDeep(obj, (_, value) => (value === undefined ? null : value));
7
	expect(result).toEqual({ a: { b: { c: null } }, b: 'test' });
8
});
9

10
test('Set all values to "Hi" with a key of "b.c"', () => {
11
	const obj = { a: { b: { c: undefined } }, b: { a: 'test', c: 'test' }, 'b.c': 'test' };
12
	const result = mapValuesDeep(obj, (key, value) => (key === 'b.c' ? 'Hi' : value));
13
	expect(result).toEqual({ a: { b: { c: undefined } }, b: { a: 'test', c: 'Hi' }, 'b.c': 'Hi' });
14
});
15

16
test('Make sure arrays are propperly mapped', () => {
17
	const obj = { a: [undefined, 'test'] };
18
	const result = mapValuesDeep(obj, (_, value) => (value === undefined ? null : value));
19
	expect(result).toEqual({ a: [null, 'test'] });
20
});
21

22
test('Set all 2nd indices of arrays to "Hi"', () => {
23
	const obj = { a: [undefined, 'test', { a: ['hello', 'world'] }], b: ['test'] };
24
	const result = mapValuesDeep(obj, (key, value) => (key.endsWith('a[1]') ? 'Hi' : value));
25
	expect(result).toEqual({ a: [undefined, 'Hi', { a: ['hello', 'Hi'] }], b: ['test'] });
26
});
27

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.