registerLeaf method

void registerLeaf(
  1. String name,
  2. JarSchema schema,
  3. dynamic value
)

Implementation

void registerLeaf(
    String name, JarSchema<dynamic, dynamic> schema, dynamic value) {
  final config = JarFieldConfig<dynamic>(
    schema: schema as JarSchema<dynamic, JarSchema<dynamic, dynamic>>,
  );
  _configs[name] = config;
  _fields[name] = JarFieldState<dynamic>(
    value: value,
    error:
        value == null ? null : config.schema.validate(value, _rawValues()).error,
    name: name,
    onChange: (newValue) => setValue(name, newValue),
    markAsTouched: () => markAsTouched(name),
  );
  _controllers[name] ??= StreamController<JarFieldState<dynamic>>.broadcast();
  _watchers[name] ??= [];
  _notifyField(name);
}