23 lines
649 B
TypeScript
23 lines
649 B
TypeScript
const MINIMUM_MAX_DURATION = 5;
|
|
const MAXIMUM_MAX_DURATION = 2_147_483_647; // largest 32-bit signed integer
|
|
|
|
export function clampMaxDuration(maxDuration: number): number {
|
|
return Math.min(Math.max(maxDuration, MINIMUM_MAX_DURATION), MAXIMUM_MAX_DURATION);
|
|
}
|
|
|
|
export function getMaxDuration(
|
|
maxDuration?: number | null,
|
|
defaultMaxDuration?: number | null
|
|
): number | undefined {
|
|
if (!maxDuration) {
|
|
return defaultMaxDuration ?? undefined;
|
|
}
|
|
|
|
// Setting the maxDuration to MAXIMUM_MAX_DURATION means we don't want to use the default maxDuration
|
|
if (maxDuration === MAXIMUM_MAX_DURATION) {
|
|
return;
|
|
}
|
|
|
|
return maxDuration;
|
|
}
|