# `MpxjEx.Relation`
[🔗](https://github.com/rocket4ce/mpxj_ex/blob/v0.1.0/lib/mpxj_ex/relation.ex#L1)

A dependency between two tasks.

`:type` is one of `:finish_start`, `:start_start`, `:finish_finish` or
`:start_finish`. `:lag` is in the `:time_units` passed to `MpxjEx.read/2`
(seconds by default) and `:lag_units` is the unit the lag was entered in.

# `t`

```elixir
@type t() :: %MpxjEx.Relation{
  driving: boolean(),
  lag: number(),
  lag_units: MpxjEx.time_unit() | nil,
  notes: String.t() | nil,
  predecessor_task_unique_id: integer(),
  successor_task_unique_id: integer(),
  type: type(),
  unique_id: integer() | nil
}
```

# `type`

```elixir
@type type() :: :finish_start | :start_start | :finish_finish | :start_finish
```

---

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