Commit Graph

2233 Commits

Author SHA1 Message Date
fa5551d91f guide: Add paint example to the table of contents 2018-09-13 16:36:57 -07:00
17db217fe9 Change CI example to use a releaase binary 2018-09-13 19:06:31 -04:00
dcb783741c Merge pull request #823 from afdw/master
Add a section to the guide about the Paint example
2018-09-13 15:34:05 -07:00
97fc9b64f8 Add a section to the guide about the Paint example 2018-09-14 00:46:53 +03:00
e1ea897d2f Merge pull request #820 from afdw/master
Add paint example
2018-09-12 17:52:26 -07:00
b9cc8e1270 Use Cell instead of RefCell 2018-09-13 03:38:22 +03:00
2fc499d66d Merge pull request #819 from fitzgen/webidl-interfaces-should-extend-object
webidl: All interfaces implicitly extend `Object`
2018-09-12 16:21:48 -07:00
62b04e44c4 Add paint example 2018-09-13 02:10:36 +03:00
c6ede65856 Merge pull request #818 from fitzgen/guide-wasm-bindgen-test
guide: Add documentation for testing with `wasm-bindgen-test`
2018-09-12 15:40:31 -07:00
e2e815a477 guide: Add documentation for testing with wasm-bindgen-test 2018-09-12 15:40:09 -07:00
93a510ef93 webidl: All interfaces implicitly extend Object
This information is embedded within the algorithm for constructing interfaces
and their prototypes in the section for ECMAScript glue in the WebIDL spec...

This really *should* make the `wasm_bindgen_backend::ast::ImportType::extends`
member from a `Vec<Ident>` into a `Vec<syn::Path>` so that we could use
`js_sys::Object` in the extends field, but that is a huge pain because then the
`ImportedTypes` trait needs to be changed, and all of its implementers, etc...
2018-09-12 15:25:09 -07:00
587a703b3e Merge pull request #816 from alexcrichton/crufty-appveyor
Remove some crufty AppVeyor configuration
2018-09-12 23:42:33 +02:00
3929e371dd ci: remove hack for broken libLLVM.so in nightly 2018-09-12 14:09:00 -07:00
4e86ecd2c5 Merge pull request #813 from fitzgen/duck-typed-interfaces
Duck typed interfaces
2018-09-12 11:20:26 -07:00
22b3c37112 Remove some crufty AppVeyor configuration
The `crt-static` feature should be long since stable as well as incremental
compilation.
2018-09-12 11:08:19 -07:00
fd75280ef5 Another attempt to fix CI 2018-09-12 10:39:26 -07:00
a59a10d6df Fix tests on nightly 2018-09-12 10:20:03 -07:00
73e6191b60 Merge pull request #703 from lnicola/guide-publish-app
Guide: explain how to deploy the applicaton to a web server
2018-09-12 09:33:39 -07:00
e5af22ee4e Merge pull request #814 from brisad/object-define-property
Add binding for Object.defineProperty()
2018-09-12 09:13:03 -07:00
fe6ad5447e Add binding for Object.defineProperty() 2018-09-12 07:39:39 +02:00
1872e84a8a guide: Add section on working with duck-typed interfaces 2018-09-11 16:40:32 -07:00
a311c29f1d examples: Add an example of using duck-typed interfaces 2018-09-11 16:29:25 -07:00
9ca024a812 Merge pull request #792 from afdw/master
Add support for variadic arguments in WebIDL
2018-09-11 16:05:56 -07:00
89989b5973 Merge pull request #812 from fitzgen/guide-untyped-properties
guide: Add section on accessing properties of untyped values
2018-09-11 15:55:11 -07:00
27a7008764 guide: Add section on accessing properties of untyped values
Part of #616
2018-09-11 15:26:51 -07:00
096848199e Introduce a constant 2018-09-11 23:10:03 +03:00
1d2d397f55 Merge pull request #808 from fitzgen/web-sys-in-the-guide
web-sys gets its own section in the guide
2018-09-11 10:08:06 -07:00
3f92607be2 Merge pull request #810 from Tarnadas/doc/js-sys-function
doc: Add number suffix hint for JS function calls
2018-09-11 10:04:20 -07:00
8124cffeba Merge pull request #809 from Tarnadas/master
doc: Add nightly feature hint for closures
2018-09-11 10:02:53 -07:00
89005f3469 Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
84a477d78d doc: Add number suffix hint for JS function calls 2018-09-11 07:25:08 +02:00
e6fe9cf353 doc: Add nightly feature hint for closures
resolves #767
2018-09-11 07:06:21 +02:00
8ffa24bfe5 Guide: explain how to deploy the application 2018-09-11 07:33:24 +03:00
f6b199cfb0 web-sys: Crate metadata should point to the web-sys section of the wasm-bindgen guide 2018-09-10 17:56:03 -07:00
86796f8a03 guide: Add a user-facing web-sys section 2018-09-10 17:51:44 -07:00
723ed6e856 examples(fetch): Tidy up the fetch example 2018-09-10 17:50:55 -07:00
42ea38187f examples(webaudio): Tidy up the webaudio example 2018-09-10 17:50:34 -07:00
e730ee9a62 guide: update publishing new releases page 2018-09-10 15:37:12 -07:00
1a39e4e737 guide: Fix nesting of contributing pages 2018-09-10 15:32:39 -07:00
9f4ed536df Use js_sys::Array, generate _n methods for ergonomics 2018-09-11 00:37:59 +03:00
9147e3211e Merge pull request #805 from alexcrichton/callback-interfaces
Implement WebIDL callback interfaces
2018-09-10 12:48:24 -07:00
8181f7fa95 Implement WebIDL callback interfaces
This commit implements callback interfaces for WebIDL, the final WebIDL
construct that we were unconditionally ignoring! Callback interfaces are
implemented as dictionaries of callbacks. Single-operation callback interfaces
are also expanded when flattening to accept a `Function` as well, in accordance
with the WebIDL spec.

