71cffed55c
Before we can reify `JSUndefined` and `JSNull` we need to give users a way to detect these values. Once existing users have migrated to these new helpers, then we can start boxing `JSUndefined` and `JSNull` on Dart2Wasm. There are a few steps here: 1) Land these helpers, but for now they will just preserve the existing semantics. 2) Deploy JS types to Flutter and `package:test`, i.e. everywhere Dart2Wasm's JS interop is currently being used, and use these helpers instead of `null` checks. 3) Switch the semantics of the helpers to stop conflating on all Web backends, while simultaneously boxing `JSNull` and `JSUndefined` on Dart2Wasm. CoreLibraryReviewExempt: Refactoring web only libraries + some changes to Wasm's internal libraries. Change-Id: Idb50b28b3087438751557ffd28505c7b536bf78b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282481 Reviewed-by: Srujan Gaddam <srujzs@google.com> Commit-Queue: Joshua Litt <joshualitt@google.com>