UNPKG

1.14 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var ts = require("typescript");
4var utils = require("tsutils/typeguard/2.8");
5var check_node_1 = require("./shared/check-node");
6var Ignore = require("./shared/ignore");
7// tslint:disable-next-line:variable-name
8exports.Rule = check_node_1.createCheckNodeRule(checkNode, "Using expressions to cause side-effects not allowed.");
9function checkNode(node, ctx) {
10 if (utils.isExpressionStatement(node)) {
11 var children = node.getChildren();
12 var isYield = children.every(function (n) { return n.kind === ts.SyntaxKind.YieldExpression; });
13 var text = node.getText(node.getSourceFile());
14 if (utils.isAwaitExpression(node.expression)) {
15 text = node.expression.expression.getText(node.expression.getSourceFile());
16 }
17 var isIgnored2 = Ignore.isIgnoredPrefix(text, ctx.options.ignorePrefix);
18 if (!isYield && !isIgnored2) {
19 return { invalidNodes: [check_node_1.createInvalidNode(node, [])] };
20 }
21 }
22 return { invalidNodes: [] };
23}
24//# sourceMappingURL=noExpressionStatementRule.js.map
\No newline at end of file