aboutsummaryrefslogtreecommitdiffstats
path: root/src/chameleon/core.clj
blob: adcb22325e158186b6a1e59f92a296ffb0afba7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
(ns chameleon.core
  (:require [clojure.spec.alpha :as s]))

(defn conform-multiple
  [& spec-form-pair]
  (if (s/valid? :chameleon.specs/spec-form-pair spec-form-pair)
    (->> spec-form-pair
         (partition 2)
         (map (fn [[sp form]]
                (when (s/invalid? (s/conform sp form))
                  (s/explain-data sp form))))
         (remove nil?))
    (s/explain-data ::spec-form-pair spec-form-pair)))