All files / server-renderer/src/helpers ssrRenderComponent.ts

100% Statements 5/5
71.42% Branches 5/7
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 218x 8x 8x     8x             86x                
import { isFunction } from '@vue/shared'
import { Component, ComponentInternalInstance, createVNode, Slots } from 'vue'
import { Props, renderComponentVNode, SSRBuffer } from '../render'
import { SSRSlots } from './ssrRenderSlot'
 
export function ssrRenderComponent(
  comp: Component,
  props: Props | null = null,
  children: Slots | SSRSlots | null = null,
  parentComponent: ComponentInternalInstance | null = null,
  slotScopeId?: string
): SSRBuffer | Promise<SSRBuffer> {
  return renderComponentVNode(
    isFunction(comp) && parentComponent
      ? (parentComponent.subTree = createVNode(comp, props, children))
      : createVNode(comp, props, children),
    parentComponent,
    slotScopeId
  )
}