MyGit

felangel/data_class

Fork: 6 Star: 130 (更新于 2024-05-18 20:43:17)

license: MIT

Language: Dart .

Experimental support for data classes in Dart using macros.

最后发布版本: v0.0.0-dev.7 ( 2024-05-18 10:56:31)

官方网址 GitHub网址

data_class

build pub package License: MIT

🚧 Experimental 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_macro/data_class_macro.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. Switch to the Flutter master channel flutter channel master

  2. Add package:data_class_macro to your pubspec.yaml

    dependencies:
      data_class_macro: ^0.0.0-dev.1
    
  3. Enable experimental macros in analysis_options.yaml

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

  5. Run it

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

*Requires Dart SDK >= 3.5.0-152.0.dev

最近版本更新:(数据更新于 2024-05-18 20:43:01)

2024-05-18 10:56:31 v0.0.0-dev.7

2024-05-17 22:27:32 v0.0.0-dev.6

2024-05-17 10:39:07 v0.0.0-dev.5

2024-05-17 10:23:08 v0.0.0-dev.4

2024-05-17 08:19:20 v0.0.0-dev.3

2024-05-17 08:18:24 v0.0.0-dev.1

2024-05-17 08:17:10 v0.0.0-dev.2

主题(topics):

dart, data-class, macros, struct

felangel/data_class同语言 Dart最近更新仓库

2024-06-25 15:37:26 ente-io/ente

2024-06-03 16:13:24 KRTirtho/spotube

2024-06-03 04:32:03 hiddify/hiddify-next

2024-05-10 17:26:00 AppFlowy-IO/AppFlowy

2024-05-07 22:01:21 ReVanced/revanced-manager

2024-05-07 08:49:14 google-gemini/generative-ai-dart