UNPKG

wkr-util

Version:
77 lines (71 loc) 1.95 kB
import {map} from '@cullylarson/f' import {trimStrDeep} from '../esm/' test('Trims a string.', () => { expect(trimStrDeep(' a a a ')).toBe('a a a') expect(trimStrDeep('BBB')).toBe('BBB') expect(trimStrDeep('C C C')).toBe('C C C') expect(trimStrDeep(' C C C')).toBe('C C C') expect(trimStrDeep('C C C ')).toBe('C C C') }) test('Does not trim non-strings.', () => { expect(trimStrDeep(834834)).toBe(834834) expect(trimStrDeep(null)).toBe(null) expect(trimStrDeep(true)).toBe(true) expect(trimStrDeep(false)).toBe(false) expect(trimStrDeep(undefined)).toBe(undefined) }) test('Can use it to map an object.', () => { expect(map(trimStrDeep, { aaa: ' A A A ', bbb: null, ccc: 'CCC', ddd: {eee: ' E E E '}, })).toEqual({ aaa: 'A A A', bbb: null, ccc: 'CCC', ddd: {eee: 'E E E'}, }) }) test('Deep trims objects.', () => { expect(trimStrDeep({ aaa: ' AAA ', bbb: null, ccc: { ddd: ' D D D ', eee: [' one', 'two ', 'three', ' four '], }, fff: [' aaa', 'bbb ', 'ccc', ' ddd ', {ggg: ' GGG '}], ggg: 123, })).toEqual({ aaa: 'AAA', bbb: null, ccc: { ddd: 'D D D', eee: ['one', 'two', 'three', 'four'], }, fff: ['aaa', 'bbb', 'ccc', 'ddd', {ggg: 'GGG'}], ggg: 123, }) }) test('Deep trims arrays.', () => { expect(trimStrDeep([ ' AAA ', null, 123, { ddd: ' D D D ', eee: [' one', 'two ', 'three', ' four '], }, [' aaa', 'bbb ', 'ccc', ' ddd ', {ggg: ' GGG '}], ])).toEqual([ 'AAA', null, 123, { ddd: 'D D D', eee: ['one', 'two', 'three', 'four'], }, ['aaa', 'bbb', 'ccc', 'ddd', {ggg: 'GGG'}], ]) })