From 363723fc84f7b8477592e0105aeb331ec9a017af Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 14 Aug 2017 05:01:11 +0200 Subject: node_modules --- node_modules/tslint/lib/language/utils.js | 33 ++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to 'node_modules/tslint/lib/language/utils.js') 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; /** @@ -222,6 +220,18 @@ function isLoop(node) { || node.kind === ts.SyntaxKind.ForOfStatement; } 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` * @@ -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; -- cgit v1.2.3