Add verify macro for true runtime spec asserts.

This commits mainly renames the old `assert` to `verify` and
adds new `assert` that laverages `:elide-asserts` on clojurescript
and *assert* value on clojure.

This approach enables an assert macro that does not performs
any runtime checks and compiles to more performant code in both
cases: development mode and production mode.
This commit is contained in:
Andrey Antukh 2020-01-31 19:08:45 +01:00
parent 391b926397
commit 8057fb54a6
14 changed files with 126 additions and 109 deletions

View file

@ -39,7 +39,7 @@
(defn- delete-project
"Clean deleted projects."
[{:keys [id] :as props}]
(us/assert ::delete-project props)
(us/verify ::delete-project props)
(db/with-atomic [conn db/pool]
(-> (db/query-one conn [sql:delete-project id])
(p/then (constantly nil)))))

View file

@ -266,7 +266,7 @@
(defn schedule!
[conn {:keys [name delay props queue key] :as options}]
(us/assert ::task-options options)
(us/verify ::task-options options)
(let [queue (if (string? queue) queue "default")
duration (-> (tm/duration delay)
(duration->pginterval))