structuredClone preserves Error cause references and drops falsy causes
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 127k
- Forks
- 25.3k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 4
Description
Description
The React Native structuredClone polyfill passes Error.cause through by reference instead of cloning it, and only copies the property when its value is truthy. Object causes therefore remain shared with the input; a circular cause points back to the original Error; and valid falsy causes such as false disappear.
Expected behavior
An own cause property should be cloned recursively, retain its non-enumerable Error property descriptor, preserve circular/shared identity within the clone, and keep falsy values. Node's native structuredClone follows this behavior.
React Native Version
0.87.1 and current main
Affected Platforms
JavaScript runtime - All
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the React Native structuredClone polyfill and inspect how it handles Error.cause. Compare its behavior with Node's native structuredClone, then add coverage showing recursive cloning, preserved circular/shared identity, the non-enumerable descriptor, and falsy causes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react-native
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100