vue3-yuanma/packages/runtime-core/src/index.ts

154 lines
4.5 KiB
TypeScript
Raw Normal View History

2019-08-23 09:38:00 +08:00
// Public API ------------------------------------------------------------------
2019-08-22 23:12:37 +08:00
export const version = __VERSION__
2019-08-20 21:38:00 +08:00
export * from './apiReactivity'
export * from './apiWatch'
export * from './apiLifecycle'
2019-06-19 17:31:49 +08:00
export * from './apiInject'
2019-11-03 00:18:35 +08:00
export { nextTick } from './scheduler'
export { defineComponent } from './apiDefineComponent'
2019-08-22 23:12:37 +08:00
2019-08-23 09:38:00 +08:00
// Advanced API ----------------------------------------------------------------
2019-11-03 00:18:35 +08:00
// For getting a hold of the internal instance in setup() - useful for advanced
// plugins
export { getCurrentInstance } from './component'
2019-08-23 09:38:00 +08:00
// For raw render function users
2019-08-24 03:27:17 +08:00
export { h } from './h'
2019-08-23 09:38:00 +08:00
export {
createVNode,
cloneVNode,
mergeProps,
openBlock,
createBlock
} from './vnode'
2019-08-23 05:12:39 +08:00
// VNode type symbols
export { Text, Comment, Fragment, Portal } from './vnode'
2019-10-30 10:28:38 +08:00
// Internal Components
export { Suspense, SuspenseProps } from './components/Suspense'
export { KeepAlive, KeepAliveProps } from './components/KeepAlive'
2019-11-25 05:00:46 +08:00
export {
BaseTransition,
BaseTransitionProps
} from './components/BaseTransition'
2019-11-02 05:05:31 +08:00
// VNode flags
export { PublicShapeFlags as ShapeFlags } from './shapeFlags'
2019-11-02 00:24:33 +08:00
import { PublicPatchFlags } from '@vue/shared'
export const PatchFlags = PublicPatchFlags as {
2019-11-02 05:05:31 +08:00
// export patch flags as plain numbers to avoid d.ts relying on @vue/shared
2019-11-02 00:24:33 +08:00
// the enum type is internal anyway.
TEXT: number
CLASS: number
STYLE: number
PROPS: number
NEED_PATCH: number
FULL_PROPS: number
STABLE_FRAGMENT: number
2019-11-02 00:24:33 +08:00
KEYED_FRAGMENT: number
UNKEYED_FRAGMENT: number
DYNAMIC_SLOTS: number
BAIL: number
}
2019-08-23 09:38:00 +08:00
2019-12-18 10:28:24 +08:00
// SFC CSS Modules
export { useCSSModule } from './helpers/useCssModule'
2019-08-23 09:38:00 +08:00
// For custom renderers
2019-11-03 00:18:35 +08:00
export { createRenderer, RootRenderFunction } from './renderer'
2019-10-11 06:02:51 +08:00
export { warn } from './warning'
export {
handleError,
callWithErrorHandling,
callWithAsyncErrorHandling
} from './errorHandling'
2019-11-29 07:41:01 +08:00
export {
useTransitionState,
TransitionState,
resolveTransitionHooks,
setTransitionHooks,
TransitionHooks
} from './components/BaseTransition'
2019-08-23 09:38:00 +08:00
// Internal API ----------------------------------------------------------------
// For compiler generated code
// should sync with '@vue/compiler-core/src/runtimeConstants.ts'
export { withDirectives } from './directives'
export {
resolveComponent,
resolveDirective,
resolveDynamicComponent
} from './helpers/resolveAssets'
2019-09-23 04:50:57 +08:00
export { renderList } from './helpers/renderList'
2019-09-25 08:51:48 +08:00
export { toHandlers } from './helpers/toHandlers'
2019-09-28 08:29:20 +08:00
export { renderSlot } from './helpers/renderSlot'
export { createSlots } from './helpers/createSlots'
2019-12-17 02:33:10 +08:00
export { pushScopeId, popScopeId, withScopeId } from './helpers/scopeId'
export { setBlockTracking, createTextVNode, createCommentVNode } from './vnode'
2019-11-02 00:24:33 +08:00
// Since @vue/shared is inlined into final builds,
// when re-exporting from @vue/shared we need to avoid relying on their original
// types so that the bundled d.ts does not attempt to import from it.
2020-01-27 06:35:21 +08:00
import {
toDisplayString as _toDisplayString,
capitalize as _capitalize,
camelize as _camelize
} from '@vue/shared'
export const toDisplayString = _toDisplayString as (s: unknown) => string
2019-11-02 00:24:33 +08:00
export const capitalize = _capitalize as (s: string) => string
export const camelize = _camelize as (s: string) => string
2019-09-01 04:36:36 +08:00
// For integration with runtime compiler
export { registerRuntimeCompiler } from './component'
2019-09-20 12:24:16 +08:00
2020-01-24 11:23:10 +08:00
// For server-renderer
2020-01-29 07:48:27 +08:00
// TODO move these into a conditional object to avoid exporting them in client
// builds
2020-01-24 11:23:10 +08:00
export { createComponentInstance, setupComponent } from './component'
2020-01-28 06:23:42 +08:00
export { renderComponentRoot } from './componentRenderUtils'
2020-01-29 07:48:27 +08:00
export { normalizeVNode } from './vnode'
2020-01-24 11:23:10 +08:00
2019-08-23 09:38:00 +08:00
// Types -----------------------------------------------------------------------
export {
App,
AppConfig,
AppContext,
Plugin,
CreateAppFunction
} from './apiCreateApp'
2020-01-29 07:48:27 +08:00
export { VNode, VNodeTypes, VNodeProps, VNodeChildren } from './vnode'
2019-09-07 00:58:31 +08:00
export {
Component,
FunctionalComponent,
ComponentInternalInstance,
RenderFunction,
SetupContext
2019-09-07 00:58:31 +08:00
} from './component'
export {
ComponentOptions,
ComponentOptionsWithoutProps,
2019-10-08 21:26:09 +08:00
ComponentOptionsWithObjectProps as ComponentOptionsWithProps,
2019-09-07 00:58:31 +08:00
ComponentOptionsWithArrayProps
} from './apiOptions'
export { ComponentPublicInstance } from './componentProxy'
2019-11-03 00:18:35 +08:00
export { RendererOptions } from './renderer'
2019-08-23 09:38:00 +08:00
export { Slot, Slots } from './componentSlots'
2019-10-08 21:26:09 +08:00
export {
Prop,
PropType,
ComponentPropsOptions,
ComponentObjectPropsOptions
} from './componentProps'
2019-09-07 00:58:31 +08:00
export {
Directive,
DirectiveBinding,
DirectiveHook,
ObjectDirective,
FunctionDirective,
2019-09-07 00:58:31 +08:00
DirectiveArguments
} from './directives'
export { SuspenseBoundary } from './components/Suspense'
2019-12-17 06:57:34 +08:00
export { HMRRuntime } from './hmr'