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)}` : undefined8 ))9 return `{${pairs.join(', ')}}`10 }11 if (typeof obj === 'string') return `'${obj.replaceAll("'", "\\'")}'`12 return String(obj)13}