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)
data_class
🚧 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
-
Switch to the Flutter
master
channelflutter channel master
-
Add
package:data_class_macro
to yourpubspec.yaml
dependencies: data_class_macro: ^0.0.0-dev.1
-
Enable experimental macros in
analysis_options.yaml
analyzer: enable-experiment: - macros
-
Use the
@Data
annotation (see above example). -
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