getValidations function

String getValidations(
  1. ParameterElement param
)

Implementation

String getValidations(ParameterElement param) {
  final buffer = StringBuffer();

  final isNullable = param.type.nullabilitySuffix == NullabilitySuffix.question;

  if (param.type is DynamicType) {
    buffer.write('l.any()');
  }

  if (param.type.isDartCoreBool) {
    buffer.write('l.bool()');
  }

  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);
  }

  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(withNullability: false) == 'DateTime') {
    buffer.write('l.string()');
    buffer.write(getStringValidations(param));
  }

  if (buffer.isEmpty) {
    _checkAndAddCustomSchema(buffer, param);
  }

  getCustomValidations(param, buffer);

  if (param.type is! DynamicType && !isNullable) buffer.write('.required()');

  return buffer.toString();
}