o
    æS™ig  ã                   @   sd   d dl mZ d dlmZmZmZmZ d dlZd dl	m
Z
 eG dd„ de
ƒƒZeG dd„ de
ƒƒZdS )	é    )Ú	dataclass)ÚAnyÚDictÚOptionalÚUnionN)ÚCustomFieldMixinc                   @   sZ   e Zd ZU dZeed< dZeej	 ed< dZ
eeeef  ed< edee fdd„ƒZdS )	ÚTextExamplezN
    Represents a single text example. Useful e.g. for language modeling.
    ÚtextNÚtokensÚcustomÚreturnc                 C   s   | j d u rd S t| j ƒS ©N)r
   Úlen©Úself© r   úC/home/ubuntu/.local/lib/python3.10/site-packages/lhotse/cut/text.pyÚ
num_tokens   s   

zTextExample.num_tokens)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__r
   r   ÚnpÚndarrayr   r   r   ÚpropertyÚintr   r   r   r   r   r   	   s   
 r   c                   @   sP   e Zd ZU dZeed< eed< dZeee	e
f  ed< edee fdd„ƒZdS )	ÚTextPairExamplezY
    Represents a pair of text examples. Useful e.g. for sequence-to-sequence tasks.
    ÚsourceÚtargetNr   r   c                 C   s   | j jS r   )r   r   r   r   r   r   r   $   s   zTextPairExample.num_tokens)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s   
 r   )Údataclassesr   Útypingr   r   r   r   Únumpyr   Úlhotse.customr   r   r   r   r   r   r   Ú<module>   s    