final case class TagInfo(aliases: Map[String, String], allTags: Set[String], currentTags: Set[String], migration: DynamicMigration)
Which event tags exist for an event type, and how old tags map to current ones.
Event tags are stored as strings, and a renamed case leaves old events in the store under its old tag. A TagInfo records which tags are current, which are old aliases of them, and the migration that rewrites old events. An EventStore uses it to read old events as if they carried the current tag.
Widens a set of tags to be read so that a rename does not hide events. Each requested tag is joined by the old tags that were renamed to it, and by the current tag it was renamed to. An empty request means all tags.
Widens a set of tags to be read so that a rename does not hide events. Each requested tag is joined by the old tags that were renamed to it, and by the current tag it was renamed to. An empty request means all tags.
For example, with UserCreated renamed to UserRegistered, asking for UserRegistered gives both names.
Returns the current tag for an old tag, and any other tag unchanged. Use it to compare tags without caring whether an event was stored before or after a rename.
Returns the current tag for an old tag, and any other tag unchanged. Use it to compare tags without caring whether an event was stored before or after a rename.