aboutsummaryrefslogtreecommitdiff
path: root/node_modules/tslint/lib/language
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-08-14 05:01:11 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-08-14 05:02:09 +0200
commit363723fc84f7b8477592e0105aeb331ec9a017af (patch)
tree29f92724f34131bac64d6a318dd7e30612e631c7 /node_modules/tslint/lib/language
parent5634e77ad96bfe1818f6b6ee70b7379652e5487f (diff)
node_modules
Diffstat (limited to 'node_modules/tslint/lib/language')
-rw-r--r--node_modules/tslint/lib/language/rule/rule.d.ts2
-rw-r--r--node_modules/tslint/lib/language/rule/typedRule.js6
-rw-r--r--node_modules/tslint/lib/language/utils.d.ts10
-rw-r--r--node_modules/tslint/lib/language/utils.js33
-rw-r--r--node_modules/tslint/lib/language/walker/index.js18
-rw-r--r--node_modules/tslint/lib/language/walker/syntaxWalker.d.ts1
-rw-r--r--node_modules/tslint/lib/language/walker/syntaxWalker.js7
-rw-r--r--node_modules/tslint/lib/language/walker/walker.d.ts1
8 files changed, 60 insertions, 18 deletions
diff --git a/node_modules/tslint/lib/language/rule/rule.d.ts b/node_modules/tslint/lib/language/rule/rule.d.ts
index e432ce375..1004bdc6b 100644
--- a/node_modules/tslint/lib/language/rule/rule.d.ts
+++ b/node_modules/tslint/lib/language/rule/rule.d.ts
@@ -161,7 +161,7 @@ export declare class RuleFailure {
private endPosition;
private rawLines;
private ruleSeverity;
- constructor(sourceFile: ts.SourceFile, start: number, end: number, failure: string, ruleName: string, fix?: Fix);
+ constructor(sourceFile: ts.SourceFile, start: number, end: number, failure: string, ruleName: string, fix?: Replacement | Replacement[] | undefined);
getFileName(): string;
getRuleName(): string;
getStartPosition(): RuleFailurePosition;
diff --git a/node_modules/tslint/lib/language/rule/typedRule.js b/node_modules/tslint/lib/language/rule/typedRule.js
index 45a2fb30d..e713dcdbb 100644
--- a/node_modules/tslint/lib/language/rule/typedRule.js
+++ b/node_modules/tslint/lib/language/rule/typedRule.js
@@ -17,6 +17,7 @@
*/
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
+var error_1 = require("../../error");
var abstractRule_1 = require("./abstractRule");
var TypedRule = (function (_super) {
tslib_1.__extends(TypedRule, _super);
@@ -24,8 +25,9 @@ var TypedRule = (function (_super) {
return _super !== null && _super.apply(this, arguments) || this;
}
TypedRule.prototype.apply = function () {
- // if no program is given to the linter, throw an error
- throw new Error("The '" + this.ruleName + "' rule requires type checking");
+ // if no program is given to the linter, show an error
+ error_1.showWarningOnce("Warning: The '" + this.ruleName + "' rule requires type information.");
+ return [];
};
return TypedRule;
}(abstractRule_1.AbstractRule));
diff --git a/node_modules/tslint/lib/language/utils.d.ts b/node_modules/tslint/lib/language/utils.d.ts
index a8ccc2be1..dc8cfc444 100644
--- a/node_modules/tslint/lib/language/utils.d.ts
+++ b/node_modules/tslint/lib/language/utils.d.ts
@@ -58,6 +58,10 @@ export declare function unwrapParentheses(node: ts.Expression): ts.Expression;
export declare function isScopeBoundary(node: ts.Node): boolean;
export declare function isBlockScopeBoundary(node: ts.Node): boolean;
export declare function isLoop(node: ts.Node): node is ts.IterationStatement;
+/**
+ * @returns Whether node is a numeric expression.
+ */
+export declare function isNumeric(node: ts.Expression): boolean;
export interface TokenPosition {
/** The start of the token including all trivia before it */
fullStart: number;
@@ -95,3 +99,9 @@ export interface EqualsKind {
isStrict: boolean;
}
export declare function getEqualsKind(node: ts.BinaryOperatorToken): EqualsKind | undefined;
+export declare function isStrictNullChecksEnabled(options: ts.CompilerOptions): boolean;
+export declare function isNegativeNumberLiteral(node: ts.Node): node is ts.PrefixUnaryExpression & {
+ operand: ts.NumericLiteral;
+};
+/** Wrapper for compatibility with typescript@<2.3.1 */
+export declare function isWhiteSpace(ch: number): boolean;
diff --git a/node_modules/tslint/lib/language/utils.js b/node_modules/tslint/lib/language/utils.js
index 4f1fa52cf..30983ec6b 100644
--- a/node_modules/tslint/lib/language/utils.js
+++ b/node_modules/tslint/lib/language/utils.js
@@ -44,9 +44,7 @@ function hasModifier(modifiers) {
if (modifiers === undefined || modifierKinds.length === 0) {
return false;
}
- return modifiers.some(function (m) {
- return modifierKinds.some(function (k) { return m.kind === k; });
- });
+ return modifiers.some(function (m) { return modifierKinds.some(function (k) { return m.kind === k; }); });
}
exports.hasModifier = hasModifier;
/**
@@ -223,6 +221,18 @@ function isLoop(node) {
}
exports.isLoop = isLoop;
/**
+ * @returns Whether node is a numeric expression.
+ */
+function isNumeric(node) {
+ while (tsutils_1.isPrefixUnaryExpression(node) &&
+ (node.operator === ts.SyntaxKind.PlusToken || node.operator === ts.SyntaxKind.MinusToken)) {
+ node = node.operand;
+ }
+ return node.kind === ts.SyntaxKind.NumericLiteral ||
+ tsutils_1.isIdentifier(node) && (node.text === "NaN" || node.text === "Infinity");
+}
+exports.isNumeric = isNumeric;
+/**
* Iterate over all tokens of `node`
*
* @description JsDoc comments are treated like regular comments and only visited if `skipTrivia` === false.
@@ -400,3 +410,20 @@ function getEqualsKind(node) {
}
}
exports.getEqualsKind = getEqualsKind;
+function isStrictNullChecksEnabled(options) {
+ return options.strictNullChecks === true ||
+ (options.strict === true && options.strictNullChecks !== false);
+}
+exports.isStrictNullChecksEnabled = isStrictNullChecksEnabled;
+function isNegativeNumberLiteral(node) {
+ return tsutils_1.isPrefixUnaryExpression(node) &&
+ node.operator === ts.SyntaxKind.MinusToken &&
+ node.operand.kind === ts.SyntaxKind.NumericLiteral;
+}
+exports.isNegativeNumberLiteral = isNegativeNumberLiteral;
+/** Wrapper for compatibility with typescript@<2.3.1 */
+function isWhiteSpace(ch) {
+ // tslint:disable-next-line
+ return (ts.isWhiteSpaceLike || ts.isWhiteSpace)(ch);
+}
+exports.isWhiteSpace = isWhiteSpace;
diff --git a/node_modules/tslint/lib/language/walker/index.js b/node_modules/tslint/lib/language/walker/index.js
index c5bcb1b22..d4388e27d 100644
--- a/node_modules/tslint/lib/language/walker/index.js
+++ b/node_modules/tslint/lib/language/walker/index.js
@@ -15,14 +15,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
-}
Object.defineProperty(exports, "__esModule", { value: true });
-__export(require("./blockScopeAwareRuleWalker"));
-__export(require("./programAwareRuleWalker"));
-__export(require("./ruleWalker"));
-__export(require("./scopeAwareRuleWalker"));
-__export(require("./syntaxWalker"));
-__export(require("./walkContext"));
-__export(require("./walker"));
+var tslib_1 = require("tslib");
+tslib_1.__exportStar(require("./blockScopeAwareRuleWalker"), exports);
+tslib_1.__exportStar(require("./programAwareRuleWalker"), exports);
+tslib_1.__exportStar(require("./ruleWalker"), exports);
+tslib_1.__exportStar(require("./scopeAwareRuleWalker"), exports);
+tslib_1.__exportStar(require("./syntaxWalker"), exports);
+tslib_1.__exportStar(require("./walkContext"), exports);
+tslib_1.__exportStar(require("./walker"), exports);
diff --git a/node_modules/tslint/lib/language/walker/syntaxWalker.d.ts b/node_modules/tslint/lib/language/walker/syntaxWalker.d.ts
index a676a9de7..8cc39ef61 100644
--- a/node_modules/tslint/lib/language/walker/syntaxWalker.d.ts
+++ b/node_modules/tslint/lib/language/walker/syntaxWalker.d.ts
@@ -43,6 +43,7 @@ export declare class SyntaxWalker {
protected visitElementAccessExpression(node: ts.ElementAccessExpression): void;
protected visitEndOfFileToken(node: ts.Node): void;
protected visitEnumDeclaration(node: ts.EnumDeclaration): void;
+ protected visitEnumMember(node: ts.EnumMember): void;
protected visitExportAssignment(node: ts.ExportAssignment): void;
protected visitExpressionStatement(node: ts.ExpressionStatement): void;
protected visitForStatement(node: ts.ForStatement): void;
diff --git a/node_modules/tslint/lib/language/walker/syntaxWalker.js b/node_modules/tslint/lib/language/walker/syntaxWalker.js
index 2b800fc61..de69e4524 100644
--- a/node_modules/tslint/lib/language/walker/syntaxWalker.js
+++ b/node_modules/tslint/lib/language/walker/syntaxWalker.js
@@ -101,6 +101,9 @@ var SyntaxWalker = (function () {
SyntaxWalker.prototype.visitEnumDeclaration = function (node) {
this.walkChildren(node);
};
+ SyntaxWalker.prototype.visitEnumMember = function (node) {
+ this.walkChildren(node);
+ };
SyntaxWalker.prototype.visitExportAssignment = function (node) {
this.walkChildren(node);
};
@@ -349,6 +352,9 @@ var SyntaxWalker = (function () {
case ts.SyntaxKind.EnumDeclaration:
this.visitEnumDeclaration(node);
break;
+ case ts.SyntaxKind.EnumMember:
+ this.visitEnumMember(node);
+ break;
case ts.SyntaxKind.ExportAssignment:
this.visitExportAssignment(node);
break;
@@ -522,7 +528,6 @@ var SyntaxWalker = (function () {
break;
default:
this.walkChildren(node);
- break;
}
};
SyntaxWalker.prototype.walkChildren = function (node) {
diff --git a/node_modules/tslint/lib/language/walker/walker.d.ts b/node_modules/tslint/lib/language/walker/walker.d.ts
index dee30ece4..f08b06e75 100644
--- a/node_modules/tslint/lib/language/walker/walker.d.ts
+++ b/node_modules/tslint/lib/language/walker/walker.d.ts
@@ -17,7 +17,6 @@
import * as ts from "typescript";
import { RuleFailure } from "../rule/rule";
import { WalkContext } from "./walkContext";
-import { IWalker } from "./walker";
export interface IWalker {
getSourceFile(): ts.SourceFile;
walk(sourceFile: ts.SourceFile): void;