build method

Builds a snapshot so a builder may safely update the registry for the next frame without mutating the list currently being traversed.

Implementation

List<Widget> build(
  FilamentWidgetSlot slot,
  BuildContext context,
  FilamentWidgetScope scope,
) {
  final builders = List<FilamentWidgetBuilder>.of(
    _builders[slot] ?? const [],
  );

  return [
    for (final builder in builders)
      if (builder(context, scope) case final widget?) widget,
  ];
}