mirror of https://github.com/vuejs/core.git
refactor(types): improve of type assertion (#4177)
Co-authored-by: webfansplz <>
This commit is contained in:
parent
3a13074292
commit
a9e3fa4e21
|
@ -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>
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 }
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 }
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue