All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
25 lines
774 B
JavaScript
25 lines
774 B
JavaScript
// @flow
|
|
|
|
// Turn jsonlint-lines-primitives objects into primitive objects
|
|
export function unbundle(value: mixed): 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);
|
|
}
|