Com a correspondência de padrões, é fácil criar uma condição como esta:
if (json case {"data": final Map data, "changed": final List changed}
when changed.isNotEmpty) {
... perform some work with 'data' and 'changed'.
}
No entanto, isso leva ao código ilegível (em termos de aninhamento), se você tiver vários padrões para aplicar.
O que eu gostaria de fazer é ter cláusulas de proteção de padrões, de modo que eu possa escrever algo assim:
if (NOT json case {"data": final Map data, "changed": final List changed}
when changed.isNotEmpty) {
return;
}
... perform some work with 'data' and 'changed'.