# `Mutare.MutationSite`
[🔗](https://github.com/foxbenjaminfox/mutare/blob/v0.2.1/lib/mutare/mutation_site.ex#L1)

Stable public description of one generated mutant.

`Mutare.Site` is Mutare's internal runner/report record. This struct is the public API shape
returned from `Mutare.transform_string/2`: it keeps the fields useful to custom mutator and
extension authors while leaving delivery, runner, and reporter internals free to change.

# `position`

```elixir
@type position() :: %{line: pos_integer(), column: pos_integer()}
```

# `range`

```elixir
@type range() :: %{start: position(), end: position()} | nil
```

# `t`

```elixir
@type t() :: %Mutare.MutationSite{
  column: pos_integer() | nil,
  emitted: boolean(),
  file: String.t(),
  id: pos_integer(),
  ignore_reason: String.t() | nil,
  ignored: boolean(),
  line: pos_integer() | nil,
  mutated_code: String.t() | nil,
  mutator: atom(),
  note: String.t() | nil,
  operation: :replace | :delete,
  original_code: String.t() | nil,
  range: range(),
  variant: [String.t()]
}
```

---

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