diff --git a/src/angular/metadataReader.ts b/src/angular/metadataReader.ts index 9553df141..06d659e64 100644 --- a/src/angular/metadataReader.ts +++ b/src/angular/metadataReader.ts @@ -97,9 +97,9 @@ export class MetadataReader { const name = nameExpression && isStringLiteralLike(nameExpression) ? nameExpression.text : undefined; const pureExpression = getDecoratorPropertyInitializer(dec, 'pure'); - const isBoolean = pureExpression && isBooleanLiteralLike(pureExpression); + const pure = pureExpression && isBooleanLiteralLike(pureExpression) ? pureExpression : undefined; - return new PipeMetadata(d, dec, name, isBoolean ? (pureExpression as ts.BooleanLiteral) : undefined); + return new PipeMetadata(d, dec, name, pure); } protected readModuleMetadata(d: ts.ClassDeclaration, dec: ts.Decorator): DirectiveMetadata { diff --git a/src/noPipeImpureRule.ts b/src/noPipeImpureRule.ts index 428ca7a48..0d0fca0a1 100644 --- a/src/noPipeImpureRule.ts +++ b/src/noPipeImpureRule.ts @@ -38,8 +38,7 @@ export class ClassMetadataWalker extends NgWalker { } private validatePipe(metadata: PipeMetadata): void { - if (!metadata.pure) return; - if (metadata.pure!.kind !== SyntaxKind.FalseKeyword) return; + if (!metadata.pure || metadata.pure.kind !== SyntaxKind.FalseKeyword) return; const className = getClassName(metadata.controller)!;