This repository was archived by the owner on Oct 17, 2021. It is now read-only.
  
  
  - 
                Notifications
    You must be signed in to change notification settings 
- Fork 12
Visitor
        mattt edited this page Jan 14, 2021 
        ·
        1 revision
      
    Visitor for walking a visitable structure.
public protocol VisitorOverride the appropriate func visit(…:)'s return value
to customize the behavior (e.g. skip a given element's children),
with sub-types overriding their super-type's behavior.
The default implementation of func visit(…:)returns .inherit,
resulting in a deep walk over the entire document.
Node
├── Block
│   ├── ContainerBlock
│   │   ├── BlockQuote
│   │   ├── List
│   │   └── List.Item
│   │
│   └── LeafBlock
│       ├── CodeBlock
│       ├── HTMLBlock
│       ├── Heading
│       ├── Paragraph
│       └── ThematicBreak
│
└── Inline
    ├── Code
    ├── Emphasis
    ├── HardLineBreak
    ├── Image
    ├── Link
    ├── RawHTML
    ├── SoftLineBreak
    ├── Strong
    └── Text
The order of object-wise visitations is: super-type before sub-type.
The order of object-wise visitations is: sub-type before super-type.
Walks a visitable structure.
func walk<T: Visitable>(_ visitable: T)- visitable: The structure to walk.
func visit(document: Document) -> VisitorContinueKindfunc visitPost(document: Document)func visit(node: Node) -> VisitorContinueKindfunc visitPost(node: Node)func visit(block: Block) -> VisitorContinueKindfunc visitPost(block: Block)func visit(containerBlock: ContainerBlock) -> VisitorContinueKindfunc visitPost(containerBlock: ContainerBlock)func visit(blockQuote: BlockQuote) -> VisitorContinueKindfunc visitPost(blockQuote: BlockQuote)func visit(list: List) -> VisitorContinueKindfunc visitPost(list: List)func visit(listItem: List.Item) -> VisitorContinueKindfunc visitPost(listItem: List.Item)A block that can only contain inline elements.
func visit(leafBlock: LeafBlock) -> VisitorContinueKindfunc visitPost(leafBlock: LeafBlock)func visit(heading: Heading) -> VisitorContinueKindfunc visitPost(heading: Heading)func visit(paragraph: Paragraph) -> VisitorContinueKindfunc visitPost(paragraph: Paragraph)func visit(htmlBlock: HTMLBlock) -> VisitorContinueKindfunc visitPost(htmlBlock: HTMLBlock)func visit(codeBlock: CodeBlock) -> VisitorContinueKindfunc visitPost(codeBlock: CodeBlock)func visit(thematicBreak: ThematicBreak) -> VisitorContinueKindfunc visitPost(thematicBreak: ThematicBreak)func visit(inline: Inline) -> VisitorContinueKindfunc visitPost(inline: Inline)func visit(text: Text) -> VisitorContinueKindfunc visitPost(text: Text)func visit(strong: Strong) -> VisitorContinueKindfunc visitPost(strong: Strong)func visit(emphasis: Emphasis) -> VisitorContinueKindfunc visitPost(emphasis: Emphasis)func visit(link: Link) -> VisitorContinueKindfunc visitPost(link: Link)func visit(image: Image) -> VisitorContinueKindfunc visitPost(image: Image)func visit(code: Code) -> VisitorContinueKindfunc visitPost(code: Code)func visit(rawHTML: RawHTML) -> VisitorContinueKindfunc visitPost(rawHTML: RawHTML)func visit(softLineBreak: SoftLineBreak) -> VisitorContinueKindfunc visitPost(softLineBreak: SoftLineBreak)func visit(hardLineBreak: HardLineBreak) -> VisitorContinueKindfunc visitPost(hardLineBreak: HardLineBreak)Generated at 2021-03-03T19:19:22+0000 using swift-doc 1.0.0-beta.5.
Types
- BlockQuote
- Code
- CodeBlock
- CommonMarkBuilder
- Document
- Document.Error
- Document.ParsingOptions
- Document.Position
- Emphasis
- ForEach
- Fragment
- HTMLBlock
- HardLineBreak
- Heading
- Image
- Link
- List
- List.Delimiter
- List.Item
- List.Kind
- Node
- Node.RenderingFormat
- Node.RenderingOptions
- Paragraph
- RawHTML
- Section
- SoftLineBreak
- StringBuilder
- Strong
- Text
- ThematicBreak
- VisitorContinueKind