listRawResource method
Future<BaseCSVFile>
listRawResource({
- LoadCriterion? criteria,
- bool doValidationChecks = false,
- GtfsDataset? dataset,
Implementation
Future<BaseCSVFile> listRawResource({
LoadCriterion? criteria,
bool doValidationChecks = false,
GtfsDataset? dataset,
}) async {
if (data != null) {
if (criteria == null) {
return data!;
}
return data!.filterThroughCriteria(criteria);
}
final stream = streamRecordsThroughFile(
resourceFile,
fieldDefinitions,
criteria,
doValidationChecks: doValidationChecks,
dataset: dataset,
).asBroadcastStream();
final rawHeader = await stream.first;
final header = rawHeader
.map(
(e) => fieldDefinitions.firstWhere(
(element) => element.name == e,
orElse: () => FieldDefinition<Object>(
e ?? 'unnamed_field',
(dataset, header, records) => null,
type: TextFieldType(),
),
),
)
.toList(growable: false);
return ListCSVFile(header: header, records: await stream.toList());
}