export const FRAGMENT = Symbol(__DEV__ ? `Fragment` : ``) export const PORTAL = Symbol(__DEV__ ? `Portal` : ``) export const COMMENT = Symbol(__DEV__ ? `Comment` : ``) export const TEXT = Symbol(__DEV__ ? `Text` : ``) export const SUSPENSE = Symbol(__DEV__ ? `Suspense` : ``) export const OPEN_BLOCK = Symbol(__DEV__ ? `openBlock` : ``) export const CREATE_BLOCK = Symbol(__DEV__ ? `createBlock` : ``) export const CREATE_VNODE = Symbol(__DEV__ ? `createVNode` : ``) export const RESOLVE_COMPONENT = Symbol(__DEV__ ? `resolveComponent` : ``) export const RESOLVE_DYNAMIC_COMPONENT = Symbol( __DEV__ ? `resolveDynamicComponent` : `` ) export const RESOLVE_DIRECTIVE = Symbol(__DEV__ ? `resolveDirective` : ``) export const WITH_DIRECTIVES = Symbol(__DEV__ ? `withDirectives` : ``) export const RENDER_LIST = Symbol(__DEV__ ? `renderList` : ``) export const RENDER_SLOT = Symbol(__DEV__ ? `renderSlot` : ``) export const CREATE_SLOTS = Symbol(__DEV__ ? `createSlots` : ``) export const TO_STRING = Symbol(__DEV__ ? `toString` : ``) export const MERGE_PROPS = Symbol(__DEV__ ? `mergeProps` : ``) export const TO_HANDLERS = Symbol(__DEV__ ? `toHandlers` : ``) export const CAMELIZE = Symbol(__DEV__ ? `camelize` : ``) // Name mapping for runtime helpers that need to be imported from 'vue' in // generated code. Make sure these are correctly exported in the runtime! // Using `any` here because TS doesn't allow symbols as index type. export const helperNameMap: any = { [FRAGMENT]: `Fragment`, [PORTAL]: `Portal`, [COMMENT]: `Comment`, [TEXT]: `Text`, [SUSPENSE]: `Suspense`, [OPEN_BLOCK]: `openBlock`, [CREATE_BLOCK]: `createBlock`, [CREATE_VNODE]: `createVNode`, [RESOLVE_COMPONENT]: `resolveComponent`, [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`, [RESOLVE_DIRECTIVE]: `resolveDirective`, [WITH_DIRECTIVES]: `withDirectives`, [RENDER_LIST]: `renderList`, [RENDER_SLOT]: `renderSlot`, [CREATE_SLOTS]: `createSlots`, [TO_STRING]: `toString`, [MERGE_PROPS]: `mergeProps`, [TO_HANDLERS]: `toHandlers`, [CAMELIZE]: `camelize` } export function registerRuntimeHelpers(helpers: any) { Object.getOwnPropertySymbols(helpers).forEach(s => { helperNameMap[s] = helpers[s] }) }