refactor(types): improve of type assertion (#4177)

Co-authored-by: webfansplz <>
This commit is contained in:
webfansplz 2022-10-03 16:37:54 +08:00 committed by GitHub
parent 3a13074292
commit a9e3fa4e21
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 9 additions and 7 deletions

View File

@ -274,7 +274,7 @@ if (__COMPAT__) {
// export the public type for h/tsx inference // export the public type for h/tsx inference
// also to avoid inline import() in generated d.ts files // also to avoid inline import() in generated d.ts files
export const BaseTransition = BaseTransitionImpl as any as { export const BaseTransition = BaseTransitionImpl as unknown as {
new (): { new (): {
$props: BaseTransitionProps<any> $props: BaseTransitionProps<any>
} }

View File

@ -89,7 +89,9 @@ export const SuspenseImpl = {
} }
// Force-casted public typing for h and TSX props inference // Force-casted public typing for h and TSX props inference
export const Suspense = (__FEATURE_SUSPENSE__ ? SuspenseImpl : null) as any as { export const Suspense = (__FEATURE_SUSPENSE__
? SuspenseImpl
: null) as unknown as {
__isSuspense: true __isSuspense: true
new (): { $props: VNodeProps & SuspenseProps } new (): { $props: VNodeProps & SuspenseProps }
} }

View File

@ -52,13 +52,13 @@ const resolveTarget = <T = RendererElement>(
`ideally should be outside of the entire Vue component tree.` `ideally should be outside of the entire Vue component tree.`
) )
} }
return target as any return target as T
} }
} else { } else {
if (__DEV__ && !targetSelector && !isTeleportDisabled(props)) { if (__DEV__ && !targetSelector && !isTeleportDisabled(props)) {
warn(`Invalid Teleport target: ${targetSelector}`) warn(`Invalid Teleport target: ${targetSelector}`)
} }
return targetSelector as any return targetSelector as T
} }
} }
@ -388,7 +388,7 @@ function hydrateTeleport(
} }
// Force-casted public typing for h and TSX props inference // Force-casted public typing for h and TSX props inference
export const Teleport = TeleportImpl as any as { export const Teleport = TeleportImpl as unknown as {
__isTeleport: true __isTeleport: true
new (): { $props: VNodeProps & TeleportProps } new (): { $props: VNodeProps & TeleportProps }
} }

View File

@ -100,7 +100,7 @@ const cacheStringFunction = <T extends (str: string) => string>(fn: T): T => {
return ((str: string) => { return ((str: string) => {
const hit = cache[str] const hit = cache[str]
return hit || (cache[str] = fn(str)) return hit || (cache[str] = fn(str))
}) as any }) as T
} }
const camelizeRE = /-(\w)/g const camelizeRE = /-(\w)/g

View File

@ -275,5 +275,5 @@ function debounce<T extends (...args: any[]) => any>(
fn(...args) fn(...args)
prevTimer = null prevTimer = null
}, delay) }, delay)
}) as any }) as T
} }