fromClassElement static method
Implementation
static SpecDefinitionOptions? fromClassElement(ClassElement classElement) {
final annotation =
_specDefinitionTypeChecker.firstAnnotationOfExact(classElement);
if (annotation == null) {
return null;
}
final name =
annotation.getField('name')?.toStringValue() ?? classElement.name;
final params = classElement.unnamedConstructor?.parameters ?? [];
validateOrThrowHasAnyFields(classElement.fields);
validOrThrowIfHasRequiredParameters(params);
final fields = params
.where((field) => !field.isSynthetic)
.map(FieldInfo.fromParam)
.toList()
..add(FieldInfo.animatedField())
..sort((a, b) => a.name.compareTo(b.name));
return SpecDefinitionOptions(name: name, fields: fields);
}