refactor(animations): instantiate Set-matching code with values in constructor (#20725)

For some reason, prior to this fix, the boolean set matching
code (within `animation_transition_expr.ts`) failed to remain
the same when compiled with closure. This refactor makes sure
that the code stays in tact.

Reproduction Details:
Passes without `ng build --prod`: https://burger.stackblitz.io/
Fails with `ng build --prod`: http://burger.fxck.cz/

Closes #20374

PR Close #20725
This commit is contained in:
Matias Niemelä 2017-11-30 17:29:12 -08:00 committed by Jason Aden
parent 590d93b30d
commit 661fdcd3e2
1 changed files with 6 additions and 7 deletions

View File

@ -65,13 +65,12 @@ function parseAnimationAlias(alias: string, errors: string[]): string|Transition
} }
} }
const TRUE_BOOLEAN_VALUES = new Set<string>(); // DO NOT REFACTOR ... keep the follow set instantiations
TRUE_BOOLEAN_VALUES.add('true'); // with the values intact (closure compiler for some reason
TRUE_BOOLEAN_VALUES.add('1'); // removes follow-up lines that add the values outside of
// the constructor...
const FALSE_BOOLEAN_VALUES = new Set<string>(); const TRUE_BOOLEAN_VALUES = new Set<string>(['true', '1']);
FALSE_BOOLEAN_VALUES.add('false'); const FALSE_BOOLEAN_VALUES = new Set<string>(['false', '0']);
FALSE_BOOLEAN_VALUES.add('0');
function makeLambdaFromStates(lhs: string, rhs: string): TransitionMatcherFn { function makeLambdaFromStates(lhs: string, rhs: string): TransitionMatcherFn {
const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs); const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);