1. Introduction
  2. Examples
    1. Hello, World!
    2. Using console.log
    3. Small Wasm files
    4. Without a Bundler
    5. Synchronous Instantiation
    6. Converting WebAssembly to JS
    7. Importing functions from JS
    8. Working with char
    9. js-sys: WebAssembly in WebAssembly
    10. web-sys: DOM hello world
    11. web-sys: Closures
    12. web-sys: performance.now
    13. web-sys: using fetch
    14. web-sys: Weather report
    15. web-sys: canvas hello world
    16. web-sys: canvas Julia set
    17. web-sys: WebAudio
    18. web-sys: WebGL
    19. web-sys: WebSockets
    20. web-sys: WebRTC DataChannel
    21. web-sys: requestAnimationFrame
    22. web-sys: A Simple Paint Program
    23. web-sys: Wasm in Web Worker
    24. Parallel Raytracing
    25. Wasm Audio Worklet
    26. web-sys: A TODO MVC App
  3. Reference
    1. Deployment
    2. JS snippets
    3. Static JS Objects
    4. Passing Rust Closures to JS
    5. Receiving JS Closures in Rust
    6. Promises and Futures
    7. Iterating over JS Values
    8. Arbitrary Data with Serde
    9. Accessing Properties of Untyped JS Values
    10. Working with Duck-Typed Interfaces
    11. Command Line Interface
    12. Optimizing for Size
    13. Supported Rust Targets
    14. Supported Browsers
    15. Support for Weak References
    16. Support for Reference Types
    17. Supported Types
      1. Imported JavaScript Types
      2. Exported Rust Types
      3. JsValue
      4. Box<[T]> and Vec<T>
      5. *const T and *mut T
      6. NonNull<T>
      7. Numbers
      8. bool
      9. char
      10. str
      11. String
      12. Number Slices
      13. Boxed Number Slices
      14. Result<T, E>
    18. #[wasm_bindgen] Attributes
      1. On JavaScript Imports
        1. catch
        2. constructor
        3. extends
        4. getter and setter
        5. final
        6. indexing_getter, indexing_setter, and indexing_deleter
        7. js_class = "Blah"
        8. js_name
        9. js_namespace
        10. method
        11. module = "blah"
        12. raw_module = "blah"
        13. no_deref
        14. static_method_of = Blah
        15. structural
        16. typescript_type
        17. variadic
        18. vendor_prefix
      2. On Rust Exports
        1. constructor
        2. js_name = Blah
        3. js_class = Blah
        4. readonly
        5. skip
        6. skip_jsdoc
        7. start
        8. main
        9. typescript_custom_section
        10. getter and setter
        11. inspectable
        12. skip_typescript
        13. getter_with_clone
  4. web-sys
    1. Using web-sys
    2. Cargo Features
    3. Function Overloads
    4. Type Translations
    5. Inheritance
    6. Unstable APIs
  5. Testing with wasm-bindgen-test
    1. Usage
    2. Writing Asynchronous Tests
    3. Testing in Headless Browsers
    4. Continuous Integration
    5. Coverage (Experimental)
  6. Contributing to wasm-bindgen
    1. Testing
    2. Internal Design
      1. JS Objects in Rust
      2. Exporting a function to JS
      3. Exporting a struct to JS
      4. Importing a function from JS
      5. Importing a class from JS
      6. Rust Type conversions
      7. Types in wasm-bindgen
    3. js-sys
      1. Testing
      2. Adding More APIs
    4. web-sys
      1. Overview
      2. Testing
      3. Logging
      4. Supporting More Web APIs
    5. Publishing
    6. Team