aboutsummaryrefslogtreecommitdiff
path: root/node_modules/tslint/lib/language/utils.js
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/utils.js
parent5634e77ad96bfe1818f6b6ee70b7379652e5487f (diff)
node_modules
Diffstat (limited to 'node_modules/tslint/lib/language/utils.js')
-rw-r--r--node_modules/tslint/lib/language/utils.js33
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;