Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add
dedupe
flag #247feat: add
dedupe
flag #247Changes from 10 commits
0d95739
b3f907f
2b4dbe6
7b0742d
b1fb75a
86f0295
1d134ee
ea9f0b0
cb35784
c18c4e6
abf87c8
dc0e4b0
cacdd60
466de68
308d15b
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My gut instinct was to put this as an optional parameter to
serialize
, and call it something likepruneReferentialEqualities
, in reference tometa.referentialEqualities
. I'd also be fine withdedupeReferentialEqualities
. It's a lot longer of a name, but more descriptive I guess? But also harder to parse, so i'm torn between the two. Any strong feelings from your end on this?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding an optional argument to serialize could be seen as a breaking change in cases like
items.map(superjson.serialize.bind(superjson)
🙃There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see where you're coming from, but I don't necessarily agree with that strict of a definition of "breaking change" 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It'd be nice with some symbol here (and for circular references fwiw) to show in the JSON that we have replaced it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree. I wonder if there's some other implementation that we can draw inspiration from 🤔
Apparently Node.js prints
[Circular *1]
:Same with Deno. This might even be a v8 thing.
What if we did
[Circular]
and[Pruned]
?