getTypeVariable method

String getTypeVariable(
  1. String key,
  2. dynamic value,
  3. String suffix,
  4. List<ModelClassName> listClassName,
  5. String parent,
)

Implementation

String getTypeVariable(String key, dynamic value, String suffix,
    List<ModelClassName> listClassName, String parent) {
  if (value is int) {
    return 'int';
  }
  if (value is double) {
    return 'double';
  }
  if (value is bool) {
    return 'bool';
  }
  if (value is Map) {
    return ModelClassNameHelper.getClassName(
        listClassName, suffix, key.pascalCase, false, false, parent);
  }
  if (value is List) {
    if (value.isNotEmpty) {
      return 'List<${getTypeVariable(key, value.first, suffix, listClassName, parent)}>';
    }
    return 'List<dynamic>';
  }
  if (value is String) {
    if (RegExp(r'^\d{4}-\d{2}-\d{2}(\s|T)?(\d{2}:\d{2}(:\d{2})?)?(\.\d+)?Z?$')
        .hasMatch(value)) {
      return 'DateTime';
    }
    return 'String';
  }
  return 'dynamic';
}