o
    ~j6hJ                     @  sn   d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddl
mZ ddlmZmZmZ 					ddddZd	S )zdExperimental module exposing a function to generate a core schema that validates callable arguments.    )annotations)Callable)AnyLiteral)
CoreSchema)
ConfigDict)_config_generate_schema_namespace_utilsarguments-v3NfuncCallable[..., Any]schema_type$Literal['arguments', 'arguments-v3']parameters_callback8Callable[[int, str, Any], Literal['skip'] | None] | NoneconfigConfigDict | Nonereturnr   c                 C  sN   t jt|tjt| dd}|dkr|| |}n|| |}|	|S )a  Generate the schema for the arguments of a function.

    Args:
        func: The function to generate the schema for.
        schema_type: The type of schema to generate.
        parameters_callback: A callable that will be invoked for each parameter. The callback
            should take three required arguments: the index, the name and the type annotation
            (or [`Parameter.empty`][inspect.Parameter.empty] if not annotated) of the parameter.
            The callback can optionally return `'skip'`, so that the parameter gets excluded
            from the resulting schema.
        config: The configuration to use.

    Returns:
        The generated schema.
    )namespaces_tuple)ns_resolver	arguments)
r	   GenerateSchemar   ConfigWrapperr
   
NsResolverns_for_function_arguments_schema_arguments_v3_schemaclean_schema)r   r   r   r   generate_schemaschema r!   u/var/www/html/chefvision.cloud.itp360.com/venv/lib/python3.10/site-packages/pydantic/experimental/arguments_schema.pygenerate_arguments_schema   s   
r#   )r   NN)
r   r   r   r   r   r   r   r   r   r   )__doc__
__future__r   collections.abcr   typingr   r   pydantic_corer   pydanticr   pydantic._internalr   r	   r
   r#   r!   r!   r!   r"   <module>   s    