Back
strip-suffix (clj)
(source)function
(strip-suffix s suffix)
Strip suffix in more efficient way.
Examples
penpot/penpot
(ns app.main.ui.components.numeric-input
(:require
[app.common.data :as d]
[app.common.schema :as sm]
[app.main.ui.formats :as fmt]
[app.main.ui.hooks :as h]
[app.util.dom :as dom]
[app.util.globals :as globals]
[app.util.keyboard :as kbd]
[app.util.object :as obj]
[app.util.simple-math :as smt]
[cljs.core :as c]
[cuerdas.core :as str]
[goog.events :as events]
[rumext.v2 :as mf]))
parse-value
(mf/use-fn
(mf/deps min-value max-value value nillable? default)
(fn []
(when-let [node (mf/ref-val ref)]
(let [new-value (-> (dom/get-value node)
(str/strip-suffix ".")
(smt/expr-eval value))]
(cond
(d/num? new-value)
(-> new-value
(d/max (/ sm/min-safe-int 2))
(d/min (/ sm/max-safe-int 2))
(cond-> (d/num? min-value)
(d/max min-value))
(cond-> (d/num? max-value)
(d/min max-value)))