```ts
export function waveCount(readings: number[]): number {
    if (!readings || readings.length === 0) return 0;

    let changes = 0;
    for (let i = 1; i < readings.length; i++) {
        if ((readings[i] > readings[i - 1]) !== (readings[i + 1] > readings[i])) {
            changes++;
        }
    }

    return changes;
}
```