insertionState.ts 664 B

12345678910111213141516171819
  1. import { setCurrentHydrationNode } from './dom/hydration'
  2. export let insertionParent: ParentNode | undefined
  3. export let insertionAnchor: Node | 0 | undefined
  4. /**
  5. * This function is called before a block type that requires insertion
  6. * (component, slot outlet, if, for) is created. The state is used for actual
  7. * insertion on client-side render, and used for node adoption during hydration.
  8. */
  9. export function setInsertionState(parent: ParentNode, anchor?: Node | 0): void {
  10. insertionParent = parent
  11. insertionAnchor = anchor
  12. }
  13. export function resetInsertionState(): void {
  14. insertionParent = insertionAnchor = undefined
  15. setCurrentHydrationNode(null)
  16. }