Alex Crichton 92b7de3d3d Skip args in overloaded method names if all same
This commit updates how we name overloaded methods. Previously all argument
names were concatenated, but after this commit it only concatenates argument
names where at least one possibility has a different type. Otherwise if all
possibilities have the same type name it in theory isn't adding too much more
information!

Additionally this commit also switches to using `_with_` consistently everywhere
instead of `_with_` for constructors and `_using_` for methods.

Closes #712
2018-08-20 10:30:02 -07:00
..
2018-08-19 14:33:01 -07:00
2018-08-19 14:33:01 -07:00
2018-08-19 14:33:01 -07:00
2018-08-19 14:33:01 -07:00
2018-08-19 14:33:01 -07:00

Examples

This directory contains a number of examples of the #[wasm_bindgen] macro and how to display them in the browser. Each directory contains a README with a link to https://webassembly.studio so you can also explore the example online (apologies if they're out of sync!), and each directory also contains a build.sh which assembles all the relevant files locally. If you open up index.html in a web browser you should be able to see everything in action when using build.sh!

The examples here are:

  • hello_world - the "hello world" of #[wasm_bindgen], aka throwing up a dialog greeting you
  • console_log - a showcase of #[wasm_bindgen] importing classes and how to bind console.log
  • math - like console_log except showing how to import Math-related functions instead
  • dom - an example of accessing the global document object and appending HTML to it
  • smorgasboard - a bunch of features all thrown into one, showing off the various capabilities of the #[wasm_bindgen] macro and what you can do with it from JS
  • performance - how to import APIs like performance.now() and time various operations in Rust
  • wasm-in-wasm - how to interact with namespaced APIs like WebAssembly.Module and shows off creation of a WebAssembly module from Rust
  • closures - an example of how to invoke functions like setInterval or use the onclick property in conjunction with closures.
  • no_modules - an example of how to use the --no-modules flag to the wasm-bindgen CLI tool
  • add - an example of generating a tiny wasm binary, one that only adds two numbers.
  • asm.js - an example of using the wasm2asm tool from binaryen to convert the generated WebAssembly to normal JS
  • char - an example of passing the rust char type to and from the js string type
  • import_js - an example of importing local JS functionality into a crate
  • comments - an example of how Rust comments are copied into js bindings