Alex Crichton
2d7f601696
Add conversions between typed arrays and Rust
...
For all typed arrays, this commit adds:
* `TypedArray::view(src: &[Type])`
* `TypedArray::copy_to(&self, dst: &mut [Type])`
The `view` function is unsafe because it doesn't provide any guarantees
about lifetimes or mutability. The `copy_to` function is, however, safe.
Closes #811
2019-01-04 10:42:14 -08:00
Alex Crichton
48f4adfa8c
Run rustfmt over everything
2018-11-27 12:07:59 -08:00
Alex Crichton
a16b4dd9a4
Optimize shim generation for structural
items
...
This commit removes shims, where possible, for `structural` items.
Instead of generating code that looks like:
const target = function() { this.foo(); };
exports.__wbg_thing = function(a) { target.call(getObject(a)); };
we now instead generate:
exports.__wbg_thing = function(a) { getObject(a).foo(); };
Note that this only applies to `structural` bindings, all default
bindings (as of this commit) are still using imported targets to ensure
that their binding can't change after instantiation.
This change was [detailed in RFC #5 ][link] as an important optimization
for `structural` bindings to ensure they've got performance parity with
today's non-`structural` default bindings.
[link]: https://rustwasm.github.io/rfcs/005-structural-and-deref.html#why-is-it-ok-to-make-structural-the-default
2018-11-08 13:04:38 -08:00
Joni Katajamäki
968b5e0154
Add overloads with endianness parameter to DataView gets and sets
2018-10-15 14:32:17 +03:00
Alex Crichton
f9d2dbd0b6
js-sys: Add bindings for TypedArray.slice
...
This commit adds support for the `slice` function on all `TypedArray`
instances. The `slice` function is similar to `subarray` except that it
actually copies the data, whereas `subarray` just returns a different
view into data.
2018-10-10 15:57:00 -07:00
Alex Crichton
7ecf4aae87
cargo +nightly fmt --all
...
Rustfmt all the things!
2018-09-26 08:26:00 -07:00
Nick Fitzgerald
f9cd329b14
js-sys: Add js_sys::try_iter
for iterating over any JsValue
...
Fixes #776
2018-09-25 14:30:26 -07:00
Nick Fitzgerald
e3d2ea2628
js-sys: Catch exceptions thrown in Reflect APIs
...
Proxies passed to Reflect APIs can throw for any of these operations and it is a
bit of a mess.
2018-09-25 14:30:26 -07:00
Anton Danilkin
f808594efa
Add String.raw
2018-09-20 00:40:14 +03:00
Michael Hoffmann
f7b511588b
Add binding for Object.entries()
2018-09-19 21:32:05 +02:00
Michael Hoffmann
326e4c0262
Add binding for Object.getPrototypeOf()
2018-09-19 21:10:40 +02:00
Michael Hoffmann
76969bd1e3
Add binding for Object.getOwnPropertySymbols()
2018-09-19 20:58:46 +02:00
Michael Hoffmann
4e18493fd7
Add binding for Object.getOwnPropertyNames()
2018-09-19 20:43:50 +02:00
Michael Hoffmann
2d91fa11b5
Add binding for Object.getOwnPropertyDescriptors()
2018-09-16 23:02:46 +02:00
Michael Hoffmann
b005e96fd9
Add binding for Object.getOwnPropertyDescriptor()
2018-09-16 22:55:15 +02:00
Michael Hoffmann
191e7dc1fb
Add binding for Object.defineProperties()
2018-09-15 22:30:27 +02:00
Michael Hoffmann
fe6ad5447e
Add binding for Object.defineProperty()
2018-09-12 07:39:39 +02:00
Alex Crichton
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
Nick Fitzgerald
bfff31fcb9
js-sys: Expose bindings to WebAssembly.Table.prototype.set
...
Part of #275
2018-09-06 15:02:01 -07:00
Nick Fitzgerald
8dbb0fc5f2
js-sys: Expose bindings to WebAssembly.Table.prototype.grow
...
Par of #275
2018-09-06 14:58:46 -07:00
Nick Fitzgerald
2d4f36c9da
js-sys: Add bindings to WebAssembly.Table.prototype.get
...
Part of #275
2018-09-06 14:54:49 -07:00
Nick Fitzgerald
fb5e6e9c06
js-sys: Add bindings for WebAssembly.instantiateStreaming
...
Part of #275
2018-09-06 14:47:37 -07:00
Nick Fitzgerald
021cbbab71
js-sys: Add bindings for WebAssembly.instantiate
...
Part of #275
2018-09-06 14:35:45 -07:00
Nick Fitzgerald
8b5f5a7560
js-sys: Add exports
getter to WebAssembly.Instance
...
Part of #275
2018-09-06 14:16:28 -07:00
Nick Fitzgerald
cb2aa999c0
js-sys: Define imports for WebAssembly.Instance
and its constructor
...
Part of #670 and #275
2018-09-06 14:16:18 -07:00
Nick Fitzgerald
66d155d708
js-sys: Add extends
to Reflect
...
Part of #670
2018-09-06 13:42:16 -07:00
Nick Fitzgerald
bfff8661c1
js-sys: Add extends
to Math
...
Part of #670
2018-09-06 13:39:30 -07:00
Nick Fitzgerald
5df2347a7a
js-sys: Add extends
to JSON
...
Part of #670
2018-09-06 13:32:31 -07:00
Alex Crichton
bb7ca348c2
Add WebAssembly.Memory to js-sys
...
This adds definitions for the `WebAssembly.Memory` type to `js-sys`.
2018-08-26 15:40:37 -07:00
Roberto Huertas
042cfad5ce
feat(extends): extend promise
2018-08-24 02:15:02 +02:00
Frazer McLean
1ea1410f98
Catch errors in Table and Module constructors
2018-08-20 22:12:29 +02:00
Frazer McLean
7432f5ff5c
Merge branch 'master' of git://github.com/rustwasm/wasm-bindgen
2018-08-20 21:55:42 +02:00
Alex Crichton
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
Ivan Enderlin
1e27b588e2
feat(js-sys) Implement String.replace(&str, …)
.
2018-08-20 11:01:56 +02:00
Ivan Enderlin
a9a1e69f30
feat(js-sys) Implement String.split
with regexp.
2018-08-20 10:42:12 +02:00
Alex Crichton
6d49c76bc4
Merge pull request #734 from alexcrichton/stabilize
...
Remove `use_extern_macros` features
2018-08-19 18:12:00 -07:00
Frazer McLean
19ee28d769
Don’t need catch for Module static methods
2018-08-20 01:50:27 +02:00
Alex Crichton
d4297ad2d3
Remove use_extern_macros
features
...
This has now been stabilized!
2018-08-19 14:33:01 -07:00
Danielle Pham
4f294224f0
Add bindings for String.prototype.split
2018-08-19 15:09:45 -04:00
Danielle Pham
8698084a43
Add binding for String.prototype.search
2018-08-19 14:52:10 -04:00
Danielle Pham
44877880bb
Add bindings for String.prototype.replace
2018-08-19 14:42:22 -04:00
Danielle Pham
7b53b1c88e
Add binding for String.prototype.match
2018-08-19 13:59:00 -04:00
Mason Stallmo
b330bd1bf1
Refactor inheritance checks into their own tests
2018-08-19 11:27:04 -05:00
Mason Stallmo
1762b3cba0
Add extends to js-sys:Intl.PluralRules
2018-08-19 11:03:55 -05:00
Mason Stallmo
ee131888da
Add extends to js-sys:Intl.NumberFormat
2018-08-19 10:19:03 -05:00
Mason Stallmo
780c7236f1
Add extends to js-sys:Intl.DateTimeFormat
2018-08-19 10:13:25 -05:00
Mason Stallmo
f0811d5ac0
Add extends to js-sys:Intl.Collater
2018-08-19 10:03:56 -05:00
Alex Crichton
9c6225fd80
Merge pull request #720 from kraai/patch-1
...
Test for and add extends attributes
2018-08-18 22:15:30 -07:00
Alex Crichton
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
Alex Crichton
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