Commit Graph

387 Commits

Author SHA1 Message Date
7aaf7801be Merge pull request #164 from rustwasm/failure
Migrate to the `failure` crate
2018-04-25 14:00:12 -05:00
5f59d95130 Migrate to the failure crate
Currently errors are reported via Rust panics but there's lots more errors being
added over time so this commit starts the movement towards the `failure` crate
to more idiomatically report errors as well as provide better error messages
over time.
2018-04-25 11:57:17 -07:00
2b9c48d5f9 Favor if let instead of is_some + unwrap 2018-04-23 11:25:30 -07:00
8ae6fe19a3 Merge pull request #153 from FreeMasen/master
include fetch arg for wasm2es6js
2018-04-23 13:23:24 -05:00
6a6be7ef88 update comment to be more descriptive 2018-04-23 11:32:57 -05:00
da2057610f Merge pull request #156 from jsheard/jsheard-patch-1
Fix Typescript definition of constructor arguments
2018-04-23 09:15:47 -05:00
79a49b2a56 update fetch to take a string parameter 2018-04-23 09:04:30 -05:00
cbccd2028d include fetch arg for wasm2es6js 2018-04-23 08:41:02 -05:00
0caa6d2ec4 Fix Typescript definition of constructor arguments 2018-04-22 10:57:00 +01:00
65acc3b692 Tighten up codegen with JsStatic a bit
This requires some `unsafe` as we have knowledge that LLVM doesn't, but
shouldn't be too harmful.
2018-04-21 13:52:28 -07:00
4436c0eae6 Avoid invoking a function pointer with JsStatic
The previous codegen wasn't enough to convince LLVM that the function pointer
was a constant value and could be aggressively inlined, so this updates the
`JsStatic` internals slightly to guarantee to LLVM that the function pointer is
constant and no dynamic dispatch is needed after all
2018-04-21 13:14:33 -07:00
947386ee57 Add an example of a minimal wasm module 2018-04-20 22:38:22 -07:00
4100dc9c53 Recommend installation from crates.io, not git 2018-04-20 19:07:56 -07:00
88b3b96f60 Add a link to blog post in README 2018-04-20 11:34:34 -07:00
7108206835 Implement readonly struct fields
Add support for `#[wasm_bindgen(readonly)]` which indicates that an exported
struct field is readonly and attempting to set it in JS will throw an exception.

Closes #151
2018-04-20 10:56:10 -07:00
3b4bf475be Bump to 0.2.5 0.2.5 2018-04-19 18:46:41 -07:00
c6f7d3dfd5 Fix methods returning Self
Rewrite any instance of `Self` to the name of the class

Closes #137
2018-04-19 18:43:37 -07:00
542b3a28eb Merge pull request #149 from rustwasm/struct-fields
Generate accessors for public struct fields
2018-04-19 19:33:01 -05:00
ce31859590 Generate accessors for public struct fields
Automatically infer public struct fields as "JS wants to access this" and
generate appropriate getters/setters for the field. At this time the field is
required to implement `Copy`, but we will probably want to relax that in the
future to at least encompass `JsValue` and maybe other `Clone` values as well.

Closes #121
2018-04-19 16:49:46 -07:00
f3c05e5339 Fix compat with stable 2018-04-19 14:28:30 -07:00
eb73e05b7a Deserialize less to match schema versions
Currently the entire `Program` is deserialized to match schema versions but this
is likely to fail when the schema changes. Instead just deserialize the
schema/version fields, compare those, and if successful go ahead and deserialize
everything.
2018-04-19 13:36:59 -07:00
0ade4b8cac Add a --no-modules-global flag
This can be used to configure the name of the global that's initialized so it's
not unconditionally `wasm_bindgen`.

Closes #145
2018-04-19 13:33:58 -07:00
212703671a No need to expose ptr in TypeScript
This was needed long ago but is no longer needed!

