
    Vhc                    H    d Z ddlmZ ddlZdZd	d
dZd	ddZd	ddZd	ddZ	y)z,Functions for encoding and decoding strings.    )annotationsNzutf-8c                "    | dS t        | |      S )zgReturn the given value as bytes encoded using UTF-8 if not already bytes, or None if the value is None.N)to_bytesvalueerrorss     O/home/dcms/DCMS/lib/python3.12/site-packages/ansible_test/_internal/encoding.pyto_optional_bytesr
   	   s    =4=huf&==    c                "    | dS t        | |      S )zeReturn the given value as text decoded using UTF-8 if not already text, or None if the value is None.N)to_textr   s     r	   to_optional_textr      s    =4<geV&<<r   c                    t        | t              r| S t        | t              r| j                  t        |      S t        dt        |       z        )zIReturn the given value as bytes encoded using UTF-8 if not already bytes.value is not bytes or text: %s)
isinstancebytesstrencodeENCODING	Exceptiontyper   s     r	   r   r      sA    %%||Hf--
4tE{B
CCr   c                    t        | t              r| j                  t        |      S t        | t              r| S t        dt        |       z        )zGReturn the given value as text decoded using UTF-8 if not already text.r   )r   r   decoder   r   r   r   r   s     r	   r   r      sA    %||Hf--%
4tE{B
CCr   )strict)r   t.Optional[str | bytes]r   r   returnzt.Optional[bytes])r   r   r   r   r   zt.Optional[str])r   str | bytesr   r   r   r   )r   r   r   r   r   r   )
__doc__
__future__r   typingtr   r
   r   r   r    r   r	   <module>r#      s)    2 " >
=
DDr   