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
// 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 (): {
$props: BaseTransitionProps<any>
}

View File

@ -89,7 +89,9 @@ export const SuspenseImpl = {
}
// 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
new (): { $props: VNodeProps & SuspenseProps }
}

View File

@ -52,13 +52,13 @@ const resolveTarget = <T = RendererElement>(
`ideally should be outside of the entire Vue component tree.`
)
}
return target as any
return target as T
}
} else {
if (__DEV__ && !targetSelector && !isTeleportDisabled(props)) {
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
export const Teleport = TeleportImpl as any as {
export const Teleport = TeleportImpl as unknown as {
__isTeleport: true
new (): { $props: VNodeProps & TeleportProps }
}

View File

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

View File

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