mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-06 07:53:54 +00:00
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { OntimeEvent, SupportedEntry } from 'ontime-types';
|
|
|
|
/**
|
|
* @description Creates a safe duplicate of an event
|
|
* @param {OntimeEvent} event
|
|
* @param {string} [after]
|
|
* @return {OntimeEvent} clean event
|
|
*/
|
|
type ClonedEvent = Omit<OntimeEvent, 'id' | 'cue'>;
|
|
export const cloneEvent = (event: OntimeEvent): ClonedEvent => {
|
|
return {
|
|
type: SupportedEntry.Event,
|
|
flag: event.flag,
|
|
title: event.title,
|
|
note: event.note,
|
|
timeStart: event.timeStart,
|
|
duration: event.duration,
|
|
timeEnd: event.timeEnd,
|
|
timerType: event.timerType,
|
|
timeStrategy: event.timeStrategy,
|
|
countToEnd: event.countToEnd,
|
|
linkStart: event.linkStart,
|
|
endAction: event.endAction,
|
|
skip: event.skip,
|
|
colour: event.colour,
|
|
parent: event.parent,
|
|
revision: 0,
|
|
delay: event.delay, // the events will be collocated, so having the same metadata is a good start
|
|
dayOffset: event.dayOffset,
|
|
gap: 0,
|
|
timeWarning: event.timeWarning,
|
|
timeDanger: event.timeDanger,
|
|
triggers: structuredClone(event.triggers),
|
|
custom: structuredClone(event.custom),
|
|
};
|
|
};
|