mirror of
https://github.com/penpot/penpot.git
synced 2025-02-01 11:59:17 -05:00
Modify transform tokens to nest within token names
This commit is contained in:
parent
2b3f602312
commit
db26b38e81
1 changed files with 14 additions and 11 deletions
|
@ -20,6 +20,7 @@
|
||||||
[app.main.ui.workspace.tokens.style-dictionary :as sd]
|
[app.main.ui.workspace.tokens.style-dictionary :as sd]
|
||||||
[app.util.dom :as dom]
|
[app.util.dom :as dom]
|
||||||
[app.util.webapi :as wapi]
|
[app.util.webapi :as wapi]
|
||||||
|
[cuerdas.core :as str]
|
||||||
[promesa.core :as p]))
|
[promesa.core :as p]))
|
||||||
|
|
||||||
;; Helpers ---------------------------------------------------------------------
|
;; Helpers ---------------------------------------------------------------------
|
||||||
|
@ -133,6 +134,10 @@
|
||||||
(dwsl/update-layout [shape-id] layout-update)))))
|
(dwsl/update-layout [shape-id] layout-update)))))
|
||||||
|
|
||||||
;; JSON export functions -------------------------------------------------------
|
;; JSON export functions -------------------------------------------------------
|
||||||
|
(defn kebab-to-camel [token-type]
|
||||||
|
(let [parts (str/split token-type #"-")]
|
||||||
|
(apply str (first parts) (str/capital (second parts)))))
|
||||||
|
|
||||||
(defn encode-tokens
|
(defn encode-tokens
|
||||||
[data]
|
[data]
|
||||||
(-> data
|
(-> data
|
||||||
|
@ -146,17 +151,15 @@
|
||||||
(dom/trigger-download file-name blob)))
|
(dom/trigger-download file-name blob)))
|
||||||
|
|
||||||
(defn transform-tokens-into-json-format [tokens]
|
(defn transform-tokens-into-json-format [tokens]
|
||||||
(let [grouped-tokens (group-by (comp keyword :type second) tokens)
|
(let [grouped-tokens (group-by #(keyword (:name (second %))) tokens)
|
||||||
map-token (fn [[_ token]]
|
map-token (fn [token]
|
||||||
[(keyword (:name token))
|
{:value (:value token)
|
||||||
{:value (:value token)
|
:type (kebab-to-camel (:type token))})]
|
||||||
:type (:type token)}])]
|
{:global (into (sorted-map)
|
||||||
{:core (into (sorted-map)
|
(map (fn [[name tokens]]
|
||||||
(map (fn [[type tokens]]
|
[(keyword name)
|
||||||
[type
|
(map-token (second (first tokens)))])
|
||||||
(into (sorted-map)
|
grouped-tokens))}))
|
||||||
(map map-token tokens))])
|
|
||||||
grouped-tokens))}))
|
|
||||||
|
|
||||||
(defn download-tokens-as-json []
|
(defn download-tokens-as-json []
|
||||||
(let [all-tokens (deref refs/workspace-tokens)
|
(let [all-tokens (deref refs/workspace-tokens)
|
||||||
|
|
Loading…
Add table
Reference in a new issue