カテゴリー・パッケージ・リポジトリを検索

パッケージ詳細v0.1.2

data_class

pkg:macros を使用した Dart のデータクラスの実験的サポート

30日間ダウンロード
51
いいね数
60
Pub ポイント
50

パッケージをインストール

flutter pub add data_class

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

data_class パッケージは、マクロを使用して Dart におけるデータクラスの実験的サポートを提供し、不変なデータ構造を簡潔かつボイラープレートフリーに定義できるようにします。主にデータを保持するクラスの作成を簡素化し、`toString`、`hashCode`、`operator ==` などの必要なメソッドを自動的に生成します。これによりコードの読みやすさが向上し、手動実装によるエラーを削減します。Dart アプリケーションでのデータモデリングに洗練されたアプローチを求めている開発者向けに設計されており、現代的な Dart ツールチェーンと統合され、JSON シリアル化ワークフローもサポートしています。

用途

  • 不変データモデルの定義
  • データクラスにおけるボイラープレートの削減
  • JSON シリアライズの簡素化
  • クリーンなドメインモデルの作成
  • 状態管理の簡素化
  • コードの保守性の向上

主な機能

  • `toString`、`hashCode`、および `==` の自動生成
  • 不変データクラスのサポート
  • Dart マクロとの統合
  • 最小限のボイラープレート
  • 組み込みの JSON シリアライズサポート
  • 洗練された、読みやすいクラス定義

適している対象

  • 最新のDartバージョンを使用するDart開発者
  • クリーンなデータモデリングを必要とするプロジェクト
  • 不変データを使用した状態管理
  • JSON-heavy applications
  • コードの明確さと保守性を重視するチーム
  • プロトタイピングまたは迅速な開発

注意事項

  • 実験的状態は安定性に影響する可能性があります
  • マクロサポートを備えたDartが必要です
  • エコシステムの採用が限定的
  • Dart SDK の変更に伴い更新が必要になる場合があります
  • レガシーダートプロジェクトには適していません
  • マクロ使用のための潜在的な学習曲線

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

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

カテゴリー

依存関係

依存関係一覧 3 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。