From: webfansplz <308241863@qq.com> Date: Mon, 19 Jul 2021 14:32:07 +0000 (+0800) Subject: chore(types): improve of type assertion (#4141) X-Git-Tag: v3.2.0-beta.2~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=df0ce2183627d47b25e0390e5efe3cc7b00ea1d2;p=thirdparty%2Fvuejs%2Fcore.git chore(types): improve of type assertion (#4141) --- diff --git a/packages/compiler-core/src/ast.ts b/packages/compiler-core/src/ast.ts index 7bd714694d..0694b4220d 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 3cae36da6c..09ec729013 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 {