diff --git a/common/src/app/common/schema.cljc b/common/src/app/common/schema.cljc index 28a4ab0f2d..241f484a0c 100644 --- a/common/src/app/common/schema.cljc +++ b/common/src/app/common/schema.cljc @@ -317,11 +317,14 @@ ([params] (cond (map? params) - (let [type (get params :type)] + (let [mdata (meta params) + type (or (get mdata ::id) + (get mdata ::type) + (get params :type))] (assert (qualified-keyword? type) "expected qualified keyword for `type`") (let [s (m/-simple-schema params)] (swap! sr/registry assoc type s) - nil)) + s)) (vector? params) (let [mdata (meta params) @@ -329,11 +332,12 @@ (get mdata ::type))] (assert (qualified-keyword? type) "expected qualified keyword to be on metadata") (swap! sr/registry assoc type params) - nil) + params) (m/into-schema? params) (let [type (m/-type params)] - (swap! sr/registry assoc type params)) + (swap! sr/registry assoc type params) + params) :else (throw (ex-info "Invalid Arguments" {}))))