transformField method

  1. @override
DogStructureField transformField(
  1. DogStructureField field,
  2. SchemaType schema
)
override

May be used to transform the generated DogStructureField before it is added to the DogStructure.

Implementation

@override
DogStructureField transformField(DogStructureField field, SchemaType schema) {
  if (DogsFlutterSchemaTags.bindingStyleTags.any((e) => schema[e] != null)) {
    Widget? prefix;
    if (schema[DogsFlutterSchemaTags.bindingStylePrefix] != null) {
      prefix = Text(schema[DogsFlutterSchemaTags.bindingStylePrefix] as String);
    }
    Widget? suffix;
    if (schema[DogsFlutterSchemaTags.bindingStyleSuffix] != null) {
      suffix = Text(schema[DogsFlutterSchemaTags.bindingStyleSuffix] as String);
    }

    final style = BindingStyle(
      label: schema[DogsFlutterSchemaTags.bindingStyleLabel],
      hint: schema[DogsFlutterSchemaTags.bindingStyleHint],
      helper: schema[DogsFlutterSchemaTags.bindingStyleHelper],
      prefix: prefix,
      suffix: suffix,
    );
    field = field.copy(annotations: [...field.annotations, style]);
  }
  return field;
}