| 12345678910111213141516171819202122232425262728 |
- package pubsub
- import "context"
- const (
- CreatedEvent EventType = "created"
- UpdatedEvent EventType = "updated"
- DeletedEvent EventType = "deleted"
- )
- type Suscriber[T any] interface {
- Subscribe(context.Context) <-chan Event[T]
- }
- type (
- // EventType identifies the type of event
- EventType string
- // Event represents an event in the lifecycle of a resource
- Event[T any] struct {
- Type EventType
- Payload T
- }
- Publisher[T any] interface {
- Publish(EventType, T)
- }
- )
|