mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-10 18:03:47 +00:00
38 lines
976 B
TypeScript
38 lines
976 B
TypeScript
export type ImportOptions = keyof typeof defaultImportMap | 'custom';
|
|
export type ImportCustom = Record<string, string>;
|
|
export type ImportMap = typeof defaultImportMap & { custom: ImportCustom };
|
|
|
|
// Record of ontime name and import name
|
|
export const defaultImportMap = {
|
|
worksheet: 'event schedule',
|
|
timeStart: 'time start',
|
|
linkStart: 'link start',
|
|
timeEnd: 'time end',
|
|
duration: 'duration',
|
|
cue: 'cue',
|
|
title: 'title',
|
|
countToEnd: 'count to end',
|
|
skip: 'skip',
|
|
note: 'notes',
|
|
colour: 'colour',
|
|
endAction: 'end action',
|
|
timerType: 'timer type',
|
|
timeWarning: 'warning time',
|
|
timeDanger: 'danger time',
|
|
custom: {},
|
|
entryId: 'id',
|
|
};
|
|
|
|
/**
|
|
* Validates whether an object is an Import Map
|
|
* @param obj
|
|
*/
|
|
export function isImportMap(obj: unknown): obj is ImportMap {
|
|
if (typeof obj !== 'object' || obj === null) {
|
|
return false;
|
|
}
|
|
|
|
const keys = Object.keys(defaultImportMap);
|
|
return keys.every((key) => Object.hasOwn(obj, key));
|
|
}
|