mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-14 03:43:50 +00:00
1849b4d39f
* chore: migrate eslint to oxlint * chore: migrate prettier to oxfmt * chore: migrate typescript * chore: toThrow should have a expected value * chore: cast test value as Day * chore: small title fix * chore: mocks should be hoisted * chore: incorrect async useage * chore: test should be inside description * chore: test sohuld include an expeced * chore: oxfmt --------- Co-authored-by: alex-Arc <omnivox@LAPTOP-RC5SNBVV.localdomain>
63 lines
1.4 KiB
TypeScript
63 lines
1.4 KiB
TypeScript
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',
|
|
'startEpoch',
|
|
'currentDay',
|
|
])
|
|
) {
|
|
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;
|
|
}
|
|
|
|
if (!is.number(restorePoint.startEpoch) && restorePoint.startEpoch !== null) {
|
|
return false;
|
|
}
|
|
|
|
if (!is.number(restorePoint.currentDay) && restorePoint.currentDay !== null) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|