truncateStream method
Future<void>
truncateStream(
- StreamName name,
- ExpectedStreamVersion expected,
- StreamTruncatePosition truncate
override
Truncate all events on the stream upto given position
Parameter name
identifies stream to truncate events from.
Parameter truncate
is the position on stream to truncate
events from. Use parameter expected
to indicate which stream
version that was last seen. Is used to perform consistency
checks based on optimistic locking
Implementation
@override
Future<void> truncateStream(
StreamName name,
ExpectedStreamVersion expected,
StreamTruncatePosition truncate,
) async {
try {
final metadata = StreamMetadata(
truncateBefore: truncate.asStreamPosition(),
);
await _anyOrNot(
expected,
whenAny: () => client.setStreamMetadata(
StreamState.any(name.value),
metadata,
),
otherwise: () => client.setStreamMetadata(
StreamState.exists(
name.value,
revision: expected.asStreamRevision(),
),
metadata,
),
);
} on StreamNotFoundException {
throw $e.StreamNotFoundException(name);
}
}