staticFieldDefinitions property
Implementation
static final List<FieldDefinition> staticFieldDefinitions = [
FieldDefinition(
'route_id',
(dataset, header, records) => true,
type: const IdFieldType(displayName: 'Route ID'),
),
FieldDefinition(
'service_id',
(dataset, header, records) => true,
type: const IdFieldType(displayName: 'Service ID'),
),
FieldDefinition(
'trip_id',
(dataset, header, records) => true,
type: const IdFieldType(displayName: 'Trip ID'),
primaryKey: true,
),
FieldDefinition(
'trip_headsign',
(dataset, header, records) => null,
type: const TextFieldType(),
),
FieldDefinition(
'trip_short_name',
(dataset, header, records) => null,
type: const TextFieldType(),
),
FieldDefinition(
'direction_id',
(dataset, header, records) => null,
type: directionId,
),
FieldDefinition(
'block_id',
(dataset, header, records) => null,
type: const IdFieldType(displayName: 'Block ID'),
),
FieldDefinition(
'shape_id',
(dataset, header, records) => null,
shouldBeRequired: (dataset, header, record) async {
final route =
await dataset.routes
.streamResource(
LoadCriterion(
['route_id'],
(requestedFields) =>
requestedFields.single == record['route_id']!,
),
)
.first;
final stopTime =
await dataset.stopTimes
.streamResource(
LoadCriterion(
['trip_id'],
(requestedFields) =>
requestedFields.single == record['trip_id']!,
),
)
.first;
return [
route.continuousPickup.id,
route.continuousDropOff.id,
stopTime.continuousPickup?.id,
stopTime.continuousDropOff?.id,
].contains(0)
? true
: null;
},
type: const IdFieldType(displayName: 'Shape ID'),
),
FieldDefinition(
'wheelchair_accessible',
(dataset, header, records) => null,
type: wheelchairAccessible,
),
FieldDefinition(
'bikes_allowed',
(dataset, header, records) => null,
type: bikesAllowed,
),
];