# Electric Client v0.9.4 - Table of Contents Elixir client for ElectricSQL ## Modules - [Electric.Client](Electric.Client.md): An Elixir client for [ElectricSQL](https://electric-sql.com). - [Electric.Client.Authenticator](Electric.Client.Authenticator.md): Behaviour to authenticate a `Electric.Client.Fetch.Request`. - [Electric.Client.Authenticator.MockAuthenticator](Electric.Client.Authenticator.MockAuthenticator.md): A pseudo-authenticating `Electric.Client.Authenticator` implementation. - [Electric.Client.Authenticator.Unauthenticated](Electric.Client.Authenticator.Unauthenticated.md): Placeholder `Electric.Client.Authenticator` implementation that doesn't add any authentication params or headers to the `Request`. - [Electric.Client.EctoAdapter.ArrayDecoder](Electric.Client.EctoAdapter.ArrayDecoder.md) - [Electric.Client.Embedded](Electric.Client.Embedded.md) - [Electric.Client.ExpiredShapesCache](Electric.Client.ExpiredShapesCache.md): LRU cache for tracking expired shape handles. - [Electric.Client.Fetch](Electric.Client.Fetch.md) - [Electric.Client.Fetch.HTTP](Electric.Client.Fetch.HTTP.md): Client `Electric.Client.Fetch` implementation for HTTP requests to an external Electric API server. - [Electric.Client.Fetch.Pool](Electric.Client.Fetch.Pool.md): Coaleses requests so that multiple client instances making the same (potentially long-polling) request will all use the same request process. - [Electric.Client.Fetch.Request](Electric.Client.Fetch.Request.md) - [Electric.Client.Fetch.Response](Electric.Client.Fetch.Response.md) - [Electric.Client.Message.ChangeMessage](Electric.Client.Message.ChangeMessage.md) - [Electric.Client.Message.ControlMessage](Electric.Client.Message.ControlMessage.md) - [Electric.Client.Message.Headers](Electric.Client.Message.Headers.md) - [Electric.Client.Message.MoveOutMessage](Electric.Client.Message.MoveOutMessage.md): Represents a move-out event from the server. - [Electric.Client.Message.ResumeMessage](Electric.Client.Message.ResumeMessage.md): Emitted by the synchronisation stream before terminating early. If passed as an option to [`Client.stream/3`](`Electric.Client.stream/3`) allows for resuming a shape stream at the given point. - [Electric.Client.Mock](Electric.Client.Mock.md): Allows for mocking stream messages. - [Electric.Client.Offset](Electric.Client.Offset.md): Represents an offset in the synchronisation stream from Electric. - [Electric.Client.Poll](Electric.Client.Poll.md): Poll-based API for fetching shape changes. - [Electric.Client.ShapeDefinition](Electric.Client.ShapeDefinition.md): Struct for defining a shape. - [Electric.Client.ShapeKey](Electric.Client.ShapeKey.md): Generate canonical shape keys for cache lookup. - [Electric.Client.ShapeState](Electric.Client.ShapeState.md): State for polling a shape. - [Electric.Client.TagTracker](Electric.Client.TagTracker.md): Manages tag tracking for move-out support in Electric shapes. - [Electric.Client.ValueMapper](Electric.Client.ValueMapper.md): A behaviour for mapping the `value` fields of [`Message.ChangeMessage`](`Electric.Client.Message.ChangeMessage`) messages from the shape stream. - Exceptions - [Electric.Client.Error](Electric.Client.Error.md)