Crate libocc[][src]

This crate offers versioned CRUD operations for entities.

Any entity is modified using events. Every event is either of type create, update or delete.

You can use the Repository struct to use a nice abstraction for the underlying event logs, or use the Projector struct to access the lower-level operations of event projection.



The Event struct usually is part of a list of events called an “event log”. Each event represents an atomic change in an entity (including its creation or destruction). Every event log only contains one entity type: Two entity types should have two separate event logs.


Projects events from an event log


A segment is a part of an event log.


The UTC time zone. This is the most efficient time zone when you don’t need the local time. It is also used as an offset (which is also a dummy type).



The CRUD operation type

Type Definitions


The timestamp type used in this library