feat: Implement basic general folder support (#2051)

- Related: #1748
This commit is contained in:
Dermot Duffy
2025-05-21 19:59:21 -07:00
committed by GitHub
parent 2eb0d9e35e
commit c6a4c8aea2
350 changed files with 12837 additions and 4509 deletions
+31
View File
@@ -0,0 +1,31 @@
import {
EventViewMedia,
RecordingViewMedia,
ViewFolder,
ViewItem,
ViewMedia,
} from './item';
export class ViewItemClassifier {
public static isMedia(item?: ViewItem | null): item is ViewMedia {
return item instanceof ViewMedia;
}
public static isFolder(item?: ViewItem | null): item is ViewFolder {
return item instanceof ViewFolder;
}
public static isEvent(item?: ViewItem | null): item is EventViewMedia {
return this.isMedia(item) && (this.isClip(item) || this.isSnapshot(item));
}
public static isRecording(item?: ViewItem | null): item is RecordingViewMedia {
return this.isMedia(item) && item.getMediaType() === 'recording';
}
public static isClip(item?: ViewItem | null): boolean {
return this.isMedia(item) && item.getMediaType() === 'clip';
}
public static isSnapshot(item?: ViewItem | null): boolean {
return this.isMedia(item) && item.getMediaType() === 'snapshot';
}
public static isVideo(item?: ViewItem | null): boolean {
return this.isMedia(item) && (this.isClip(item) || this.isRecording(item));
}
}