The string value to validate
true if the value is a valid duration format, false otherwise
// Valid durations
console.log(isValidDuration('500ms')); // true
console.log(isValidDuration('2s')); // true
console.log(isValidDuration('1.5s')); // true
console.log(isValidDuration('750.25ms')); // true
// Invalid durations
console.log(isValidDuration('500')); // false - missing unit
console.log(isValidDuration('2sec')); // false - wrong unit
console.log(isValidDuration('ms')); // false - missing number
console.log(isValidDuration('-500ms')); // false - negative not allowed
// Use in validation
function setBreakTime(duration: string) {
if (!isValidDuration(duration)) {
throw new Error(`Invalid duration format: ${duration}`);
}
// Valid duration format
}
https://docs.microsoft.com/azure/cognitive-services/speech-service/speech-synthesis-markup#add-a-break Break Time Documentation
Validates if a string represents a valid duration format.
Checks if the provided string matches the duration format used in SSML for time-based attributes like break time, silence value, fadein/fadeout, etc.
Valid formats:
500ms,1500ms,20000ms1s,2.5s,20s1.5s,750.5msThe regex pattern matches: