Rip out unnecessary view media templating.

This commit is contained in:
Dermot Duffy
2023-01-24 19:36:54 -08:00
parent 09c38d96f6
commit 7896dfeb3c
4 changed files with 52 additions and 46 deletions
+2 -2
View File
@@ -1,10 +1,10 @@
import { ViewMedia, RecordingViewMedia, EventViewMedia } from './media';
export class ViewMediaClassifier {
public static isEvent(media: ViewMedia): media is EventViewMedia<unknown> {
public static isEvent(media: ViewMedia): media is EventViewMedia {
return this.isClip(media) || this.isSnapshot(media);
}
public static isRecording(media: ViewMedia): media is RecordingViewMedia<unknown> {
public static isRecording(media: ViewMedia): media is RecordingViewMedia {
return media.getMediaType() === 'recording';
}
public static isClip(media: ViewMedia): boolean {
+5 -12
View File
@@ -1,15 +1,13 @@
import { CameraConfig } from '../types.js';
export type ViewMediaType = 'clip' | 'snapshot' | 'recording';
export class ViewMediaBase<T> {
export class ViewMedia {
protected _mediaType: ViewMediaType;
protected _cameraID: string;
protected _source: T;
constructor(mediaType: ViewMediaType, cameraID: string, source: T) {
constructor(mediaType: ViewMediaType, cameraID: string) {
this._mediaType = mediaType;
this._cameraID = cameraID;
this._source = source;
}
public getContentType(): 'image' | 'video' {
return this._mediaType === 'snapshot' ? 'image' : 'video';
@@ -20,9 +18,6 @@ export class ViewMediaBase<T> {
public getMediaType(): ViewMediaType {
return this._mediaType;
}
public getSource(): T {
return this._source;
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public getID(_cameraConfig?: CameraConfig): string | null {
return null;
@@ -60,15 +55,13 @@ export class ViewMediaBase<T> {
}
}
export interface EventViewMedia<T> extends ViewMediaBase<T> {
export interface EventViewMedia extends ViewMedia {
getScore(): number | null;
getWhat(): string[] | null;
isGroupableWith(that: EventViewMedia<T>): boolean;
isGroupableWith(that: EventViewMedia): boolean;
hasClip(): boolean | null;
}
export interface RecordingViewMedia<T> extends ViewMediaBase<T> {
export interface RecordingViewMedia extends ViewMedia {
getEventCount(): number | null;
}
export type ViewMedia = ViewMediaBase<unknown>;