mirror of
https://github.com/penpot/penpot.git
synced 2025-01-26 00:19:07 -05:00
Add index-of and classnames util functions.
This commit is contained in:
parent
774c395a7f
commit
45caf5cdda
1 changed files with 24 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
||||||
(ns uxbox.util.data
|
(ns uxbox.util.data
|
||||||
"A collection of data transformation utils."
|
"A collection of data transformation utils."
|
||||||
(:require [cljs.reader :as r]))
|
(:require [cljs.reader :as r]
|
||||||
|
[cuerdas.core :as str]))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; Data structure manipulation
|
;; Data structure manipulation
|
||||||
|
@ -29,6 +30,14 @@
|
||||||
(persistent!
|
(persistent!
|
||||||
(reduce #(dissoc! %1 %2) (transient data) keys)))
|
(reduce #(dissoc! %1 %2) (transient data) keys)))
|
||||||
|
|
||||||
|
(defn index-of
|
||||||
|
"Return the first index when appears the `v` value
|
||||||
|
in the `coll` collection."
|
||||||
|
[coll v]
|
||||||
|
(first (keep-indexed (fn [idx x]
|
||||||
|
(when (= v x) idx))
|
||||||
|
coll)))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; Numbers Parsing
|
;; Numbers Parsing
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -58,3 +67,17 @@
|
||||||
(if (or (not v) (nan? v))
|
(if (or (not v) (nan? v))
|
||||||
default
|
default
|
||||||
v))))
|
v))))
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; Other
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(defn classnames
|
||||||
|
[& params]
|
||||||
|
{:pre [(even? (count params))]}
|
||||||
|
(str/join " " (reduce (fn [acc [k v]]
|
||||||
|
(if (true? v)
|
||||||
|
(conj acc (name k))
|
||||||
|
acc))
|
||||||
|
[]
|
||||||
|
(partition 2 params))))
|
||||||
|
|
Loading…
Add table
Reference in a new issue