(obj: unknown, whitespace?: number | string | undefined)
| 219 | * @since 2.0.0 |
| 220 | */ |
| 221 | export const stringifyCircular = (obj: unknown, whitespace?: number | string | undefined): string => { |
| 222 | let cache: Array<unknown> = [] |
| 223 | const retVal = JSON.stringify( |
| 224 | obj, |
| 225 | (_key, value) => |
| 226 | typeof value === "object" && value !== null |
| 227 | ? cache.includes(value) |
| 228 | ? undefined // circular reference |
| 229 | : cache.push(value) && (redactableState.fiberRefs !== undefined && isRedactable(value) |
| 230 | ? value[symbolRedactable](redactableState.fiberRefs) |
| 231 | : value) |
| 232 | : value, |
| 233 | whitespace |
| 234 | ) |
| 235 | ;(cache as any) = undefined |
| 236 | return retVal |
| 237 | } |
| 238 | |
| 239 | /** |
| 240 | * @since 3.10.0 |
no test coverage detected