Skip to content
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

Rewrite "Plainer", remove a whole lot of code. #120

Merged
merged 13 commits into from
Feb 23, 2021
Merged

Rewrite "Plainer", remove a whole lot of code. #120

merged 13 commits into from
Feb 23, 2021

Conversation

Skn0tt
Copy link
Collaborator

@Skn0tt Skn0tt commented Feb 20, 2021

This PR is a rather sizeable refactoring. It changes the plainer to recursively build the Annotation tree, removing the need for unneccessary tree traversals (looking at PathTree#append and annotator.ts).

It simplifies the inner workings of SuperJSON by large.

To fully remove PathTree, I had to change the representation of referentialEquality. This is not a breaking change, since SuperJSON's output is not considered a public API - but if you depend on it nonetheless, watch out.

It also removes the schema checks that where performed during deserialisation. I consider them unneccessary overhead.

@Skn0tt Skn0tt marked this pull request as ready for review February 21, 2021 14:22
@Skn0tt Skn0tt requested a review from flybayer February 21, 2021 14:25
@flybayer
Copy link
Member

Cool! I didn't look closely, but sounds good

@Skn0tt Skn0tt merged commit c8eb6d7 into main Feb 23, 2021
@Skn0tt Skn0tt mentioned this pull request Feb 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants