diff --git a/src/com/rpl/specter/impl.cljc b/src/com/rpl/specter/impl.cljc index efeecab..364e1ee 100644 --- a/src/com/rpl/specter/impl.cljc +++ b/src/com/rpl/specter/impl.cljc @@ -102,13 +102,15 @@ :cljs (defn obj-extends? [prot-sym obj] - ;; this requires that prot-sym be fully qualified - (let [props (->> obj type .-prototype (.getOwnPropertyNames js/Object) seq) - ns (namespace prot-sym) - n (name prot-sym) - lookup (str (s/replace ns "." "$") "$" n "$")] - (seq-contains? props lookup) - )) + (if (nil? obj) + (= prot-sym `p/StructurePath) + ;; this requires that prot-sym be fully qualified + (let [props (->> obj type .-prototype (.getOwnPropertyNames js/Object) seq) + ns (namespace prot-sym) + n (name prot-sym) + lookup (str (s/replace ns "." "$") "$" n "$")] + (seq-contains? props lookup) + ))) ) #?(:clj