hookProvider property
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!,
],
),
);