Clj/s MessagePack implementation adapted from `msgpack-cljc` by @rosejn.
Experimental. When true, packing automatically caches repeated keyword occurrences. Keep false until all readers support the new encoding.
Cache dictionary to use when packing/unpacking, nil by default. Prefer `:cache-dict` options where available.
(cache-dict entries)Given a non-empty ordered sequence of up to 256 distinct keywords and/or non-empty strings, returns an immutable precompiled dictionary for repeated use. A dictionary is part of the encoding: unpacking requires the same ordered prefix. Never remove or reorder entries; appending is backwards compatible when readers are upgraded before writers. The fingerprint detects accidental schema mismatch; it is not cryptographic. Entries are referenced anywhere they occur, and decoded strings reuse the dictionary's instance. Deref to recover the entries.
(pack clj)(pack output clj)1 arity: returns MessagePack-encoded byte[] for given Clj value. 2 arity: writes MessagePack-encoded bytes for given Clj value to given DataOutput and returns the DataOutput.
1 arity: returns MessagePack-encoded Uint8Array for given Cljs value.
2 arity: writes MessagePack-encoded bytes for given Cljs value to
given output ∈ #{Uint8Array ArrayBuffer DataView subs} and returns an
output stream that can be dereffed to get Uint8Array.(unpack input)(unpack input
{:keys [max-value-bytes max-collection-items max-nesting-depth]
:as opts})Returns Clj value for given MessagePack-encoded input ∈ #{byte[] DataInput}.
Optional limits default to 64 MiB per byte/string value, 1048576
items per collection, and 512 levels of nesting. Set an option to nil
to disable that limit. See `cache-dict` for the `:cache-dict` option.Returns Cljs value for given MessagePack-encoded input
∈ #{Uint8Array ArrayBuffer DataView subs}.
Decoded binary values may share the input's backing buffer.
Optional limits default to 64 MiB per byte/string value, 1048576
items per collection, and 512 levels of nesting. Set an option to nil
to disable that limit. See `cache-dict` for the `:cache-dict` option.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 |