o
    Pj                     @   s(   d Z ddlmZmZ G dd deZdS )zfontTools.ttLib.tables.otDataSchema -- contains the FieldSpec dataclass, which is
used to define the schema of OpenType tables in otData.py.
    )Any
NamedTuplec                   @   sF   e Zd ZU dZeed< eed< dZeed< dZeed< dZ	eed< dS )		FieldSpeca?  Represents a single field in an OpenType table schema.

    These are defined in `otData.py` and used to construct converters in
    `otConverters.py`.

    Attributes:
        type: The type of the field. This string is used by `otConverters.py` to
            select or construct the appropriate converter. It can be a simple
            type name (e.g. 'uint16', 'Tag', 'Offset'), a specialized type (e.g.
            'ValueRecord', 'DeltaValue'), or a more complex expression (e.g.
            'OffsetTo(AatStateTable)', 'AATLookup(UShort)') which is evaluated
            to create a converter factory.
        name: The name of the field as defined in the OpenType specification.
        repeat: If the field is an array, this defines how many times it
            repeats. It can be an integer, or the name of another field (usually
            a 'Count' field) that contains the number of repetitions. If it is a
            string, it is used to lookup the count value from the table.
        aux: Auxiliary data used by some converters. When `repeat` is not set
            and `aux` is a string, it is often compiled into a Python
            expression for evaluation. For repeating structs, it is often used
            as a constant or an expression.
        description: A human-readable description of the field's purpose.
    typenameNrepeataux description)
__name__
__module____qualname____doc__str__annotations__r   r   r   r
    r   r   X/home/thesage/.local/lib/python3.10/site-packages/fontTools/ttLib/tables/otDataSchema.pyr      s   
 r   N)r   typingr   r   r   r   r   r   r   <module>   s    