mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-20 14:39:06 +00:00
refactor: simplify restore point
This commit is contained in:
committed by
Alex Christoffer Rasmussen
parent
bc1b3800c8
commit
1866e5e78d
@@ -0,0 +1,53 @@
|
||||
import { Playback } from 'ontime-types';
|
||||
|
||||
import { is } from '../../utils/is.js';
|
||||
|
||||
import type { RestorePoint } from './restore.type.js';
|
||||
|
||||
/**
|
||||
* Utility validates a RestorePoint
|
||||
*/
|
||||
export function isRestorePoint(restorePoint: unknown): restorePoint is RestorePoint {
|
||||
if (!is.object(restorePoint)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (
|
||||
!is.objectWithKeys(restorePoint, [
|
||||
'playback',
|
||||
'selectedEventId',
|
||||
'startedAt',
|
||||
'addedTime',
|
||||
'pausedAt',
|
||||
'firstStart',
|
||||
])
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is.string(restorePoint.playback) && !Object.values(Playback).includes(restorePoint.playback as Playback)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is.string(restorePoint.selectedEventId) && restorePoint.selectedEventId !== null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is.number(restorePoint.startedAt) && restorePoint.startedAt !== null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is.number(restorePoint.addedTime)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is.number(restorePoint.pausedAt) && restorePoint.pausedAt !== null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is.number(restorePoint.firstStart) && restorePoint.firstStart !== null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user