Table of Contents

Namespace Cratis.Chronicle.Projections

Classes

AddBuilder<TModel, TEvent, TProperty, TParentBuilder>

Represents an implementation of IAddBuilder<TModel, TEvent, TProperty, TParentBuilder>.

AddChildBuilder<TParentModel, TChildModel, TEvent>

Represents an implementation of IAddChildBuilder<TChildModel, TEvent>.

AllSetBuilder<TModel, TParentBuilder>

Represents an implementation of IAllSetBuilder<TModel, TParentBuilder>.

ChildrenBuilder<TParentModel, TChildModel>

Represents an implementation of IChildrenBuilder<TParentModel, TChildModel>.

CompositeKeyBuilder<TKeyType, TEvent>

Represents an implementation of ICompositeKeyBuilder<TKeyType, TEvent>.

CountBuilder<TModel, TEvent, TProperty>

Represents an implementation of IPropertyExpressionBuilder for counting.

DecrementBuilder<TModel, TEvent, TProperty>

Represents an implementation of IPropertyExpressionBuilder for decrementing a property.

EventToApply

Represents the payload for an event when used in applying to an projection.

FromBuilder<TModel, TEvent, TParentBuilder>

Represents an implementation of IFromBuilder<TModel, TEvent>.

FromEveryBuilder<TModel>

Represents an implementation of IFromEveryBuilder<TModel>.

IncrementBuilder<TModel, TEvent, TProperty>

Represents an implementation of IPropertyExpressionBuilder for incrementing a property.

JoinBuilder<TModel, TEvent, TParentBuilder>

Represents an implementation of the IJoinBuilder<TModel, TEvent>.

KeyAndParentKeyBuilder<TEvent, TBuilder>

Represents a builder for both key and parent key.

KeyBuilder<TEvent, TBuilder>

Represents a default implementation of IKeyBuilder<TEvent, TBuilder> that works with IEventValueExpression.

MissingAddWithExpression

Exception that gets thrown when a with expression is missing in an add mapping.

MissingIdentifiedByPropertyExpressionWhenJoiningWithEvent

Exception that is thrown when the on property expression is missing for the root projection.

MissingImmediateProjectionForModel

Exception that gets thrown when an projection is missing for a model type.

MissingOnPropertyExpressionWhenJoiningWithEvent

Exception that gets thrown when missing the on property expression when joining with specific event type.

MissingSubtractWithExpression

Exception that gets thrown when a with expression is missing in an add mapping.

MissingToExpression

Exception that gets thrown when a to expression is missing in a mapping.

MissingToExpressionForAllSet

Exception that gets thrown when a to expression is missing in a mapping.

ModelPropertiesBuilder<TModel, TEvent, TBuilder, TParentBuilder>

Represents an implementation of IModelPropertiesBuilder<TModel, TEvent, TBuilder>.

OnPropertyShouldNotBeSpecifiedForChildJoin

Exception that gets thrown when on property should not be specified for child join.

OnlyEventPropertySupported

Exception that gets thrown when a target property only supports being mapped to a property on the event.

ParentKeyBuilder<TEvent, TBuilder>

Represents a default implementation of IKeyBuilder<TEvent, TBuilder> that works with IEventValueExpression.

ProjectionAttribute

Optional attribute used to adorn classes to configure a projection. The projection will have to implement IProjectionFor<TModel>.

ProjectionBuilderFor<TModel>

/// Represents an implementation of IProjectionBuilderFor<TModel>.

ProjectionBuilder<TModel, TBuilder>

Represents a base projection builder.

ProjectionChangeset<TModel>

Represents the changeset for a projection.

ProjectionHandler

Represents an implementation of IProjectionHandler.

ProjectionId

Represents the unique identifier of a projection.

ProjectionResult

Represents the result of an projection.

ProjectionResultRaw

Represents the result of an projection.

ProjectionResult<T>

Represents the result of an projection.

ProjectionSessionId

Represents a session for a projection, typically used when asking to project immediately.

ProjectionState

Represents the state of a reducer.

