# `Selecto.Window.Frame`

Window frame specification (ROWS or RANGE).

Defines which rows within the partition are included in the window frame
for the current row's calculation.

# `boundary`

```elixir
@type boundary() ::
  :unbounded_preceding
  | :current_row
  | :unbounded_following
  | {:preceding, integer()}
  | {:following, integer()}
  | {:interval, String.t()}
```

# `frame_type`

```elixir
@type frame_type() :: :rows | :range
```

# `t`

```elixir
@type t() :: %Selecto.Window.Frame{
  end: boundary(),
  start: boundary(),
  type: frame_type()
}
```

---

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