buildHook<T, P> function

Future<_HookTestingAction<T, P>> buildHook<T, P>(
  1. T hook(
    1. P? props
    ), {
  2. P? initialProps,
})

Implementation

Future<_HookTestingAction<T, P>> buildHook<T, P>(
  T Function(P? props) hook, {
  P? initialProps,
}) async {
  late T result;

  Widget builder([P? props]) {
    return HookBuilder(builder: (context) {
      result = hook(props);
      return Container();
    });
  }

  await _build(builder(initialProps));

  Future<void> rebuild([P? props]) => _build(builder(props));

  Future<void> unmount() => _build(Container());

  return _HookTestingAction<T, P>(() => result, rebuild, unmount);
}