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));
		)+
	});
)