metosin/malli

qualified keywords in :keys in mx/defn fails macro schema validator.

Open

#1028 aperta il 30 mar 2024

Vedi su GitHub
 (4 commenti) (0 reazioni) (0 assegnatari)Clojure (237 fork)batch import
bughelp wanted

Metriche repository

Star
 (1724 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

The following code

(require '[malli.experimental :as m.x])
(m.x/defn foo [& {:keys [::opts]}] )

produces this error

  Show: Project-Only All 
  Hide: Clojure Java REPL Tooling Duplicates  (30 frames hidden)

1. Unhandled clojure.lang.ExceptionInfo
   -- Error in registering a Function Schema ---------------- NO_SOURCE_FILE:268 --
   
   Function Var:
   
     usb.auxiliary.if.datomic.transact/foo (:clj)
   
   Function Schema:
   
     [:=> [:cat [:altn [:map [:map [:usb.auxiliary.if.datomic.transact/opts {:optional true}]]] [:args [:*
   [:alt [:cat [:= :usb.auxiliary.if.datomic.transact/opts] :usb.auxiliary.if.datomic.transact/opts] [:cat
   :any :any]]]]]] :any]
   
   More information:
   
     https://cljdoc.org/d/metosin/malli/CURRENT/doc/function-schemas
   
   --------------------------------------------------------------------------------

   {:type :malli.core/register-function-schema,
    :data
    {:ns usb.auxiliary.if.datomic.transact,
     :name foo,
     :schema
     [:=>
      [:cat
       [:altn
        [:map [:map [:usb.auxiliary.if.datomic.transact/opts {:optional true}]]]
        [:args
         [:*
          [:alt
           [:cat [:= :usb.auxiliary.if.datomic.transact/opts] :usb.auxiliary.if.datomic.transact/opts]
           [:cat :any :any]]]]]]
      :any],
     :data nil,
     :key :clj,
     :exception #error {
    :cause "-- Schema Creation Error --------------------------------- NO_SOURCE_FILE:268 --\n\nInvalid Schema\n\n  :usb.auxiliary.if.datomic.transact/opts\n\nMore information:\n\n  https://cljdoc.org/d/metosin/malli/CURRENT\n\n--------------------------------------------------------------------------------\n"
    :data {:type :malli.core/invalid-schema, :data {:schema :usb.auxiliary.if.datomic.transact/opts, :form :usb.auxiliary.if.datomic.transact/opts}}
    :via
    [{:type clojure.lang.ExceptionInfo
      :message "-- Schema Creation Error --------------------------------- NO_SOURCE_FILE:268 --\n\nInvalid Schema\n\n  :usb.auxiliary.if.datomic.transact/opts\n\nMore information:\n\n  https://cljdoc.org/d/metosin/malli/CURRENT\n\n--------------------------------------------------------------------------------\n"
      :data {:type :malli.core/invalid-schema, :data {:schema :usb.auxiliary.if.datomic.transact/opts, :form :usb.auxiliary.if.datomic.transact/opts}}
      :at [malli.dev.pretty$thrower$fn__17467 invoke "pretty.cljc" 168]}]
    :trace
    [[malli.dev.pretty$thrower$fn__17467 invoke "pretty.cljc" 168]
     [malli.dev$_capture_fail_BANG_$fn__41146$_fail_BANG___41147 invoke "dev.clj" 19]
     [clojure.lang.AFn applyToHelper "AFn.java" 156]
     [clojure.lang.AFn applyTo "AFn.java" 144]
     [clojure.lang.AFunction$1 doInvoke "AFunction.java" 33]
     [clojure.lang.RestFn invoke "RestFn.java" 424]
     [malli.core$_lookup_BANG_ invokeStatic "core.cljc" 271]
     [malli.core$_lookup_BANG_ invoke "core.cljc" 267]
     [malli.core$schema invokeStatic "core.cljc" 2050]
     [malli.core$schema invoke "core.cljc" 2028]
     [malli.core$_parse_entry$_schema__9124 invoke "core.cljc" 418]
     [malli.core$_parse_entry$_parse_ref_vector2__9132 invoke "core.cljc" 428]
     [malli.core$_parse_entry invokeStatic "core.cljc" 453]
     [malli.core$_parse_entry invoke "core.cljc" 410]
     [malli.core$_eager_entry_parser invokeStatic "core.cljc" 484]
     [malli.core$_eager_entry_parser invoke "core.cljc" 461]
     [malli.core$_create_entry_parser invokeStatic "core.cljc" 498]
     [malli.core$_create_entry_parser invoke "core.cljc" 495]
     [malli.core$_map_schema$reify__9451 _into_schema "core.cljc" 969]
     [malli.core$into_schema invokeStatic "core.cljc" 1986]
     [malli.core$into_schema invoke "core.cljc" 1977]
     [malli.core$schema invokeStatic "core.cljc" 2047]
     [malli.core$schema invoke "core.cljc" 2028]
     [malli.core$_parse_entry$_schema__9124 invoke "core.cljc" 418]
     [malli.core$_parse_entry$_parse_entry_else2__9134 invoke "core.cljc" 432]
     [malli.core$_parse_entry invokeStatic "core.cljc" 454]
     [malli.core$_parse_entry invoke "core.cljc" 410]
     [malli.core$_eager_entry_parser invokeStatic "core.cljc" 484]
     [malli.core$_eager_entry_parser invoke "core.cljc" 461]
     [malli.core$_create_entry_parser invokeStatic "core.cljc" 498]
     [malli.core$_create_entry_parser invoke "core.cljc" 495]
     [malli.core$_sequence_entry_schema$reify__10002 _into_schema "core.cljc" 1926]
     [malli.core$into_schema invokeStatic "core.cljc" 1986]
     [malli.core$into_schema invoke "core.cljc" 1977]
     [malli.core$schema invokeStatic "core.cljc" 2047]
     [malli.core$schema invoke "core.cljc" 2028]
     [malli.core$_sequence_schema$reify__9986$fn__9987 invoke "core.cljc" 1879]
     [malli.impl.util$_vmap invokeStatic "util.cljc" 29]

Guida contributor