predicate

Origin

Latin praedicatus “something declared”

Definition

A function that returns a single boolean value

Examples

type Predicate = () => boolean

function isTurkey(x: string) {
return x === ‘turkey’
}

interface Dog {
bark: ‘dog’
}

interface Cat {
meow: ‘cat’
}

function isCat(animal): animal is Cat {
return (animal as Cat).meow !== undefined
}

function makeSound(animal: Cat | Dog) {
if (isCat(animal)) {
animal.meow
} else {
animal.bark
}
}