Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.10.1

dartz

Programação funcional em Dart. Purifique seu código Dart usando estruturas de dados imutáveis eficientes, mónadas, lentes e outras ferramentas de FP.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
583 mil
Curtidas
1,6 mil
Pontos Pub
130

Instalar pacote

flutter pub add dartz

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Dartz é uma biblioteca Dart que traz conceitos de programação funcional para o Dart, permitindo que desenvolvedores escrevam código mais limpo e previsível. Oferece estruturas de dados imutáveis, mónadas como Either e Option, e ferramentas como lentes para manipulação segura de dados. Ao promover pureza e evitar efeitos colaterais, o Dartz ajuda a gerenciar erros e valores opcionais de forma segura por tipo. Ideal para construir aplicações robustas e sustentáveis com tratamento claro de erros e gerenciamento de estado.

Casos de uso

  • Tratamento de erros com Either
  • Gerenciando valores opcionais com Option
  • Construindo funções puras
  • Criando lógica de negócios composável
  • Implementando gerenciamento de estado funcional
  • Escrever código testável e sustentável

Principais recursos

  • Estruturas de dados imutáveis
  • Monad Either para tratamento de erros
  • Tipo de opção para valores nulos
  • Lentes para atualizações funcionais
  • Composição segura por tipo
  • Leve e eficiente

Indicado para

  • Desenvolvedores procurando programação funcional em Dart
  • Equipes visando código puro e testável
  • Aplicações que exigem tratamento robusto de erros
  • Projetos focados em arquitetura limpa
  • Aplicações Dart de frontend e backend

Considerações

  • Requer conhecimento de conceitos de programação funcional
  • Pode aumentar a curva de aprendizado para iniciantes
  • Não adequado para scripts simples ou protótipos rápidos
  • Melhor usado em aplicativos maiores e estruturados
  • A integração com código não funcional pode exigir adaptação

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

dartz

License Pub.dev Github Stars

Functional programming in Dart

  • Type class hierarchy in the spirit of cats, scalaz and the standard Haskell libraries
  • Immutable, persistent collections, including IVector, IList, IMap, IHashMap, ISet and AVLTree
  • Option, Either, State, Tuple, Free, Lens and other tools for programming in a functional style
  • Evaluation, a Reader+Writer+State+Either+Future swiss army knife monad
  • Type class instances (Monoids, Traversable Functors, Monads and so on) for included types, as well as for several standard Dart types
  • Conveyor, an implementation of pure functional streaming
  • Examples, showcasing core concepts
New to functional programming?

A good place to start learning is the excellent Functional Programming in Scala by Paul Chiusano and Rúnar Bjarnason. I can not recommend this book highly enough.
You can also take a look at Category Theory for Programmers by Bartosz Milewski.

Status
  • Starting with version 0.10.0, Dart 2.12+ is required
  • 0.9.x supports Dart 1 and older Dart 2 versions
  • Basic type class structure and collection classes are relatively stable, but might see restructuring in future releases
  • Optimized for dart2js/node/v8, with performance on the dart vm being of distant secondary concern
  • Most things are stack safe and reasonably efficient, but there are a couple of exceptions and plenty of room for further optimizations
  • The streaming/conveyor stuff is highly experimental
  • The lens implementation is experimental and very bare bones
License/Disclaimer

See LICENSE

Categorias

Repositório-fonte

Projetos que usam este pacote