From: qiang Date: Sun, 9 Jul 2023 11:37:32 +0000 (+0800) Subject: refactor(types): improve capitalize types (#6212) X-Git-Tag: v3.3.5~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eee709081bc12c27ef93f471bd2a1f619198af1e;p=thirdparty%2Fvuejs%2Fcore.git refactor(types): improve capitalize types (#6212) --- diff --git a/packages/shared/src/general.ts b/packages/shared/src/general.ts index b36ec89c65..4138b2730e 100644 --- a/packages/shared/src/general.ts +++ b/packages/shared/src/general.ts @@ -110,16 +110,17 @@ export const hyphenate = cacheStringFunction((str: string) => /** * @private */ -export const capitalize = cacheStringFunction( - (str: string) => str.charAt(0).toUpperCase() + str.slice(1) -) +export const capitalize = cacheStringFunction((str: T) => { + return (str.charAt(0).toUpperCase() + str.slice(1)) as Capitalize +}) /** * @private */ -export const toHandlerKey = cacheStringFunction((str: string) => - str ? `on${capitalize(str)}` : `` -) +export const toHandlerKey = cacheStringFunction((str: T) => { + const s = str ? `on${capitalize(str)}` : `` + return s as T extends '' ? '' : `on${Capitalize}` +}) // compare whether a value has changed, accounting for NaN. export const hasChanged = (value: any, oldValue: any): boolean =>