# `Slap.Files.File`
[🔗](https://github.com/mjrusso/slap/blob/slap_files-v0.4.0/slap_files/lib/slap/files/file.ex#L1)

A file's metadata, as `Slap.Files.get/1` and `Slap.Files.list/2` return
it. `version` changes with every write of the file. `storage` is
`:inline` (in the file's record) or `:object`.

# `t`

```elixir
@type t() :: %Slap.Files.File{
  content_type: String.t(),
  metadata: %{required(String.t()) =&gt; String.t()},
  ref: Slap.Files.ref(),
  sha256: binary(),
  size: non_neg_integer(),
  storage: :inline | :object,
  version: non_neg_integer()
}
```

---

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