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
,20000ms
1s
,2.5s
,20s
1.5s
,750.5ms
The regex pattern matches: