You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

28 lines
874 B

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<String> inputs,
required List<String> outputs,
@JsonKey(includeIfNull: false)
List<String>? truthTable,
@JsonKey(includeIfNull: false)
List<String>? logicExpression,
@JsonKey(defaultValue: false)
required bool visualDesigned,
@JsonKey(defaultValue: [])
required List<String> dependencies,
@JsonKey(defaultValue: false)
required bool scriptBased,
}) = _ComponentEntry;
factory ComponentEntry.fromJson(Map<String, Object?> json) => _$ComponentEntryFromJson(json);
}