# `Kombu.Utils.UUID`
[🔗](https://github.com/hacktobeer/kombu/blob/v0.1.0/lib/kombu/utils/uuid.ex#L1)

UUID generation and representation utilities, matching `kombu.utils.uuid`
and `kombu.common.oid_from`.

# `t`

```elixir
@type t() :: %Kombu.Utils.UUID{hex: String.t(), version: pos_integer() | nil}
```

# `format`

```elixir
@spec format(t() | String.t()) :: String.t()
```

Format `%Kombu.Utils.UUID{}` or 32-char hex string into canonical 36-char hyphenated string.

# `namespace_oid`

# `namespace_url`

# `oid_from`

```elixir
@spec oid_from(term()) :: String.t()
```

Generate a deterministic object identifier matching `kombu.common.oid_from`.

# `parse!`

```elixir
@spec parse!(String.t()) :: t()
```

Parse a UUID string or 32-character hex string into `%Kombu.Utils.UUID{}`.

# `uuid4`

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

# `uuid4_struct`

```elixir
@spec uuid4_struct() :: t()
```

Generate a `%Kombu.Utils.UUID{}` struct for a random UUID4.

# `uuid5`

```elixir
@spec uuid5(binary(), String.t()) :: String.t()
```

Generate a UUID5 string from a 16-byte namespace binary (or UUID string) and name.

# `uuid`

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

Generate a random UUID4 string (`"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"`).

---

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