Skip to content

Commit a75c204

Browse files
mattlewis92mgechev
authored andcommitted
fix(allow-template-call-expression): allow $any in expressions (#735)
1 parent 0ed079f commit a75c204

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/noTemplateCallExpressionRule.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,18 @@ class TemplateVisitor extends BasicTemplateAstVisitor {
3333
}
3434

3535
class ExpressionVisitor extends RecursiveAngularExpressionVisitor {
36+
private allowedMethodNames = ['$any'];
37+
3638
visitFunctionCall(node: e.FunctionCall, context: any) {
3739
this.addFailureFromStartToEnd(node.span.start, node.span.end, Rule.FAILURE_STRING);
3840

3941
super.visitFunctionCall(node, context);
4042
}
4143

4244
visitMethodCall(node: e.MethodCall, context: any) {
43-
this.addFailureFromStartToEnd(node.span.start, node.span.end, Rule.FAILURE_STRING);
45+
if (this.allowedMethodNames.indexOf(node.name) === -1) {
46+
this.addFailureFromStartToEnd(node.span.start, node.span.end, Rule.FAILURE_STRING);
47+
}
4448

4549
super.visitMethodCall(node, context);
4650
}

test/noTemplateCallExpressionRule.spec.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,16 @@ describe('no-template-call-expression', () => {
2121
`;
2222
assertSuccess('no-template-call-expression', source);
2323
});
24+
25+
it('should allow $any to wrap unknown variables', () => {
26+
let source = `
27+
@Component({
28+
template: '{{$any(info)}}'
29+
})
30+
class Bar {}
31+
`;
32+
assertSuccess('no-template-call-expression', source);
33+
});
2434
});
2535

2636
describe('failure', () => {

0 commit comments

Comments
 (0)