a
    $ñ»j   ã                   @  sP   d dl mZ d dlZd dlmZ ddlmZ eG dd„ dƒƒZdd	œd
d„ZdS )é    )ÚannotationsN)Ú	dataclassé   )ÚT_JSON_DICTc                   @  sD   e Zd ZU dZded< ded< ddœdd„Zedd d	œd
d„ƒZdS )ÚDomainz#Description of the protocol domain.ÚstrÚnameÚversionr   ©Úreturnc                 C  s   t ƒ }| j|d< | j|d< |S )Nr   r	   )Údictr   r	   )ÚselfÚjson© r   ú2E:\soccer\ml_env\Lib\site-packages\mycdp/schema.pyÚto_json   s    

zDomain.to_json)r   r   c                 C  s   | t |d ƒt |d ƒd�S )Nr   r	   )r   r	   )r   )Úclsr   r   r   r   Ú	from_json   s    

þzDomain.from_jsonN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   Úclassmethodr   r   r   r   r   r      s   
r   z?typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[Domain]]r
   c                  c  s    ddi} | V }dd„ |d D ƒS )zM
    Returns supported domains.
    :returns: List of supported domains.
    ÚmethodzSchema.getDomainsc                 S  s   g | ]}t  |¡‘qS r   )r   r   )Ú.0Úir   r   r   Ú
<listcomp>/   ó    zget_domains.<locals>.<listcomp>Údomainsr   )Zcmd_dictr   r   r   r   Úget_domains$   s    ÿr    )	Ú
__future__r   ÚtypingÚdataclassesr   Úutilr   r   r    r   r   r   r   Ú<module>   s   