createModel method

void createModel(
  1. String name
)

Implementation

void createModel(String name) {
  final dir = Directory('lib/presentation/${name}/models');
  if (!dir.existsSync()) {
    dir.createSync(recursive: true);
  }

  final file = File('${dir.path}/${name}Model.dart');
  file.writeAsStringSync('''
class ${_capitalize(name)}Model {
/// Auto Create By
/// Flutter helper package
/// www.webspec.in
final List<Data>? data;

${_capitalize(name)}Model({this.data});

factory ${_capitalize(name)}Model.fromJson(Map<String, dynamic> json) {
  var list = json['data']['data'] as List;
  List<Data> datas = list.map((i) => Data.fromJson(i)).toList();

  return ${_capitalize(name)}Model(
    data: datas,
  );
}
}


class Data {
final int id;
final String name;
final List<OtherValue> otherValues;

Data({
  required this.id,
  required this.name,
  required this.otherValues,
});

factory Data.fromJson(Map<String, dynamic> json) {
  var list = json['otherValues'] as List;
  List<OtherValue> otherValues = list.map((i) => OtherValue.fromJson(i)).toList();

  return Data(
    id: json['id'],
    name: json['name'].toString(),
    otherValues: otherValues,
  );
}
}

class OtherValue {
final int id;
final String name;

OtherValue({required this.id, required this.name});

factory OtherValue.fromJson(Map<String, dynamic> json) {
  return OtherValue(
    id: json['id'],
    name: json['name'].toString(),
  );
}
}


''');
  print('Model created: ${file.path}');
}