 (ns onyx.spec
-  (:require [clojure.spec :as s]
-            [clojure.future :refer [any? boolean? uuid?]]
+  (:require #?(:clj [clojure.spec :as s]
+               :cljs [cljs.spec :as s :refer-macros [coll-of]])
+            #?(:clj [clojure.future :refer [any? boolean? uuid?]])
             [onyx.information-model :as i]
             [onyx.refinements :as r]
             [onyx.triggers :as t]))

                :onyx.peer/state-log-impl
                :onyx.peer/state-filter-impl
                :onyx.peer/tags
                :onyx.peer/trigger-timer-resolution 
                :onyx.messaging/peer-port
                :onyx.messaging/external-addr
                :onyx.messaging/inbound-buffer-size


(defn namespaced-keyword? [x]
  (and (keyword? x) (namespace x)))

(s/def :onyx/name keyword?)

(defn pos-int? [x]
  (and (integer? x) (pos? x)))
