source method
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']];
}
}
''';