Liking cljdoc? Tell your friends :D

skeptic.checking.pipeline


AccessorPathElemclj

source

AccessorSummariesclj

source

AccessorSummaryclj

source

analyze-source-exprsclj

(analyze-source-exprs dict
                      ns-sym
                      source-file
                      exprs
                      accessor-summaries
                      cljs-state
                      lang)

Inputs: [dict ns-sym source-file exprs accessor-summaries :- #:s{Any s/Any} cljs-state :- #:s{Any s/Any} lang :- (s/enum :clj :cljs :both)] Returns: s/Any

Inputs: [dict ns-sym source-file exprs accessor-summaries :- #:s{Any s/Any} cljs-state :- #:s{Any s/Any} lang :- (s/enum :clj :cljs :both)]
Returns: s/Any
sourceraw docstring

analyzed-def-entryclj

(analyzed-def-entry ns-sym analyzed)

Inputs: [ns-sym :- (s/maybe s/Symbol) analyzed :- aas/AnnotatedNode] Returns: (s/maybe PipelineDefEntry)

Inputs: [ns-sym :- (s/maybe s/Symbol) analyzed :- aas/AnnotatedNode]
Returns: (s/maybe PipelineDefEntry)
sourceraw docstring

block-in-nscljmacro

(block-in-ns _ns file & body)
source

check-namespaceclj

(check-namespace project-state ns-sym source-file form-opts)

Inputs: [project-state ns-sym :- s/Symbol source-file form-opts] Returns: s/Any

Owns the full per-namespace run: :load (require), :declaration + :read + :expression (typed declarations and form checking). Returns {:results [...] :provenance {sym → Provenance}}.

Inputs: [project-state ns-sym :- s/Symbol source-file form-opts]
Returns: s/Any

Owns the full per-namespace run: :load (require), :declaration + :read + :expression
(typed declarations and form checking). Returns
{:results [...] :provenance {sym → Provenance}}.
sourceraw docstring

check-nsclj

(check-ns project-state ns source-file form-opts)

Inputs: [project-state ns :- s/Symbol source-file form-opts] Returns: s/Any

Inputs: [project-state ns :- s/Symbol source-file form-opts]
Returns: s/Any
sourceraw docstring

check-ns-formclj

(check-ns-form dict
               ignore-body
               ns
               source-file
               source-form
               accessor-summaries
               cljs-state
               lang
               opts)

Inputs: [dict ignore-body :- #{s/Symbol} ns :- s/Symbol source-file source-form accessor-summaries :- #:s{Any s/Any} cljs-state :- #:s{Any s/Any} lang :- (s/enum :clj :cljs :both) opts] Returns: s/Any

Inputs: [dict ignore-body :- #{s/Symbol} ns :- s/Symbol source-file source-form accessor-summaries :- #:s{Any s/Any} cljs-state :- #:s{Any s/Any} lang :- (s/enum :clj :cljs :both) opts]
Returns: s/Any
sourceraw docstring

check-resolved-formclj

(check-resolved-form
  dict
  ignore-body
  ns-sym
  source-file
  source-form
  analyzed
  {:keys [keep-empty remove-context debug] :or {keep-empty false} :as opts})

Inputs: [dict ignore-body :- #{s/Symbol} ns-sym :- s/Symbol source-file source-form analyzed :- aas/AnnotatedNode {:keys [keep-empty remove-context debug], :or {keep-empty false}, :as opts} :- copts/FormCheckOpts] Returns: s/Any

Inputs: [dict ignore-body :- #{s/Symbol} ns-sym :- s/Symbol source-file source-form analyzed :- aas/AnnotatedNode {:keys [keep-empty remove-context debug], :or {keep-empty false}, :as opts} :- copts/FormCheckOpts]
Returns: s/Any
sourceraw docstring

CljsCachedFormEntryclj

Shape of a single cached CLJS form entry under cljs-state[source-file] :entries.

Shape of a single cached CLJS form entry under `cljs-state[source-file] :entries`.
sourceraw docstring

CljsPassResultsclj

source

def-output-resultsclj

(def-output-results dict ns-sym source-file source-form enclosing-form node)

Inputs: [dict ns-sym source-file source-form enclosing-form node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [dict ns-sym source-file source-form enclosing-form node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

enclosing-formclj

(enclosing-form ns-sym source-form)

Inputs: [ns-sym :- (s/maybe s/Symbol) source-form] Returns: s/Any

Inputs: [ns-sym :- (s/maybe s/Symbol) source-form]
Returns: s/Any
sourceraw docstring

expression-exception-resultclj

(expression-exception-result ns-sym source-file source-form e lang)

Inputs: [ns-sym :- (s/maybe s/Symbol) source-file source-form e :- Throwable lang :- (s/enum :clj :cljs :both)] Returns: s/Any

Inputs: [ns-sym :- (s/maybe s/Symbol) source-file source-form e :- Throwable lang :- (s/enum :clj :cljs :both)]
Returns: s/Any
sourceraw docstring

FiniteValueclj

A literal value extracted from a ValueT Type's :value slot — i.e., the finite values a Skeptic-known function can return when its output type is a union of s/eq/:= constants. The realistic dispatch case is enum-like primitives. Extending to collection-valued literals ((s/eq [:a :b])) requires adding the collection variant here, not widening callers to s/Any.

A literal value extracted from a `ValueT` Type's `:value` slot — i.e., the
finite values a Skeptic-known function can return when its output type is a
union of `s/eq`/`:=` constants. The realistic dispatch case is enum-like
primitives. Extending to collection-valued literals (`(s/eq [:a :b])`)
requires adding the collection variant here, not widening callers to
`s/Any`.
sourceraw docstring

input-cast-resultclj

(input-cast-result enclosing-form node error-groups)

Inputs: [enclosing-form node :- aas/AnnotatedNode error-groups] Returns: s/Any

Inputs: [enclosing-form node :- aas/AnnotatedNode error-groups]
Returns: s/Any
sourceraw docstring

input-error-groupclj

(input-error-group expr arg-node expected actual)

Inputs: [expr arg-node :- (s/maybe aas/AnnotatedNode) expected :- at/SemanticType actual :- at/SemanticType] Returns: s/Any

Inputs: [expr arg-node :- (s/maybe aas/AnnotatedNode) expected :- at/SemanticType actual :- at/SemanticType]
Returns: s/Any
sourceraw docstring

lang-of-source-fileclj

(lang-of-source-file source-file)
(lang-of-source-file opts source-file)

.cljs → :cljs. .cljc → :both. Anything else (.clj or no source-file) → :clj.

Two-arity form applies --cljs-disable: :cljs and :both collapse to :clj (i.e. drop the :cljs reader-conditional branch from .cljc). Pure .cljs files are expected to be filtered at the discovery layer in core/check-project before reaching here.

`.cljs` → :cljs. `.cljc` → :both. Anything else (.clj or no source-file) → :clj.

Two-arity form applies `--cljs-disable`: `:cljs` and `:both` collapse to
`:clj` (i.e. drop the `:cljs` reader-conditional branch from `.cljc`).
Pure `.cljs` files are expected to be filtered at the discovery layer in
`core/check-project` before reaching here.
sourceraw docstring

load-exception-resultclj

(load-exception-result ns-sym e)

Inputs: [ns-sym :- s/Symbol e :- Throwable] Returns: s/Any

Inputs: [ns-sym :- s/Symbol e :- Throwable]
Returns: s/Any
sourceraw docstring

match-s-exprsclj

(match-s-exprs enclosing-form node keep-empty)

Inputs: [enclosing-form node :- aas/AnnotatedNode keep-empty :- s/Bool] Returns: s/Any

Inputs: [enclosing-form node :- aas/AnnotatedNode keep-empty :- s/Bool]
Returns: s/Any
sourceraw docstring

method-output-typeclj

(method-output-type method)

Inputs: [method :- aas/AnnotatedNode] Returns: at/SemanticType

Inputs: [method :- aas/AnnotatedNode]
Returns: at/SemanticType
sourceraw docstring

namespace-dictclj

(namespace-dict opts ns-sym source-file lang cljs-state var-provs form-refs)

Inputs: [opts ns-sym :- s/Symbol source-file lang cljs-state var-provs form-refs] Returns: s/Any

Inputs: [opts ns-sym :- s/Symbol source-file lang cljs-state var-provs form-refs]
Returns: s/Any
sourceraw docstring

next-checkable-formclj

(next-checkable-form reader)

Inputs: [reader] Returns: s/Any

Inputs: [reader]
Returns: s/Any
sourceraw docstring

ns-exprsclj

(ns-exprs source-file)

Inputs: [source-file] Returns: s/Any

Inputs: [source-file]
Returns: s/Any
sourceraw docstring

PipelineDefEntryclj

Output of pipeline-local analyzed-def-entry and input/output of enrich-summary-with-declared-output. The :entry field reuses the strict aapi/AnalyzedDefEntry, so :entry's :type is mandatory.

Output of pipeline-local `analyzed-def-entry` and input/output of
`enrich-summary-with-declared-output`. The `:entry` field reuses the
strict `aapi/AnalyzedDefEntry`, so `:entry`'s `:type` is mandatory.
sourceraw docstring

preload-cljs-state!clj

(preload-cljs-state! cljs-disable? loaded)

Parse and analyze every source-file requiring cljs analysis (.cljs or .cljc). Each file is read and analyzed once through a file-local cljs analyzer state so the cljs reader sees analyzer aliases and cljs data readers. Returns {File → {:ns-ast ns-ast :entries [{:source-form :ast}] :asts [ast …]}} — empty when cljs-disable? is truthy or loaded contains no cljs/cljc sources. The compiler state does not escape the analyzer driver; downstream phases consume only cached entries.

Parse and analyze every source-file requiring cljs analysis (.cljs or
.cljc). Each file is read and analyzed once through a file-local cljs
analyzer state so the cljs reader sees analyzer aliases and cljs data
readers. Returns `{File → {:ns-ast ns-ast :entries [{:source-form :ast}]
:asts [ast …]}}` — empty when `cljs-disable?` is truthy or `loaded`
contains no cljs/cljc sources. The compiler state does not escape the
analyzer driver; downstream phases consume only cached entries.
sourceraw docstring

project-discoveryclj

(project-discovery nss-with-source-files)
source

project-stateclj

(project-state opts all-discovered-nss)

Inputs: [opts all-discovered-nss :- copts/DiscoveredNamespaces] Returns: s/Any

Source-of-truth for the project pass: per-ns admission once, dicts merged into a project-wide dict; accessor summaries collected per-ns against the merged dict; conditional descriptors enriched once on the merged dict. Returns {:dict <enriched-merged> :accessor-summaries <merged> :per-ns {ns-sym {:ignore-body :errors :provenance}}}. Threaded into every per-namespace check so cross-namespace var resolution and conditional discriminators ride the same project pass.

all-discovered-nss MUST be the complete discovered namespace map for the project, not a subset. Pre-filtering it by :namespace / -n silently drops cross-namespace declarations: call sites in the requested namespace that depend on schemas declared elsewhere would fall back to Dyn and produce no finding. -n is a CHECKING filter and must be applied in skeptic.core/check-project against the per-ns iteration loop, never here.

When loaded includes .cljs or .cljc source-files, each is read and analyzed independently via the cljs analyzer driver and the results are carried as a local cljs-state map (source-file → {:ns-ast :entries :asts}) — threaded into per-ns admission/checking and stored on the returned ProjectState. Per-ns admission/analysis dispatches on the per-source-file lang carried in each loaded triple.

Inputs: [opts all-discovered-nss :- copts/DiscoveredNamespaces]
Returns: s/Any

Source-of-truth for the project pass: per-ns admission once, dicts merged
into a project-wide dict; accessor summaries collected per-ns against the
merged dict; conditional descriptors enriched once on the merged dict.
Returns {:dict <enriched-merged> :accessor-summaries <merged>
         :per-ns {ns-sym {:ignore-body :errors :provenance}}}.
Threaded into every per-namespace check so cross-namespace var resolution
and conditional discriminators ride the same project pass.

`all-discovered-nss` MUST be the complete discovered namespace map for the
project, not a subset. Pre-filtering it by `:namespace` / `-n` silently
drops cross-namespace declarations: call sites in the requested namespace
that depend on schemas declared elsewhere would fall back to Dyn and
produce no finding. `-n` is a CHECKING filter and must be applied in
`skeptic.core/check-project` against the per-ns iteration loop, never
here.

When `loaded` includes `.cljs` or `.cljc` source-files, each is read and
analyzed independently via the cljs analyzer driver and the results are
carried as a local `cljs-state` map (source-file → `{:ns-ast :entries
:asts}`) — threaded into per-ns admission/checking and stored on the
returned `ProjectState`. Per-ns admission/analysis dispatches on the
per-source-file `lang` carried in each `loaded` triple.
sourceraw docstring

project-var-provsclj

(project-var-provs opts project-disc)
source

read-exception-resultclj

(read-exception-result source-file e)

Inputs: [source-file e :- Throwable] Returns: s/Any

Inputs: [source-file e :- Throwable]
Returns: s/Any
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close