fix(animations): handle structured AnimateTimings (#31107)

This commit makes sure structured AnimateTimings are not procesed any further when building the AST.

Fixes: #22752

PR Close #31107
This commit is contained in:
Christoph Guttandin
2019-06-18 16:50:59 +02:00
committed by Andrew Kushnir
parent 035ba83b16
commit 29d3891782
@@ -561,10 +561,11 @@ function consumeOffset(styles: OffsetStyles|Array<OffsetStyles>): number|null {
}
function constructTimingAst(value: string|number|AnimateTimings, errors: Error[]) {
let timings: AnimateTimings|null = null;
if (value.hasOwnProperty('duration')) {
timings = value as AnimateTimings;
} else if (typeof value == 'number') {
return value as AnimateTimings;
}
if (typeof value == 'number') {
const duration = resolveTiming(value, errors).duration;
return makeTimingAst(duration, 0, '');
}
@@ -578,7 +579,7 @@ function constructTimingAst(value: string|number|AnimateTimings, errors: Error[]
return ast as DynamicTimingAst;
}
timings = timings || resolveTiming(strValue, errors);
const timings = resolveTiming(strValue, errors);
return makeTimingAst(timings.duration, timings.delay, timings.easing);
}