Changes 'is' checks for JS types such that it no longer does an
instance of check and instead only checks to see if the object
in question is a JS object or appropriate subtype. This means that
any two @JS objects will pass an is check and therefore can be
casted as one another. This makes it consistent with expected
behavior and dart2js.
Also amends the README to reflect the unified behavior.
Change-Id: I11aa105d6cafbbafde482b27dcc1182c0960cce9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173140
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Remove sections describing differences between dart2js and ddc that
have since been resolved.
Both ddc and dart2js will require use of `allowInterop` in all but
unlikely edge cases. Both will be strict about argument types and count
as long as `allowInterop` is used.
Other fixes:
- Fix spelling of "supersedes".
- Use `List.from` over `list.cast().toList()` in example.
Change-Id: If4ce0926a4460ed41ddea2714ee3324c60770d62
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136844
Commit-Queue: Nate Bosch <nbosch@google.com>
Auto-Submit: Nate Bosch <nbosch@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
For now stage this in the package:js README - that might not be the best
place for it long term since the details may change...
- Add a note that makes it explicit we expect all interop to use
`package:js` instead of `dart:js`.
- Add notes about known limitations and differences between dart2js and
DDC.
Change-Id: Ib4c967ea1435dd85f41f56646140352b125cee4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107560
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
- Remove some unnecessary details in the README. The SDK constraint
duplicates the pubspec, the dependencies section duplicates automatic
info on the pub site, and the contributing section duplicates generate
Dart/SDK contributing information. The issue link is still useful
since it fills in a template, but we should update it to include a
label by default.
- Use "JavaScript" consistently in docs.
- Rephrase some doc comments for clarity.
- Drop `new` from examples.
- Use consistent single quotes in examples.
- Always show the `@JS()` annotation on `library` in examples.
- Move the note about factory constructors for anonymous classes to the
annotation from the README.
- Bump the mimimum SDK to`2.0.0` since there isn't utility in claiming
support for older SDKs.
There are stale docs remaining in the `varargs.dart` library that should
be handled separately by deleting that library.
Change-Id: Ida51d2ec3fd31210b55dc91042a0ac1cf77210b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107450
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>