Refactor Frigate specific details out of ViewMediaBase.

This commit is contained in:
Dermot Duffy
2023-01-24 19:36:54 -08:00
parent 36f14e153c
commit f073f06789
9 changed files with 243 additions and 234 deletions
+4 -23
View File
@@ -1,29 +1,10 @@
import {
ViewMedia,
FrigateEventViewMedia,
FrigateRecordingViewMedia,
RecordingViewMedia,
EventViewMedia,
} from './media';
import { ViewMedia, RecordingViewMedia, EventViewMedia } from './media';
export class ViewMediaClassifier {
public static isFrigateMedia(
media: ViewMedia,
): media is FrigateEventViewMedia | FrigateRecordingViewMedia {
return this.isFrigateEvent(media) || this.isFrigateRecording(media);
}
public static isFrigateEvent(media: ViewMedia): media is FrigateEventViewMedia {
return media instanceof FrigateEventViewMedia;
}
public static isFrigateRecording(
media: ViewMedia,
): media is FrigateRecordingViewMedia {
return media instanceof FrigateRecordingViewMedia;
}
public static isEvent(media: ViewMedia): media is EventViewMedia {
public static isEvent(media: ViewMedia): media is EventViewMedia<unknown> {
return this.isClip(media) || this.isSnapshot(media);
}
public static isRecording(media: ViewMedia): media is RecordingViewMedia {
public static isRecording(media: ViewMedia): media is RecordingViewMedia<unknown> {
return media.getMediaType() === 'recording';
}
public static isClip(media: ViewMedia): boolean {
@@ -33,6 +14,6 @@ export class ViewMediaClassifier {
return media.getMediaType() === 'snapshot';
}
public static isVideo(media: ViewMedia): boolean {
return this.isClip(media) || this.isRecording(media);
return this.isClip(media) || this.isRecording(media);
}
}