type Data,
type GenericComponent,
type GenericComponentInstance,
- getComponentPublicInstance,
validateComponentName,
} from './component'
import type {
// hydrate?: RootHydrateFunction,
mount: AppMountFn<HostElement>,
unmount: AppUnmountFn,
+ getPublicInstance: (instance: GenericComponentInstance) => any,
render?: RootRenderFunction,
): CreateAppFunction<HostElement, Comp> {
return function createApp(rootComponent, rootProps = null) {
// for devtools and telemetry
rootContainer.__vue_app__ = app
- return getComponentPublicInstance(instance)
+ return getPublicInstance(instance)
} else if (__DEV__) {
warn(
`App has already been mounted.\n` +
type Data,
type LifecycleHook,
createComponentInstance,
+ getComponentPublicInstance,
setupComponent,
} from './component'
import {
return {
render,
hydrate,
- createApp: createAppAPI(mountApp, unmountApp, render),
+ createApp: createAppAPI(
+ mountApp,
+ unmountApp,
+ getComponentPublicInstance,
+ render,
+ ),
}
}
ParentNode,
VaporComponent
> = comp => {
- if (!_createApp) _createApp = createAppAPI(mountApp, unmountApp)
+ if (!_createApp)
+ _createApp = createAppAPI(mountApp, unmountApp, i => i.exposed)
const app = _createApp(comp)
const mount = app.mount
app.mount = (container, ...args: any[]) => {