@svta/common-media-library
Version:
A common library for media playback in JavaScript
45 lines • 1.46 kB
JavaScript
import { validateSwitchingSets } from './validateSwitchingSets.js';
/**
* Validate a selection set.
* It validates in cascade, calling each child validation method.
*
* Validations:
* - SelectionSet has id
*
* @example
* ```ts
* import cmaf, { SelectionSet } from '@svta/common-media-library/cmaf-ham';
* ...
*
* // const selectionSet: SelectionSet = ...;
*
* const validation = cmaf.validateSelectionSet(selectionSet);
* ```
*
* Example output: `{ status: true|false, errorMessages: [...] }`
*
* @param selectionSet - SelectionSet from cmaf ham model
* @param presentationId - Optional: parent presentation id
* @param prevValidation - Optional: validation object from parent previous validate method call
* @returns Validation
*
* @group CMAF
* @alpha
*
*/
export function validateSelectionSet(selectionSet, presentationId, prevValidation) {
const validation = prevValidation !== null && prevValidation !== void 0 ? prevValidation : {
status: true,
errorMessages: [],
};
const moreInformation = presentationId
? ` in the presentation with id = ${presentationId}`
: '.';
if (!selectionSet.id) {
validation.status = false;
validation.errorMessages.push(`SelectionSet id is undefined${moreInformation}`);
}
validateSwitchingSets(selectionSet.switchingSets, selectionSet.id, validation);
return validation;
}
//# sourceMappingURL=validateSelectionSet.js.map