chore: add demo project

This commit is contained in:
Carlos Valente
2025-08-05 18:45:50 +02:00
committed by Carlos Valente
parent fef9ed4fcc
commit ad9db4edd3
5 changed files with 316 additions and 496 deletions
@@ -97,12 +97,12 @@ describe('processRundown()', () => {
it('generates metadata from given rundown', () => {
const initResult = processRundown(demoDb.rundowns.default, demoDb.customFields);
expect(initResult.order.length).toBe(12);
expect(initResult.flatEntryOrder.length).toBe(17);
expect(initResult.timedEventOrder.length).toBe(14);
expect(initResult.playableEventOrder.length).toBe(14);
expect(initResult.firstStart).toBe(36000000);
expect(initResult.lastEnd).toBe(61800000);
expect(initResult.order.length).toBe(4);
expect(initResult.flatEntryOrder.length).toBe(14);
expect(initResult.timedEventOrder.length).toBe(6);
expect(initResult.playableEventOrder.length).toBe(6);
expect(initResult.firstStart).toBe(MILLIS_PER_HOUR * 10);
expect(initResult.lastEnd).toBe(MILLIS_PER_HOUR * 14);
expect(initResult.totalDays).toBe(0);
expect(initResult.totalDelay).toBe(0);
});
@@ -118,18 +118,22 @@ export function parseRundown(
if (isOntimeEvent(nestedEvent)) {
newNestedEvent = createEvent(nestedEvent, eventIndex);
// skip if event is invalid
if (newNestedEvent == null) {
emitError?.('Skipping event without payload');
continue;
}
newNestedEvent.parent = event.id;
cleanupCustomFields(newNestedEvent.custom, parsedCustomFields);
eventIndex += 1;
} else if (isOntimeDelay(nestedEvent)) {
newNestedEvent = { ...delayDef, duration: nestedEvent.duration, id: nestedEventId };
newNestedEvent.parent = event.id;
} else if (isOntimeMilestone(nestedEvent)) {
newNestedEvent = createMilestone({ ...nestedEvent, id: nestedEventId });
newNestedEvent.parent = event.id;
cleanupCustomFields(newNestedEvent.custom, parsedCustomFields);
}