defaultTemplate static method

String defaultTemplate({
  1. required bool isNested,
  2. String? imports,
  3. String? fileName,
  4. String? className,
  5. String? declaration,
  6. String? argsParams,
  7. String? enums,
  8. String? enumConverters,
  9. String? nestedClasses,
})

Implementation

static String defaultTemplate({
  required bool isNested,
  String? imports,
  String? fileName,
  String? className,
  String? declaration,
  String? argsParams,
  String? enums,
  String? enumConverters,
  String? nestedClasses,
}) {
  var template = '';

  if (!isNested) {
    template += '''
import 'package:json_annotation/json_annotation.dart';
$imports

part '$fileName.g.dart';

''';
  }

  template += '''
@JsonSerializable()
class ${className ?? '/*TODO: className*/'} {
${className ?? '/*TODO: className*/'}(${argsParams ?? ''});

factory ${className ?? '/*TODO: className*/'}.fromJson(Map<String,dynamic> json) => _\$${className}FromJson(json);
Map<String, dynamic> toJson() => _\$${className}ToJson(this);
${declaration ?? '/*TODO: declaration*/'}
''';

  if ((enumConverters?.length ?? 0) > 0) {
    template += '\n$enumConverters';
  }

  template += '}\n';

  if ((enums?.length ?? 0) > 0) {
    template += '\n$enums\n';
  }

  if ((nestedClasses?.length ?? 0) > 0) {
    template += '\n$nestedClasses';
  }

  return template;
}