[doc] Clarify *freeze-fallback* docstring

This commit is contained in:
Peter Taoussanis 2024-11-12 15:51:46 +01:00
parent c92457025f
commit 1026ea0ae7

View file

@ -365,25 +365,26 @@
;; For back compatibility (incl. Timbre's Carmine appender) ;; For back compatibility (incl. Timbre's Carmine appender)
(enc/defonce ^:dynamic ^:no-doc ^:deprecated *final-freeze-fallback* "Prefer `*freeze-fallback`." nil) (enc/defonce ^:dynamic ^:no-doc ^:deprecated *final-freeze-fallback* "Prefer `*freeze-fallback`." nil)
(enc/defonce ^:dynamic *freeze-fallback* (enc/defonce ^:dynamic *freeze-fallback*
"Controls Nippy's behaviour when trying to freeze an item for which Nippy "Controls Nippy's behaviour when trying to freeze an object with a type for
doesn't currently have a native freeze/thaw implementation. which Nippy doesn't currently have a native (protocol) implementation.
Possible values: Possible values:
1. `nil` (no freeze-fallback, default) 1. `nil` (no fallback, default)
Tries the following in order: Tries the following in order:
- Freeze with Java's `Serializable` interface if possible - Freeze with Java's `Serializable` interface if this seems possible
- Freeze with Clojure's reader if possible - Freeze with Clojure's reader if this seems possible
- Throw - Throw
2. `:write-unfreezable` keyword 2. `:write-unfreezable` keyword
Tries the following in order: Tries the following in order:
- Freeze with Java's `Serializable` interface if possible - Freeze with Java's `Serializable` interface if this seems possible
- Freeze with Clojure's reader if possible - Freeze with Clojure's reader if this seems possible
- Freeze a {:nippy/unfreezable {:type _}} placeholder value - Freeze a {:nippy/unfreezable {:type _}} placeholder value
3. [Advanced] Custom (fn [^java.io.DataOutput out item]) that must 3. [Advanced] Custom (fn [^java.io.DataOutput out obj]) that must
write exactly one value to the given `DataOutput` stream" write an appropriate object type id and payload to the given
`DataOutput` stream."
nil) nil)