Commit Graph

1083 Commits

Author SHA1 Message Date
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
1c11c46f49 Merge pull request #132 from rustwasm/closure-more-fun-types
Support closures with "rich" arguments
2018-04-16 09:52:19 -05:00
c64f178543 Support closures with "rich" arguments
This commit adds support for closures with arguments like strings and such. In
other words, closures passed to JS can now have the same suite of arguments as
all functions that can be exported from Rust, as one might expect!

At this time due to the way trait objects work closures still cannot use types
with references like `&str`, but bare values like `String` or `ImportedType`
should work just fine.

Closes #104
2018-04-16 07:51:51 -07:00
c1df44189e Merge pull request #127 from konstin/new
Support `new Foo(...)` to fix #115
2018-04-16 09:49:19 -05:00
f63635fce9 Fix merge-breakage 2018-04-15 15:36:59 +02:00