( target: RendererElement | null, vnode: TeleportVNode, createText: RendererOptions['createText'], insert: RendererOptions['insert'], anchor: RendererNode | null = null, )
| 566 | } |
| 567 | |
| 568 | function prepareAnchor( |
| 569 | target: RendererElement | null, |
| 570 | vnode: TeleportVNode, |
| 571 | createText: RendererOptions['createText'], |
| 572 | insert: RendererOptions['insert'], |
| 573 | anchor: RendererNode | null = null, |
| 574 | ) { |
| 575 | const targetStart = (vnode.targetStart = createText('')) |
| 576 | const targetAnchor = (vnode.targetAnchor = createText('')) |
| 577 | |
| 578 | // attach a special property, so we can skip teleported content in |
| 579 | // renderer's nextSibling search |
| 580 | targetStart[TeleportEndKey] = targetAnchor |
| 581 | |
| 582 | if (target) { |
| 583 | insert(targetStart, target, anchor) |
| 584 | insert(targetAnchor, target, anchor) |
| 585 | } |
| 586 | |
| 587 | return targetAnchor |
| 588 | } |
no test coverage detected