ExESDB.Commanded.Adapter.StreamHelper (ex_esdb_commanded v0.1.0)

Helper functions for stream operations and subscription type detection.

Summary

Functions

Determines if a stream subscription should be allowed based on the stream type. Allows

Maps ExESDB error responses to Commanded error format.

Normalizes Commanded expected versions to ExESDB expected versions.

Converts start_from parameter to version number for ExESDB.

Extracts store configuration from adapter metadata.

Extracts stream prefix from adapter metadata.

Converts a stream identifier to subscription type and selector.

Functions

allowed_stream?(stream)

Determines if a stream subscription should be allowed based on the stream type. Allows:

  • $all streams (global) - aggregates should subscribe to this and filter by stream_id
  • Event type streams ($et-*) - for projection systems

Blocks:

  • Individual stream subscriptions to prevent creating separate emitters per aggregate

map_error(error)

Maps ExESDB error responses to Commanded error format.

normalize_expected_version(version)

Normalizes Commanded expected versions to ExESDB expected versions.

normalize_start_version(start_from)

Converts start_from parameter to version number for ExESDB.

store_id(meta)

Extracts store configuration from adapter metadata.

stream_prefix(meta)

Extracts stream prefix from adapter metadata.

stream_to_subscription_params(stream, prefix \\ "")

Converts a stream identifier to subscription type and selector.