OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python311
/
lib
/
python3.11
/
site-packages
/
jsons
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
09/05/2025 09:34:01 AM
rwxr-xr-x
📄
__init__.py
11.57 KB
05/08/2024 06:42:59 PM
rw-r--r--
📁
__pycache__
-
05/08/2024 06:42:59 PM
rwxr-xr-x
📄
_cache.py
1.23 KB
05/08/2024 06:42:59 PM
rw-r--r--
📄
_common_impl.py
5.89 KB
05/08/2024 06:42:59 PM
rw-r--r--
📄
_compatibility_impl.py
3.06 KB
05/08/2024 06:42:59 PM
rw-r--r--
📄
_datetime_impl.py
4.98 KB
05/08/2024 06:42:59 PM
rw-r--r--
📄
_dump_impl.py
4.01 KB
05/08/2024 06:42:59 PM
rw-r--r--
📄
_extra_impl.py
1.7 KB
05/08/2024 06:42:59 PM
rw-r--r--
📄
_fork_impl.py
1.39 KB
05/08/2024 06:42:59 PM
rw-r--r--
📄
_key_transformers.py
1.32 KB
05/08/2024 06:42:59 PM
rw-r--r--
📄
_lizers_impl.py
5.73 KB
05/08/2024 06:42:59 PM
rw-r--r--
📄
_load_impl.py
8.16 KB
05/08/2024 06:42:59 PM
rw-r--r--
📄
_multitasking.py
2.34 KB
05/08/2024 06:42:59 PM
rw-r--r--
📄
_package_info.py
376 bytes
05/08/2024 06:42:59 PM
rw-r--r--
📄
_transform_impl.py
1.48 KB
05/08/2024 06:42:59 PM
rw-r--r--
📄
_validation.py
2.64 KB
05/08/2024 06:42:59 PM
rw-r--r--
📁
classes
-
05/08/2024 06:42:59 PM
rwxr-xr-x
📄
decorators.py
6.62 KB
05/08/2024 06:42:59 PM
rw-r--r--
📁
deserializers
-
05/08/2024 06:42:59 PM
rwxr-xr-x
📄
exceptions.py
6.02 KB
05/08/2024 06:42:59 PM
rw-r--r--
📁
serializers
-
05/08/2024 06:42:59 PM
rwxr-xr-x
Editing: _fork_impl.py
Close
""" PRIVATE MODULE: do not import (from) it directly. This module contains the implementation of ``fork()``. """ from typing import Type, Optional from jsons._common_impl import StateHolder, get_class_name, T def fork( fork_inst: Type[T] = StateHolder, name: Optional[str] = None) -> Type[T]: """ 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``. """ fork_inst._fork_counter += 1 if name: class_name = name else: class_name = '{}_fork{}'.format( get_class_name(fork_inst), fork_inst._fork_counter ) result = type(class_name, (fork_inst,), {}) result._classes_serializers = fork_inst._classes_serializers.copy() result._classes_deserializers = fork_inst._classes_deserializers.copy() result._serializers = fork_inst._serializers.copy() result._deserializers = fork_inst._deserializers.copy() result._fork_counter = 0 result._suppress_warnings = fork_inst._suppress_warnings result._suppressed_warnings = fork_inst._suppressed_warnings.copy() return result