Spaces:
Sleeping
Sleeping
| // @flow | |
| // Turn jsonlint-lines-primitives objects into primitive objects | |
| export function unbundle(value: mixed) { | |
| if (value instanceof Number || value instanceof String || value instanceof Boolean) { | |
| return value.valueOf(); | |
| } else { | |
| return value; | |
| } | |
| } | |
| export function deepUnbundle(value: mixed): mixed { | |
| if (Array.isArray(value)) { | |
| return value.map(deepUnbundle); | |
| } else if (value instanceof Object && !(value instanceof Number || value instanceof String || value instanceof Boolean)) { | |
| const unbundledValue: { [key: string]: mixed } = {}; | |
| for (const key in value) { | |
| unbundledValue[key] = deepUnbundle(value[key]); | |
| } | |
| return unbundledValue; | |
| } | |
| return unbundle(value); | |
| } | |