useBlocBuilder<C extends BlocBase, S> function

S useBlocBuilder<C extends BlocBase, S>(
  1. BlocBase<S> bloc, {
  2. BlocBuilderCondition<S>? buildWhen,
})

Returns current state of BlocBase class

By default useBlocBuilder will not filter any states, unless specified buildWhen parameter or builderCondition in HookedBloc.initialize buildWhen local filter function, that will filter incoming states from BlocBase.stream

Implementation

S useBlocBuilder<C extends BlocBase, S>(
  BlocBase<S> bloc, {
  BlocBuilderCondition<S>? buildWhen,
}) {
  final configuredBuildWhen = useHookedBlocConfig().builderCondition;
  final buildWhenConditioner = buildWhen ?? configuredBuildWhen;
  final state = useMemoized(
    () => bloc.stream.where(buildWhenConditioner),
    [bloc],
  );

  return useStream(
    state,
    initialData: bloc.state,
    preserveState: false,
  ).requireData!;
}