feat(tools): verify no overlapping dialogue times (#58564)

This commit is contained in:
Krzysztof G.
2025-03-06 23:08:33 +01:00
committed by GitHub
parent af05efca4a
commit e65f3e44b5

View File

@@ -274,7 +274,24 @@ const schema = Joi.object()
}),
scene: Joi.object().keys({
setup: setupJoi.required(),
commands: Joi.array().items(commandJoi)
commands: Joi.array()
.items(commandJoi)
.unique(
(a, b) =>
a.dialogue &&
b.dialogue &&
!(
(a.startTime < b.startTime &&
a.finishTime < b.finishTime &&
a.finishTime <= b.startTime) ||
(b.startTime < a.startTime &&
b.finishTime < a.finishTime &&
b.finishTime <= a.startTime)
)
)
.messages({
'array.unique': 'Dialogues must not have overlapping times.'
})
}),
solutions: Joi.array().items(Joi.array().items(fileJoi).min(1)),
superBlock: Joi.string().regex(slugWithSlashRE),