mirror of https://github.com/vuejs/core.git
types: improve readability of built-in type (#9129)
This commit is contained in:
parent
70f2f283ee
commit
f8994da00f
|
@ -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>
|
||||
|
|
|
@ -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 }
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue