# -*- coding: utf-8 -*-"""Auto-generated ADF ParserThis module provides functions to parse ADF JSON into Python objects."""importtypingasTfrom..type_hintimportT_DATAfrom..type_enumimportTypeEnumfrom..excimportUnimplementedTypeErrorifT.TYPE_CHECKING:# pragma: no coverfrom..mark_or_nodeimportT_MARK# =============================================================================# Mark imports# =============================================================================from.mark_background_colorimportMarkBackgroundColorfrom.mark_codeimportMarkCodefrom.mark_emimportMarkEmfrom.mark_linkimportMarkLinkfrom.mark_strikeimportMarkStrikefrom.mark_strongimportMarkStrongfrom.mark_subsupimportMarkSubsupfrom.mark_text_colorimportMarkTextColorfrom.mark_underlineimportMarkUnderlinefrom.mark_annotationimportMarkAnnotationfrom.mark_indentationimportMarkIndentationfrom.mark_borderimportMarkBorderfrom.mark_alignmentimportMarkAlignmentfrom.mark_breakoutimportMarkBreakoutfrom.mark_data_consumerimportMarkDataConsumerfrom.mark_fragmentimportMarkFragment# =============================================================================# Mark registry# =============================================================================MARK_TYPE_TO_CLASS_MAPPING={TypeEnum.backgroundColor.value:MarkBackgroundColor,TypeEnum.code.value:MarkCode,TypeEnum.em.value:MarkEm,TypeEnum.link.value:MarkLink,TypeEnum.strike.value:MarkStrike,TypeEnum.strong.value:MarkStrong,TypeEnum.subsup.value:MarkSubsup,TypeEnum.textColor.value:MarkTextColor,TypeEnum.underline.value:MarkUnderline,TypeEnum.annotation.value:MarkAnnotation,TypeEnum.indentation.value:MarkIndentation,TypeEnum.border.value:MarkBorder,TypeEnum.alignment.value:MarkAlignment,TypeEnum.breakout.value:MarkBreakout,TypeEnum.dataConsumer.value:MarkDataConsumer,TypeEnum.fragment.value:MarkFragment,}
[docs]defparse_mark(dct:T_DATA)->"T_MARK":""" Parse a mark dictionary into a Mark object. :param dct: The raw ADF mark dictionary from JSON. :return: The parsed mark instance. :raises UnimplementedTypeError: If the mark type is not registered. """type_=dct["type"]try:klass=MARK_TYPE_TO_CLASS_MAPPING[type_]exceptKeyError:raiseUnimplementedTypeError(type_,"mark")returnklass.from_dict(dct)