Per-form descriptor extraction for Plumatic source forms stored in the
project-wide form-refs IdentityHashMap (built once in
skeptic.checking.pipeline/project-state, threaded through bridge ctx).
Pipeline puts raw (s/defn ...) / (s/def ...) / (s/defschema ...) lists
into the map; bridge.clj normalizes them via raw->descriptor on demand.
Pipeline-side filtering (only Plumatic-discovered Vars get stored) means a head-name match is sufficient at consumer time — alias resolution already happened in skeptic.schema.discovery. Heads with name 'defn' / 'def' / 'defschema' under any alias of schema.core resolve to the matching extractor.
Descriptor shapes: :defn → {:kind :defn :output-form form :arglists {k {:input-forms [...]}}} :def → {:kind :def :schema-form form} :defschema → {:kind :defschema :schema-form form}
Per-form descriptor extraction for Plumatic source forms stored in the
project-wide form-refs IdentityHashMap (built once in
`skeptic.checking.pipeline/project-state`, threaded through bridge ctx).
Pipeline puts raw `(s/defn ...)` / `(s/def ...)` / `(s/defschema ...)` lists
into the map; bridge.clj normalizes them via `raw->descriptor` on demand.
Pipeline-side filtering (only Plumatic-discovered Vars get stored) means a
head-name match is sufficient at consumer time — alias resolution already
happened in skeptic.schema.discovery. Heads with name 'defn' / 'def' /
'defschema' under any alias of schema.core resolve to the matching
extractor.
Descriptor shapes:
:defn → {:kind :defn :output-form form :arglists {k {:input-forms [...]}}}
:def → {:kind :def :schema-form form}
:defschema → {:kind :defschema :schema-form form}(raw->descriptor raw-form)Dispatch a raw Plumatic source form to its extractor by head NAME. Pipeline ensures only Plumatic-discovered forms reach this fn, so a name match (under any alias of schema.core) is sufficient. Returns nil for unrecognized heads.
Dispatch a raw Plumatic source form to its extractor by head NAME. Pipeline ensures only Plumatic-discovered forms reach this fn, so a name match (under any alias of schema.core) is sufficient. Returns nil for unrecognized heads.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |