Commit Graph

2199 Commits

Author SHA1 Message Date
66d96aac11 Fix merge conflicts with fetch example 2018-08-20 11:23:02 -07:00
285a7bf7da Merge pull request #713 from alexcrichton/weakref
Add experimental support for `WeakRef`
2018-08-20 11:18:40 -07:00
61491eafbf Add experimental support for WeakRef
This commit adds experimental support for `WeakRef` to be used to automatically
free wasm objects instead of having to always call the `free` function manually.
Note that when enabled the `free` function for all exported objects is still
generated, it's just optionally invoked by the application.

Support isn't exposed through a CLI flag right now due to the early stages of
the `WeakRef` proposal, but the env var `WASM_BINDGEN_WEAKREF` can be used to
enable this generation. Upon doing so the output can then be edited slightly as
well to work in the SpiderMonkey shell and it looks like this is working!

Closes #704
2018-08-20 11:18:02 -07:00
f8cf4ab732 Support importing same-name statics from two modules
Closes #714
2018-08-20 10:56:58 -07:00
4195af68e7 Fix the constructor and catch attributes combined
This commit fixes annotations that include both the `constructor` and `catch`
attributes on imported types, ensuring that we infer the right type being
returned after extracting the first type parameter of the `Result`.

Closes #735
2018-08-20 10:40:54 -07:00
adcc0dd23e Merge pull request #729 from eminence/fetch
Initial example for the Fetch API
2018-08-20 10:35:57 -07:00
3b02b8e319 Merge pull request #731 from alexcrichton/rename-usv-str
Tweak some WebIDL type names in methods
2018-08-20 10:32:15 -07:00
ddc42738cf Tweak some WebIDL type names in methods
Instead of `dom_str`, `byte_str`, and `usv_str`, emit `str` for all of them.
Similarly for `unrestricted_f64` just do `f64` instead. This reflects how we
interpret the types already in terms of Rust types and although technically
makes it possible to have name collisions in WebIDL they don't come up in
practice.
2018-08-20 10:32:04 -07:00
8f2342b338 Merge pull request #717 from alexcrichton/shorter-names
Skip args in overloaded method names if all same
2018-08-20 10:30:16 -07:00
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
e4093eb178 No more use_extern_macros feature! 2018-08-20 13:19:00 -04:00
a4bf239eff Merge pull request #739 from Hywan/string-replace-regexp
feat(js-sys) Implement `String.replace(&str, …)`
2018-08-20 07:55:05 -07:00
e92aeed214 Merge pull request #738 from Hywan/string-split
feat(js-sys) Implement `String.split` with regexp.
2018-08-20 07:53:57 -07:00
1e27b588e2 feat(js-sys) Implement String.replace(&str, …). 2018-08-20 11:01:56 +02:00
a9a1e69f30 feat(js-sys) Implement String.split with regexp. 2018-08-20 10:42:12 +02:00
6d49c76bc4 Merge pull request #734 from alexcrichton/stabilize
Remove `use_extern_macros` features
2018-08-19 18:12:00 -07:00
19ee28d769 Don’t need catch for Module static methods 2018-08-20 01:50:27 +02:00
2c72eabea1 Make the list of examples alphabetical, and add webaudio and fetch examples 2018-08-19 18:41:02 -04:00
9d7c0af08f Initial example for the Fetch API 2018-08-19 18:41:02 -04:00
4c1bf937f2 Move the unsize feature behind a nightly Cargo feature
This should fully stabilize the `wasm-bindgen` crate, preparing us for stable
Rust!
2018-08-19 14:45:59 -07:00
305ecb7910 Remove nll feature from webaudio example 2018-08-19 14:42:25 -07:00
d4297ad2d3 Remove use_extern_macros features
This has now been stabilized!
2018-08-19 14:33:01 -07:00
f8605108b7 Merge pull request #732 from quelledanielle/js_string_bindings
Add remaining String.prototype bindings
2018-08-19 13:41:45 -07:00
4f294224f0 Add bindings for String.prototype.split 2018-08-19 15:09:45 -04:00
8698084a43 Add binding for String.prototype.search 2018-08-19 14:52:10 -04:00
44877880bb Add bindings for String.prototype.replace 2018-08-19 14:42:22 -04:00
7b53b1c88e Add binding for String.prototype.match 2018-08-19 13:59:00 -04:00
12a6aaa1bf Merge pull request #730 from mstallmo/add-extends-to-js-sys
Add extends to js sys Intl.Collater, Intl.DateTimeFormat, Intl.NumberFormat, and Intl.PluralRules
2018-08-19 10:28:31 -07:00
b330bd1bf1 Refactor inheritance checks into their own tests 2018-08-19 11:27:04 -05:00
1762b3cba0 Add extends to js-sys:Intl.PluralRules 2018-08-19 11:03:55 -05:00
ee131888da Add extends to js-sys:Intl.NumberFormat 2018-08-19 10:19:03 -05:00
780c7236f1 Add extends to js-sys:Intl.DateTimeFormat 2018-08-19 10:13:25 -05:00
f0811d5ac0 Add extends to js-sys:Intl.Collater 2018-08-19 10:03:56 -05:00
003cf102f1 Fix webidl 2018-08-19 14:28:45 +01:00
7c83c73919 Comment typo 2018-08-19 13:41:23 +01:00
a4835304eb Add codegen to make test work. 2018-08-19 13:39:16 +01:00
9c6225fd80 Merge pull request #720 from kraai/patch-1
Test for and add extends attributes
2018-08-18 22:15:30 -07:00
1fd52b08a3 Merge pull request #724 from eminence/partial_mixin
Fix missing WindowOrWorkerGlobalScope partial interface mixins.
2018-08-18 22:10:17 -07:00
3697ddf4c0 Merge pull request #723 from mstallmo/add-extends-to-js-sys
Add extends attributes for js_sys:Generator
2018-08-18 22:09:16 -07:00
a12fc46a55 Merge pull request #728 from quelledanielle/js_string_from_code_point
Add bindings for String.from_code_point
2018-08-18 22:08:48 -07:00
1ea3c37b5f Merge pull request #727 from quelledanielle/js_string_locale_compare
Add binding for String.prototype.localeCompare
2018-08-18 22:08:02 -07:00
78369637f8 Merge pull request #721 from eminence/console_log
Show how to use web-sys::console::log from the console_log example
2018-08-18 22:07:31 -07:00
27d48ad267 Add bindings for String.from_code_point 2018-08-18 21:35:38 -04:00
00a0152adf Rename local param to locale 2018-08-18 21:05:12 -04:00
0d3f706195 Add binding for String.prototype.localeCompare 2018-08-18 21:05:02 -04:00
d9fd2147a0 [wip] support variadic javascript function parameters 2018-08-18 22:15:29 +01:00
302f7ba21d Fix missing WindowOrWorkerGlobalScope partial interface mixins.
Without the "mixin" keyword, wasm_bindgen_webidl would report:

     Partial interface WindowOrWorkerGlobalScope missing non-partial interface

Also, including the "mixin" keyword here is consistent with the official
webidl spec (for example see https://fetch.spec.whatwg.org/#fetch-method)
2018-08-18 11:23:29 -04:00
c543b5d149 Add extends attributes for js_sys:Generator 2018-08-18 09:11:07 -05:00
4a994da904 Show how to use web-sys::console::log from the console_log example 2018-08-17 22:54:59 -04:00
751f226170 Merge branch 'master' of git://github.com/rustwasm/wasm-bindgen 2018-08-18 01:58:11 +02:00