Home / Function/ createSetupContext() — vue Function Reference

createSetupContext() — vue Function Reference

Architecture documentation for the createSetupContext() function in apiSetup.ts from the vue codebase.

Function typescript VueCore GlobalAPI calls 3 called by 2

Entity Profile

Dependency Diagram

graph TD
  77439d3b_3112_cab2_abe3_0aaab4a3b61f["createSetupContext()"]
  3a7c7919_1905_22a7_f604_9084d5e5d0df["apiSetup.ts"]
  77439d3b_3112_cab2_abe3_0aaab4a3b61f -->|defined in| 3a7c7919_1905_22a7_f604_9084d5e5d0df
  febe102d_0cde_5025_1bb0_883314aa12fa["initSetup()"]
  febe102d_0cde_5025_1bb0_883314aa12fa -->|calls| 77439d3b_3112_cab2_abe3_0aaab4a3b61f
  7a1a0582_7ae8_b4eb_cb92_afa5e34b7d59["getContext()"]
  7a1a0582_7ae8_b4eb_cb92_afa5e34b7d59 -->|calls| 77439d3b_3112_cab2_abe3_0aaab4a3b61f
  ce70e3d2_4b97_9c29_9a4d_55f2e937e910["syncSetupProxy()"]
  77439d3b_3112_cab2_abe3_0aaab4a3b61f -->|calls| ce70e3d2_4b97_9c29_9a4d_55f2e937e910
  153fad39_1498_4a6e_b36d_51d41b728e1d["initSlotsProxy()"]
  77439d3b_3112_cab2_abe3_0aaab4a3b61f -->|calls| 153fad39_1498_4a6e_b36d_51d41b728e1d
  737b31eb_8659_a208_c047_017ebd839242["proxyWithRefUnwrap()"]
  77439d3b_3112_cab2_abe3_0aaab4a3b61f -->|calls| 737b31eb_8659_a208_c047_017ebd839242
  style 77439d3b_3112_cab2_abe3_0aaab4a3b61f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/v3/apiSetup.ts lines 87–123

function createSetupContext(vm: Component): SetupContext {
  let exposeCalled = false
  return {
    get attrs() {
      if (!vm._attrsProxy) {
        const proxy = (vm._attrsProxy = {})
        def(proxy, '_v_attr_proxy', true)
        syncSetupProxy(proxy, vm.$attrs, emptyObject, vm, '$attrs')
      }
      return vm._attrsProxy
    },
    get listeners() {
      if (!vm._listenersProxy) {
        const proxy = (vm._listenersProxy = {})
        syncSetupProxy(proxy, vm.$listeners, emptyObject, vm, '$listeners')
      }
      return vm._listenersProxy
    },
    get slots() {
      return initSlotsProxy(vm)
    },
    emit: bind(vm.$emit, vm) as any,
    expose(exposed?: Record<string, any>) {
      if (__DEV__) {
        if (exposeCalled) {
          warn(`expose() should be called only once per setup().`, vm)
        }
        exposeCalled = true
      }
      if (exposed) {
        Object.keys(exposed).forEach(key =>
          proxyWithRefUnwrap(vm, exposed, key)
        )
      }
    }
  }
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does createSetupContext() do?
createSetupContext() is a function in the vue codebase, defined in src/v3/apiSetup.ts.
Where is createSetupContext() defined?
createSetupContext() is defined in src/v3/apiSetup.ts at line 87.
What does createSetupContext() call?
createSetupContext() calls 3 function(s): initSlotsProxy, proxyWithRefUnwrap, syncSetupProxy.
What calls createSetupContext()?
createSetupContext() is called by 2 function(s): getContext, initSetup.

Analyze Your Own Codebase

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

Try Supermodel Free