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 ed56e0c4_2667_3b26_6b70_35cd51b08810["create-element.ts"] d22f3dff_cc24_705a_1193_eec206dcb1d5["config.ts"] ed56e0c4_2667_3b26_6b70_35cd51b08810 --> d22f3dff_cc24_705a_1193_eec206dcb1d5 a13b4a2c_7af7_bcfd_03a9_13286f908ca0["vnode.ts"] ed56e0c4_2667_3b26_6b70_35cd51b08810 --> a13b4a2c_7af7_bcfd_03a9_13286f908ca0 a6875054_df8a_0ce4_8a16_374ce422dc53["create-component.ts"] ed56e0c4_2667_3b26_6b70_35cd51b08810 --> a6875054_df8a_0ce4_8a16_374ce422dc53 cd4ab087_1a92_967b_8b0c_652f9562b5f0["createComponent"] ed56e0c4_2667_3b26_6b70_35cd51b08810 --> cd4ab087_1a92_967b_8b0c_652f9562b5f0 e9c21780_b26b_d883_76bb_2657a89bfce1["traverse.ts"] ed56e0c4_2667_3b26_6b70_35cd51b08810 --> e9c21780_b26b_d883_76bb_2657a89bfce1 4b47a246_a6fe_7a21_1238_3f5ce49d861f["traverse"] ed56e0c4_2667_3b26_6b70_35cd51b08810 --> 4b47a246_a6fe_7a21_1238_3f5ce49d861f 2a298df2_21b8_7e5a_c372_51ba50c9d92d["index.ts"] ed56e0c4_2667_3b26_6b70_35cd51b08810 --> 2a298df2_21b8_7e5a_c372_51ba50c9d92d ff42c1fb_00b4_0627_8802_37fe0cfb2e4d["index.ts"] ed56e0c4_2667_3b26_6b70_35cd51b08810 --> ff42c1fb_00b4_0627_8802_37fe0cfb2e4d 907f4994_ea28_43b1_7976_0db9f0e97637["component"] ed56e0c4_2667_3b26_6b70_35cd51b08810 --> 907f4994_ea28_43b1_7976_0db9f0e97637 81ed4f13_7d68_6e21_7425_cf978f68576f["vnode"] ed56e0c4_2667_3b26_6b70_35cd51b08810 --> 81ed4f13_7d68_6e21_7425_cf978f68576f a8c0285c_59b2_d81b_1af0_c0cd9c2afe2d["render.ts"] a8c0285c_59b2_d81b_1af0_c0cd9c2afe2d --> ed56e0c4_2667_3b26_6b70_35cd51b08810 dfa00dc1_b5e1_fc4b_364c_221e22660e03["create-functional-component.ts"] dfa00dc1_b5e1_fc4b_364c_221e22660e03 --> ed56e0c4_2667_3b26_6b70_35cd51b08810 94977aac_ee04_6312_be22_a49cc335d2ce["h.ts"] 94977aac_ee04_6312_be22_a49cc335d2ce --> ed56e0c4_2667_3b26_6b70_35cd51b08810 style ed56e0c4_2667_3b26_6b70_35cd51b08810 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 CoreRuntime domain, Observer 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: CoreRuntime, subdomain: Observer, directory: src/core/vdom).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free