# `Electric.Replication.Changes.Transaction`
[🔗](https://github.com/electric-sql/electric/tree/%40core/sync-service%401.6.2/packages/sync-service/lib/electric/replication/changes.ex#L139)

# `t`

```elixir
@type t() :: %Electric.Replication.Changes.Transaction{
  changes: [Electric.Replication.Changes.change()],
  commit_timestamp: DateTime.t() | nil,
  last_log_offset: Electric.Replication.LogOffset.t(),
  lsn: Electric.Postgres.Lsn.t(),
  num_changes: non_neg_integer(),
  xid: Electric.Replication.Changes.xid() | nil
}
```

# `visible_in_snapshot?`

```elixir
@spec visible_in_snapshot?(
  t() | Electric.Postgres.Xid.anyxid(),
  %{
    xmin: Electric.Postgres.Xid.anyxid(),
    xmax: Electric.Postgres.Xid.anyxid(),
    xip_list: [Electric.Postgres.Xid.anyxid()]
  }
  | {Electric.Postgres.Xid.anyxid(), Electric.Postgres.Xid.anyxid(),
     [Electric.Postgres.Xid.anyxid()]}
) :: boolean()
```

Check if a transaction is visible in a snapshot.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
