Skip to content

PickRequired

Since 1.0.0

Make specified properties required.

Signature

typescript
type PickRequired<T, K extends keyof T> = {
  [P in K]-?: T[P]
} & Omit<T, K>

Parameters

ParameterDescription
TThe target type
KThe keys to make required (must be keys of T)

Examples

Basic Usage

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

interface User {
  name?: string
  age?: number
  email: string
}

type RequiredName = PickRequired<User, 'name'>
// { name: string; age?: number; email: string }

Multiple Properties

typescript
type RequiredMultiple = PickRequired<User, 'name' | 'age'>
// { name: string; age: number; email: string }

With Nested Objects

typescript
interface Config {
  host?: string
  port?: number
  ssl?: boolean
}

type RequiredHost = PickRequired<Config, 'host'>
// { host: string; port?: number; ssl?: boolean }

Released under the MIT License.