Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
bwaidelich committed Aug 3, 2023
2 parents c5c6156 + 2a115db commit cf0266f
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions Specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,13 @@ In v1 the only supported criteria types are:

## SequenceNumber

When an [Event](#Eventd) is appended to the [EventStore](#EventStore) a `SequenceNumber` is assigned to it.
When an [Event](#Event) is appended to the [EventStore](#EventStore) a `SequenceNumber` is assigned to it.

It...
* _MUST_ be unique for one EventStore
* _MUST_ be monotonic increasing by `1`
* _MUST_ be monotonic increasing
* _MUST_ have an allowed minimum value of `1`
* _CAN_ contain gaps
* _SHOULD_ have a reasonably high maximum value (depending on programming language and environment)


Expand All @@ -84,7 +85,7 @@ When reading from the [EventStore](#EventStore) an `EventStream` is returned.
It...
* It _MUST_ be iterable
* It _MUST_ return an [EventEnvelope](#EventEnvelope) for every iteration
* It _MUST_ include new events if they occur during iteration (i.e. it should be a stream, not a fixed set)
* It _CAN_ include new events if they occur during iteration
* Individual [EventEnvelope](#EventEnvelope) instances _MAY_ be converted during iteration for performance optimization
* Batches of events _MAY_ be loaded from the underlying storage at once for performance optimization

Expand Down Expand Up @@ -165,8 +166,8 @@ A `Tag` can add domain specific metadata (usually the ids of an entity or concep

**NOTE:** If the `value` is not specified, all tags of the given `key` will match (wildcard)

* It _MUST_ contain a `key` that satisfies the regular expression `^[[:alnum:]\-\_]{1,50}$`
* It _CAN_ contain a `value` that satisfies the regular expression `^[[:alnum:]\-\_]{1,50}$`
* It _MUST_ contain a `key` that satisfies the regular expression `^[a-zA-Z0-9\-\_]{1,50}$`
* It _CAN_ contain a `value` that satisfies the regular expression `^[a-zA-Z0-9\-\_]{1,50}$`

## AppendCondition

Expand All @@ -178,4 +179,4 @@ A `Tag` can add domain specific metadata (usually the ids of an entity or concep
Can _either_ be an instance of [SequenceNumber](#SequenceNumber)
Or one of:
* `NONE` – No event must match the specified [StreamQuery](#StreamQuery)
* `ANY` – Any event matches (= wildcard [AppendCondition](#AppendCondition))
* `ANY` – Any event matches (= wildcard [AppendCondition](#AppendCondition))

0 comments on commit cf0266f

Please sign in to comment.