summaryrefslogtreecommitdiffstats
path: root/vendor/wasm-bindgen/README.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:41:41 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:41:41 +0000
commit10ee2acdd26a7f1298c6f6d6b7af9b469fe29b87 (patch)
treebdffd5d80c26cf4a7a518281a204be1ace85b4c1 /vendor/wasm-bindgen/README.md
parentReleasing progress-linux version 1.70.0+dfsg1-9~progress7.99u1. (diff)
downloadrustc-10ee2acdd26a7f1298c6f6d6b7af9b469fe29b87.tar.xz
rustc-10ee2acdd26a7f1298c6f6d6b7af9b469fe29b87.zip
Merging upstream version 1.70.0+dfsg2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/wasm-bindgen/README.md')
-rw-r--r--vendor/wasm-bindgen/README.md113
1 files changed, 113 insertions, 0 deletions
diff --git a/vendor/wasm-bindgen/README.md b/vendor/wasm-bindgen/README.md
new file mode 100644
index 000000000..cf5dafcfd
--- /dev/null
+++ b/vendor/wasm-bindgen/README.md
@@ -0,0 +1,113 @@
+<div align="center">
+
+ <h1><code>wasm-bindgen</code></h1>
+
+ <p>
+ <strong>Facilitating high-level interactions between Wasm modules and JavaScript.</strong>
+ </p>
+
+ <p>
+ <a href="https://dev.azure.com/rustwasm/wasm-bindgen/_build/latest?definitionId=1&branchName=master"><img src="https://img.shields.io/azure-devops/build/rustwasm/wasm-bindgen/1.svg?style=flat-square" alt="Build Status" /></a>
+ <a href="https://crates.io/crates/wasm-bindgen"><img src="https://img.shields.io/crates/v/wasm-bindgen.svg?style=flat-square" alt="Crates.io version" /></a>
+ <a href="https://crates.io/crates/wasm-bindgen"><img src="https://img.shields.io/crates/d/wasm-bindgen.svg?style=flat-square" alt="Download" /></a>
+ <a href="https://docs.rs/wasm-bindgen"><img src="https://img.shields.io/badge/docs-latest-blue.svg?style=flat-square" alt="docs.rs docs" /></a>
+ </p>
+
+ <h3>
+ <a href="https://rustwasm.github.io/docs/wasm-bindgen/">Guide</a>
+ <span> | </span>
+ <a href="https://docs.rs/wasm-bindgen">API Docs</a>
+ <span> | </span>
+ <a href="https://github.com/rustwasm/wasm-bindgen/blob/master/CONTRIBUTING.md">Contributing</a>
+ <span> | </span>
+ <a href="https://discord.gg/xMZ7CCY">Chat</a>
+ </h3>
+
+ <sub>Built with 🦀🕸 by <a href="https://rustwasm.github.io/">The Rust and WebAssembly Working Group</a></sub>
+</div>
+
+## Example
+
+Import JavaScript things into Rust and export Rust things to JavaScript.
+
+```rust
+use wasm_bindgen::prelude::*;
+
+// Import the `window.alert` function from the Web.
+#[wasm_bindgen]
+extern "C" {
+ fn alert(s: &str);
+}
+
+// Export a `greet` function from Rust to JavaScript, that alerts a
+// hello message.
+#[wasm_bindgen]
+pub fn greet(name: &str) {
+ alert(&format!("Hello, {}!", name));
+}
+```
+
+Use exported Rust things from JavaScript with ECMAScript modules!
+
+```js
+import { greet } from "./hello_world";
+
+greet("World!");
+```
+
+## Features
+
+* **Lightweight.** Only pay for what you use. `wasm-bindgen` only generates
+ bindings and glue for the JavaScript imports you actually use and Rust
+ functionality that you export. For example, importing and using the
+ `document.querySelector` method doesn't cause `Node.prototype.appendChild` or
+ `window.alert` to be included in the bindings as well.
+
+* **ECMAScript modules.** Just import WebAssembly modules the same way you would
+ import JavaScript modules. Future compatible with [WebAssembly modules and
+ ECMAScript modules integration][wasm-es-modules].
+
+* **Designed with the ["Web IDL bindings" proposal][webidl-bindings] in mind.**
+ Eventually, there won't be any JavaScript shims between Rust-generated wasm
+ functions and native DOM methods. Because the wasm functions are statically
+ type checked, some of those native methods' dynamic type checks should become
+ unnecessary, promising to unlock even-faster-than-JavaScript DOM access.
+
+[wasm-es-modules]: https://github.com/WebAssembly/esm-integration
+[webidl-bindings]: https://github.com/WebAssembly/proposals/issues/8
+
+## Guide
+
+[**📚 Read the `wasm-bindgen` guide here! 📚**](https://rustwasm.github.io/docs/wasm-bindgen/)
+
+You can find general documentation about using Rust and WebAssembly together
+[here](https://rustwasm.github.io/docs).
+
+## API Docs
+
+- [wasm-bindgen](https://docs.rs/wasm-bindgen)
+- [js-sys](https://docs.rs/js-sys)
+- [web-sys](https://docs.rs/web-sys)
+- [wasm-bindgen-futures](https://docs.rs/wasm-bindgen-futures)
+
+## License
+
+This project is licensed under either of
+
+ * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
+ http://www.apache.org/licenses/LICENSE-2.0)
+ * MIT license ([LICENSE-MIT](LICENSE-MIT) or
+ http://opensource.org/licenses/MIT)
+
+at your option.
+
+## Contribution
+
+**[See the "Contributing" section of the guide for information on
+hacking on `wasm-bindgen`!][contributing]**
+
+Unless you explicitly state otherwise, any contribution intentionally submitted
+for inclusion in this project by you, as defined in the Apache-2.0 license,
+shall be dual licensed as above, without any additional terms or conditions.
+
+[contributing]: https://rustwasm.github.io/docs/wasm-bindgen/contributing/index.html \ No newline at end of file