mirror of https://github.com/logseq/logseq
feat: add cljs.spec.alpha
parent
3ea34ded54
commit
9fda0a4c03
3
deps.edn
3
deps.edn
|
@ -23,7 +23,8 @@
|
|||
hickory {:mvn/version "0.7.1"}
|
||||
hiccups {:mvn/version "0.3.0"}
|
||||
tongue {:mvn/version "0.2.9"}
|
||||
org.clojure/core.async {:mvn/version "1.3.610"}}
|
||||
org.clojure/core.async {:mvn/version "1.3.610"}
|
||||
expound {:mvn/version "0.8.6"}}
|
||||
|
||||
:aliases {:cljs {:extra-paths ["src/dev-cljs/"]
|
||||
:extra-deps {org.clojure/clojurescript {:mvn/version "1.10.520"}
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
(ns frontend.spec
|
||||
(:require [cljs.spec.alpha :as s]
|
||||
[frontend.config :as config]
|
||||
[expound.alpha :as expound]))
|
||||
|
||||
;; disable in production
|
||||
(when config/dev? (s/check-asserts true))
|
||||
|
||||
(set! s/*explain-out* expound/printer)
|
||||
|
||||
(defn validate [spec value]
|
||||
(when-let [error (s/explain-data spec value)]
|
||||
(if config/dev?
|
||||
(throw (ex-info (expound/expound-str spec value) error))
|
||||
(js/console.log (expound/expound-str spec value)))))
|
||||
|
||||
(s/def :user/repo string?)
|
||||
|
||||
(comment
|
||||
(validate :user/repo 1))
|
Loading…
Reference in New Issue