New features have been added to `web-sys` for all the new callback interface
types. Additionally the `EventTarget.webidl` was tweaked to not have
`EventListener?` as this is required for all functional usage and there's no
need to keep that sort of web browser compat here.

Closes #258
2018-09-10 12:00:50 -07:00
2cf82bc0b3 Merge pull request #803 from alexcrichton/fix-required
Change how filtering is done in WebIDL
2018-09-10 11:59:36 -07:00
116a19962f Change how filtering is done in WebIDL
Instead of actually modifying the `FirstPassRecord` let's instead just skip
relevant entries when we come across them. This should help us retain knowledge
that `optional SomeImportedType arg` can be bound even though `SomeImportedType`
may not exist.

One small tweak was needed to modify the AST afterwards to remove `extends`
annotations which aren't actually defined, but other than that this should...

Closes #802
2018-09-10 11:58:31 -07:00
be4ead7c8a Merge pull request #797 from alexcrichton/iterator
Implement the `Iterator` trait for JS iterators
2018-09-10 11:40:56 -07:00
1565951a0b Merge pull request #804 from alexcrichton/bigint
Expand LongLong to `(i32 or f64)` instead of `i64`
2018-09-10 11:40:35 -07:00
b7d7d28418 Expand LongLong to (i32 or f64) instead of i64
This commit tweaks WebIDL expansion of the "long long" and "unsigned long long"
types to expand to a union of an 32-bit integer and a double. This reflects how
almost none of the APIs on the web today actually work with a `BigInt` (what the
previous Rust type of `i64` translates to) and how JS itself fundamentally
operates with these APIs.

Eventually this may not be necessary if we can natively connect to C++ engines
with the `i64` type, but until that day comes this should provide more useful
interfaces as they shoudl work in all browsers.

Closes #800
2018-09-10 11:40:20 -07:00
f2608d3155 Implement the Iterator trait for JS iterators
This commit implements the standard library's `Iterator` trait for the
`js_sys::Iterator` type, using the iterator protocol described on [MDN]

Closes #777

[MDN]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols
2018-09-10 10:38:04 -07:00
14eb317509 Merge remote-tracking branch 'upstream/master' 2018-09-07 13:46:20 +03:00
f18b10ca52 Bump to 0.2.21 0.2.21 2018-09-06 22:10:11 -07:00