typescript - Funktionsdeklaration med flera typer


Jag har följande funktion som tar en sträng och returnerar en sträng såsom

mockingcase('foobar')
// => fOoBaR

Projektet har en Typescript-deklarationsfil. Jag vet inte mycket om Typescript (har inte läst något annat än den senaste timmen jag spenderade på att läsa dokumentationen).

Funktionen mockingcase har nu förmågan att returnera en sträng från en array av strängar

mockingcase(['foo','bar'])
// => 'fOoBaR'

Hur ändrar jag TypeScript-deklarationsfilen så att den kan ta en sträng eller en array?

original :

function mockingcase(input: string, options?: { random?: boolean }): string;

min idé:

function mockingcase(input: string|array, options?: { random?: boolean }): string;

Har jag helt fel?

Svar #1

Du är nära - arraytyper måste också definiera vilken typ av objekt som finns i arrayen:

input: string | string[]

Eller :

input: string | Array<string>