UNPKG

dbl-utils

Version:

Utilities for dbl, adba and others projects

1 lines 8.25 kB
{"file":"/home/diablo/dev/dbl-utils/__tests__/flat.test.ts","mappings":"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","names":[],"sources":["/home/diablo/dev/dbl-utils/__tests__/flat.test.ts"],"sourcesContent":["import { flatten, unflatten } from \"../src/flat\";\r\n\r\ndescribe(\"flatten\", () => {\r\n it(\"should flatten a simple object\", () => {\r\n const input = { a: 1, b: { c: 2, d: 3 } };\r\n const expected = { a: 1, \"b.c\": 2, \"b.d\": 3 };\r\n const result = flatten(input);\r\n expect(result).toEqual(expected);\r\n });\r\n\r\n it(\"should flatten an object with arrays\", () => {\r\n const input = { a: [1, 2, { b: 3 }] };\r\n const expected = { \"a.0\": 1, \"a.1\": 2, \"a.2.b\": 3 };\r\n const result = flatten(input);\r\n expect(result).toEqual(expected);\r\n });\r\n\r\n it(\"should omit specified keys\", () => {\r\n const input = { a: [1, 4, 5], b: { c: 2, d: 3 } };\r\n const expected = { \"a.0\": 1, \"a.1\": 4, \"a.2\": 5, b: { c: 2, d: 3 } };\r\n const result = flatten(input, { ommit: [\"b\"] });\r\n expect(result).toEqual(expected);\r\n });\r\n\r\n it(\"should use custom delimiter\", () => {\r\n const input = { a: 1, b: { c: 2, d: 3 } };\r\n const expected = { a: 1, \"b-c\": 2, \"b-d\": 3 };\r\n const result = flatten(input, { delimiter: \"-\" });\r\n expect(result).toEqual(expected);\r\n });\r\n\r\n it(\"should omit arrays if specified\", () => {\r\n const input = { a: [1, 2, { b: 3 }] };\r\n const expected = { a: [1, 2, { b: 3 }] };\r\n const result = flatten(input, { ommitArrays: true });\r\n expect(result).toEqual(expected);\r\n });\r\n\r\n it(\"should apply custom omit function\", () => {\r\n const input = { a: 1, b: { c: { e: 2 }, d: 3 } };\r\n const expected = { a: 1, \"b.c\": { e: 2 }, \"b.d\": 3 };\r\n const result = flatten(input, { ommitFn: (key) => key === \"c\" });\r\n expect(result).toEqual(expected);\r\n });\r\n});\r\n\r\ndescribe(\"unflatten\", () => {\r\n it(\"should unflatten a simple object\", () => {\r\n const input = { a: 1, \"b.c\": 2, \"b.d\": 3 };\r\n const expected = { a: 1, b: { c: 2, d: 3 } };\r\n const result = unflatten(input);\r\n expect(result).toEqual(expected);\r\n });\r\n\r\n it(\"should unflatten an object with arrays\", () => {\r\n const input = { \"a.0\": 1, \"a.1.0\": 2, \"a.2.b\": [3] };\r\n const expected = { a: [1, [2], { b: [3] }] };\r\n const result = unflatten(input);\r\n expect(result).toEqual(expected);\r\n });\r\n\r\n it(\"should unflatten an object with arrays at the end\", () => {\r\n const input = {\r\n \"note/to/0\": \"John\",\r\n \"note/from/0\": \"Jane\",\r\n \"note/heading/0/$\": { attr: \"value\" },\r\n \"note/uuid/0\": \"1234-5678-91011\",\r\n };\r\n const expected = {\r\n note: {\r\n to: [\"John\"],\r\n from: [\"Jane\"],\r\n heading: [{ $: { attr: \"value\" } }],\r\n uuid: [\"1234-5678-91011\"],\r\n },\r\n };\r\n\r\n const result = unflatten(input, \"/\");\r\n expect(result).toEqual(expected);\r\n });\r\n\r\n it(\"should use custom delimiter\", () => {\r\n const input = { a: 1, \"b-c\": 2, \"b-d\": 3 };\r\n const expected = { a: 1, b: { c: 2, d: 3 } };\r\n const result = unflatten(input, \"-\");\r\n expect(result).toEqual(expected);\r\n });\r\n \r\n it(\"should return exactly the same object readed\", () => {\r\n const originalObj = require(\"./unflatten-obj.json\");\r\n const flattened = flatten(originalObj, { delimiter: \"/\" });\r\n const restored = unflatten(flattened, \"/\");\r\n expect(restored).toEqual(originalObj);\r\n });\r\n});\r\n"],"version":3}