# `LeXtract.AlignmentStatus`
[🔗](https://github.com/YgorCastor/lextract.git/blob/main/lib/lextract/alignment_status.ex#L1)

Represents the quality/status of text alignment.

## Values

* `:exact` - Perfect token sequence match
* `:fuzzy` - Case-insensitive or minor variation match
* `:partial` - Partial/substring match
* `:none` - No match found

## Examples

    iex> LeXtract.AlignmentStatus.exact?(:exact)
    true

    iex> LeXtract.AlignmentStatus.exact?(:fuzzy)
    false

# `t`

```elixir
@type t() :: :exact | :fuzzy | :partial | :none
```

# `confidence`

```elixir
@spec confidence(t()) :: float()
```

Returns confidence score for alignment status (0.0 - 1.0).

## Examples

    iex> LeXtract.AlignmentStatus.confidence(:exact)
    1.0

    iex> LeXtract.AlignmentStatus.confidence(:none)
    0.0

# `exact?`

```elixir
@spec exact?(t()) :: boolean()
```

Returns true if status indicates exact match.

## Examples

    iex> LeXtract.AlignmentStatus.exact?(:exact)
    true

    iex> LeXtract.AlignmentStatus.exact?(:partial)
    false

# `from_string`

```elixir
@spec from_string(String.t()) :: t()
```

Converts string to alignment status atom.

## Examples

    iex> LeXtract.AlignmentStatus.from_string("exact")
    :exact

    iex> LeXtract.AlignmentStatus.from_string("unknown")
    :none

# `matched?`

```elixir
@spec matched?(t()) :: boolean()
```

Returns true if status indicates any match (not :none).

## Examples

    iex> LeXtract.AlignmentStatus.matched?(:exact)
    true

    iex> LeXtract.AlignmentStatus.matched?(:none)
    false

---

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