🌳
pt0/sharedF/moDashF/jsObjStringifyF.mts
1import * as _ from 'lodash-es'
3export const jsObjStringify = (obj: unknown): string => {
4 if (_.isArray(obj)) return `[${_.map(obj, jsObjStringify).join(', ')}]`
5 if (_.isPlainObject(obj)) {
6 const pairs = _.compact(_.map(obj as Record<string, unknown>, (val, key) =>
7 val !== undefined ? `${key}: ${jsObjStringify(val)}` : undefined
8 ))
9 return `{${pairs.join(', ')}}`
10 }
11 if (typeof obj === 'string') return `'${obj.replaceAll("'", "\\'")}'`
12 return String(obj)