twenty / packages /twenty-shared /src /utils /strings /stringifySafely.ts
Jules
Initial clean CRM deployment with prebuilt assets
d9494a5
Raw
History Blame Contribute Delete
597 Bytes
export const stringifySafely = (value: unknown): string => {
try {
if (value === undefined) {
return 'undefined';
} else if (value === null) {
return 'null';
} else if (value === Infinity) {
return 'Infinity';
} else if (value === -Infinity) {
return '-Infinity';
} else if (typeof value === 'number' && isNaN(value)) {
return 'NaN';
}
const stringifiedValue = JSON.stringify(value);
if (stringifiedValue === undefined) {
return String(value);
}
return stringifiedValue;
} catch {
return String(value);
}
};