Type Alias Split<S, Delimiter>

Split: S extends `${infer Head}${Delimiter}${infer Tail}`
    ? [Head, ...Split<Tail, Delimiter>]
    : S extends Delimiter ? [] : [S]

Represents an array of strings split using a given character or character set.

Use-case: Defining the return type of a method like String.prototype.split.

Type Parameters

  • S extends string
  • Delimiter extends string
import type {Split} from 'type-fest';

declare function split<S extends string, D extends string>(string: S, separator: D): Split<S, D>;

type Item = 'foo' | 'bar' | 'baz' | 'waldo';
const items = 'foo,bar,baz,waldo';
let array: Item[];

array = split(items, ',');