1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#[macro_export] macro_rules! js( ($global:expr, { $($name:expr: $value:expr),+ }) => ({ let value = Value::new_obj(Some($global)); $( value.set_field($name, js!($value)); )+ value }); ($inp:expr) => ( to_value($inp) ); ) #[macro_export] macro_rules! js_extend( ($object:expr, {$name:expr: $value:expr}) => ( $object.set_field($name, $value) ); ($object:expr, { $($name:expr: $value:expr),+ }) => ({ let object = $object; $( object.set_field($name, js!($value)); )+ }); )