Como utilizar extensions no Dart
As extensions foram introduzidas no Dart 1.7 e com ela conseguimos adicionar funcionalidades para bibliotecas já existentes, sejam elas nativas do próprio Dart, ou third-parties.
Considere, por exemplo, o seguinte código que verifica se uma lista está vazia:
Como poderíamos melhorar a legibilidade desse código? Podemos resolver isso com uma extension.
Mas como a utilizamos agora?
Primeiro importamos o arquivo e em seguida utilizamos o getter definido na extension direto na nossa lista, sem ter que criar uma função solta ou uma classe para isso.
Bem legal, né? E definir uma extension é bem simples, se liga na sintaxe:
extension <nome da extensão> on <tipo> {
/// definição da extension
}
Vamos ver mais um exemplo?
Se repararmos bem, para utilizarmos propriedades ou métodos definidos na própria biblioteca, não precisamos utilizar o this, basta apenas chama-lo sozinho. Então se precisássemos verificar o tamanho da lista, poderíamos utilizar somente o length, por exemplo.
Agora, para utilizarmos essa extension, basta seguirmos o mesmo passo a passo anterior.
As extensions não se limitam somente a getters, podemos utilizar métodos normalmente também.
Bom, por esse artigo é isso. Espero que tenham gostado e que tenha ajudado vocês de alguma forma, esse é um assunto bem bacana e que eu queria muito compartilhar.