ProjectionTypeExtensions

Extension methods for working with projection types.

ProjectionWaitExtensions

Helper extensions providing wait methods for projections.

ProjectionWatcherFactory

Represents an implementation of IProjectionWatcherFactory.

ProjectionWatcherManager

Represents an implementation of IProjectionWatcherManager.

ProjectionWatcher<TModel>

Represents an implementation of IProjectionWatcher<TModel>.

Projections

Represents an implementation of IProjections.

PropertyExpression

Represents the definition of a key.

RemovedWithBuilder<TModel, TEvent>

Represents an implementation of IRemovedWithBuilder<TModel, TEvent, TBuilder>.

RemovedWithJoinBuilder<TModel, TEvent>

Represents an implementation of IRemovedWithBuilder<TModel, TEvent, TBuilder>.

SetBuilder<TModel, TEvent, TParentBuilder>

Represents an implementation of ISetBuilder<TModel, TEvent, TProperty, TParentBuilder>.

SetBuilder<TModel, TEvent, TProperty, TParentBuilder>

Represents an implementation of ISetBuilder<TModel, TEvent, TProperty, TParentBuilder>.

SubtractBuilder<TModel, TEvent, TProperty, TParentBuilder>

Represents an implementation of ISubtractBuilder<TModel, TEvent, TProperty, TParentBuilder>.

Interfaces

IAddBuilder<TModel, TEvent, TProperty, TParentBuilder>

Defines a builder for building add operations for properties - represented as expressions.

IAddChildBuilder<TChildModel, TEvent>

Defines a builder for building an add child operation, typically used in to a from expression.

IAllSetBuilder<TModel, TParentBuilder>

Defines a builder for building set operations for properties that will be applied for all events the projection is projecting from - represented as expressions.

IChildrenBuilder

Defines the base interface for children builders.

IChildrenBuilder<TParentModel, TChildModel>

Defines the builder for building out a child relationship on a model.

ICompositeKeyBuilder<TKeyType, TEvent>

Defines a builder for building a composite key with a specific type.

IFromBuilder<TModel, TEvent>

Defines the builder for building from expressions.

IFromEveryBuilder<TModel>

Defines the builder for building properties that can be set by all events.

IJoinBuilder<TModel, TEvent>

Defines the builder for building join expressions for relationships.

IKeyBuilder<TEvent, TBuilder>

Defines a builder for keys.

IModelPropertiesBuilder<TModel, TEvent, TBuilder>

Defines the builder for building properties on a model.

IParentKeyBuilder<TEvent, TBuilder>

Defines a builder for parent keys.

IProjection

Defines the basis of a system that can define a projection.

IProjectionBuilderFor<TModel>

Defines the builder for building out a IProjectionFor<TModel>.

IProjectionBuilder<TModel, TBuilder>

Defines the based builder for building out projections.

IProjectionFor<TModel>

Defines a system that can define a projection.

IProjectionHandler

Defines a system for handling projections.

IProjectionWatcher

Defines a watcher for a projection.

IProjectionWatcherFactory

Defines a factory for creating IProjectionWatcher<TModel>.

IProjectionWatcherManager

Defines a manager for IProjectionWatcher.

IProjectionWatcher<TModel>

Defines a watcher for a projection.

IProjections

Defines a system that works with projections in the system.

IPropertyExpressionBuilder

Defines a builder of a property expressions.

IRemovedWithBuilder<TModel, TEvent, TBuilder>

Defines a builder for building out removed with statements.

IRemovedWithJoinBuilder<TModel, TEvent, TBuilder>

Defines a builder for building out removed with join statements.

ISetBuilder<TModel, TEvent, TParentBuilder>

Defines a builder for building set operations for properties - represented as expressions.

ISetBuilder<TModel, TEvent, TProperty, TParentBuilder>

Defines a builder for building set operations for properties - represented as expressions.

ISubtractBuilder<TModel, TEvent, TProperty, TParentBuilder>

Defines a builder for building subtract operations for properties - represented as expressions.