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

Introduce Dom typeclass #20

Merged
merged 17 commits into from
Jan 24, 2023
Merged

Introduce Dom typeclass #20

merged 17 commits into from
Jan 24, 2023

Conversation

armanbilge
Copy link
Owner

I have gone crazy 😅

The goal is to introduce a typeclass for interacting with the DOM without needing Async or Sync and stuff.

There is a stupid amount of work to do, essentially to re-wrap all the scala-js-dom APIs. I started with just what I need from Calico. We'll have to see how this goes. Odds are that APIs will be added as-needed.

Scala 3 only, because opaque type and extension and stuff.

@armanbilge
Copy link
Owner Author

armanbilge commented Nov 12, 2022

Some design notes: this is a bit of a different style than the rest of the library, which creates wrappers for JavaScript classes.

The reasoning is that the allocation cost of a wrapper for every single element would just be really bad for performance.

@armanbilge armanbilge closed this Jan 24, 2023
@armanbilge armanbilge reopened this Jan 24, 2023
@armanbilge armanbilge merged commit 586ccb5 into main Jan 24, 2023
@armanbilge armanbilge deleted the pr/dom branch January 24, 2023 04:50
@armanbilge armanbilge restored the pr/dom branch January 24, 2023 04:51
@armanbilge armanbilge deleted the pr/dom branch January 24, 2023 04:52
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