taoensso.nippy.tools

Utils for 3rd-party tools that want to add user-configurable Nippy support.
Used by Carmine, Faraday, etc.

*freeze-opts*

dynamic

*thaw-opts*

dynamic

freeze

(freeze x)(freeze x default-opts)
Like `nippy/freeze` but uses as opts the following merged in order of
ascending preference:

  - Optional `default-opts` arg given to this fn  (default nil).
  - Optional `*freeze-opts*` dynamic value        (default nil).
  - Optional opts provided to `wrap-for-freezing` (default nil).

thaw

(thaw ba)(thaw ba default-opts)
Like `nippy/thaw` but uses as opts the following merged in order of
ascending preference:

  - Optional `default-opts` arg given to this fn  (default nil).
  - Optional `*thaw-opts*` dynamic value          (default nil).

with-freeze-opts

macro

(with-freeze-opts opts & body)

with-thaw-opts

macro

(with-thaw-opts opts & body)

wrap-for-freezing

(wrap-for-freezing x)(wrap-for-freezing x opts)
Ensures that given arg (any freezable data type) is wrapped so that
(tools/freeze <wrapped-arg>) will serialize as
(nippy/freeze <unwrapped-arg> <opts>).

See also `nippy.tools/freeze`, `nippy.tools/thaw`.

wrapped-for-freezing?

(wrapped-for-freezing? x)