import 'package:freezed_annotation/freezed_annotation.dart'; part 'component.freezed.dart'; part 'component.g.dart'; @freezed class ComponentEntry with _$ComponentEntry { const factory ComponentEntry({ required String componentId, required String componentName, @JsonKey(includeIfNull: false) String? componentDescription, required List inputs, required List outputs, @JsonKey(includeIfNull: false) List? truthTable, @JsonKey(includeIfNull: false) List? logicExpression, @JsonKey(defaultValue: false) required bool visualDesigned, @JsonKey(defaultValue: []) required List dependencies, }) = _ComponentEntry; factory ComponentEntry.fromJson(Map json) => _$ComponentEntryFromJson(json); }