From f056abc0e8f6ee91b57d05a993ca6547c4ce4c5a Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Wed, 9 Jan 2013 14:11:52 +0700 Subject: [PATCH] Add optional `print-dup?` arg to `freeze-to-stream!` (default to true) --- src/taoensso/nippy.clj | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/taoensso/nippy.clj b/src/taoensso/nippy.clj index 0037a2d..5f17d41 100644 --- a/src/taoensso/nippy.clj +++ b/src/taoensso/nippy.clj @@ -150,17 +150,20 @@ (defn freeze-to-stream! "Serializes x to given output stream." - [data-output-stream x] - (binding [*print-dup* true] ; For `pr-str` - (freeze-to-stream!* data-output-stream x))) + ([data-output-stream x] ; For <= 1.0.1 compatibility + (freeze-to-stream! data-output-stream x true)) + ([data-output-stream x print-dup?] + (binding [*print-dup* print-dup?] ; For `pr-str` + (freeze-to-stream!* data-output-stream x)))) (defn freeze-to-bytes "Serializes x to a byte array and returns the array." - ^bytes [x & {:keys [compress?] - :or {compress? true}}] + ^bytes [x & {:keys [compress? print-dup?] + :or {compress? true + print-dup? true}}] (let [ba (ByteArrayOutputStream.) stream (DataOutputStream. ba)] - (freeze-to-stream! stream x) + (freeze-to-stream! stream x print-dup?) (let [ba (.toByteArray ba)] (if compress? (Snappy/compress ba) ba))))