0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-10 00:58:26 -05:00

Add matrix type to transit handlers.

This commit is contained in:
Andrey Antukh 2016-12-20 17:04:38 +01:00
parent 462f37e601
commit a28a6978fe
No known key found for this signature in database
GPG key ID: 4DFEBCB8316A8B95

View file

@ -10,6 +10,7 @@
[com.cognitect.transit :as tr]
[uxbox.util.data :refer (parse-int)]
[uxbox.util.geom.point :as gpt]
[uxbox.util.geom.matrix :as gmt]
[uxbox.util.datetime :as dt]))
;; --- Transit Handlers
@ -34,13 +35,25 @@
(gpt/point (vec value))
(gpt/map->Point value)))))
(def matrix-write-handler
(t/write-handler
(constantly "matrix")
(fn [v] (into {} v))))
(def matrix-read-handler
(t/read-handler
(fn [value]
(gmt/map->Matrix value))))
(def ^:privare +read-handlers+
{"u" uuid
"m" datetime-read-handler
"matrix" matrix-read-handler
"point" point-read-handler})
(def ^:privare +write-handlers+
{dt/DateTime datetime-write-handler
gmt/Matrix matrix-write-handler
gpt/Point point-write-handler})
;; --- Public Api