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.