:py:mod:`myst_parser.config.dc_validators`
==========================================

.. py:module:: myst_parser.config.dc_validators

.. autodoc2-docstring:: myst_parser.config.dc_validators
   :allowtitles:

Module Contents
---------------

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`ValidatorType <myst_parser.config.dc_validators.ValidatorType>`
     -

Functions
~~~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`validate_field <myst_parser.config.dc_validators.validate_field>`
     - .. autodoc2-docstring:: myst_parser.config.dc_validators.validate_field
          :summary:
   * - :py:obj:`validate_fields <myst_parser.config.dc_validators.validate_fields>`
     - .. autodoc2-docstring:: myst_parser.config.dc_validators.validate_fields
          :summary:
   * - :py:obj:`any_ <myst_parser.config.dc_validators.any_>`
     - .. autodoc2-docstring:: myst_parser.config.dc_validators.any_
          :summary:
   * - :py:obj:`instance_of <myst_parser.config.dc_validators.instance_of>`
     - .. autodoc2-docstring:: myst_parser.config.dc_validators.instance_of
          :summary:
   * - :py:obj:`optional <myst_parser.config.dc_validators.optional>`
     - .. autodoc2-docstring:: myst_parser.config.dc_validators.optional
          :summary:
   * - :py:obj:`is_callable <myst_parser.config.dc_validators.is_callable>`
     - .. autodoc2-docstring:: myst_parser.config.dc_validators.is_callable
          :summary:
   * - :py:obj:`in_ <myst_parser.config.dc_validators.in_>`
     - .. autodoc2-docstring:: myst_parser.config.dc_validators.in_
          :summary:
   * - :py:obj:`deep_iterable <myst_parser.config.dc_validators.deep_iterable>`
     - .. autodoc2-docstring:: myst_parser.config.dc_validators.deep_iterable
          :summary:
   * - :py:obj:`deep_mapping <myst_parser.config.dc_validators.deep_mapping>`
     - .. autodoc2-docstring:: myst_parser.config.dc_validators.deep_mapping
          :summary:

API
~~~

.. py:function:: validate_field(inst: typing.Any, field: dataclasses.Field, value: typing.Any) -> None
   :canonical: myst_parser.config.dc_validators.validate_field

   .. autodoc2-docstring:: myst_parser.config.dc_validators.validate_field

.. py:function:: validate_fields(inst: typing.Any) -> None
   :canonical: myst_parser.config.dc_validators.validate_fields

   .. autodoc2-docstring:: myst_parser.config.dc_validators.validate_fields

.. py:class:: ValidatorType
   :canonical: myst_parser.config.dc_validators.ValidatorType

   Bases: :py:obj:`typing.Protocol`

.. py:function:: any_(inst, field, value, suffix='')
   :canonical: myst_parser.config.dc_validators.any_

   .. autodoc2-docstring:: myst_parser.config.dc_validators.any_

.. py:function:: instance_of(type_: type[typing.Any] | tuple[type[typing.Any], ...]) -> myst_parser.config.dc_validators.ValidatorType
   :canonical: myst_parser.config.dc_validators.instance_of

   .. autodoc2-docstring:: myst_parser.config.dc_validators.instance_of

.. py:function:: optional(validator: myst_parser.config.dc_validators.ValidatorType) -> myst_parser.config.dc_validators.ValidatorType
   :canonical: myst_parser.config.dc_validators.optional

   .. autodoc2-docstring:: myst_parser.config.dc_validators.optional

.. py:function:: is_callable(inst, field, value, suffix='')
   :canonical: myst_parser.config.dc_validators.is_callable

   .. autodoc2-docstring:: myst_parser.config.dc_validators.is_callable

.. py:function:: in_(options: collections.abc.Sequence) -> myst_parser.config.dc_validators.ValidatorType
   :canonical: myst_parser.config.dc_validators.in_

   .. autodoc2-docstring:: myst_parser.config.dc_validators.in_

.. py:function:: deep_iterable(member_validator: myst_parser.config.dc_validators.ValidatorType, iterable_validator: myst_parser.config.dc_validators.ValidatorType | None = None) -> myst_parser.config.dc_validators.ValidatorType
   :canonical: myst_parser.config.dc_validators.deep_iterable

   .. autodoc2-docstring:: myst_parser.config.dc_validators.deep_iterable

.. py:function:: deep_mapping(key_validator: myst_parser.config.dc_validators.ValidatorType, value_validator: myst_parser.config.dc_validators.ValidatorType, mapping_validator: myst_parser.config.dc_validators.ValidatorType | None = None) -> myst_parser.config.dc_validators.ValidatorType
   :canonical: myst_parser.config.dc_validators.deep_mapping

   .. autodoc2-docstring:: myst_parser.config.dc_validators.deep_mapping
