fieldDef<T extends FdcFieldDef> method

T fieldDef<T extends FdcFieldDef>(
  1. String fieldName
)

Returns the schema/metadata definition for fieldName as T.

Use this for type-specific field metadata, for example fieldDef<FdcDecimalField>('amount').precision. Runtime values should be read or written through fieldByName, operator [], or operator []=.

Implementation

T fieldDef<T extends FdcFieldDef>(String fieldName) {
  final field = _fields[fieldIndex(fieldName)];

  if (field is T) {
    return field;
  }

  throw StateError(
    'Invalid field definition type: field "$fieldName" is ${field.runtimeType}, expected $T.',
  );
}