penpot/exporter/src/app/util/transit.cljs
2022-09-20 23:23:22 +02:00

30 lines
641 B
Clojure

;; This Source Code Form is subject to the terms of the Mozilla Public
;; License, v. 2.0. If a copy of the MPL was not distributed with this
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
;;
;; Copyright (c) KALEIDOS INC
(ns app.util.transit
(:require
[cognitect.transit :as t]))
;; --- Transit Handlers
(def ^:private +read-handlers+
{"u" uuid})
(def ^:private +write-handlers+
{})
;; --- Public Api
(defn decode
[data]
(let [r (t/reader :json {:handlers +read-handlers+})]
(t/read r data)))
(defn encode
[data]
(let [w (t/writer :json-verbose {:handlers +write-handlers+})]
(t/write w data)))