cherrypick_annotations library

Annotations for use with the CherryPick dependency injection generator.

These annotations are used on classes, methods, fields or parameters to describe how they should participate in dependency injection. See: https://pub.flutter-io.cn/packages/cherrypick

Example:

import 'package:cherrypick_annotations/cherrypick_annotations.dart';

@injectable()
class MyService {
  @inject()
  late final Logger logger;
}

Classes

inject
Marks a field for dependency injection by CherryPick's code generator.
injectable
Marks a class as injectable, enabling automatic field injection by CherryPick's code generator.
instance
Marks a provider method or class to always create a new instance (factory) in CherryPick DI.
module
Marks an abstract Dart class as a dependency injection module for CherryPick code generation.
named
Assigns a name or key identifier to a class, field, factory method or parameter for use in multi-registration scenarios (named dependencies) in CherryPick DI.
params
Marks a parameter in a provider method to receive dynamic runtime arguments when resolving a dependency.
provide
Marks a method or class as a dependency provider (factory/provider) for CherryPick module code generation.
scope
Specifies the DI scope or region from which a dependency should be resolved.
singleton
Marks a provider method or class so its instance is created only once and shared (singleton) for DI in CherryPick.