TransFlow/node_modules/vue/src/v3/currentInstance.ts

24 lines
706 B
TypeScript

import { Component } from 'types/component'
export let currentInstance: Component | null = null
/**
* This is exposed for compatibility with v3 (e.g. some functions in VueUse
* relies on it). Do not use this internally, just use `currentInstance`.
*
* @internal this function needs manual type declaration because it relies
* on previously manually authored types from Vue 2
*/
export function getCurrentInstance(): { proxy: Component } | null {
return currentInstance && { proxy: currentInstance }
}
/**
* @internal
*/
export function setCurrentInstance(vm: Component | null = null) {
if (!vm) currentInstance && currentInstance._scope.off()
currentInstance = vm
vm && vm._scope.on()
}