File: //opt/alt/python311/lib/python3.11/site-packages/jsons/__pycache__/_fork_impl.cpython-311.pyc
�
)�;f� � �l � d Z ddlmZmZ ddlmZmZmZ edfdee dee dee fd�Z dS ) zk
PRIVATE MODULE: do not import (from) it directly.
This module contains the implementation of ``fork()``.
� )�Type�Optional)�StateHolder�get_class_name�TN� fork_inst�name�returnc � � | xj dz
c_ |r|}n(d� t | � � | j � � }t || fi � � }| j � � � |_ | j � � � |_ | j � � � |_ | j � � � |_ d|_ | j |_ | j
� � � |_
|S )ah
Fork from the given ``StateHolder`` to create a separate "branch" of
serializers and deserializers.
:param fork_inst: The ``StateHolder`` on which the new fork is based.
:param name: The ``__name__`` of the new ``type``.
:return: A "fork inst" that can be used to separately store
(de)serializers from the regular ``StateHolder``.
� z {}_fork{}r )�
_fork_counter�formatr �type�_classes_serializers�copy�_classes_deserializers�_serializers�_deserializers�_suppress_warnings�_suppressed_warnings)r r �
class_name�results �C/opt/alt/python311/lib/python3.11/site-packages/jsons/_fork_impl.py�forkr s� � � ���q� ����
��
�
� �'�'��9�%�%��#�
�
�
� �*�y�l�B�
/�
/�F�"+�"@�"E�"E�"G�"G�F��$-�$D�$I�$I�$K�$K�F�!�#�0�5�5�7�7�F��%�4�9�9�;�;�F���F�� )� <�F��"+�"@�"E�"E�"G�"G�F���M� )
�__doc__�typingr r �jsons._common_implr r r �strr � r r �<module>r! s� ��� �
"� !� !� !� !� !� !� !� =� =� =� =� =� =� =� =� =� =� )�"�� ���7���s�m��'+�A�w�� � � � � r