From 1eadd5ea0d07e23cfdd8f727191f59bc6bf4d047 Mon Sep 17 00:00:00 2001 From: hipitihop Date: Wed, 4 Mar 2015 12:04:10 +1000 Subject: [PATCH] add prismatic schema def WIP --- examples/todomvc/project.clj | 3 ++- examples/todomvc/src/todomvc/db.cljs | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/examples/todomvc/project.clj b/examples/todomvc/project.clj index 48a2980..a1ab800 100644 --- a/examples/todomvc/project.clj +++ b/examples/todomvc/project.clj @@ -3,7 +3,8 @@ [org.clojure/clojurescript "0.0-2816"] [reagent "0.5.0-alpha3"] [figwheel "0.2.3-SNAPSHOT"] - [re-frame "0.2.0"]] + [re-frame "0.2.0"] + [prismatic/schema "0.3.7"]] :plugins [[lein-cljsbuild "1.0.4"] [lein-figwheel "0.2.3-SNAPSHOT"]] diff --git a/examples/todomvc/src/todomvc/db.cljs b/examples/todomvc/src/todomvc/db.cljs index 7916821..b012d64 100644 --- a/examples/todomvc/src/todomvc/db.cljs +++ b/examples/todomvc/src/todomvc/db.cljs @@ -1,7 +1,24 @@ -(ns todomvc.db) +(ns todomvc.db + (:require + [schema.core :as s :include-macros true])) (def default-initial-state {:todos (sorted-map) ;; todo ids are the keys (for sort) :showing :all ;; one of :all :done or :active }) + + +(def schema + {:todos (s/both (s/pred map?) (s/pred sorted?)) + :showing (s/enum :all :done :active) + }) + + +(defn valid-schema? + [db] + (s/validate schema db)) + + + +