summaryrefslogtreecommitdiff
path: root/deps/node/deps/node-inspect/tools/eslint-rules/no-let-in-for-declaration.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-04-03 15:43:32 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-04-03 15:45:57 +0200
commit71e285b94c7edaa43aa8115965cf5a36b8e0f80a (patch)
tree7d4aa9d0d5aff686b106cd5da72ba77960c4af43 /deps/node/deps/node-inspect/tools/eslint-rules/no-let-in-for-declaration.js
parent7dadf9356b4f3f4137ce982ea5bb960283116e9a (diff)
downloadakono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.tar.gz
akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.tar.bz2
akono-71e285b94c7edaa43aa8115965cf5a36b8e0f80a.zip
Node.js v11.13.0
Diffstat (limited to 'deps/node/deps/node-inspect/tools/eslint-rules/no-let-in-for-declaration.js')
-rw-r--r--deps/node/deps/node-inspect/tools/eslint-rules/no-let-in-for-declaration.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/deps/node/deps/node-inspect/tools/eslint-rules/no-let-in-for-declaration.js b/deps/node/deps/node-inspect/tools/eslint-rules/no-let-in-for-declaration.js
new file mode 100644
index 00000000..8b1a6783
--- /dev/null
+++ b/deps/node/deps/node-inspect/tools/eslint-rules/no-let-in-for-declaration.js
@@ -0,0 +1,46 @@
+/**
+ * @fileoverview Prohibit the use of `let` as the loop variable
+ * in the initialization of for, and the left-hand
+ * iterator in forIn and forOf loops.
+ *
+ * @author Jessica Quynh Tran
+ */
+
+'use strict';
+
+//------------------------------------------------------------------------------
+// Rule Definition
+//------------------------------------------------------------------------------
+
+module.exports = {
+ create(context) {
+
+ const msg = 'Use of `let` as the loop variable in a for-loop is ' +
+ 'not recommended. Please use `var` instead.';
+
+ /**
+ * Report function to test if the for-loop is declared using `let`.
+ */
+ function testForLoop(node) {
+ if (node.init && node.init.kind === 'let') {
+ context.report(node.init, msg);
+ }
+ }
+
+ /**
+ * Report function to test if the for-in or for-of loop
+ * is declared using `let`.
+ */
+ function testForInOfLoop(node) {
+ if (node.left && node.left.kind === 'let') {
+ context.report(node.left, msg);
+ }
+ }
+
+ return {
+ 'ForStatement': testForLoop,
+ 'ForInStatement': testForInOfLoop,
+ 'ForOfStatement': testForInOfLoop
+ };
+ }
+};