mirror of
https://github.com/penpot/penpot.git
synced 2025-07-10 17:57:18 +02:00
Make passing of names-map explicit
This commit is contained in:
parent
7c3716a709
commit
011fc734f6
3 changed files with 26 additions and 6 deletions
|
@ -74,14 +74,14 @@
|
||||||
(get errors :style-dictionary/missing-reference)))
|
(get errors :style-dictionary/missing-reference)))
|
||||||
|
|
||||||
(defn resolve-tokens+
|
(defn resolve-tokens+
|
||||||
[tokens & {:keys [debug?] :as config}]
|
[tokens & {:keys [names-map? debug?] :as config}]
|
||||||
(p/let [sd-tokens (-> (wtt/token-names-tree tokens)
|
(p/let [sd-tokens (-> (wtt/token-names-tree tokens)
|
||||||
(resolve-sd-tokens+ config))]
|
(resolve-sd-tokens+ config))]
|
||||||
(let [resolved-tokens (reduce
|
(let [resolved-tokens (reduce
|
||||||
(fn [acc ^js cur]
|
(fn [acc ^js cur]
|
||||||
(let [identifier (if (uuid? (ffirst tokens))
|
(let [identifier (if names-map?
|
||||||
(uuid (.-uuid (.-id cur)))
|
(.. cur -original -name)
|
||||||
(.. cur -original -name))
|
(uuid (.-uuid (.-id cur))))
|
||||||
origin-token (get tokens identifier)
|
origin-token (get tokens identifier)
|
||||||
parsed-value (wtt/parse-token-value (.-value cur))
|
parsed-value (wtt/parse-token-value (.-value cur))
|
||||||
resolved-token (if (not parsed-value)
|
resolved-token (if (not parsed-value)
|
||||||
|
|
|
@ -124,7 +124,7 @@
|
||||||
(rx/from
|
(rx/from
|
||||||
(->
|
(->
|
||||||
(wtts/get-active-theme-sets-tokens-names-map state)
|
(wtts/get-active-theme-sets-tokens-names-map state)
|
||||||
(wtsd/resolve-tokens+)))
|
(wtsd/resolve-tokens+ {:names-map? true})))
|
||||||
(rx/mapcat
|
(rx/mapcat
|
||||||
(fn [sd-tokens]
|
(fn [sd-tokens]
|
||||||
(let [undo-id (js/Symbol)]
|
(let [undo-id (js/Symbol)]
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
(:require
|
(:require
|
||||||
[app.main.ui.workspace.tokens.style-dictionary :as sd]
|
[app.main.ui.workspace.tokens.style-dictionary :as sd]
|
||||||
[cljs.test :as t :include-macros true]
|
[cljs.test :as t :include-macros true]
|
||||||
[promesa.core :as p]))
|
[promesa.core :as p]
|
||||||
|
[app.main.ui.workspace.tokens.token :as wtt]))
|
||||||
|
|
||||||
(def border-radius-token
|
(def border-radius-token
|
||||||
{:id #uuid "8c868278-7c8d-431b-bbc9-7d8f15c8edb9"
|
{:id #uuid "8c868278-7c8d-431b-bbc9-7d8f15c8edb9"
|
||||||
|
@ -35,3 +36,22 @@
|
||||||
:resolved-unit "px")}]
|
:resolved-unit "px")}]
|
||||||
(t/is (= expected-tokens resolved-tokens))
|
(t/is (= expected-tokens resolved-tokens))
|
||||||
(done))))))))
|
(done))))))))
|
||||||
|
|
||||||
|
(t/deftest resolve-tokens-test
|
||||||
|
(t/async
|
||||||
|
done
|
||||||
|
(t/testing "resolves tokens using style-dictionary in a names-map"
|
||||||
|
(-> (vals tokens)
|
||||||
|
(wtt/token-names-map)
|
||||||
|
(sd/resolve-tokens+ {:names-map? true})
|
||||||
|
(p/finally (fn [resolved-tokens]
|
||||||
|
(let [expected-tokens {"borderRadius.sm"
|
||||||
|
(assoc border-radius-token
|
||||||
|
:resolved-value 12
|
||||||
|
:resolved-unit "px")
|
||||||
|
"borderRadius.md-with-dashes"
|
||||||
|
(assoc reference-border-radius-token
|
||||||
|
:resolved-value 24
|
||||||
|
:resolved-unit "px")}]
|
||||||
|
(t/is (= expected-tokens resolved-tokens))
|
||||||
|
(done))))))))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue