mirror of
https://github.com/penpot/penpot.git
synced 2025-01-24 23:49:45 -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
|
||||
"A collection of data transformation utils."
|
||||
(:require [cljs.reader :as r]))
|
||||
(:require [cljs.reader :as r]
|
||||
[cuerdas.core :as str]))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Data structure manipulation
|
||||
|
@ -29,6 +30,14 @@
|
|||
(persistent!
|
||||
(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
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -58,3 +67,17 @@
|
|||
(if (or (not v) (nan? v))
|
||||
default
|
||||
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