Kaynağa Gözat

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

Co-authored-by: webfansplz <>
webfansplz 3 yıl önce
ebeveyn
işleme
a9e3fa4e21

+ 1 - 1
packages/runtime-core/src/components/BaseTransition.ts

@@ -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>
   }

+ 3 - 1
packages/runtime-core/src/components/Suspense.ts

@@ -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 }
 }

+ 3 - 3
packages/runtime-core/src/components/Teleport.ts

@@ -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 }
 }

+ 1 - 1
packages/shared/src/index.ts

@@ -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

+ 1 - 1
packages/template-explorer/src/index.ts

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