setupVariables static method

String setupVariables({
  1. required Map data,
  2. required String content,
  3. required List<Map> mapKeys,
})

Implementation

static String setupVariables({
  required Map<dynamic, dynamic> data,
  required String content,
  required List<Map<dynamic, dynamic>> mapKeys,
}) {
  data.forEach((key, value) {
    if (value is String) {
      content +=
          "  String? ${key.toString().toCamelCaseFirstLetterForEachWord().lowerCaseFirstLetter()};\n";
    } else if (value is int) {
      content +=
          "  int? ${key.toString().toCamelCaseFirstLetterForEachWord().lowerCaseFirstLetter()};\n";
    } else if (value is double) {
      content +=
          "  double? ${key.toString().toCamelCaseFirstLetterForEachWord().lowerCaseFirstLetter()};\n";
    } else if (value is bool) {
      content +=
          "  bool? ${key.toString().toCamelCaseFirstLetterForEachWord().lowerCaseFirstLetter()};\n";
    } else if (value is List) {
      if (value.isNotEmpty) {
        if (value[0] is Map) {
          content +=
              "  List<${key.toString().toCamelCaseFirstLetterForEachWord()}Model>? ${key.toString().toCamelCaseFirstLetterForEachWord().lowerCaseFirstLetter()};\n";
          mapKeys.add({key: value[0]});
        } else {
          content +=
              "  List<${value[0].runtimeType}>? ${key.toString().toCamelCaseFirstLetterForEachWord().lowerCaseFirstLetter()};\n";
        }
      } else {
        content +=
            "  List<dynamic>? ${key.toString().toCamelCaseFirstLetterForEachWord().lowerCaseFirstLetter()};\n";
      }
    } else if (value is Map) {
      content +=
          "  ${key.toString().toCamelCaseFirstLetterForEachWord()}Model? ${key.toString().toCamelCaseFirstLetterForEachWord().lowerCaseFirstLetter()};\n";
      mapKeys.add({key: value});
    } else {
      content +=
          "  dynamic ${key.toString().toCamelCaseFirstLetterForEachWord().lowerCaseFirstLetter()};\n";
    }
  });
  return content;
}