Home / File/ create-element.ts — vue Source File

create-element.ts — vue Source File

Architecture documentation for create-element.ts, a typescript file in the vue codebase. 10 imports, 3 dependents.

File typescript VueCore Instance 10 imports 3 dependents 4 functions

Entity Profile

Dependency Diagram

graph LR
  4b23edff_adcb_6cfb_ca7d_b6d38b4a1921["create-element.ts"]
  81a11719_3457_ecad_7c86_c586d804debb["config.ts"]
  4b23edff_adcb_6cfb_ca7d_b6d38b4a1921 --> 81a11719_3457_ecad_7c86_c586d804debb
  5164a61d_92b2_9c7f_8acb_b18093afdb59["vnode.ts"]
  4b23edff_adcb_6cfb_ca7d_b6d38b4a1921 --> 5164a61d_92b2_9c7f_8acb_b18093afdb59
  82e2e746_8f28_fbf0_8cf7_69eca6423e4a["create-component.ts"]
  4b23edff_adcb_6cfb_ca7d_b6d38b4a1921 --> 82e2e746_8f28_fbf0_8cf7_69eca6423e4a
  18846da1_d4a3_5b6b_af05_795ee5beebed["createComponent"]
  4b23edff_adcb_6cfb_ca7d_b6d38b4a1921 --> 18846da1_d4a3_5b6b_af05_795ee5beebed
  19a79cc7_5fb4_4746_0453_f0f304dd29a7["traverse.ts"]
  4b23edff_adcb_6cfb_ca7d_b6d38b4a1921 --> 19a79cc7_5fb4_4746_0453_f0f304dd29a7
  1590b3d4_b603_9a95_ff78_1330c383e860["traverse"]
  4b23edff_adcb_6cfb_ca7d_b6d38b4a1921 --> 1590b3d4_b603_9a95_ff78_1330c383e860
  76672dd6_4e87_4468_a48b_f4da793fd211["index.ts"]
  4b23edff_adcb_6cfb_ca7d_b6d38b4a1921 --> 76672dd6_4e87_4468_a48b_f4da793fd211
  cdac6c52_7988_97a3_c580_ce7bb214aaef["index.ts"]
  4b23edff_adcb_6cfb_ca7d_b6d38b4a1921 --> cdac6c52_7988_97a3_c580_ce7bb214aaef
  64c87498_c46a_6944_ab9d_8e45519852a8["component"]
  4b23edff_adcb_6cfb_ca7d_b6d38b4a1921 --> 64c87498_c46a_6944_ab9d_8e45519852a8
  ba925ef2_b0f4_efe3_c23d_fe293c46b2c1["vnode"]
  4b23edff_adcb_6cfb_ca7d_b6d38b4a1921 --> ba925ef2_b0f4_efe3_c23d_fe293c46b2c1
  2c65c43e_4691_415f_689a_805ec38ae46c["render.ts"]
  2c65c43e_4691_415f_689a_805ec38ae46c --> 4b23edff_adcb_6cfb_ca7d_b6d38b4a1921
  414b37af_5f63_dee7_31a2_9a7cad5979ec["create-functional-component.ts"]
  414b37af_5f63_dee7_31a2_9a7cad5979ec --> 4b23edff_adcb_6cfb_ca7d_b6d38b4a1921
  a3090893_4f42_c7c7_044e_3d18b8c33433["h.ts"]
  a3090893_4f42_c7c7_044e_3d18b8c33433 --> 4b23edff_adcb_6cfb_ca7d_b6d38b4a1921
  style 4b23edff_adcb_6cfb_ca7d_b6d38b4a1921 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import config from '../config'
import VNode, { createEmptyVNode } from './vnode'
import { createComponent } from './create-component'
import { traverse } from '../observer/traverse'

import {
  warn,
  isDef,
  isUndef,
  isArray,
  isTrue,
  isObject,
  isPrimitive,
  resolveAsset,
  isFunction
} from '../util/index'

import { normalizeChildren, simpleNormalizeChildren } from './helpers/index'
import type { Component } from 'types/component'
import type { VNodeData } from 'types/vnode'

const SIMPLE_NORMALIZE = 1
const ALWAYS_NORMALIZE = 2

// wrapper function for providing a more flexible interface
// without getting yelled at by flow
export function createElement(
  context: Component,
  tag: any,
  data: any,
  children: any,
  normalizationType: any,
  alwaysNormalize: boolean
): VNode | Array<VNode> {
  if (isArray(data) || isPrimitive(data)) {
    normalizationType = children
    children = data
    data = undefined
  }
  if (isTrue(alwaysNormalize)) {
    normalizationType = ALWAYS_NORMALIZE
  }
  return _createElement(context, tag, data, children, normalizationType)
}

export function _createElement(
  context: Component,
  tag?: string | Component | Function | Object,
  data?: VNodeData,
  children?: any,
  normalizationType?: number
): VNode | Array<VNode> {
  if (isDef(data) && isDef((data as any).__ob__)) {
    __DEV__ &&
      warn(
        `Avoid using observed data object as vnode data: ${JSON.stringify(
          data
        )}\n` + 'Always create fresh vnode data objects in each render!',
        context
      )
// ... (113 more lines)

Domain

Subdomains

Frequently Asked Questions

What does create-element.ts do?
create-element.ts is a source file in the vue codebase, written in typescript. It belongs to the VueCore domain, Instance subdomain.
What functions are defined in create-element.ts?
create-element.ts defines 4 function(s): _createElement, applyNS, createElement, registerDeepBindings.
What does create-element.ts depend on?
create-element.ts imports 10 module(s): component, config.ts, create-component.ts, createComponent, index.ts, index.ts, traverse, traverse.ts, and 2 more.
What files import create-element.ts?
create-element.ts is imported by 3 file(s): create-functional-component.ts, h.ts, render.ts.
Where is create-element.ts in the architecture?
create-element.ts is located at src/core/vdom/create-element.ts (domain: VueCore, subdomain: Instance, directory: src/core/vdom).

Analyze Your Own Codebase

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

Try Supermodel Free