Home / File/ render-context.ts — vue Source File

render-context.ts — vue Source File

Architecture documentation for render-context.ts, a typescript file in the vue codebase. 3 imports, 1 dependents.

File typescript ServerRenderer TemplateRenderer 3 imports 1 dependents 1 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  e3bc34d0_0f87_61e0_6d65_02d5d090ee45["render-context.ts"]
  f6868225_acf7_afdc_ebd3_15704ddb6566["vnode"]
  e3bc34d0_0f87_61e0_6d65_02d5d090ee45 --> f6868225_acf7_afdc_ebd3_15704ddb6566
  156bf2e1_8a13_f22d_5437_54f14bcef8fa["util"]
  e3bc34d0_0f87_61e0_6d65_02d5d090ee45 --> 156bf2e1_8a13_f22d_5437_54f14bcef8fa
  907f4994_ea28_43b1_7976_0db9f0e97637["component"]
  e3bc34d0_0f87_61e0_6d65_02d5d090ee45 --> 907f4994_ea28_43b1_7976_0db9f0e97637
  affe67c1_b5f5_cf58_e5d3_d3d820ab290f["render.ts"]
  affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> e3bc34d0_0f87_61e0_6d65_02d5d090ee45
  style e3bc34d0_0f87_61e0_6d65_02d5d090ee45 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import VNode from 'core/vdom/vnode'
import { isUndef } from 'shared/util'
import { Component } from 'types/component'

type RenderState =
  | {
      type: 'Element'
      rendered: number
      total: number
      children: Array<VNode>
      endTag: string
    }
  | {
      type: 'Fragment'
      rendered: number
      total: number
      children: Array<VNode>
    }
  | {
      type: 'Component'
      prevActive: Component
    }
  | {
      type: 'ComponentWithCache'
      buffer: Array<string>
      bufferIndex: number
      componentBuffer: Array<Set<Component>>
      key: string
    }

export class RenderContext {
  userContext: Record<string, any> | null
  activeInstance: Component
  renderStates: Array<RenderState>
  write: (text: string, next: Function) => void
  renderNode: (node: VNode, isRoot: boolean, context: RenderContext) => void
  done: (err?: Error) => void

  modules: Array<(node: VNode) => string | null>
  directives: Object
  isUnaryTag: (tag: string) => boolean

  cache: any
  get?: (key: string, cb: Function) => void
  has?: (key: string, cb: Function) => void

  constructor(options: Record<string, any>) {
    this.userContext = options.userContext
    this.activeInstance = options.activeInstance
    this.renderStates = []

    this.write = options.write
    this.done = options.done
    this.renderNode = options.renderNode

    this.isUnaryTag = options.isUnaryTag
    this.modules = options.modules
    this.directives = options.directives

    const cache = options.cache
// ... (75 more lines)

Subdomains

Functions

Classes

Types

Dependencies

  • component
  • util
  • vnode

Frequently Asked Questions

What does render-context.ts do?
render-context.ts is a source file in the vue codebase, written in typescript. It belongs to the ServerRenderer domain, TemplateRenderer subdomain.
What functions are defined in render-context.ts?
render-context.ts defines 1 function(s): normalizeAsync.
What does render-context.ts depend on?
render-context.ts imports 3 module(s): component, util, vnode.
What files import render-context.ts?
render-context.ts is imported by 1 file(s): render.ts.
Where is render-context.ts in the architecture?
render-context.ts is located at packages/server-renderer/src/render-context.ts (domain: ServerRenderer, subdomain: TemplateRenderer, directory: packages/server-renderer/src).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free