Buscar categorias, pacotes e repositórios

Detalhes do pacotev0.1.2

data_class

Suporte experimental para classes de dados no Dart usando pkg:macros

Downloads em 30 dias
51
Curtidas
60
Pontos Pub
50

Instalar pacote

flutter pub add data_class

Visão geral do pacote

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

O pacote data_class oferece suporte experimental para classes de dados em Dart por meio de macros, permitindo definições concisas e livres de código repetitivo para estruturas de dados imutáveis. Ele simplifica a criação de classes que armazenam principalmente dados, gerando automaticamente métodos necessários como `toString`, `hashCode` e `operator ==`. Isso melhora a legibilidade do código e reduz erros provenientes da implementação manual. Projetado para desenvolvedores que buscam uma abordagem mais limpa para modelagem de dados em aplicações Dart, integra-se com ferramentas modernas do Dart e suporta fluxos de serialização JSON.

Casos de uso

  • Definindo modelos de dados imutáveis
  • Reduzindo o código boilerplate em classes de dados
  • Simplificando a serialização JSON
  • Criando modelos de domínio limpos
  • Simplificação da gestão de estado
  • Melhorar a manutenibilidade do código

Principais recursos

  • Geração automática de `toString`, `hashCode` e `==`
  • Suporte para classes de dados imutáveis
  • Integração com macros do Dart
  • Boilerplate mínimo
  • Suporte embutido de serialização JSON
  • Definições de classe limpas e legíveis

Indicado para

  • Desenvolvedores Dart usando versões modernas do Dart
  • Projetos que exigem modelagem de dados limpos
  • Gerenciamento de estado com dados imutáveis
  • JSON-heavy applications
  • Equipes que priorizam clareza e manutenibilidade do código
  • Prototipagem ou desenvolvimento rápido

Considerações

  • O estado experimental pode afetar a estabilidade
  • Requer Dart com suporte a macro
  • Adoção limitada do ecossistema
  • Pode exigir atualizações com alterações no SDK do Dart
  • Não adequado para projetos legados do Dart
  • Curva de aprendizado potencial para uso de macro

README original

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

data_class

build pub package License: MIT

Support for data classes in Dart using macros.

✨ Features

🪨 const constructors with required, named parameters

🖨️ copyWith with optional, nullable, named parameters

✨ toString for an improved string representation

☯️ operator== and hashCode for value equality

🧑‍💻 Example

import 'package:data_class/data_class.dart';

@Data()
class Person {
  final String name;
}

void main() {
  // 🪨 Create a const instance with required, name parameters.
  const dash = Person(name: 'Dash');

  // 🖨️ Create copies of your object.
  final sparky = dash.copyWith(name: 'Sparky');

  // ✨ Human-readable string representation.
  print(dash); // Person(name: Dash)
  print(sparky); // Person(name: Sparky)

  // ☯️ Value equality comparisons.
  print(dash == dash.copyWith()); // true
  print(dash == sparky); // false
}

🚀 Quick Start

  1. Add package:data_class to your pubspec.yaml

    dependencies:
      data_class: any
    
  2. Enable experimental macros in analysis_options.yaml

    analyzer:
      enable-experiment:
        - macros
    
  3. Use the @Data annotation (see above example).

  4. Run it

    dart --enable-experiment=macros run main.dart
    

*Requires Dart SDK >= 3.5.0

Categorias

Dependências

Lista de dependências 3 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.