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

  let count = 0;
  for (let i = 1; i < readings.length; i++) {
    const currentReading = readings[i];
    const previousReading = readings[i - 1];

    if ((currentReading > previousReading && previousReading <= 0) ||
        (currentReading < previousReading && previousReading >= 0)) {
      count++;
    }
  }

  return count;
}
```