Fact.Seam.Storage.Adapter (Fact v0.3.1)

View Source

Meta module providing an adapter for accessing storage-related functionality via a Fact.Seam.Storage implementation.

This module is intended to be used by other modules to inject functions that simplify retrieval of paths associated with a database context:

  • path/2 – the root path for the database storage.
  • records_path/2 – path for storing event records.
  • indices_path/2 – path for storing index files.
  • ledger_path/2 – path for the event ledger.
  • locks_path/2 – path for database locks.
  • merkle_mountain_range_path/2 – path for the Merkle Mountain Range.

Each function can be called with either a database id (String.t()) or a Fact.Context containing the configured storage instance. When called with a database ID, the adapter automatically retrieves the corresponding context.

All operations are delegated to the underlying storage implementation using the configured seam instance. This module primarily provides compile-time injection of these helper functions.