createModel method
void
createModel(
- 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}');
}