22 lines
588 B
JavaScript
22 lines
588 B
JavaScript
|
/**
|
||
|
* Given a absolute or relative time definition and current/prev time state of the sequence,
|
||
|
* calculate an absolute time for the next keyframes.
|
||
|
*/
|
||
|
function calcNextTime(current, next, prev, labels) {
|
||
|
var _a;
|
||
|
if (typeof next === "number") {
|
||
|
return next;
|
||
|
}
|
||
|
else if (next.startsWith("-") || next.startsWith("+")) {
|
||
|
return Math.max(0, current + parseFloat(next));
|
||
|
}
|
||
|
else if (next === "<") {
|
||
|
return prev;
|
||
|
}
|
||
|
else {
|
||
|
return (_a = labels.get(next)) !== null && _a !== void 0 ? _a : current;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export { calcNextTime };
|