Home / Function/ resolveInject() — vue Function Reference

resolveInject() — vue Function Reference

Architecture documentation for the resolveInject() function in inject.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  ee505869_7e2d_eb58_154d_d7a4647b89dd["resolveInject()"]
  2951feab_0890_f54d_27c2_673dc66ea804["inject.ts"]
  ee505869_7e2d_eb58_154d_d7a4647b89dd -->|defined in| 2951feab_0890_f54d_27c2_673dc66ea804
  45112b4b_136f_4ca4_9b54_39184304d055["initInjections()"]
  45112b4b_136f_4ca4_9b54_39184304d055 -->|calls| ee505869_7e2d_eb58_154d_d7a4647b89dd
  2b1a34a9_e713_84e7_6b26_d06155dba96c["FunctionalRenderContext()"]
  2b1a34a9_e713_84e7_6b26_d06155dba96c -->|calls| ee505869_7e2d_eb58_154d_d7a4647b89dd
  style ee505869_7e2d_eb58_154d_d7a4647b89dd fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/core/instance/inject.ts lines 53–80

export function resolveInject(
  inject: any,
  vm: Component
): Record<string, any> | undefined | null {
  if (inject) {
    // inject is :any because flow is not smart enough to figure out cached
    const result = Object.create(null)
    const keys = hasSymbol ? Reflect.ownKeys(inject) : Object.keys(inject)

    for (let i = 0; i < keys.length; i++) {
      const key = keys[i]
      // #6574 in case the inject object is observed...
      if (key === '__ob__') continue
      const provideKey = inject[key].from
      if (provideKey in vm._provided) {
        result[key] = vm._provided[provideKey]
      } else if ('default' in inject[key]) {
        const provideDefault = inject[key].default
        result[key] = isFunction(provideDefault)
          ? provideDefault.call(vm)
          : provideDefault
      } else if (__DEV__) {
        warn(`Injection "${key as string}" not found`, vm)
      }
    }
    return result
  }
}

Domain

Subdomains

Frequently Asked Questions

What does resolveInject() do?
resolveInject() is a function in the vue codebase, defined in src/core/instance/inject.ts.
Where is resolveInject() defined?
resolveInject() is defined in src/core/instance/inject.ts at line 53.
What calls resolveInject()?
resolveInject() is called by 2 function(s): FunctionalRenderContext, initInjections.

Analyze Your Own Codebase

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

Try Supermodel Free