macro_rules! component {
(
name: $name:expr,
version: $version:expr,
operations: {
$($opname:expr => {
config: {$($ckey:expr => $cvalue:expr),* $(,)?},
inputs: {$($ikey:expr => $ivalue:expr),* $(,)?},
outputs: {$($okey:expr => $ovalue:expr),* $(,)?},
}),* $(,)?
}
) => { ... };
(
name: $name:expr,
version: $version:expr,
operations: {
$($opname:expr => {
inputs: {$($ikey:expr => $ivalue:expr),* $(,)?},
outputs: {$($okey:expr => $ovalue:expr),* $(,)?},
}),* $(,)?
}
) => { ... };
(
name: $name:expr,
version: $version:expr,
operations: $ops:expr,
) => { ... };
}