staticFieldDefinitions property

List<FieldDefinition> staticFieldDefinitions
final

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,
  ),
];