mirror of https://github.com/vuejs/core.git
refactor(runtime-vapor): re-organize
This commit is contained in:
parent
b4da5a8da6
commit
7e0f15fa7c
|
@ -13,7 +13,7 @@ import {
|
|||
createComponentInstance,
|
||||
setCurrentInstance,
|
||||
} from '../../src/component'
|
||||
import { getMetadata, recordPropMetadata } from '../../src/metadata'
|
||||
import { getMetadata, recordPropMetadata } from '../../src/componentMetadata'
|
||||
|
||||
let removeComponentInstance = NOOP
|
||||
beforeEach(() => {
|
||||
|
|
|
@ -7,9 +7,25 @@ import { warn } from './warning'
|
|||
import { pauseTracking, resetTracking } from '@vue/reactivity'
|
||||
import { ErrorTypeStrings, callWithAsyncErrorHandling } from './errorHandling'
|
||||
import { toHandlerKey } from '@vue/shared'
|
||||
import { VaporLifecycleHooks } from './enums'
|
||||
|
||||
export const injectHook = (
|
||||
export enum VaporLifecycleHooks {
|
||||
BEFORE_CREATE = 'bc',
|
||||
CREATED = 'c',
|
||||
BEFORE_MOUNT = 'bm',
|
||||
MOUNTED = 'm',
|
||||
BEFORE_UPDATE = 'bu',
|
||||
UPDATED = 'u',
|
||||
BEFORE_UNMOUNT = 'bum',
|
||||
UNMOUNTED = 'um',
|
||||
DEACTIVATED = 'da',
|
||||
ACTIVATED = 'a',
|
||||
RENDER_TRIGGERED = 'rtg',
|
||||
RENDER_TRACKED = 'rtc',
|
||||
ERROR_CAPTURED = 'ec',
|
||||
// SERVER_PREFETCH = 'sp',
|
||||
}
|
||||
|
||||
const injectHook = (
|
||||
type: VaporLifecycleHooks,
|
||||
hook: Function & { __weh?: Function },
|
||||
target: ComponentInternalInstance | null = currentInstance,
|
||||
|
@ -49,7 +65,7 @@ export const injectHook = (
|
|||
)
|
||||
}
|
||||
}
|
||||
export const createHook =
|
||||
const createHook =
|
||||
<T extends Function = () => any>(lifecycle: VaporLifecycleHooks) =>
|
||||
(hook: T, target: ComponentInternalInstance | null = currentInstance) =>
|
||||
injectHook(lifecycle, (...args: unknown[]) => hook(...args), target)
|
||||
|
|
|
@ -15,9 +15,9 @@ import {
|
|||
emit,
|
||||
normalizeEmitsOptions,
|
||||
} from './componentEmits'
|
||||
import { VaporLifecycleHooks } from './apiLifecycle'
|
||||
|
||||
import type { Data } from '@vue/shared'
|
||||
import { VaporLifecycleHooks } from './enums'
|
||||
|
||||
export type Component = FunctionalComponent | ObjectComponent
|
||||
|
||||
|
|
|
@ -6,14 +6,14 @@ export enum MetadataKind {
|
|||
event,
|
||||
}
|
||||
|
||||
export type ElementMetadata = [
|
||||
export type ComponentMetadata = [
|
||||
props: Data,
|
||||
events: Record<string, DelegatedHandler[]>,
|
||||
]
|
||||
|
||||
export function getMetadata(
|
||||
el: Node & { $$metadata?: ElementMetadata },
|
||||
): ElementMetadata {
|
||||
el: Node & { $$metadata?: ComponentMetadata },
|
||||
): ComponentMetadata {
|
||||
return el.$$metadata || (el.$$metadata = [{}, {}])
|
||||
}
|
||||
|
|
@ -15,7 +15,7 @@ import type {
|
|||
import { addEventListener } from '../dom/event'
|
||||
import { nextTick } from '../scheduler'
|
||||
import { warn } from '../warning'
|
||||
import { MetadataKind, getMetadata } from '../metadata'
|
||||
import { MetadataKind, getMetadata } from '../componentMetadata'
|
||||
|
||||
type AssignerFn = (value: any) => void
|
||||
function getModelAssigner(el: Element): AssignerFn {
|
||||
|
|
|
@ -3,7 +3,11 @@ import {
|
|||
onEffectCleanup,
|
||||
onScopeDispose,
|
||||
} from '@vue/reactivity'
|
||||
import { MetadataKind, getMetadata, recordEventMetadata } from '../metadata'
|
||||
import {
|
||||
MetadataKind,
|
||||
getMetadata,
|
||||
recordEventMetadata,
|
||||
} from '../componentMetadata'
|
||||
import { withKeys, withModifiers } from '@vue/runtime-dom'
|
||||
import { queuePostRenderEffect } from '../scheduler'
|
||||
|
||||
|
|
|
@ -12,7 +12,11 @@ import {
|
|||
} from '@vue/shared'
|
||||
import { warn } from '../warning'
|
||||
import { setStyle } from './style'
|
||||
import { MetadataKind, getMetadata, recordPropMetadata } from '../metadata'
|
||||
import {
|
||||
MetadataKind,
|
||||
getMetadata,
|
||||
recordPropMetadata,
|
||||
} from '../componentMetadata'
|
||||
import { on } from './event'
|
||||
|
||||
export function setClass(el: Element, value: any) {
|
||||
|
|
|
@ -7,7 +7,7 @@ import {
|
|||
normalizeStyle,
|
||||
} from '@vue/shared'
|
||||
import { warn } from '../warning'
|
||||
import { recordPropMetadata } from '../metadata'
|
||||
import { recordPropMetadata } from '../componentMetadata'
|
||||
|
||||
export function setStyle(el: HTMLElement, value: any) {
|
||||
const prev = recordPropMetadata(el, 'style', (value = normalizeStyle(value)))
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
export enum VaporLifecycleHooks {
|
||||
BEFORE_CREATE = 'bc',
|
||||
CREATED = 'c',
|
||||
BEFORE_MOUNT = 'bm',
|
||||
MOUNTED = 'm',
|
||||
BEFORE_UPDATE = 'bu',
|
||||
UPDATED = 'u',
|
||||
BEFORE_UNMOUNT = 'bum',
|
||||
UNMOUNTED = 'um',
|
||||
DEACTIVATED = 'da',
|
||||
ACTIVATED = 'a',
|
||||
RENDER_TRIGGERED = 'rtg',
|
||||
RENDER_TRACKED = 'rtc',
|
||||
ERROR_CAPTURED = 'ec',
|
||||
// SERVER_PREFETCH = 'sp',
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
import type { ComponentInternalInstance } from './component'
|
||||
import { isFunction, isPromise } from '@vue/shared'
|
||||
import { warn } from './warning'
|
||||
import { VaporLifecycleHooks } from './enums'
|
||||
import { VaporLifecycleHooks } from './apiLifecycle'
|
||||
import { BaseWatchErrorCodes } from '@vue/reactivity'
|
||||
|
||||
// contexts where user provided function may be executed, in addition to
|
||||
|
|
|
@ -102,8 +102,8 @@ export {
|
|||
onErrorCaptured,
|
||||
// onServerPrefetch,
|
||||
} from './apiLifecycle'
|
||||
export { createIf } from './if'
|
||||
export { createFor } from './for'
|
||||
export { createIf } from './apiCreateIf'
|
||||
export { createFor } from './apiCreateFor'
|
||||
|
||||
// **Internal** DOM-only runtime directive helpers
|
||||
export {
|
||||
|
|
Loading…
Reference in New Issue