diff --git a/packages/compiler-core/src/ast.ts b/packages/compiler-core/src/ast.ts index 7bd714694..0694b4220 100644 --- a/packages/compiler-core/src/ast.ts +++ b/packages/compiler-core/src/ast.ts @@ -692,7 +692,7 @@ export function createCallExpression( loc, callee, arguments: args - } as any + } as InferCodegenNodeType } export function createFunctionExpression( diff --git a/packages/compiler-core/src/errors.ts b/packages/compiler-core/src/errors.ts index 3cae36da6..09ec72901 100644 --- a/packages/compiler-core/src/errors.ts +++ b/packages/compiler-core/src/errors.ts @@ -17,20 +17,24 @@ export function defaultOnWarn(msg: CompilerError) { __DEV__ && console.warn(`[Vue warn] ${msg.message}`) } +type InferCompilerError = T extends ErrorCodes + ? CoreCompilerError + : CompilerError + export function createCompilerError( code: T, loc?: SourceLocation, messages?: { [code: number]: string }, additionalMessage?: string -): T extends ErrorCodes ? CoreCompilerError : CompilerError { +): InferCompilerError { const msg = __DEV__ || !__BROWSER__ ? (messages || errorMessages)[code] + (additionalMessage || ``) : code - const error = new SyntaxError(String(msg)) as CompilerError + const error = new SyntaxError(String(msg)) as InferCompilerError error.code = code error.loc = loc - return error as any + return error } export const enum ErrorCodes {