```ts
export function pathClean(path: string): string {
  const segments = path.split('/');
  const cleanedSegments: string[] = [];

  for (let i = 0; i < segments.length; i++) {
    if (segments[i] === '..') {
      // Drop the current segment and the previous one if there is one
      if (i > 0) cleanedSegments.pop();
    } else if (segments[i] !== '.') {
      cleanedSegments.push(segments[i]);
    }
  }

  return cleanedSegments.join('/');
}
```