A collection of some standard formatters that can be used to build formats.
A collection of some standard formatters that can be used to build formats.
(constants intern-extern-map & {fallback :fallback})Formatter that translates fixed values, like in a realm/enum
Options are:
:fallback: a function called on unknown values. If not given, a
format-error is thrown in those case.
Usage:
(constants {:foo "foo"})
Formatter that translates fixed values, like in a realm/enum
Options are:
`:fallback`: a function called on unknown values. If not given, a
format-error is thrown in those case.
Usage:
```
(constants {:foo "foo"})
```
Identity formatter, when no translation is needed for a realm.
Identity formatter, when no translation is needed for a realm.
(record-map record spec & {strict? :strict? defaults :defaults})Formatter to represent a record as a map with explicit keys.
Options are:
:strict?: if set then a format-error is thrown when the map contains
unknown keys. By default they are ignored.
:defaults: a map of defaults for record fields. If none is given then a
format-error is thrown if the parsed map does not contain a defined key.
Usage:
(record-map MyRecord
{my-rec-foo :foo
my-rec-bar :bar}
:defaults {my-rec-foo "value"})
or
(record-map MyRecord [:foo :bar])
Formatter to represent a record as a map with explicit keys.
Options are:
`:strict?`: if set then a format-error is thrown when the map contains
unknown keys. By default they are ignored.
`:defaults`: a map of defaults for record fields. If none is given then a
format-error is thrown if the parsed map does not contain a defined key.
Usage:
```
(record-map MyRecord
{my-rec-foo :foo
my-rec-bar :bar}
:defaults {my-rec-foo "value"})
```
or
```
(record-map MyRecord [:foo :bar])
```
(simple translator)A simple (non recursive) formatter directly based on a translator lens.
A simple (non recursive) formatter directly based on a translator lens.
(tagged-union-map tag-key content-key tag-realm-map & {fallback :fallback})Formatter that distinguishes between different realms depending on a tag value in a map.
Options are:
:fallback: a function taking a tag and value, whose return value
is used when the translated value has an unknown tag. If not given,
a format-error is thrown.
For example:
(tagged-union-map :tag :value {"foo" foo-realm})
returns a formatter that can be used for a union realm that contains foo-realm, where the formatted values look like:
{:tag "foo" :value <foo-value>}
Formatter that distinguishes between different realms depending on a
tag value in a map.
Options are:
`:fallback`: a function taking a tag and value, whose return value
is used when the translated value has an unknown tag. If not given,
a format-error is thrown.
For example:
```
(tagged-union-map :tag :value {"foo" foo-realm})
```
returns a formatter that can be used for a union realm that contains `foo-realm`, where the formatted values look like:
```
{:tag "foo" :value <foo-value>}
```
(tagged-union-tuple tag-realm-map & {fallback :fallback})Formatter that distinguishes between different realms depending on the value of the first part of a tuple.
Options are:
:fallback: a function taking a tag and value, whose return value
is used when the translated value has an unknown tag. If not given,
a format-error is thrown.
For example:
(tagged-union-tuple {"foo" foo-realm})
returns a formatter that can be used for a union realm that contains foo-realm, where the formatted values look like:
["foo" <foo-value>]
Formatter that distinguishes between different realms depending on the
value of the first part of a tuple.
Options are:
`:fallback`: a function taking a tag and value, whose return value
is used when the translated value has an unknown tag. If not given,
a format-error is thrown.
For example:
```
(tagged-union-tuple {"foo" foo-realm})
```
returns a formatter that can be used for a union realm that contains `foo-realm`, where the formatted values look like:
```
["foo" <foo-value>]
```
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |