Add helper to remove attributes from applied-tokens

This commit is contained in:
Florian Schroedl 2024-07-04 11:28:15 +02:00
parent 658e7ebd0a
commit b73cdd15e0
2 changed files with 16 additions and 0 deletions

View file

@ -8,6 +8,16 @@
(->> (map (fn [attr] {attr id}) attributes)
(into {})))
(defn remove-attributes-for-token-id
"Removes applied tokens with `token-id` for the given `attributes` set from `applied-tokens`."
[attributes token-id applied-tokens]
(let [attr? (set attributes)]
(->> (remove (fn [[k v]]
(and (attr? k)
(= v token-id)))
applied-tokens)
(into {}))))
(defn token-applied?
"Test if `token` is applied to a `shape` with the given `token-attributes`."
[token shape token-attributes]