mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-04-11 22:56:06 +00:00
Add binding for Object.entries()
This commit is contained in:
parent
326e4c0262
commit
f7b511588b
@ -2014,6 +2014,16 @@ extern "C" {
|
|||||||
#[wasm_bindgen(static_method_of = Object, js_name = defineProperties)]
|
#[wasm_bindgen(static_method_of = Object, js_name = defineProperties)]
|
||||||
pub fn define_properties(obj: &Object, props: &Object) -> Object;
|
pub fn define_properties(obj: &Object, props: &Object) -> Object;
|
||||||
|
|
||||||
|
/// The Object.entries() method returns an array of a given
|
||||||
|
/// object's own enumerable property [key, value] pairs, in the
|
||||||
|
/// same order as that provided by a for...in loop (the difference
|
||||||
|
/// being that a for-in loop enumerates properties in the
|
||||||
|
/// prototype chain as well).
|
||||||
|
///
|
||||||
|
/// [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)
|
||||||
|
#[wasm_bindgen(static_method_of = Object)]
|
||||||
|
pub fn entries(object: &Object) -> Array;
|
||||||
|
|
||||||
/// The `Object.freeze()` method freezes an object: that is, prevents new
|
/// The `Object.freeze()` method freezes an object: that is, prevents new
|
||||||
/// properties from being added to it; prevents existing properties from
|
/// properties from being added to it; prevents existing properties from
|
||||||
/// being removed; and prevents existing properties, or their enumerability,
|
/// being removed; and prevents existing properties, or their enumerability,
|
||||||
|
@ -110,6 +110,19 @@ fn define_properties() {
|
|||||||
assert!(foo.has_own_property(&"car".into()));
|
assert!(foo.has_own_property(&"car".into()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[wasm_bindgen_test]
|
||||||
|
fn entries() {
|
||||||
|
let entries = Object::entries(&foo_42());
|
||||||
|
assert_eq!(entries.length(), 1);
|
||||||
|
entries.for_each(&mut |x, _, _| {
|
||||||
|
assert!(x.is_object());
|
||||||
|
let array: Array = x.into();
|
||||||
|
assert_eq!(array.shift(), "foo");
|
||||||
|
assert_eq!(array.shift(), 42);
|
||||||
|
assert_eq!(array.length(), 0);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
#[wasm_bindgen_test]
|
#[wasm_bindgen_test]
|
||||||
fn get_own_property_descriptor() {
|
fn get_own_property_descriptor() {
|
||||||
let foo = foo_42();
|
let foo = foo_42();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user