Closes #147
2018-04-19 13:28:50 -07:00
cecefc2aca Merge pull request #148 from rustwasm/no-std
Work with `#![no_std]` contexts
2018-04-19 15:26:29 -05:00
748184ae66 Work with #![no_std] contexts
This commit adds support for both `#![no_std]` in the wasm-bindgen runtime
support (disabled by default with an on-by-default `std` feature). This also
adds support to work and compile in the context of `#![no_std]` crates.

Closes #146
2018-04-19 13:24:30 -07:00
792a8e132e Fix unused variables in generated code
Also deny all warnings in tests to prevent this creeping back in.

Closes #141
2018-04-19 13:16:59 -07:00
574e54a89d Add an example of --no-modules in action 2018-04-19 07:21:09 -07:00
45e4983e8c Use self instead of window
That should hopefully get us more compatible with web workers!

Closes #144
2018-04-19 07:20:04 -07:00
055a8fb803 Bump to 0.2.4 0.2.4 2018-04-18 07:18:11 -07:00
7d5f2e4152 Enable the visit feature of syn 2018-04-18 07:16:14 -07:00
9035c6f9f5 Merge pull request #142 from quelledanielle/patch-2
WebAssemblyly => WebAssembly
2018-04-17 16:30:33 -07:00
a01c5ce9f1 WebAssemblyly => WebAssembly 2018-04-17 19:25:55 -04:00
685b6c2b04 Merge pull request #140 from quelledanielle/patch-1
GitHUb => GitHub
2018-04-17 16:35:30 -05:00
8f90fc4f95 GitHUb => GitHub 2018-04-17 17:34:17 -04:00
158b95c29b Add WebAssembly Studio links to examples/README
Should hopefully make it much easier to get off the ground running and
exploring!
2018-04-17 13:51:01 -07:00
c74230b4a9 Bump to 0.2.3 0.2.3 2018-04-17 13:07:43 -07:00
0884b3cca6 Merge pull request #139 from NikVolf/patch-1
parity-wasm should be ok with crates.io version
2018-04-17 14:32:02 -05:00
ebc03d19b5 Should be ok with crates.io version 2018-04-17 22:27:46 +03:00
1424c4987d Branch was merged quickly! 2018-04-17 11:51:55 -07:00
9a6a15f605 Fix compilation and support on 32-bit targets 2018-04-17 11:42:10 -07:00
f80a7067a0 Use a struct instead of a bool variant
Helps it be a bit more readable!
2018-04-17 11:29:03 -07:00
0e032955fb Use a length accessor instead of byteLength
This way we should be naturally compatible with normal JS arrays that get passed
in as well!

Closes #133
2018-04-16 13:50:21 -07:00
bd755c0378 Merge pull request #135 from rustwasm/doc-describ
Update DESIGN.md on recent closure/conversion changes
2018-04-16 15:33:02 -05:00
efb64b87d4 Extract Rust2Js like Js2Rust was extracted
Along the way clean up a lot of the formatting of the auto-generated code to
make it a bit prettier by default.
2018-04-16 13:31:56 -07:00
49ead6a0d0 I think incremental shoudl be fixed now! 2018-04-16 10:38:26 -07:00
b45ab77972 Update DESIGN.md on recent closure/conversion changes
Hopefully covering a lot of the groundwork done for closures in case anyone's
curious down the road!
2018-04-16 08:30:16 -07:00
5efde3abe9 Be sure to generate classes for empty structs
Closes #131
2018-04-16 08:05:18 -07:00
f61e12af91 Merge pull request #134 from rustwasm/better-formatting
Work a little harder to better format the output JS
2018-04-16 09:59:41 -05:00
f8ecf912c7 Clean up the generated JS a bit 2018-04-16 07:56:55 -07:00
d96e7309ad Format generated JS of export shims nicer
Apply a few indents and a few strategic slashes to make it look a bit nicer
2018-04-16 07:56:05 -07:00