aa06b1034d
* feat(reactivity): `proxyRefs` method and `ShallowUnwrapRefs` type BREAKING CHANGE: template auto ref unwrapping are now applied shallowly, i.e. only at the root level. See https://github.com/vuejs/vue-next/pull/1682 for more details.
269 lines
6.7 KiB
TypeScript
269 lines
6.7 KiB
TypeScript
// Core API ------------------------------------------------------------------
|
|
|
|
export const version = __VERSION__
|
|
export {
|
|
// core
|
|
reactive,
|
|
ref,
|
|
readonly,
|
|
// utilities
|
|
unref,
|
|
proxyRefs,
|
|
isRef,
|
|
toRef,
|
|
toRefs,
|
|
isProxy,
|
|
isReactive,
|
|
isReadonly,
|
|
// advanced
|
|
customRef,
|
|
triggerRef,
|
|
shallowRef,
|
|
shallowReactive,
|
|
shallowReadonly,
|
|
markRaw,
|
|
toRaw
|
|
} from '@vue/reactivity'
|
|
export { computed } from './apiComputed'
|
|
export { watch, watchEffect } from './apiWatch'
|
|
export {
|
|
onBeforeMount,
|
|
onMounted,
|
|
onBeforeUpdate,
|
|
onUpdated,
|
|
onBeforeUnmount,
|
|
onUnmounted,
|
|
onActivated,
|
|
onDeactivated,
|
|
onRenderTracked,
|
|
onRenderTriggered,
|
|
onErrorCaptured
|
|
} from './apiLifecycle'
|
|
export { provide, inject } from './apiInject'
|
|
export { nextTick } from './scheduler'
|
|
export { defineComponent } from './apiDefineComponent'
|
|
export { defineAsyncComponent } from './apiAsyncComponent'
|
|
|
|
// Advanced API ----------------------------------------------------------------
|
|
|
|
// For getting a hold of the internal instance in setup() - useful for advanced
|
|
// plugins
|
|
export { getCurrentInstance } from './component'
|
|
|
|
// For raw render function users
|
|
export { h } from './h'
|
|
// Advanced render function utilities
|
|
export { createVNode, cloneVNode, mergeProps, isVNode } from './vnode'
|
|
// VNode types
|
|
export { Fragment, Text, Comment, Static } from './vnode'
|
|
// Built-in components
|
|
export { Teleport, TeleportProps } from './components/Teleport'
|
|
export { Suspense, SuspenseProps } from './components/Suspense'
|
|
export { KeepAlive, KeepAliveProps } from './components/KeepAlive'
|
|
export {
|
|
BaseTransition,
|
|
BaseTransitionProps
|
|
} from './components/BaseTransition'
|
|
// For using custom directives
|
|
export { withDirectives } from './directives'
|
|
// SSR context
|
|
export { useSSRContext, ssrContextKey } from './helpers/useSsrContext'
|
|
|
|
// Custom Renderer API ---------------------------------------------------------
|
|
|
|
export { createRenderer, createHydrationRenderer } from './renderer'
|
|
export { queuePostFlushCb } from './scheduler'
|
|
export { warn } from './warning'
|
|
export {
|
|
handleError,
|
|
callWithErrorHandling,
|
|
callWithAsyncErrorHandling,
|
|
ErrorCodes
|
|
} from './errorHandling'
|
|
export {
|
|
resolveComponent,
|
|
resolveDirective,
|
|
resolveDynamicComponent
|
|
} from './helpers/resolveAssets'
|
|
// For integration with runtime compiler
|
|
export { registerRuntimeCompiler } from './component'
|
|
export {
|
|
useTransitionState,
|
|
resolveTransitionHooks,
|
|
setTransitionHooks,
|
|
getTransitionRawChildren
|
|
} from './components/BaseTransition'
|
|
|
|
// For devtools
|
|
export { devtools, setDevtoolsHook } from './devtools'
|
|
|
|
// Types -------------------------------------------------------------------------
|
|
|
|
import { VNode } from './vnode'
|
|
import { ComponentInternalInstance } from './component'
|
|
|
|
// Augment Ref unwrap bail types.
|
|
// Note: if updating this, also update `types/refBail.d.ts`.
|
|
declare module '@vue/reactivity' {
|
|
export interface RefUnwrapBailTypes {
|
|
runtimeCoreBailTypes:
|
|
| VNode
|
|
| {
|
|
// directly bailing on ComponentPublicInstance results in recursion
|
|
// so we use this as a bail hint
|
|
$: ComponentInternalInstance
|
|
}
|
|
}
|
|
}
|
|
|
|
export {
|
|
ReactiveEffect,
|
|
ReactiveEffectOptions,
|
|
DebuggerEvent,
|
|
TrackOpTypes,
|
|
TriggerOpTypes,
|
|
Ref,
|
|
ComputedRef,
|
|
WritableComputedRef,
|
|
UnwrapRef,
|
|
ShallowUnwrapRef,
|
|
WritableComputedOptions,
|
|
ToRefs,
|
|
DeepReadonly
|
|
} from '@vue/reactivity'
|
|
export {
|
|
// types
|
|
WatchEffect,
|
|
WatchOptions,
|
|
WatchOptionsBase,
|
|
WatchCallback,
|
|
WatchSource,
|
|
WatchStopHandle
|
|
} from './apiWatch'
|
|
export { InjectionKey } from './apiInject'
|
|
export {
|
|
App,
|
|
AppConfig,
|
|
AppContext,
|
|
Plugin,
|
|
CreateAppFunction,
|
|
OptionMergeFunction
|
|
} from './apiCreateApp'
|
|
export {
|
|
VNode,
|
|
VNodeChild,
|
|
VNodeTypes,
|
|
VNodeProps,
|
|
VNodeArrayChildren,
|
|
VNodeNormalizedChildren
|
|
} from './vnode'
|
|
export {
|
|
Component,
|
|
FunctionalComponent,
|
|
ComponentInternalInstance,
|
|
SetupContext,
|
|
ComponentCustomProps,
|
|
AllowedComponentProps
|
|
} from './component'
|
|
export {
|
|
ComponentOptions,
|
|
ComponentOptionsMixin,
|
|
ComponentOptionsWithoutProps,
|
|
ComponentOptionsWithObjectProps,
|
|
ComponentOptionsWithArrayProps,
|
|
ComponentCustomOptions,
|
|
ComponentOptionsBase,
|
|
RenderFunction
|
|
} from './componentOptions'
|
|
export {
|
|
ComponentPublicInstance,
|
|
ComponentCustomProperties
|
|
} from './componentProxy'
|
|
export {
|
|
Renderer,
|
|
RendererNode,
|
|
RendererElement,
|
|
HydrationRenderer,
|
|
RendererOptions,
|
|
RootRenderFunction
|
|
} from './renderer'
|
|
export { RootHydrateFunction } from './hydration'
|
|
export { Slot, Slots } from './componentSlots'
|
|
export {
|
|
Prop,
|
|
PropType,
|
|
ComponentPropsOptions,
|
|
ComponentObjectPropsOptions,
|
|
ExtractPropTypes
|
|
} from './componentProps'
|
|
export {
|
|
Directive,
|
|
DirectiveBinding,
|
|
DirectiveHook,
|
|
ObjectDirective,
|
|
FunctionDirective,
|
|
DirectiveArguments
|
|
} from './directives'
|
|
export { SuspenseBoundary } from './components/Suspense'
|
|
export { TransitionState, TransitionHooks } from './components/BaseTransition'
|
|
export {
|
|
AsyncComponentOptions,
|
|
AsyncComponentLoader
|
|
} from './apiAsyncComponent'
|
|
export { HMRRuntime } from './hmr'
|
|
|
|
// Internal API ----------------------------------------------------------------
|
|
|
|
// **IMPORTANT** Internal APIs may change without notice between versions and
|
|
// user code should avoid relying on them.
|
|
|
|
// For compiler generated code
|
|
// should sync with '@vue/compiler-core/src/runtimeConstants.ts'
|
|
export { withCtx } from './helpers/withRenderContext'
|
|
export { renderList } from './helpers/renderList'
|
|
export { toHandlers } from './helpers/toHandlers'
|
|
export { renderSlot } from './helpers/renderSlot'
|
|
export { createSlots } from './helpers/createSlots'
|
|
export { pushScopeId, popScopeId, withScopeId } from './helpers/scopeId'
|
|
export {
|
|
openBlock,
|
|
createBlock,
|
|
setBlockTracking,
|
|
createTextVNode,
|
|
createCommentVNode,
|
|
createStaticVNode
|
|
} from './vnode'
|
|
export { toDisplayString, camelize, capitalize } from '@vue/shared'
|
|
|
|
// For test-utils
|
|
export { transformVNodeArgs } from './vnode'
|
|
|
|
// SSR -------------------------------------------------------------------------
|
|
|
|
// **IMPORTANT** These APIs are exposed solely for @vue/server-renderer and may
|
|
// change without notice between versions. User code should never rely on them.
|
|
|
|
import { createComponentInstance, setupComponent } from './component'
|
|
import {
|
|
renderComponentRoot,
|
|
setCurrentRenderingInstance
|
|
} from './componentRenderUtils'
|
|
import { isVNode, normalizeVNode } from './vnode'
|
|
import { normalizeSuspenseChildren } from './components/Suspense'
|
|
|
|
const _ssrUtils = {
|
|
createComponentInstance,
|
|
setupComponent,
|
|
renderComponentRoot,
|
|
setCurrentRenderingInstance,
|
|
isVNode,
|
|
normalizeVNode,
|
|
normalizeSuspenseChildren
|
|
}
|
|
|
|
/**
|
|
* SSR utils for \@vue/server-renderer. Only exposed in cjs builds.
|
|
* @internal
|
|
*/
|
|
export const ssrUtils = (__NODE_JS__ ? _ssrUtils : null) as typeof _ssrUtils
|