GRAYBYTE WORDPRESS FILE MANAGER2659

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/hc_python/lib/python3.12/site-packages/pydantic/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/hc_python/lib/python3.12/site-packages/pydantic//validate_call_decorator.py
"""Decorator for validating function calls."""

from __future__ import annotations as _annotations

import functools
from typing import TYPE_CHECKING, Any, Callable, TypeVar, overload

from ._internal import _typing_extra, _validate_call

__all__ = ('validate_call',)

if TYPE_CHECKING:
    from .config import ConfigDict

    AnyCallableT = TypeVar('AnyCallableT', bound=Callable[..., Any])


@overload
def validate_call(
    *, config: ConfigDict | None = None, validate_return: bool = False
) -> Callable[[AnyCallableT], AnyCallableT]: ...


@overload
def validate_call(func: AnyCallableT, /) -> AnyCallableT: ...


def validate_call(
    func: AnyCallableT | None = None,
    /,
    *,
    config: ConfigDict | None = None,
    validate_return: bool = False,
) -> AnyCallableT | Callable[[AnyCallableT], AnyCallableT]:
    """Usage docs: https://docs.pydantic.dev/2.8/concepts/validation_decorator/

    Returns a decorated wrapper around the function that validates the arguments and, optionally, the return value.

    Usage may be either as a plain decorator `@validate_call` or with arguments `@validate_call(...)`.

    Args:
        func: The function to be decorated.
        config: The configuration dictionary.
        validate_return: Whether to validate the return value.

    Returns:
        The decorated function.
    """
    local_ns = _typing_extra.parent_frame_namespace()

    def validate(function: AnyCallableT) -> AnyCallableT:
        if isinstance(function, (classmethod, staticmethod)):
            name = type(function).__name__
            raise TypeError(f'The `@{name}` decorator should be applied after `@validate_call` (put `@{name}` on top)')

        validate_call_wrapper = _validate_call.ValidateCallWrapper(function, config, validate_return, local_ns)

        @functools.wraps(function)
        def wrapper_function(*args, **kwargs):
            return validate_call_wrapper(*args, **kwargs)

        wrapper_function.raw_function = function  # type: ignore

        return wrapper_function  # type: ignore

    if func:
        return validate(func)
    else:
        return validate

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 23 2025 08:31:29
root / root
0755
__pycache__
--
April 04 2025 08:00:28
root / root
0755
_internal
--
April 04 2025 08:00:28
root / root
0755
deprecated
--
April 04 2025 08:00:28
root / root
0755
experimental
--
April 04 2025 08:00:28
root / root
0755
plugin
--
April 04 2025 08:00:28
root / root
0755
v1
--
April 04 2025 08:00:28
root / root
0755
__init__.py
13.604 KB
April 04 2025 08:00:28
root / root
0644
_migration.py
11.634 KB
April 04 2025 08:00:28
root / root
0644
alias_generators.py
2.074 KB
April 04 2025 08:00:28
root / root
0644
aliases.py
4.706 KB
April 04 2025 08:00:28
root / root
0644
annotated_handlers.py
4.251 KB
April 04 2025 08:00:28
root / root
0644
class_validators.py
0.145 KB
April 04 2025 08:00:28
root / root
0644
color.py
20.99 KB
April 04 2025 08:00:28
root / root
0644
config.py
34.289 KB
April 04 2025 08:00:28
root / root
0644
dataclasses.py
13.583 KB
April 04 2025 08:00:28
root / root
0644
datetime_parse.py
0.146 KB
April 04 2025 08:00:28
root / root
0644
decorator.py
0.142 KB
April 04 2025 08:00:28
root / root
0644
env_settings.py
0.145 KB
April 04 2025 08:00:28
root / root
0644
error_wrappers.py
0.146 KB
April 04 2025 08:00:28
root / root
0644
errors.py
4.722 KB
April 04 2025 08:00:28
root / root
0644
fields.py
50.533 KB
April 04 2025 08:00:28
root / root
0644
functional_serializers.py
14.273 KB
April 04 2025 08:00:28
root / root
0644
functional_validators.py
23.656 KB
April 04 2025 08:00:28
root / root
0644
generics.py
0.141 KB
April 04 2025 08:00:28
root / root
0644
json.py
0.137 KB
April 04 2025 08:00:28
root / root
0644
json_schema.py
103.806 KB
April 04 2025 08:00:28
root / root
0644
main.py
68.463 KB
April 04 2025 08:00:28
root / root
0644
mypy.py
55.637 KB
April 04 2025 08:00:28
root / root
0644
networks.py
22.181 KB
April 04 2025 08:00:28
root / root
0644
parse.py
0.138 KB
April 04 2025 08:00:28
root / root
0644
py.typed
0 KB
April 04 2025 08:00:28
root / root
0644
root_model.py
6.049 KB
April 04 2025 08:00:28
root / root
0644
schema.py
0.139 KB
April 04 2025 08:00:28
root / root
0644
tools.py
0.138 KB
April 04 2025 08:00:28
root / root
0644
type_adapter.py
24.389 KB
April 04 2025 08:00:28
root / root
0644
types.py
93.5 KB
April 04 2025 08:00:28
root / root
0644
typing.py
0.135 KB
April 04 2025 08:00:28
root / root
0644
utils.py
0.138 KB
April 04 2025 08:00:28
root / root
0644
validate_call_decorator.py
2.077 KB
April 04 2025 08:00:28
root / root
0644
validators.py
0.143 KB
April 04 2025 08:00:28
root / root
0644
version.py
2.385 KB
April 04 2025 08:00:28
root / root
0644
warnings.py
2.647 KB
April 04 2025 08:00:28
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF