# `GunsNPrices.Caliber`
[🔗](https://github.com/gunsnprices/gunsnprices-elixir/blob/v0.1.0/lib/gunsnprices/caliber.ex#L1)

A caliber (cartridge) from the GunsNPrices caliber list.

`id` is stable (`"9x19mmparabellum"`), `name` is the display name (`"9×19mm Parabellum"`), `type` is what it is
chambered in and `url` is the GunsNPrices page comparing prices for it (`""` if there is none).

Encodes to JSON (Elixir's `JSON`, and `Jason` when it is installed) with the same fields as the Python and
JavaScript packages: `{"id": ..., "name": ..., "type": "handgun", "url": ...}`.

# `caliber_type`

```elixir
@type caliber_type() ::
  :handgun | :rifle | :rimfire | :shotgun | :airgun | :muzzleloader
```

What a caliber is chambered in: the `type` field of the GunsNPrices caliber list.

# `t`

```elixir
@type t() :: %GunsNPrices.Caliber{
  id: String.t(),
  name: String.t(),
  type: caliber_type(),
  url: String.t()
}
```

---

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