Commit Graph

2083 Commits

Author SHA1 Message Date
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
6dccb7f777 Remove blank line
Part of #670
2018-08-17 14:50:15 -07:00
bec3178e3c Make all errors extend Object
Part of #670
2018-08-17 13:10:56 -07:00
687412ec50 Test for AsRef implementations
Part of #670
2018-08-17 13:09:30 -07:00
7a08da9205 Merge pull request #716 from eminence/webaudio
Initial example of using the WebAudio APIs from web-sys
2018-08-17 08:24:55 -07:00
4f18e21659 Initial example of using the WebAudio APIs from web-sys
Part of #443
2018-08-17 07:02:48 -04:00
57693ee11a Bump to 0.2.17 0.2.17 2018-08-16 23:36:42 -07:00
a4e8fb6686 Fix compile on latest nightly 2018-08-16 23:30:40 -07:00
37068cb47f Fix tests on nightly 2018-08-16 23:25:57 -07:00
25b6f5d982 Merge pull request #702 from alexcrichton/dictionaries
Implement support for WebIDL dictionaries
2018-08-16 13:06:06 -07:00
ffccfdee7d WebAssembly::Table::new takes an object 2018-08-16 20:41:07 +02:00
b519c290f9 futures should be a dev dependency 2018-08-16 20:40:19 +02:00
0a47a1f9e2 Merge pull request #715 from kraai/patch-1
Check that all errors are instances of Object
2018-08-16 09:28:58 -07:00
c8d0c57990 Check that all errors are instances of Object
Part of #670
2018-08-16 07:14:12 -07:00
f8354b3a88 Merge pull request #711 from fitzgen/get-canvas-example-working
Get canvas example working
2018-08-15 18:29:19 -07:00
34363aff12 example: Add an example of drawing a smiley face with canvas
Adapted from https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes
2018-08-15 17:40:39 -07:00
d6e48195b3 Implement support for WebIDL dictionaries
This commit adds support for generating bindings for dictionaries defined in
WebIDL. Dictionaries are associative arrays which are simply objects in JS with
named keys and some values. In Rust given a dictionary like:

    dictionary Foo {
        long field;
    };

we'll generate a struct like:

    pub struct Foo {
        obj: js_sys::Object,
    }

    impl Foo {
        pub fn new() -> Foo { /* make a blank object */ }

        pub fn field(&mut self, val: i32) -> &mut Self {
            // set the field using `js_sys::Reflect`
        }
    }

    // plus a bunch of AsRef, From, and wasm abi impls

At the same time this adds support for partial dictionaries and dictionary
inheritance. All dictionary fields are optional by default and hence only have
builder-style setters, but dictionaries can also have required fields. Required
fields are exposed as arguments to the `new` constructor.

Closes #241
2018-08-15 17:08:27 -07:00