source method
Implementation
@override
String source(String className, String package, String? model) =>
model == null
? '''
import 'package:daravel_excel/daravel_excel.dart';
final class $className with WithHeadingRow implements ToCollection {
/// Every row, keyed by its heading: `rows.first['column_heading']`.
@override
Future<void> collection(List<Map<String, Object?>> rows) async {}
}
'''
: '''
import 'package:daravel/daravel.dart';
import 'package:daravel_excel/daravel_excel.dart';
import 'package:$package/app/models/${Naming.snake(model)}.dart';
final class $className with WithHeadingRow implements ToModel, WithValidation {
@override
Model? model(Map<String, Object?> row) =>
$model.definition.newInstance({'name': row['name']});
@override
Map<String, Object> rules() => {'name': 'required'};
}
''';