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/utils.js | |
parent | 5634e77ad96bfe1818f6b6ee70b7379652e5487f (diff) |
node_modules
Diffstat (limited to 'node_modules/tslint/lib/language/utils.js')
-rw-r--r-- | node_modules/tslint/lib/language/utils.js | 33 |
1 files changed, 30 insertions, 3 deletions
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; |