From 0698f5ec7bff107b5fd3881fda45a023dc6e8737 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 4 Jan 2023 20:58:46 -0400 Subject: trackGroups -> trackSections --- src/data/things/validators.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/data/things/validators.js') diff --git a/src/data/things/validators.js b/src/data/things/validators.js index a0d473ba..24db3c79 100644 --- a/src/data/things/validators.js +++ b/src/data/things/validators.js @@ -96,6 +96,10 @@ export function isStringNonEmpty(value) { return true; } +export function optional(validator) { + return value => value === null || value === undefined || validator(value); +} + // Complex types (non-primitives) export function isInstance(value, constructor) { @@ -252,6 +256,16 @@ export const isAdditionalFile = validateProperties({ export const isAdditionalFileList = validateArrayItems(isAdditionalFile); +export const isTrackSection = validateProperties({ + name: optional(isString), + color: optional(isColor), + dateOriginallyReleased: optional(isDate), + isDefaultTrackSection: optional(isBoolean), + tracksByRef: optional(validateReferenceList('track')), +}); + +export const isTrackSectionList = validateArrayItems(isTrackSection); + export function isDimensions(dimensions) { isArray(dimensions); -- cgit 1.3.0-6-gf8a5