Skip to content

AssertKeyof

自 1.3.0 起

在编译时断言 KT 的键。

签名

typescript
type AssertKeyof<T, K> = K extends keyof T ? K : never

参数

参数描述
T要检查的对象类型
K要验证的键

示例

基本用法

typescript
import type { AssertKeyof } from 'uni-types'

type Result = AssertKeyof<{ name: string; age: number }, 'name'> // 'name'
type Failed = AssertKeyof<{ name: string }, 'email'> // never

联合键

typescript
type Keys = 'name' | 'age'
type Result = AssertKeyof<{ name: string; age: number }, Keys> // 'name' | 'age'

Symbol 键

typescript
const sym = Symbol('id')
type Obj = { [sym]: number }
type Result = AssertKeyof<Obj, typeof sym> // typeof sym

相关

基于 MIT 许可发布