hookProvider property

FutureProviderFamily<Hooks, HooksConfig> hookProvider
final

Returns a riverpod provider family to create Hooks.

This provider uses the dependency injection of riverpod. You have to pass a HooksConfig to the provider to create a corresponding hooks instance.

Makes use of HooksProviderInternal to get all the required parameters and tasks for the hooks instance.

Implementation

static final hookProvider = FutureProvider.family(
  (ref, HooksConfig param) async => Hooks(
    logger: ref.watch(HooksProviderInternal.loggerProvider),
    fileResolver: ref.watch(HooksProviderInternal.fileResolverProvider),
    programRunner: ref.watch(HooksProviderInternal.programRunnerProvider),
    continueOnRejected: param.continueOnRejected,
    tasks: [
      if (param.fixImports)
        await ref.watch(HooksProviderInternal.fixImportsProvider.future),
      if (param.libraryImports)
        await ref.watch(HooksProviderInternal.libraryImportsProvider.future),
      if (param.format) ref.watch(HooksProviderInternal.formatProvider),
      if (param.analyze) ref.watch(HooksProviderInternal.analyzeProvider),
      if (param.outdated != null)
        ref.watch(HooksProviderInternal.outdatedProvider(param.outdated!)),
      if (param.nullsafe) ref.watch(HooksProviderInternal.nullsafeProvider),
      if (param.pullUpDependencies)
        ref.watch(HooksProviderInternal.pullUpDependenciesProvider),
      if (param.extraTasks != null) ...param.extraTasks!,
    ],
  ),
);