Skip to content

AssertExtends

Since 1.3.0

Assert that type T extends U at compile time.

Signature

typescript
type AssertExtends<T, U> = T extends U ? T : never

Parameters

ParameterDescription
TThe type to check
UThe type that T must extend

Examples

Basic Usage

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

type Result = AssertExtends<'hello', string> // 'hello'
type Failed = AssertExtends<number, string> // never

With Union Types

typescript
type Result = AssertExtends<'a' | 'b', string> // 'a' | 'b'

With Object Types

typescript
type Extended = AssertExtends<{ name: string; age: number }, { name: string }> // { name: string; age: number }

Released under the MIT License.