Skip to content

WrapPromise

Since 1.3.0

Wrap a type in a Promise. If the type is already a Promise, it recursively extracts the value first to avoid double-wrapping.

Signature

typescript
type WrapPromise<T> = Promise<PromiseValue<T>>

Parameters

ParameterDescription
TThe type to wrap in Promise

Examples

Basic Usage

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

type Wrapped = WrapPromise<string> // Promise<string>

Already a Promise

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

// Avoids double-wrapping by extracting value first
type StillSingle = WrapPromise<Promise<number>> // Promise<number>

With Union Types

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

type MaybeAsync = string | Promise<string>
type AlwaysAsync = WrapPromise<MaybeAsync> // Promise<string>

Released under the MIT License.