create<T> static method

StructureBindingController<T> create<T>({
  1. Map<String, dynamic>? initialValues,
  2. T? initialValue,
  3. DogEngine? engine,
})

Creates a new StructureBindingController for type T.

This factory method provides a convenient way to create a controller for a specific type, optionally with initialValues or an initialValue of type T.

Implementation

static StructureBindingController<T> create<T>({
  Map<String, dynamic>? initialValues,
  T? initialValue,
  DogEngine? engine,
}) {
  engine ??= DogEngine.instance;
  final structure = engine.findStructureByType(T)!;
  Map<String, dynamic> initial = {};
  if (initialValue != null) {
    initial.addAll(structure.getFieldMap(initialValue));
  }
  if (initialValues != null) {
    initial.addAll(initialValues);
  }
  return StructureBindingController<T>(structure, engine, initialValues: initial);
}