create-element.ts — vue Source File
Architecture documentation for create-element.ts, a typescript file in the vue codebase. 10 imports, 3 dependents.
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
Dependencies
Source
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