Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use 'default' as base class in ClojureScript
The Lifecycle protocol is extended to java.lang.Object in Clojure, which makes it possible to use any type of object as a component, although only maps and records can receive dependencies. When Component was ported to ClojureScript, `object` was used as the base class, but some entities in ClojureScript are not sub-types of `object`, as reported by goog.typeOf. For example, functions have the type `function`. This prevents non-object types from being used as components. See also: [extend-type]: https://github.com/clojure/clojurescript/blob/cb3e8c295ad5ed1961e7db1d0b19674eb7f71a5c/src/main/clojure/cljs/core.cljc#L1544 [defprotocol]: https://github.com/clojure/clojurescript/blob/cb3e8c295ad5ed1961e7db1d0b19674eb7f71a5c/src/main/clojure/cljs/core.cljc#L1961 [native-satisfies?]: https://github.com/clojure/clojurescript/blob/cb3e8c295ad5ed1961e7db1d0b19674eb7f71a5c/src/main/cljs/cljs/core.cljs#L247 [goog.typeOf]: https://google.github.io/closure-library/api/goog.html#typeOf
- Loading branch information