UNPKG

type-fest

Version:

A collection of essential TypeScript types

28 lines (21 loc) 554 B
import type {Whitespace} from './internal'; /** Remove spaces from the left side. */ type TrimLeft<V extends string> = V extends `${Whitespace}${infer R}` ? TrimLeft<R> : V; /** Remove spaces from the right side. */ type TrimRight<V extends string> = V extends `${infer R}${Whitespace}` ? TrimRight<R> : V; /** Remove leading and trailing spaces from a string. @example ``` import type {Trim} from 'type-fest'; Trim<' foo '> //=> 'foo' ``` @category String @category Template literal */ export type Trim<V extends string> = TrimLeft<TrimRight<V>>;