From 80742242e28c3a85b3da7c30c0733887e3be0f48 Mon Sep 17 00:00:00 2001 From: Nick Alexander Date: Thu, 28 Jul 2016 14:47:43 -0700 Subject: [PATCH] Fix cljs --- src/datomish/datom.cljc | 3 ++- src/datomish/schema.cljc | 4 ++-- src/datomish/util.cljc | 2 +- test/datomish/db_test.cljc | 3 +++ 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/datomish/datom.cljc b/src/datomish/datom.cljc index 78b61b9f..32533a63 100644 --- a/src/datomish/datom.cljc +++ b/src/datomish/datom.cljc @@ -122,7 +122,8 @@ :v (Datom. (.-e d) (.-a d) v (.-tx d) (.-added d)) :tx (Datom. (.-e d) (.-a d) (.-v d) v (.-added d)) :added (Datom. (.-e d) (.-a d) (.-v d) (.-tx d) v) - (throw (IllegalArgumentException. (str "invalid key for #datascript/Datom: " k))))) + #?(:clj (throw (IllegalArgumentException. (str "invalid key for #datascript/Datom: " k))) + :cljs (throw (js/Error. (str "invalid key for #datascript/Datom: " k)))))) ;; printing and reading diff --git a/src/datomish/schema.cljc b/src/datomish/schema.cljc index ddff77b4..c2ef2e02 100644 --- a/src/datomish/schema.cljc +++ b/src/datomish/schema.cljc @@ -85,9 +85,9 @@ {:db.type/ref { :valid? #(and (integer? %) (pos? %)) :->SQLite identity :<-SQLite identity } :db.type/keyword { :valid? keyword? :->SQLite str :<-SQLite #(keyword (subs % 1)) } :db.type/string { :valid? string? :->SQLite identity :<-SQLite identity } - :db.type/boolean { :valid? #(instance? Boolean %) :->SQLite #(if % 1 0) :<-SQLite #(if (= % 1) true false) } + :db.type/boolean { :valid? #?(:clj #(instance? Boolean %) :cljs #(= js/Boolean (type %))) :->SQLite #(if % 1 0) :<-SQLite #(if (= % 1) true false) } :db.type/integer { :valid? integer? :->SQLite identity :<-SQLite identity } - :db.type/real { :valid? float? :->SQLite identity :<-SQLite identity } + :db.type/real { :valid? #?(:clj float? :cljs number?) :->SQLite identity :<-SQLite identity } }) (defn #?@(:clj [^Boolean ensure-valid-value] diff --git a/src/datomish/util.cljc b/src/datomish/util.cljc index 96027bb9..aa9c205e 100644 --- a/src/datomish/util.cljc +++ b/src/datomish/util.cljc @@ -36,7 +36,7 @@ (if (and (symbol? x) (str/starts-with? (name x) "?")) (keyword (subs (name x) 1)) - (raise-str x " is not a Datalog var."))) + (throw (ex-info (str x " is not a Datalog var.") {})))) (defn conj-in "Associates a value into a sequence in a nested associative structure, where diff --git a/test/datomish/db_test.cljc b/test/datomish/db_test.cljc index 7ec2d5ee..8c4bf97e 100644 --- a/test/datomish/db_test.cljc +++ b/test/datomish/db_test.cljc @@ -32,6 +32,9 @@ #?(:clj (:import [datascript.db DB]))) +#?(:cljs + (def Throwable js/Error)) + (defn-