J. Ryan Stinnett
11e274b477
Add spans
feature to control proc-macro2
...
Using `proc-macro2`'s `nightly` feature is a good default for most use cases.
However, it causes a build error if used together with crates such as
`cssparser` that also use `proc-macro2` from a build script.
This change adds a default enabled feature `spans` that users can disable if
they need to work around this conflict.
Fixes #160 .
2018-04-25 14:42:21 -05:00
Alex Crichton
2b9c48d5f9
Favor if let
instead of is_some
+ unwrap
2018-04-23 11:25:30 -07:00
Alex Crichton
8ae6fe19a3
Merge pull request #153 from FreeMasen/master
...
include fetch arg for wasm2es6js
2018-04-23 13:23:24 -05:00
robert masen
6a6be7ef88
update comment to be more descriptive
2018-04-23 11:32:57 -05:00
Alex Crichton
da2057610f
Merge pull request #156 from jsheard/jsheard-patch-1
...
Fix Typescript definition of constructor arguments
2018-04-23 09:15:47 -05:00
robert masen
79a49b2a56
update fetch to take a string parameter
2018-04-23 09:04:30 -05:00
Robert Masen
cbccd2028d
include fetch arg for wasm2es6js
2018-04-23 08:41:02 -05:00
Joshua Sheard
0caa6d2ec4
Fix Typescript definition of constructor arguments
2018-04-22 10:57:00 +01:00
Alex Crichton
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
Alex Crichton
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
Alex Crichton
947386ee57
Add an example of a minimal wasm module
2018-04-20 22:38:22 -07:00
Alex Crichton
4100dc9c53
Recommend installation from crates.io, not git
2018-04-20 19:07:56 -07:00
Alex Crichton
88b3b96f60
Add a link to blog post in README
2018-04-20 11:34:34 -07:00
Alex Crichton
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
Alex Crichton
3b4bf475be
Bump to 0.2.5
0.2.5
2018-04-19 18:46:41 -07:00
Alex Crichton
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
Alex Crichton
542b3a28eb
Merge pull request #149 from rustwasm/struct-fields
...
Generate accessors for public struct fields
2018-04-19 19:33:01 -05:00
Alex Crichton
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
Alex Crichton
f3c05e5339
Fix compat with stable
2018-04-19 14:28:30 -07:00
Alex Crichton
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
Alex Crichton
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
Alex Crichton
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
Alex Crichton
cecefc2aca
Merge pull request #148 from rustwasm/no-std
...
Work with `#![no_std]` contexts
2018-04-19 15:26:29 -05:00
Alex Crichton
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
Alex Crichton
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
Alex Crichton
574e54a89d
Add an example of --no-modules
in action
2018-04-19 07:21:09 -07:00
Alex Crichton
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
Alex Crichton
055a8fb803
Bump to 0.2.4
0.2.4
2018-04-18 07:18:11 -07:00
Alex Crichton
7d5f2e4152
Enable the visit
feature of syn
2018-04-18 07:16:14 -07:00
Nick Fitzgerald
9035c6f9f5
Merge pull request #142 from quelledanielle/patch-2
...
WebAssemblyly => WebAssembly
2018-04-17 16:30:33 -07:00
Danielle Pham
a01c5ce9f1
WebAssemblyly => WebAssembly
2018-04-17 19:25:55 -04:00
Alex Crichton
685b6c2b04
Merge pull request #140 from quelledanielle/patch-1
...
GitHUb => GitHub
2018-04-17 16:35:30 -05:00
Danielle Pham
8f90fc4f95
GitHUb => GitHub
2018-04-17 17:34:17 -04:00
Alex Crichton
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
Alex Crichton
c74230b4a9
Bump to 0.2.3
0.2.3
2018-04-17 13:07:43 -07:00
Alex Crichton
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
Nikolay Volf
ebc03d19b5
Should be ok with crates.io version
2018-04-17 22:27:46 +03:00
Alex Crichton
1424c4987d
Branch was merged quickly!
2018-04-17 11:51:55 -07:00
Alex Crichton
9a6a15f605
Fix compilation and support on 32-bit targets
2018-04-17 11:42:10 -07:00
Alex Crichton
f80a7067a0
Use a struct instead of a bool variant
...
Helps it be a bit more readable!
2018-04-17 11:29:03 -07:00
Alex Crichton
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
Alex Crichton
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
Alex Crichton
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
Alex Crichton
49ead6a0d0
I think incremental shoudl be fixed now!
2018-04-16 10:38:26 -07:00
Alex Crichton
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
Alex Crichton
5efde3abe9
Be sure to generate classes for empty structs
...
Closes #131
2018-04-16 08:05:18 -07:00
Alex Crichton
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
Alex Crichton
f8ecf912c7
Clean up the generated JS a bit
2018-04-16 07:56:55 -07:00
Alex Crichton
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
Alex Crichton
1c11c46f49
Merge pull request #132 from rustwasm/closure-more-fun-types
...
Support closures with "rich" arguments
2018-04-16 09:52:19 -05:00