Przeglądaj źródła

types: improve readability of built-in type (#9129)

Alex Liu 1 rok temu
rodzic
commit
f8994da00f

+ 1 - 1
packages/reactivity/src/reactive.ts

@@ -135,7 +135,7 @@ export function shallowReactive<T extends object>(
 }
 
 type Primitive = string | number | boolean | bigint | symbol | undefined | null
-type Builtin = Primitive | Function | Date | Error | RegExp
+export type Builtin = Primitive | Function | Date | Error | RegExp
 export type DeepReadonly<T> = T extends Builtin
   ? T
   : T extends Map<infer K, infer V>

+ 2 - 8
packages/reactivity/src/ref.ts

@@ -21,7 +21,7 @@ import {
   toRaw,
   toReactive,
 } from './reactive'
-import type { ShallowReactiveMarker } from './reactive'
+import type { Builtin, ShallowReactiveMarker } from './reactive'
 import { type Dep, createDep } from './dep'
 import { ComputedRefImpl } from './computed'
 import { getDepFromReactive } from './reactiveEffect'
@@ -475,11 +475,6 @@ function propertyToRef(
     : (new ObjectRefImpl(source, key, defaultValue) as any)
 }
 
-// corner case when use narrows type
-// Ex. type RelativePath = string & { __brand: unknown }
-// RelativePath extends object -> true
-type BaseTypes = string | number | boolean
-
 /**
  * This is a special exported interface for other packages to declare
  * additional types that should bail out for ref unwrapping. For example
@@ -509,8 +504,7 @@ export type UnwrapRef<T> =
       : UnwrapRefSimple<T>
 
 export type UnwrapRefSimple<T> = T extends
-  | Function
-  | BaseTypes
+  | Builtin
   | Ref
   | RefUnwrapBailTypes[keyof RefUnwrapBailTypes]
   | { [RawSymbol]?: true }

+ 2 - 2
packages/runtime-core/src/compat/instance.ts

@@ -46,11 +46,11 @@ export interface LegacyPublicProperties {
   $set<T extends Record<keyof any, any>, K extends keyof T>(
     target: T,
     key: K,
-    value: T[K]
+    value: T[K],
   ): void
   $delete<T extends Record<keyof any, any>, K extends keyof T>(
     target: T,
-    key: K
+    key: K,
   ): void
   $mount(el?: string | Element): this
   $destroy(): void