source method

  1. @override
String source(
  1. String className,
  2. String package,
  3. String? model
)

Implementation

@override
String source(String className, String package, String? model) =>
    model == null
    ? '''
import 'package:daravel_excel/daravel_excel.dart';

final class $className implements FromCollection, WithHeadings {
@override
List<Object?> headings() => ['Column'];

@override
Iterable<Object?> collection() => [
  ['value'],
];
}
'''
    : '''
import 'package:daravel_excel/daravel_excel.dart';
import 'package:$package/app/models/${Naming.snake(model)}.dart';

final class $className implements FromQuery, WithHeadings, WithMapping {
@override
Object query() => $model.definition.query();

@override
List<Object?> headings() => ['ID', 'Created at'];

@override
List<Object?> map(Object? row) {
  final model = row! as $model;
  return [model.key, model['created_at']];
}
}
''';