Nippy 2.15.1
Released under the Eclipse Public License
High-performance serialization library for Clojure.
Installation
To install, add the following dependency to your project or build file:
[com.taoensso/nippy "2.15.1"]
Namespaces
taoensso.nippy
High-performance serialization library for Clojure
Public variables and functions:
- *auto-freeze-compressor*
- *custom-readers*
- *final-freeze-fallback*
- *freeze-fallback*
- *incl-metadata?*
- *serializable-whitelist*
- -cache-proxy
- aes128-cbc-encryptor
- aes128-encryptor
- aes128-gcm-encryptor
- cache
- compress
- decompress
- decrypt
- default-serializable-whitelist
- encrypt
- extend-freeze
- extend-thaw
- fast-freeze
- fast-thaw
- freezable?
- freeze
- freeze-fallback-as-str
- freeze-to-file
- freeze-to-out!
- freeze-to-string
- IFreezable1
- IFreezable2
- inspect-ba
- lz4-compressor
- lz4hc-compressor
- lzma2-compressor
- set-auto-freeze-compressor!
- set-freeze-fallback!
- snappy-compressor
- stress-data
- stress-data-benchable
- stress-data-comparable
- swap-custom-readers!
- swap-serializable-whitelist!
- thaw
- thaw-from-file
- thaw-from-in!
- thaw-from-string
- throw-unfreezable
- try-write-readable
- try-write-serializable
- write-id
- write-unfreezable
taoensso.nippy.crypto
Low-level crypto utils. +Nippy 2.15.3 Generated by Codox
Nippy 2.15.3
\ No newline at end of file diff --git a/taoensso.nippy.benchmarks.html b/taoensso.nippy.benchmarks.html index 2d52689..6086a2f 100644 --- a/taoensso.nippy.benchmarks.html +++ b/taoensso.nippy.benchmarks.html @@ -1,3 +1,3 @@ -Nippy 2.15.3
Released under the Eclipse Public License
High-performance serialization library for Clojure.
Installation
To install, add the following dependency to your project or build file:
[com.taoensso/nippy "2.15.3"]Namespaces
taoensso.nippy
High-performance serialization library for ClojurePublic variables and functions:
- *auto-freeze-compressor*
- *custom-readers*
- *final-freeze-fallback*
- *freeze-fallback*
- *serializable-whitelist*
- -cache-proxy
- aes128-cbc-encryptor
- aes128-encryptor
- aes128-gcm-encryptor
- cache
- compress
- decompress
- decrypt
- default-serializable-whitelist
- encrypt
- extend-freeze
- extend-thaw
- fast-freeze
- fast-thaw
- freezable?
- freeze
- freeze-fallback-as-str
- freeze-to-file
- freeze-to-out!
- freeze-to-string
- IFreezable1
- IFreezable2
- inspect-ba
- lz4-compressor
- lz4hc-compressor
- lzma2-compressor
- set-auto-freeze-compressor!
- set-freeze-fallback!
- snappy-compressor
- stress-data
- stress-data-benchable
- stress-data-comparable
- swap-custom-readers!
- swap-serializable-whitelist!
- thaw
- thaw-from-file
- thaw-from-in!
- thaw-from-string
- throw-unfreezable
- try-write-readable
- try-write-serializable
- write-id
- write-unfreezable
taoensso.nippy.crypto
Low-level crypto utils. Private & alpha, very likely to change!taoensso.nippy.encryption
Simple no-nonsense crypto with reasonable defaultsPublic variables and functions:
taoensso.nippy.tools
Utils for 3rd-party tools that want to add user-configurable Nippy support. Used by Carmine, Faraday, etc.Public variables and functions:
taoensso.nippy.benchmarks documentation Generated by Codox
Nippy 2.15.1
\ No newline at end of file +taoensso.nippy.benchmarks
taoensso.nippy.benchmarks documentation Generated by Codox
Nippy 2.15.3
\ No newline at end of file diff --git a/taoensso.nippy.compression.html b/taoensso.nippy.compression.html index 37409b8..9dcf479 100644 --- a/taoensso.nippy.compression.html +++ b/taoensso.nippy.compression.html @@ -1,6 +1,6 @@ -taoensso.nippy.benchmarks
bench
(bench {:keys [reader? lzma2? fressian? laps], :or {laps 1}})bench*
macro
(bench* & body)bench1
(bench1 freezer thawer & [sizer])data
fressian-freeze
(fressian-freeze value)fressian-thaw
(fressian-thaw value)taoensso.nippy.compression documentation Generated by Codox
Nippy 2.15.1
\ No newline at end of file diff --git a/taoensso.nippy.crypto.html b/taoensso.nippy.crypto.html index 581d491..063d11e 100644 --- a/taoensso.nippy.crypto.html +++ b/taoensso.nippy.crypto.html @@ -1,11 +1,11 @@ -taoensso.nippy.compression
ICompressor
protocol
members
compress
(compress compressor ba)decompress
(decompress compressor ba)header-id
(header-id compressor)lz4-compressor
Default net.jpountz.lz4 compressor: +taoensso.nippy.compression documentation Generated by Codox
Nippy 2.15.3
\ No newline at end of file +A good general-purpose compressor.taoensso.nippy.compression
ICompressor
protocol
members
compress
(compress compressor ba)decompress
(decompress compressor ba)header-id
(header-id compressor)lz4-compressor
Default net.jpountz.lz4 compressor: Ratio: low. Write speed: very high. Read speed: very high. @@ -8,17 +8,17 @@ Write speed: very high. A good general-purpose compressor, competitive with Snappy. Thanks to Max Penet (@mpenet) for our first implementation, -Ref. https://github.com/mpenet/nippy-lz4lzma2-compressor
Default org.tukaani.xz.LZMA2 compressor: +Ref. https://github.com/mpenet/nippy-lz4lz4hc-compressor
Like `lz4-compressor` but trades some write speed for ratio. +lzma2-compressor
Default org.tukaani.xz.LZMA2 compressor: Ratio: high. Write speed: _very_ slow (also currently single-threaded). Read speed: slow. A specialized compressor for large, low-write data in space-sensitive -environments.snappy-compressor
Default org.iq80.snappy.Snappy compressor: +environments.snappy-compressor
Default org.iq80.snappy.Snappy compressor: Ratio: low. Write speed: very high. Read speed: very high. -A good general-purpose compressor.standard-header-ids
These'll support :auto thaw +taoensso.nippy.crypto documentation Generated by Codox
Nippy 2.15.1
\ No newline at end of file diff --git a/taoensso.nippy.encryption.html b/taoensso.nippy.encryption.html index 4a9d770..3363fd6 100644 --- a/taoensso.nippy.encryption.html +++ b/taoensso.nippy.encryption.html @@ -1,8 +1,8 @@ -taoensso.nippy.crypto
Low-level crypto utils. -Private & alpha, very likely to change!decrypt
(decrypt {:keys [cipher-kit salt-size salt->key-fn enc-ba], :or {cipher-kit cipher-kit-aes-gcm}})encrypt
(encrypt {:keys [cipher-kit ?salt-ba key-ba plain-ba rand-bytes-fn], :or {cipher-kit cipher-kit-aes-gcm, rand-bytes-fn rand-bytes}})ICipherKit
protocol
members
get-cipher
(get-cipher _)Returns a thread-safe `javax.crypto.Cipher` instance. +taoensso.nippy.crypto documentation Generated by Codox
Nippy 2.15.3
\ No newline at end of file +taoensso.nippy.crypto
Low-level crypto utils. +Private & alpha, very likely to change!cbc-cipher
(cbc-cipher)cipher-kit-aes-cbc
Default CipherKit for AES CBC +cipher-kit-aes-gcm
Default CipherKit for AES GCM +decrypt
(decrypt {:keys [cipher-kit salt-size salt->key-fn enc-ba], :or {cipher-kit cipher-kit-aes-gcm}})encrypt
(encrypt {:keys [cipher-kit ?salt-ba key-ba plain-ba rand-bytes-fn], :or {cipher-kit cipher-kit-aes-gcm, rand-bytes-fn rand-bytes}})gcm-cipher
(gcm-cipher)ICipherKit
protocol
members
get-cipher
(get-cipher _)Returns a thread-safe `javax.crypto.Cipher` instance.get-iv-size
(get-iv-size _)Returns necessary iv-ba length.get-key-spec
(get-key-spec _ ba)Returns a `javax.crypto.spec.SecretKeySpec`.get-param-spec
(get-param-spec _ iv-ba)Returns a `java.security.spec.AlgorithmParameters`. -sha512-key-ba
(sha512-key-ba ?salt-ba utf8-or-ba)(sha512-key-ba ?salt-ba utf8-or-ba n-rounds)SHA512-based key generator. Good JVM availability without extra dependencies -(PBKDF2, bcrypt, scrypt, etc.). Decent security when using many rounds.murmur3
(murmur3 s)pwd-as-ba
(pwd-as-ba utf8-or-ba)rand-bool
(rand-bool)rand-bytes
(rand-bytes size)rand-double
(rand-double)rand-gauss
(rand-gauss)rand-long
(rand-long)(rand-long n)rand-nth
(rand-nth coll)sha256-ba
(sha256-ba ba)sha256-md
(sha256-md)sha512-ba
(sha512-ba ba)sha512-key-ba
(sha512-key-ba ?salt-ba utf8-or-ba)(sha512-key-ba ?salt-ba utf8-or-ba n-rounds)SHA512-based key generator. Good JVM availability without extra dependencies +(PBKDF2, bcrypt, scrypt, etc.). Decent security when using many rounds.sha512-md
(sha512-md)take-ba
(take-ba n ba)utf8->ba
(utf8->ba s)taoensso.nippy.encryption documentation Generated by Codox
Nippy 2.15.1
taoensso.nippy.encryption
Simple no-nonsense crypto with reasonable defaults +taoensso.nippy.encryption documentation Generated by Codox
Nippy 2.15.3
\ No newline at end of file +increased danger if a key is somehow compromised.taoensso.nippy.encryption
Simple no-nonsense crypto with reasonable defaultsaes128-cbc-encryptor
Default 128bit AES-CBC encryptor with many-round SHA-512 key-gen. -See also `aes-128-cbc-encryptor`.aes128-gcm-encryptor
Default 128bit AES-GCM encryptor with many-round SHA-512 key-gen. +See also `aes-128-cbc-encryptor`.aes128-gcm-encryptor
Default 128bit AES-GCM encryptor with many-round SHA-512 key-gen. Password form [:salted "my-password"] --------------------------------------- @@ -35,5 +35,5 @@ CONS: Using a small number of keys for many encrypted items means that if any compromised. Faster than `aes128-salted`, and harder to attack any particular key - but -increased danger if a key is somehow compromised.IEncryptor
protocol
members
decrypt
(decrypt encryptor pwd ba)encrypt
(encrypt encryptor pwd ba)header-id
(header-id encryptor)IEncryptor
protocol
members
decrypt
(decrypt encryptor pwd ba)encrypt
(encrypt encryptor pwd ba)header-id
(header-id encryptor)standard-header-ids
These'll support :auto thaw +
Generated by Codox
Nippy 2.15.1
taoensso.nippy
High-performance serialization library for Clojure +taoensso.nippy documentation Generated by Codox
Nippy 2.15.3
\ No newline at end of file +This is a low-level util: in most cases you'll want `thaw` instead.taoensso.nippy
High-performance serialization library for Clojure*auto-freeze-compressor*
dynamic
(fn [byte-array])->compressor used by `(freeze <x> {:compressor :auto}), -nil => default*serializable-whitelist*
dynamic
Used when attempting to freeze or thaw an object that: +nil => default*custom-readers*
dynamic
{<hash-or-byte-id> (fn [data-input])->read} +*final-freeze-fallback*
dynamic
DEPRECATED: prefer `*freeze-fallback`. +*freeze-fallback*
dynamic
(fn [data-output x])->freeze, nil => default +*serializable-whitelist*
dynamic
Used when attempting to freeze or thaw an object that: - Does not implement Nippy's Freezable protocol. - Does implement Java's Serializable interface. @@ -96,9 +95,9 @@ identifying this vulnerability. [1] https://groups.google.com/forum/#!msg/clojure/WaL3hHzsevI/7zHU-L7LBQAJ [2] Jackson maintains a list of common gadget classes at - https://github.com/FasterXML/jackson-databind/blob/master/src/main/java/com/fasterxml/jackson/databind/jsontype/impl/SubTypeValidator.javaaes128-cbc-encryptor
Default 128bit AES-CBC encryptor with many-round SHA-512 key-gen. -See also `aes-128-cbc-encryptor`.aes128-encryptor
Default 128bit AES-GCM encryptor with many-round SHA-512 key-gen. + https://github.com/FasterXML/jackson-databind/blob/master/src/main/java/com/fasterxml/jackson/databind/jsontype/impl/SubTypeValidator.java-cache-proxy
{[<x> <meta>] <idx>} for freezing, {<idx> <x-with-meta>} for thawing. +aes128-cbc-encryptor
Default 128bit AES-CBC encryptor with many-round SHA-512 key-gen. +See also `aes-128-cbc-encryptor`.aes128-encryptor
Default 128bit AES-GCM encryptor with many-round SHA-512 key-gen. Password form [:salted "my-password"] --------------------------------------- @@ -131,7 +130,7 @@ CONS: Using a small number of keys for many encrypted items means that if any compromised. Faster than `aes128-salted`, and harder to attack any particular key - but -increased danger if a key is somehow compromised.aes128-gcm-encryptor
Default 128bit AES-GCM encryptor with many-round SHA-512 key-gen. +increased danger if a key is somehow compromised.aes128-gcm-encryptor
Default 128bit AES-GCM encryptor with many-round SHA-512 key-gen. Password form [:salted "my-password"] --------------------------------------- @@ -164,14 +163,14 @@ CONS: Using a small number of keys for many encrypted items means that if any compromised. Faster than `aes128-salted`, and harder to attack any particular key - but -increased danger if a key is somehow compromised.cache
(cache x)Experimental, subject to change. +increased danger if a key is somehow compromised.cache
(cache x)Experimental, subject to change. Wraps value so that future writes of the same wrapped value with same metadata will be efficiently encoded as references to this one. (freeze [(cache "foo") (cache "foo") (cache "foo")]) - will incl. a single "foo", plus 2x single-byte references to "foo".default-serializable-whitelist
PRs welcome to add additional known-safe classes to default. -extend-freeze
macro
(extend-freeze type custom-type-id [x out] & body)Extends Nippy to support freezing of a custom type (ideally concrete) with + will incl. a single "foo", plus 2x single-byte references to "foo".compress
(compress compressor ba)decompress
(decompress compressor ba)decrypt
(decrypt encryptor pwd ba)default-serializable-whitelist
PRs welcome to add additional known-safe classes to default. +encrypt
(encrypt encryptor pwd ba)extend-freeze
macro
(extend-freeze type custom-type-id [x out] & body)Extends Nippy to support freezing of a custom type (ideally concrete) with given id of form: * Keyword - 2 byte overhead, keywords hashed to 16 bit id @@ -184,37 +183,37 @@ NB: be careful about extending to interfaces, Ref. view sourceextend-thaw
macro
(extend-thaw custom-type-id [in] & body)Extends Nippy to support thawing of a custom type with given id: + (.writeUTF [data-output] (:data x)))extend-thaw
macro
(extend-thaw custom-type-id [in] & body)Extends Nippy to support thawing of a custom type with given id: (extend-thaw :foo/my-type [data-input] ; Keyword id (MyRec. (.readUTF data-input))) ;; or (extend-thaw 1 [data-input] ; Byte id - (MyRec. (.readUTF data-input)))fast-freeze
(fast-freeze x)(fast-freeze x opts)Like `freeze` but: + (MyRec. (.readUTF data-input)))fast-freeze
(fast-freeze x)Like `freeze` but: - Writes data without a Nippy header - Drops all support for compression and encryption - Must be thawed with `fast-thaw` Equivalent to (but a little faster than): - `(freeze x {:compressor nil :encryptor nil :no-header? true})fast-thaw
(fast-thaw ba)(fast-thaw ba opts)Like `thaw` but: + `(freeze x {:compressor nil :encryptor nil :no-header? true})fast-thaw
(fast-thaw ba)Like `thaw` but: - Drops all support for compression and encryption - Supports only data frozen with `fast-freeze` Equivalent to (but a little faster than): - `(thaw x {:compressor nil :encryptor nil :no-header? true})freezable?
(freezable? x)(freezable? x {:keys [allow-clojure-reader? allow-java-serializable?]})Alpha - subject to change. + `(thaw x {:compressor nil :encryptor nil :no-header? true})freezable?
(freezable? x)(freezable? x {:keys [allow-clojure-reader? allow-java-serializable?]})Alpha - subject to change. Returns truthy iff Nippy *appears* to support freezing the given argument. `:allow-clojure-reader?` and `:allow-java-serializable?` options may be used to enable the relevant roundtrip fallback test(s). These tests are only **moderately reliable** since they're cached by arg type and don't test for pre/post serialization value equality (there's no good general -way of doing so).freeze
(freeze x)(freeze x {:as opts, :keys [compressor encryptor password serializable-whitelist incl-metadata?], :or {compressor :auto, encryptor aes128-gcm-encryptor}})Serializes arg (any Clojure data type) to a byte array. To freeze custom -types, extend the Clojure reader or see `extend-freeze`.freeze-to-file
(freeze-to-file file x)(freeze-to-file file x freeze-opts)Convenience util: like `freeze`, but writes to `(clojure.java.io/file <file>)` +way of doing so).freeze
(freeze x)(freeze x {:as opts, :keys [compressor encryptor password], :or {compressor :auto, encryptor aes128-gcm-encryptor}})Serializes arg (any Clojure data type) to a byte array. To freeze custom +types, extend the Clojure reader or see `extend-freeze`.freeze-fallback-as-str
DEPRECATED +freeze-to-file
(freeze-to-file file x)(freeze-to-file file x freeze-opts)Convenience util: like `freeze`, but writes to `(clojure.java.io/file <file>)` and returns the byte array written. -See also `thaw-from-file`.freeze-to-out!
(freeze-to-out! data-output x)Serializes arg (any Clojure data type) to a DataOutput. -This is a low-level util: in most cases you'll want `freeze` instead.freeze-to-string
(freeze-to-string x)(freeze-to-string x freeze-opts)Convenience util: like `freeze`, but returns a Base64-encoded string. -See also `thaw-from-string`.lz4-compressor
Default net.jpountz.lz4 compressor: +See also `thaw-from-file`.freeze-to-out!
(freeze-to-out! data-output x)Serializes arg (any Clojure data type) to a DataOutput. +This is a low-level util: in most cases you'll want `freeze` instead.freeze-to-string
(freeze-to-string x)(freeze-to-string x freeze-opts)Convenience util: like `freeze`, but returns a Base64-encoded string. +See also `thaw-from-string`.IFreezable1
protocol
members
-freeze-without-meta!
(-freeze-without-meta! x data-output)IFreezable2
protocol
members
-freeze-with-meta!
(-freeze-with-meta! x data-output)inspect-ba
(inspect-ba ba)(inspect-ba ba thaw-opts)Alpha - subject to change +lz4-compressor
Default net.jpountz.lz4 compressor: Ratio: low. Write speed: very high. Read speed: very high. @@ -222,22 +221,22 @@ Write speed: very high. A good general-purpose compressor, competitive with Snappy. Thanks to Max Penet (@mpenet) for our first implementation, -Ref. https://github.com/mpenet/nippy-lz4lzma2-compressor
Default org.tukaani.xz.LZMA2 compressor: +Ref. https://github.com/mpenet/nippy-lz4lz4hc-compressor
Like `lz4-compressor` but trades some write speed for ratio. +lzma2-compressor
Default org.tukaani.xz.LZMA2 compressor: Ratio: high. Write speed: _very_ slow (also currently single-threaded). Read speed: slow. A specialized compressor for large, low-write data in space-sensitive -environments.snappy-compressor
Default org.iq80.snappy.Snappy compressor: +environments.set-auto-freeze-compressor!
(set-auto-freeze-compressor! x)set-freeze-fallback!
(set-freeze-fallback! x)snappy-compressor
Default org.iq80.snappy.Snappy compressor: Ratio: low. Write speed: very high. Read speed: very high. -A good general-purpose compressor.stress-data-benchable
Reference data with stuff removed that breaks reader or other utils we'll -be benching againstswap-serializable-whitelist!
(swap-serializable-whitelist! f)Changes root `*serializable-whitelist*` value to (f old-val). +A good general-purpose compressor.stress-data
Reference data used for tests & benchmarks +stress-data-benchable
Reference data with stuff removed that breaks reader or other utils we'll +be benching againststress-data-comparable
Reference data with stuff removed that breaks roundtrip equality +swap-custom-readers!
(swap-custom-readers! f)swap-serializable-whitelist!
(swap-serializable-whitelist! f)Changes root `*serializable-whitelist*` value to (f old-val). Example `f` arguments: - (fn [_old] true) ; Whitelist everything (allow all classes) @@ -248,7 +247,7 @@ Example `f` arguments: Strings in sets may contain "*" wildcards. -See also `*serializable-whitelist*.thaw
(thaw ba)(thaw ba {:as opts, :keys [v1-compatibility? compressor encryptor password serializable-whitelist incl-metadata?], :or {compressor :auto, encryptor :auto}})Deserializes a frozen Nippy byte array to its original Clojure data type. +See also `*serializable-whitelist*.thaw
(thaw ba)(thaw ba {:as opts, :keys [v1-compatibility? compressor encryptor password], :or {compressor :auto, encryptor :auto}})Deserializes a frozen Nippy byte array to its original Clojure data type. To thaw custom types, extend the Clojure reader or see `extend-thaw`. ** By default, supports data frozen with Nippy v2+ ONLY ** @@ -258,13 +257,13 @@ legacy versions of Nippy. Options include: :v1-compatibility? - support data frozen by legacy versions of Nippy? :compressor - :auto (checks header, default) an ICompressor, or nil - :encryptor - :auto (checks header, default), an IEncryptor, or nilthaw-from-file
(thaw-from-file file)(thaw-from-file file thaw-opts)Convenience util: like `thaw`, but reads from `(clojure.java.io/file <file>)`. + :encryptor - :auto (checks header, default), an IEncryptor, or nilthaw-from-file
(thaw-from-file file)(thaw-from-file file thaw-opts)Convenience util: like `thaw`, but reads from `(clojure.java.io/file <file>)`. To thaw from a resource on classpath (e.g in Leiningen `resources` dir): (thaw-from-file (clojure.java.io/resource "my-resource-name.npy")) -See also `freeze-to-file`.thaw-from-in!
(thaw-from-in! data-input)Deserializes a frozen object from given DataInput to its original Clojure +See also `freeze-to-file`.thaw-from-in!
(thaw-from-in! data-input)Deserializes a frozen object from given DataInput to its original Clojure data type. -This is a low-level util: in most cases you'll want `thaw` instead.thaw-from-string
(thaw-from-string s)(thaw-from-string s thaw-opts)Convenience util: like `thaw`, but takes a Base64-encoded string. -See also `freeze-to-string`.
thaw-from-string
(thaw-from-string s)(thaw-from-string s thaw-opts)Convenience util: like `thaw`, but takes a Base64-encoded string. +See also `freeze-to-string`.
throw-unfreezable
(throw-unfreezable x)try-write-readable
(try-write-readable out x)try-write-serializable
(try-write-serializable out x)write-id
macro
(write-id out id)write-unfreezable
(write-unfreezable out x)Generated by Codox
Nippy 2.15.1
taoensso.nippy.tools
Utils for 3rd-party tools that want to add user-configurable Nippy support. -Used by Carmine, Faraday, etc.
freeze
(freeze x)(freeze x default-opts)Like `nippy/freeze` but merges opts from *freeze-opts*, `wrap-for-freezing`. -
thaw
(thaw ba)(thaw ba default-opts)Like `nippy/thaw` but merges opts from `*thaw-opts*`. -
wrap-for-freezing
(wrap-for-freezing x)(wrap-for-freezing x opts)Ensures that given arg (any freezable data type) is wrapped so that +taoensso.nippy.tools documentation Generated by Codox
Nippy 2.15.3
\ No newline at end of file +(nippy/freeze <unwrapped-arg> <opts>).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 merges opts from *freeze-opts*, `wrap-for-freezing`. +thaw
(thaw ba)(thaw ba default-opts)Like `nippy/thaw` but merges opts from `*thaw-opts*`. +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>).
wrapped-for-freezing?
(wrapped-for-freezing? x)Generated by Codox
Nippy 2.15.1
taoensso.nippy.utils
freezable?
(freezable? x)(freezable? x {:keys [allow-clojure-reader? allow-java-serializable?]})Alpha - subject to change. +taoensso.nippy.utils documentation Generated by Codox
Nippy 2.15.3
\ No newline at end of file +way of doing so).taoensso.nippy.utils
freezable?
(freezable? x)(freezable? x {:keys [allow-clojure-reader? allow-java-serializable?]})Alpha - subject to change. Returns truthy iff Nippy *appears* to support freezing the given argument. `:allow-clojure-reader?` and `:allow-java-serializable?` options may be used to enable the relevant roundtrip fallback test(s). These tests are only **moderately reliable** since they're cached by arg type and don't test for pre/post serialization value equality (there's no good general -way of doing so).