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

Unintercepted JS types/objects should be intercepted as some Dart Interceptor type #47679

Open
srujzs opened this issue Nov 11, 2021 · 0 comments
Labels
area-web Use area-web for Dart web related issues, including the DDC and dart2js compilers and JS interop. type-design web-js-interop Issues that impact all js interop

Comments

@srujzs
Copy link
Contributor

srujzs commented Nov 11, 2021

We currently have Interceptors in the web compilers to represent JS types and objects e.g. JavaScriptObject, Native classes, etc. However, these don't seem to fully capture all possible things in JS that you can operate. For example, the Symbol class doesn't seem to have a target interceptor. There was also discussion on whether or not BigInt is properly intercepted. The lack of an intercepted type means interop with these types/objects proves painful, especially when we move to the model of exposing JavaScriptObject as the catch-all for all the types/objects we want to expose to users with extension types. Collections are also affected e.g. lack of hashCode. We should distinguish between the set of unintercepted things and determine where in the Interceptor hierarchy they should exist.

@srujzs srujzs added web-js-interop Issues that impact all js interop type-design area-web Use area-web for Dart web related issues, including the DDC and dart2js compilers and JS interop. labels Nov 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-web Use area-web for Dart web related issues, including the DDC and dart2js compilers and JS interop. type-design web-js-interop Issues that impact all js interop
Projects
None yet
Development

No branches or pull requests

1 participant