0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-03-11 23:31:21 -05:00

Allow passing of tokens

This commit is contained in:
Florian Schroedl 2024-06-12 16:10:02 +02:00
parent b1b6b5292c
commit 0921f8043b

View file

@ -41,7 +41,7 @@
(js/console.log "Input Data" js-data)) (js/console.log "Input Data" js-data))
(StyleDictionary. js-data))) (StyleDictionary. js-data)))
(defn resolve-tokens+ (defn resolve-sd-tokens+
"Resolves references and math expressions using StyleDictionary. "Resolves references and math expressions using StyleDictionary.
Returns a promise with the resolved dictionary." Returns a promise with the resolved dictionary."
[tokens & {:keys [debug?] :as config}] [tokens & {:keys [debug?] :as config}]
@ -61,22 +61,25 @@
(js/console.log "Resolved tokens" resolved-tokens)) (js/console.log "Resolved tokens" resolved-tokens))
resolved-tokens)))))) resolved-tokens))))))
(defn resolve-workspace-tokens+ (defn resolve-tokens+
[& {:keys [debug?] :as config}] [tokens & {:keys [debug?] :as config}]
(when-let [workspace-tokens @refs/workspace-tokens] (p/let [sd-tokens (-> (tokens->tree tokens)
(p/let [sd-tokens (-> workspace-tokens
(tokens->tree)
(clj->js) (clj->js)
(resolve-tokens+ config))] (resolve-sd-tokens+ config))]
(let [resolved-tokens (reduce (let [resolved-tokens (reduce
(fn [acc cur] (fn [acc cur]
(let [resolved-value (.-value cur) (let [resolved-value (.-value cur)
id (uuid (.-id cur))] id (uuid (.-id cur))]
(assoc-in acc [id :value] resolved-value))) (assoc-in acc [id :value] resolved-value)))
workspace-tokens sd-tokens)] tokens sd-tokens)]
(when debug? (when debug?
(js/console.log "Resolved tokens" resolved-tokens)) (js/console.log "Resolved tokens" resolved-tokens))
resolved-tokens)))) resolved-tokens)))
(defn resolve-workspace-tokens+
[& {:keys [debug?] :as config}]
(when-let [workspace-tokens @refs/workspace-tokens]
(resolve-tokens+ workspace-tokens)))
;; Testing --------------------------------------------------------------------- ;; Testing ---------------------------------------------------------------------
@ -98,9 +101,9 @@
(tokens->tree) (tokens->tree)
(clj->js) (clj->js)
(#(doto % js/console.log)) (#(doto % js/console.log))
(resolve-tokens+ {:debug? true})) (resolve-sd-tokens+ {:debug? true}))
(-> (tokens-studio-example) (-> (tokens-studio-example)
(resolve-tokens+ {:debug? true})) (resolve-sd-tokens+ {:debug? true}))
nil) nil)