withOptional method
Implementation
FieldType withOptional(bool newIsOptional) {
final String newDisplayName;
if (isOptional && !newIsOptional && displayName.endsWith('?')) {
newDisplayName = displayName.substring(0, displayName.length - 1);
} else if (!isOptional && newIsOptional && !displayName.endsWith('?')) {
newDisplayName = '$displayName?';
} else {
newDisplayName = displayName;
}
return FieldType(
isEnum: isEnum,
name: name,
displayName: newDisplayName,
isPrimitive: isPrimitive,
generics: generics,
parent: parent,
isOptional: newIsOptional,
);
}