raiser_annotation 1.0.0
raiser_annotation: ^1.0.0 copied to clipboard
Annotations for the Raiser domain event library code generator.
Raiser Annotation #
[Raiser Logo]
Annotations for the Raiser domain event library code generator.
Overview #
This package provides the annotations used by raiser_generator to automatically discover and register event handlers and middleware in your application.
Installation #
dependencies:
raiser: ^1.0.0
raiser_annotation: ^1.0.0
dev_dependencies:
build_runner: ^2.4.0
raiser_generator: ^1.0.0
Annotations #
@RaiserHandler #
Marks a class as an event handler for code generation:
import 'package:raiser/raiser.dart';
import 'package:raiser_annotation/raiser_annotation.dart';
@RaiserHandler()
class SendWelcomeEmailHandler implements EventHandler<UserCreated> {
final EmailService _emailService;
SendWelcomeEmailHandler(this._emailService);
@override
Future<void> handle(UserCreated event) async {
await _emailService.sendWelcome(event.email);
}
}
Options:
| Parameter | Type | Default | Description |
|---|---|---|---|
priority |
int |
0 |
Handler execution priority (higher runs first) |
@RaiserHandler(priority: 100) // Runs before handlers with lower priority
class HighPriorityHandler implements EventHandler<MyEvent> {
// ...
}
@RaiserMiddleware #
Marks a class as middleware for code generation:
import 'package:raiser/raiser.dart';
import 'package:raiser_annotation/raiser_annotation.dart';
@RaiserMiddleware()
class LoggingMiddleware {
final Logger _logger;
LoggingMiddleware(this._logger);
Future<void> call(DomainEvent event, Future<void> Function() next) async {
_logger.info('Processing ${event.runtimeType}');
await next();
_logger.info('Completed ${event.runtimeType}');
}
}
Options:
| Parameter | Type | Default | Description |
|---|---|---|---|
priority |
int |
0 |
Middleware execution priority (higher priority wraps lower) |
@RaiserMiddleware(priority: 1000) // Outermost middleware layer
class TimingMiddleware {
// ...
}
Usage with Generator #
After annotating your classes, run the code generator:
dart run build_runner build
This generates registration functions that you use to configure your event bus. See raiser_generator for complete setup instructions.
Related Packages #
| Package | Description |
|---|---|
| raiser | Core event bus library |
| raiser_generator | Code generator for automatic handler discovery |
License #
MIT License