30 lines
789 B
JavaScript
30 lines
789 B
JavaScript
export function formatJson(text) {
|
|
if (!text) {
|
|
return text;
|
|
}
|
|
if (typeof text === 'string') {
|
|
try {
|
|
return JSON.stringify(JSON.parse(text), null, 2);
|
|
} catch (error) {
|
|
return text;
|
|
}
|
|
}
|
|
return text;
|
|
}
|
|
|
|
export function parseDescription(value) {
|
|
const fallback = { details: '', sub_title: '' }
|
|
if (!value) return { ...fallback }
|
|
if (typeof value === 'string') {
|
|
try {
|
|
const parsed = JSON.parse(value)
|
|
if (typeof parsed === 'string') {
|
|
return { details: parsed, sub_title: parsed }
|
|
}
|
|
return { ...fallback, ...(parsed || {}) }
|
|
} catch (error) {
|
|
return { details: value, sub_title: value }
|
|
}
|
|
}
|
|
return { ...fallback, ...value }
|
|
} |