macro_rules! val {
([]) => { ... };
({}) => { ... };
([$($tt:tt)*]) => { ... };
(null) => { ... };
(undefined) => { ... };
({$($tt:tt)*}) => { ... };
($val:expr) => { ... };
(@next ({$($val:tt)*}) ($($next:tt)+) ($($args:tt)+)) => { ... };
(@next ([$($val:tt)*]) ($($next:tt)+) ($($args:tt)+)) => { ... };
(@next ([$($val:tt)*], $($rest:tt)+) ($($next:tt)+) ($($args:tt)+)) => { ... };
(@next ({$($val:tt)*}, $($rest:tt)+) ($($next:tt)+) ($($args:tt)+)) => { ... };
(@next (null, $($rest:tt)+) ($($next:tt)+) ($($args:tt)+)) => { ... };
(@next (undefined, $($rest:tt)+) ($($next:tt)+) ($($args:tt)+)) => { ... };
(@next ($val:expr, $($rest:tt)+) ($($next:tt)+) ($($args:tt)+)) => { ... };
(@next ({$($val:tt)*}) ($($next:tt)+) ($($args:tt)+)) => { ... };
(@next (null) ($($next:tt)+) ($($args:tt)+)) => { ... };
(@next (undefined) ($($next:tt)+) ($($args:tt)+)) => { ... };
(@next ($val:expr) ($($next:tt)+) ($($args:tt)+)) => { ... };
}
Create json::Val enum from any valid json format