apiSetup.ts — vue Source File
Architecture documentation for apiSetup.ts, a typescript file in the vue codebase. 17 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85["apiSetup.ts"] dfb2b3e1_ffba_6029_124e_b43a30f0f999["dep.ts"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> dfb2b3e1_ffba_6029_124e_b43a30f0f999 f641f94c_5096_9084_3285_10f3d148c139["popTarget"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> f641f94c_5096_9084_3285_10f3d148c139 46145e02_0be2_a179_3c66_d786e8df82f3["pushTarget"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> 46145e02_0be2_a179_3c66_d786e8df82f3 2a298df2_21b8_7e5a_c372_51ba50c9d92d["index.ts"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> 2a298df2_21b8_7e5a_c372_51ba50c9d92d a13b4a2c_7af7_bcfd_03a9_13286f908ca0["vnode.ts"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> a13b4a2c_7af7_bcfd_03a9_13286f908ca0 6a05321e_c7cd_43ad_21be_69c7e5fd4488["VNode"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> 6a05321e_c7cd_43ad_21be_69c7e5fd4488 ce303fd5_0a15_37d7_872a_d1ca73ec7f6a["util.ts"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> ce303fd5_0a15_37d7_872a_d1ca73ec7f6a 13ab3a27_e98e_1f11_fa3d_2ae15be5c797["isFunction"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> 13ab3a27_e98e_1f11_fa3d_2ae15be5c797 b9b5088c_fb08_6800_f248_ef1b18619844["isObject"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> b9b5088c_fb08_6800_f248_ef1b18619844 08d717e5_b9dd_701c_e7a2_51d83681d28a["currentInstance.ts"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> 08d717e5_b9dd_701c_e7a2_51d83681d28a d1e6589c_ca32_48f9_4b75_7ccf5ae438ec["setCurrentInstance"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> d1e6589c_ca32_48f9_4b75_7ccf5ae438ec abfe3078_bfec_252c_2107_7cdf0dd06f08["reactive.ts"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> abfe3078_bfec_252c_2107_7cdf0dd06f08 94784772_3664_4cb1_fcad_0275dfc601d0["shallowReactive"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> 94784772_3664_4cb1_fcad_0275dfc601d0 ada43310_8d32_ee2a_f18b_1e24fd4f8a1d["ref.ts"] 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 --> ada43310_8d32_ee2a_f18b_1e24fd4f8a1d style 4ad51b1f_61ec_31ba_dbb7_667d6a0a8c85 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { Component } from 'types/component'
import { PropOptions } from 'types/options'
import { popTarget, pushTarget } from '../core/observer/dep'
import { def, invokeWithErrorHandling, isReserved, warn } from '../core/util'
import VNode from '../core/vdom/vnode'
import {
bind,
emptyObject,
isArray,
isFunction,
isObject
} from '../shared/util'
import { currentInstance, setCurrentInstance } from './currentInstance'
import { shallowReactive } from './reactivity/reactive'
import { proxyWithRefUnwrap } from './reactivity/ref'
/**
* @internal
*/
export interface SetupContext {
attrs: Record<string, any>
listeners: Record<string, Function | Function[]>
slots: Record<string, () => VNode[]>
emit: (event: string, ...args: any[]) => any
expose: (exposed: Record<string, any>) => void
}
export function initSetup(vm: Component) {
const options = vm.$options
const setup = options.setup
if (setup) {
const ctx = (vm._setupContext = createSetupContext(vm))
setCurrentInstance(vm)
pushTarget()
const setupResult = invokeWithErrorHandling(
setup,
null,
[vm._props || shallowReactive({}), ctx],
vm,
`setup`
)
popTarget()
setCurrentInstance()
if (isFunction(setupResult)) {
// render function
// @ts-ignore
options.render = setupResult
} else if (isObject(setupResult)) {
// bindings
if (__DEV__ && setupResult instanceof VNode) {
warn(
`setup() should not return VNodes directly - ` +
`return a render function instead.`
)
}
vm._setupState = setupResult
// __sfc indicates compiled bindings from <script setup>
if (!setupResult.__sfc) {
// ... (187 more lines)
Domain
Subdomains
Functions
Types
Dependencies
Source
Frequently Asked Questions
What does apiSetup.ts do?
apiSetup.ts is a source file in the vue codebase, written in typescript. It belongs to the CompilerSFC domain, TemplateTransformer subdomain.
What functions are defined in apiSetup.ts?
apiSetup.ts defines 14 function(s): VNode, createSetupContext, defineProxyAttr, event, exposed, getContext, initSetup, initSlotsProxy, mergeDefaults, syncSetupProxy, and 4 more.
What does apiSetup.ts depend on?
apiSetup.ts imports 17 module(s): VNode, component, currentInstance.ts, dep.ts, index.ts, isFunction, isObject, options, and 9 more.
Where is apiSetup.ts in the architecture?
apiSetup.ts is located at src/v3/apiSetup.ts (domain: CompilerSFC, subdomain: TemplateTransformer, directory: src/v3).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free