modelDataScreenFeature function

String modelDataScreenFeature({
  1. required String featureName,
  2. String? ownFeaturesName,
  3. required bool isSub,
})

Implementation

String modelDataScreenFeature({
  required String featureName,
  String? ownFeaturesName,
  required bool isSub,
}) {
  final nameCab = featureName.toCapitalized().toCapitalizeSecondWord();
  final projectName = FileModifier.getProjectName();
  return '''
import 'package:$projectName/features/${ownFeaturesName != null
      ? '$ownFeaturesName/sub/'
      : isSub
      ? 'sub/'
      : ''}$featureName/domain/entities/${featureName}_entity.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part '${featureName}_model.freezed.dart';
part '${featureName}_model.g.dart';

@freezed
abstract class ${nameCab}Model with _\$${nameCab}Model {
  const factory ${nameCab}Model({
    required int id,
    required String firstName,
    required String lastName,

  }) = _${nameCab}Model;

  factory ${nameCab}Model.fromJson(Map<String, Object?> json) => _\$${nameCab}ModelFromJson(json);
}



extension ${nameCab}ModelMapper on ${nameCab}Model {
  ${nameCab}Entity toEntity() {
    return ${nameCab}Entity(id: id, firstName: firstName, lastName: lastName);
  }
  }
''';
}