def register_iterator()

in src/simplify_docx/iterators/generic.py [0:0]


def register_iterator(name: str,
                      TAGS_TO_YIELD: Dict[str, Type[el]] = None,
                      TAGS_TO_NEST: Dict[str, str] = None,
                      TAGS_TO_IGNORE: Sequence[str] = None,
                      TAGS_TO_WARN: Dict[str, str] = None,
                      TAGS_TO_SKIP: Dict[str, Tuple[str, str]] = None,
                      extends: Optional[Sequence[str]] = None,
                      check_name: bool = True,
                     ) -> None:
    """ 
    An opinionated iterator which ignores deleted and moved resources, and
    passes through in-line revision containers such as InsertedRun, and
    orientation elements like bookmarks, comments, and permissions
    """

    if check_name and name in __definitions__:
        raise ValueError("iterator named '%s' already registered" % name)

    __definitions__[name] = ElementHandlers(
            TAGS_TO_YIELD,
            TAGS_TO_NEST,
            TAGS_TO_IGNORE,
            TAGS_TO_WARN,
            TAGS_TO_SKIP,
            extends=extends
            )