commit | e89fe49d8a86845e49686b4578c56b67bdd7ba49 | [log] [tgz] |
---|---|---|
author | Srujan Gaddam <58529443+srujzs@users.noreply.github.com> | Mon Jul 15 18:32:27 2024 -0700 |
committer | GitHub <noreply@github.com> | Mon Jul 15 18:32:27 2024 -0700 |
tree | 8f0873bd373ba6171ad36dc88da94043f987f445 | |
parent | e4c4d8126466e28dc137890b8f999da59bdedddd [diff] |
Publish package:web v1 (#271)
Lightweight browser API bindings built around JS interop.
This package exposes browser APIs. It's generated from the Web IDL definitions and uses recent Dart language features for zero-overhead bindings.
This package is intended to replace dart:html
and similar Dart SDK libraries. It will support access to browser APIs from Dart code compiled to either JavaScript or WebAssembly.
import 'package:web/web.dart'; void main() { final div = document.querySelector('div')!; div.text = 'Text set at ${DateTime.now()}'; }
package:web
is replacing dart:html
and other web libraries as Dart's long-term web interop solution. To learn how to migrate from dart:html
APIs to package:web
, see our migration guide.
The generator scripts use a number of conventions to consistently handle Web IDL definitions:
JSObject
.implements
between extension types.JSArray
and JSPromise
.String
.JSFunction
.String
instead of JSString
.JSAny?
.JSObject
.Most of the APIs in this package are generated from public assets. See tool/README.md for information on the spec and IDL versions the package was generated from, and for the process for updating the package.