import { SourceLocation, CompilerError, createCompilerError, ErrorCodes } from '@vue/compiler-core' export interface DOMCompilerError extends CompilerError { code: DOMErrorCodes } export function createDOMCompilerError( code: DOMErrorCodes, loc?: SourceLocation ) { return createCompilerError( code, loc, __DEV__ || !__BROWSER__ ? DOMErrorMessages : undefined ) as DOMCompilerError } export const enum DOMErrorCodes { X_V_HTML_NO_EXPRESSION = ErrorCodes.__EXTEND_POINT__, X_V_HTML_WITH_CHILDREN, X_V_TEXT_NO_EXPRESSION, X_V_TEXT_WITH_CHILDREN, X_V_MODEL_ON_INVALID_ELEMENT, X_V_MODEL_ARG_ON_ELEMENT, X_V_MODEL_ON_FILE_INPUT_ELEMENT, X_V_MODEL_UNNECESSARY_VALUE, X_V_SHOW_NO_EXPRESSION, X_TRANSITION_INVALID_CHILDREN, X_IGNORED_SIDE_EFFECT_TAG, __EXTEND_POINT__ } export const DOMErrorMessages: { [code: number]: string } = { [DOMErrorCodes.X_V_HTML_NO_EXPRESSION]: `v-html is missing expression.`, [DOMErrorCodes.X_V_HTML_WITH_CHILDREN]: `v-html will override element children.`, [DOMErrorCodes.X_V_TEXT_NO_EXPRESSION]: `v-text is missing expression.`, [DOMErrorCodes.X_V_TEXT_WITH_CHILDREN]: `v-text will override element children.`, [DOMErrorCodes.X_V_MODEL_ON_INVALID_ELEMENT]: `v-model can only be used on ,