getValidations function
String
getValidations(
- FormalParameterElement param, {
- ClassElement2? enclosingClass,
})
Implementation
String getValidations(
FormalParameterElement param, {
ClassElement2? enclosingClass,
}) {
final buffer = StringBuffer();
bool hasForwardRef = false;
final isNullable = param.type.nullabilitySuffix == NullabilitySuffix.question;
if (param.type is DynamicType) {
buffer.write('l.any()');
}
if (param.type.isDartCoreBool) {
buffer.write('l.boolean()');
}
if (param.type.isDartCoreDouble) {
buffer.write('l.double()');
buffer.write(getDoubleValidations(param));
}
if (param.type.isDartCoreInt) {
buffer.write('l.int()');
buffer.write(getIntValidations(param));
}
if (param.type.isDartCoreList) {
_writeListValidations(buffer, param, enclosingClass: enclosingClass);
}
if (param.type.isDartCoreMap) {
_writeMapValidations(buffer, param, enclosingClass: enclosingClass);
}
if (param.type.isDartCoreNull) {
buffer.write('l.nullValue()');
}
if (param.type.isDartCoreNum) {
buffer.write('l.number()');
buffer.write(getNumberValidations(param));
}
if (param.type.isDartCoreString ||
param.type.getDisplayString().replaceFirst('?', '') == 'DateTime') {
buffer.write('l.string()');
buffer.write(getStringValidations(param));
}
if (buffer.isEmpty) {
hasForwardRef = _checkAndAddCustomSchema(
buffer,
param,
enclosingClass: enclosingClass,
);
}
getCustomValidations(param, buffer);
final hasDefaultAnnotation = getAnnotation(defaultChecker, param) != null;
if (param.type is! DynamicType && !isNullable && !hasDefaultAnnotation) {
buffer.write('.required()');
}
// Close forwardRef if it was opened
if (hasForwardRef) {
buffer.write(')');
}
return buffer.toString();
}