Liking cljdoc? Tell your friends :D

boundary.core.validation.registry

Pure helpers for validation rule definitions.

Rule Format: {:rule-id keyword ; Unique identifier (e.g., :user.email/required) :description string ; Human-readable description :category keyword ; :schema | :business | :cross-field | :context :module keyword ; Module name (e.g., :user, :billing) :fields [keyword] ; Affected fields :error-code keyword ; Default error code :validator-fn (fn [data] ...) ; Actual validation function :dependencies [rule-id] ; Required rules (optional) :metadata map} ; Additional metadata (optional)

This namespace holds only pure rule-shape validation (no mutable state). The stateful in-process rule registry — registration, lookup, and execution tracking — lives in the shell at boundary.platform.shell.validation-registry, so the functional core stays free of process state (FC/IS).

Pure helpers for validation rule definitions.

Rule Format:
  {:rule-id        keyword           ; Unique identifier (e.g., :user.email/required)
   :description    string            ; Human-readable description
   :category       keyword           ; :schema | :business | :cross-field | :context
   :module         keyword           ; Module name (e.g., :user, :billing)
   :fields         [keyword]         ; Affected fields
   :error-code     keyword           ; Default error code
   :validator-fn   (fn [data] ...)   ; Actual validation function
   :dependencies   [rule-id]         ; Required rules (optional)
   :metadata       map}              ; Additional metadata (optional)

This namespace holds only pure rule-shape validation (no mutable state). The
stateful in-process rule registry — registration, lookup, and execution
tracking — lives in the shell at boundary.platform.shell.validation-registry,
so the functional core stays free of process state (FC/IS).
raw docstring

find-conflicting-rulesclj

(find-conflicting-rules rules)

Find rules with overlapping fields and categories that might conflict.

Args: rules: Collection of rule definitions

Returns: Vector of conflict maps {:rule-ids [...] :category kw :fields set :reason string}

Find rules with overlapping fields and categories that might conflict.

Args:
  rules: Collection of rule definitions

Returns:
  Vector of conflict maps {:rule-ids [...] :category kw :fields set :reason string}
sourceraw docstring

find-duplicate-rule-idsclj

(find-duplicate-rule-ids rules)

Find duplicate rule IDs in a collection of rules.

Args: rules: Collection of rule definitions

Returns: Set of duplicate rule-ids

Find duplicate rule IDs in a collection of rules.

Args:
  rules: Collection of rule definitions

Returns:
  Set of duplicate rule-ids
sourceraw docstring

valid-rule?clj

(valid-rule? rule)

Check if rule definition is valid.

Args: rule: Rule definition map

Returns: Boolean indicating validity

Check if rule definition is valid.

Args:
  rule: Rule definition map

Returns:
  Boolean indicating validity
sourceraw docstring

validate-ruleclj

(validate-rule rule)

Validate rule definition and return errors.

Args: rule: Rule definition map

Returns: Vector of error strings (empty if valid)

Validate rule definition and return errors.

Args:
  rule: Rule definition map

Returns:
  Vector of error strings (empty if valid)
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