# `Exonerate.Formats.Duration`
[🔗](https://github.com/E-xyza/exonerate/blob/master/lib/exonerate/formats/duration.ex#L1)

Module which provides a macro that generates special code for a duration
filter.

This format is governed by appendix A of RFC 3339:
https://www.rfc-editor.org/rfc/rfc3339.txt

# `filter`
*macro* 

Creates a `NimbleParsec` parser `~duration/1`.

This function returns `{:ok, ...}` if the passed string is a valid duration,
or `{:error, reason, ...}` if it is not.  See `NimbleParsec` for more
information on the return tuples.

The function will only be created once per module, and it is safe to call
the macro more than once.

## Options:
- `:name` (atom): the name of the function to create.  Defaults to
  `:"~duration"`

---

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