diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-08-14 05:01:11 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-08-14 05:02:09 +0200 |
commit | 363723fc84f7b8477592e0105aeb331ec9a017af (patch) | |
tree | 29f92724f34131bac64d6a318dd7e30612e631c7 /node_modules/tslint/lib/language | |
parent | 5634e77ad96bfe1818f6b6ee70b7379652e5487f (diff) |
node_modules
Diffstat (limited to 'node_modules/tslint/lib/language')
-rw-r--r-- | node_modules/tslint/lib/language/rule/rule.d.ts | 2 | ||||
-rw-r--r-- | node_modules/tslint/lib/language/rule/typedRule.js | 6 | ||||
-rw-r--r-- | node_modules/tslint/lib/language/utils.d.ts | 10 | ||||
-rw-r--r-- | node_modules/tslint/lib/language/utils.js | 33 | ||||
-rw-r--r-- | node_modules/tslint/lib/language/walker/index.js | 18 | ||||
-rw-r--r-- | node_modules/tslint/lib/language/walker/syntaxWalker.d.ts | 1 | ||||
-rw-r--r-- | node_modules/tslint/lib/language/walker/syntaxWalker.js | 7 | ||||
-rw-r--r-- | node_modules/tslint/lib/language/walker/walker.d.ts | 1 |
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; |