File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -2004,6 +2004,14 @@ extern "C" {
2004
2004
#[ wasm_bindgen( static_method_of = Object , js_name = defineProperty) ]
2005
2005
pub fn define_property ( obj : & Object , prop : & JsValue , descriptor : & Object ) -> Object ;
2006
2006
2007
+ /// The Object.defineProperties() method defines new or modifies
2008
+ /// existing properties directly on an object, returning the
2009
+ /// object.
2010
+ ///
2011
+ /// [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties)
2012
+ #[ wasm_bindgen( static_method_of = Object , js_name = defineProperties) ]
2013
+ pub fn define_properties ( obj : & Object , props : & Object ) -> Object ;
2014
+
2007
2015
/// The `Object.freeze()` method freezes an object: that is, prevents new
2008
2016
/// properties from being added to it; prevents existing properties from
2009
2017
/// being removed; and prevents existing properties, or their enumerability,
Original file line number Diff line number Diff line change @@ -87,6 +87,20 @@ fn define_property() {
87
87
assert ! ( foo. has_own_property( & "bar" . into( ) ) ) ;
88
88
}
89
89
90
+ #[ wasm_bindgen_test]
91
+ fn define_properties ( ) {
92
+ let props = Object :: new ( ) ;
93
+ let descriptor = DefinePropertyAttrs :: from ( JsValue :: from ( Object :: new ( ) ) ) ;
94
+ descriptor. set_value ( & 42 . into ( ) ) ;
95
+ let descriptor = JsValue :: from ( descriptor) ;
96
+ Reflect :: set ( props. as_ref ( ) , & JsValue :: from ( "bar" ) , & descriptor) ;
97
+ Reflect :: set ( props. as_ref ( ) , & JsValue :: from ( "car" ) , & descriptor) ;
98
+ let foo = foo_42 ( ) ;
99
+ let foo = Object :: define_properties ( & foo, & props) ;
100
+ assert ! ( foo. has_own_property( & "bar" . into( ) ) ) ;
101
+ assert ! ( foo. has_own_property( & "car" . into( ) ) ) ;
102
+ }
103
+
90
104
#[ wasm_bindgen_test]
91
105
fn has_own_property ( ) {
92
106
assert ! ( foo_42( ) . has_own_property( & "foo" . into( ) ) ) ;
You can’t perform that action at this time.
0 commit comments