From 3052063c050ffed6719deaa700d1550b2f21ad7c Mon Sep 17 00:00:00 2001 From: Tobias Bosch Date: Wed, 4 Oct 2017 10:51:34 -0700 Subject: [PATCH] refactor(compiler): remove stale metadata classes for animations These are no longer needed as animations are a purely runtime concept. --- packages/compiler/src/compile_metadata.ts | 61 ------------------- packages/compiler/src/directive_normalizer.ts | 4 +- .../test/directive_normalizer_spec.ts | 7 +-- .../template_parser/template_parser_spec.ts | 6 +- 4 files changed, 8 insertions(+), 70 deletions(-) diff --git a/packages/compiler/src/compile_metadata.ts b/packages/compiler/src/compile_metadata.ts index 9c62149604..ae7d935af8 100644 --- a/packages/compiler/src/compile_metadata.ts +++ b/packages/compiler/src/compile_metadata.ts @@ -13,71 +13,12 @@ import {LifecycleHooks} from './lifecycle_reflector'; import {CssSelector} from './selector'; import {splitAtColon} from './util'; - - // group 0: "[prop] or (event) or @trigger" // group 1: "prop" from "[prop]" // group 2: "event" from "(event)" // group 3: "@trigger" from "@trigger" const HOST_REG_EXP = /^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/; -export class CompileAnimationEntryMetadata { - constructor( - public name: string|null = null, - public definitions: CompileAnimationStateMetadata[]|null = null) {} -} - -export abstract class CompileAnimationStateMetadata {} - -export class CompileAnimationStateDeclarationMetadata extends CompileAnimationStateMetadata { - constructor(public stateNameExpr: string, public styles: CompileAnimationStyleMetadata) { - super(); - } -} - -export class CompileAnimationStateTransitionMetadata extends CompileAnimationStateMetadata { - constructor( - public stateChangeExpr: string|StaticSymbol|((stateA: string, stateB: string) => boolean), - public steps: CompileAnimationMetadata) { - super(); - } -} - -export abstract class CompileAnimationMetadata {} - -export class CompileAnimationKeyframesSequenceMetadata extends CompileAnimationMetadata { - constructor(public steps: CompileAnimationStyleMetadata[] = []) { super(); } -} - -export class CompileAnimationStyleMetadata extends CompileAnimationMetadata { - constructor( - public offset: number, - public styles: Array|null = null) { - super(); - } -} - -export class CompileAnimationAnimateMetadata extends CompileAnimationMetadata { - constructor( - public timings: string|number = 0, public styles: CompileAnimationStyleMetadata| - CompileAnimationKeyframesSequenceMetadata|null = null) { - super(); - } -} - -export abstract class CompileAnimationWithStepsMetadata extends CompileAnimationMetadata { - constructor(public steps: CompileAnimationMetadata[]|null = null) { super(); } -} - -export class CompileAnimationSequenceMetadata extends CompileAnimationWithStepsMetadata { - constructor(steps: CompileAnimationMetadata[]|null = null) { super(steps); } -} - -export class CompileAnimationGroupMetadata extends CompileAnimationWithStepsMetadata { - constructor(steps: CompileAnimationMetadata[]|null = null) { super(steps); } -} - - function _sanitizeIdentifier(name: string): string { return name.replace(/\W/g, '_'); } @@ -233,7 +174,6 @@ export class CompileStylesheetMetadata { * Summary Metadata regarding compilation of a template. */ export interface CompileTemplateSummary { - animations: string[]|null; ngContentSelectors: string[]; encapsulation: ViewEncapsulation|null; } @@ -285,7 +225,6 @@ export class CompileTemplateMetadata { toSummary(): CompileTemplateSummary { return { - animations: this.animations.map(anim => anim.name), ngContentSelectors: this.ngContentSelectors, encapsulation: this.encapsulation, }; diff --git a/packages/compiler/src/directive_normalizer.ts b/packages/compiler/src/directive_normalizer.ts index 299263feeb..c20dd26441 100644 --- a/packages/compiler/src/directive_normalizer.ts +++ b/packages/compiler/src/directive_normalizer.ts @@ -8,7 +8,7 @@ import {ViewEncapsulation, ɵstringify as stringify} from '@angular/core'; -import {CompileAnimationEntryMetadata, CompileDirectiveMetadata, CompileStylesheetMetadata, CompileTemplateMetadata, templateSourceUrl} from './compile_metadata'; +import {CompileDirectiveMetadata, CompileStylesheetMetadata, CompileTemplateMetadata, templateSourceUrl} from './compile_metadata'; import {CompilerConfig, preserveWhitespacesDefault} from './config'; import {CompilerInjectable} from './injectable'; import * as html from './ml_parser/ast'; @@ -30,7 +30,7 @@ export interface PrenormalizedTemplateMetadata { styleUrls: string[]; interpolation: [string, string]|null; encapsulation: ViewEncapsulation|null; - animations: CompileAnimationEntryMetadata[]; + animations: any[]; preserveWhitespaces: boolean|null; } diff --git a/packages/compiler/test/directive_normalizer_spec.ts b/packages/compiler/test/directive_normalizer_spec.ts index eacce45c0d..02d3c60f0c 100644 --- a/packages/compiler/test/directive_normalizer_spec.ts +++ b/packages/compiler/test/directive_normalizer_spec.ts @@ -5,7 +5,6 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import {CompileAnimationEntryMetadata} from '@angular/compiler'; import {CompileStylesheetMetadata, CompileTemplateMetadata} from '@angular/compiler/src/compile_metadata'; import {CompilerConfig, preserveWhitespacesDefault} from '@angular/compiler/src/config'; import {DirectiveNormalizer} from '@angular/compiler/src/directive_normalizer'; @@ -30,7 +29,7 @@ function normalizeTemplate(normalizer: DirectiveNormalizer, o: { styleUrls?: string[]; interpolation?: [string, string] | null; encapsulation?: ViewEncapsulation | null; - animations?: CompileAnimationEntryMetadata[]; + animations?: any[]; preserveWhitespaces?: boolean | null; }) { return normalizer.normalizeTemplate({ @@ -55,7 +54,7 @@ function normalizeTemplateOnly(normalizer: DirectiveNormalizer, o: { styleUrls?: string[]; interpolation?: [string, string] | null; encapsulation?: ViewEncapsulation | null; - animations?: CompileAnimationEntryMetadata[]; + animations?: any[]; preserveWhitespaces?: boolean | null; }) { return normalizer.normalizeTemplateOnly({ @@ -111,7 +110,7 @@ function normalizeLoadedTemplate( styleUrls?: string[]; interpolation?: [string, string] | null; encapsulation?: ViewEncapsulation | null; - animations?: CompileAnimationEntryMetadata[]; + animations?: any[]; preserveWhitespaces?: boolean; }, template: string, templateAbsUrl: string) { diff --git a/packages/compiler/test/template_parser/template_parser_spec.ts b/packages/compiler/test/template_parser/template_parser_spec.ts index 9e89b0b131..c07e774bd2 100644 --- a/packages/compiler/test/template_parser/template_parser_spec.ts +++ b/packages/compiler/test/template_parser/template_parser_spec.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ import {CompileQueryMetadata, CompilerConfig, JitReflector, ProxyClass, StaticSymbol, preserveWhitespacesDefault} from '@angular/compiler'; -import {CompileAnimationEntryMetadata, CompileDiDependencyMetadata, CompileDirectiveMetadata, CompileDirectiveSummary, CompilePipeMetadata, CompilePipeSummary, CompileProviderMetadata, CompileTemplateMetadata, CompileTokenMetadata, CompileTypeMetadata, tokenReference} from '@angular/compiler/src/compile_metadata'; +import {CompileDiDependencyMetadata, CompileDirectiveMetadata, CompileDirectiveSummary, CompilePipeMetadata, CompilePipeSummary, CompileProviderMetadata, CompileTemplateMetadata, CompileTokenMetadata, CompileTypeMetadata, tokenReference} from '@angular/compiler/src/compile_metadata'; import {DomElementSchemaRegistry} from '@angular/compiler/src/schema/dom_element_schema_registry'; import {ElementSchemaRegistry} from '@angular/compiler/src/schema/element_schema_registry'; import {AttrAst, BoundDirectivePropertyAst, BoundElementPropertyAst, BoundEventAst, BoundTextAst, DirectiveAst, ElementAst, EmbeddedTemplateAst, NgContentAst, PropertyBindingType, ProviderAstType, ReferenceAst, TemplateAst, TemplateAstVisitor, TextAst, VariableAst, templateVisitAll} from '@angular/compiler/src/template_parser/template_ast'; @@ -132,7 +132,7 @@ export function main() { }); beforeEach(inject([TemplateParser], (parser: TemplateParser) => { - const someAnimation = new CompileAnimationEntryMetadata('someAnimation', []); + const someAnimation = ['someAnimation']; const someTemplate = compileTemplateMetadata({animations: [someAnimation]}); const component = compileDirectiveMetadataCreate({ isHost: false, @@ -575,7 +575,7 @@ Binding to attribute 'onEvent' is disallowed for security reasons (" { - const animationEntries = [new CompileAnimationEntryMetadata('prop', [])]; + const animationEntries = ['prop']; const dirA = compileDirectiveMetadataCreate({ selector: 'div', template: compileTemplateMetadata({animations: animationEntries}),