""" The following predicates can be used in the traversal functions directly. """ from ..atomic import AtomicElement from ..metadata import PunctuationElement, CommentElement, NewlineElement, WhitespaceElement from prettytoml import tokens from .. import common atomic = lambda e: isinstance(e, AtomicElement) op_assignment = lambda e: isinstance(e, PunctuationElement) and e.token.type == tokens.TYPE_OP_ASSIGNMENT op_comma = lambda e: isinstance(e, PunctuationElement) and e.token.type == tokens.TYPE_OP_COMMA comment = lambda e: isinstance(e, CommentElement) newline = lambda e: isinstance(e, NewlineElement) non_metadata = lambda e: e.type != common.TYPE_METADATA closing_square_bracket = \ lambda e: isinstance(e, PunctuationElement) and e.token.type == tokens.TYPE_OP_SQUARE_RIGHT_BRACKET opening_square_bracket = \ lambda e: isinstance(e, PunctuationElement) and e.token.type == tokens.TYPE_OP_SQUARE_LEFT_BRACKET def table(e): from ..table import TableElement return isinstance(e, TableElement) def table_header(e): from prettytoml.elements.tableheader import TableHeaderElement return isinstance(e, TableHeaderElement) whitespace = lambda e: isinstance(e, WhitespaceElement)