Structs

A newtype for defining a Key on entities
Struct that holds both key and label for convenience

Enums

Enum for defining a simple entity that will hold a Key or the created/fetched data
Enum for situations when you want to define not just a Key but also a Label
Enum for defining one-to-many or many-to-many relationships

Traits

Trait for entities to define which struct field holds their primary key
Trait for entities that optionally have a label defined
Convenience trait for returning both key and label as a Tag

Type Definitions

An Entity that has an Int as key
An EntityLabel that has an Int as key
An EntityLabel that has a String as key
An Entity that has a String as key
An Int typedef for convenience to be used as Key number

Derive Macros

This macro generates an implementation of the Keyed trait for structs that have a single Key<T> defined
This macro generates an implementation of the Label trait for structs that have a field marked with #[label] attribute