瀏覽代碼

added no-conditional-assignment rule and changed files to follow new rule

Patrick O'Carroll 7 年之前
父節點
當前提交
777010b20b

+ 2 - 1
public/app/containers/Explore/utils/dom.ts

@@ -9,7 +9,8 @@ if ('Element' in window && !Element.prototype.closest) {
       i = matches.length;
       // eslint-disable-next-line
       while (--i >= 0 && matches.item(i) !== el) {}
-    } while (i < 0 && (el = el.parentElement));
+      el = el.parentElement;
+    } while (i < 0 && el);
     return el;
   };
 }

+ 2 - 1
public/app/core/components/search/search.ts

@@ -131,7 +131,8 @@ export class SearchCtrl {
 
     const max = flattenedResult.length;
     let newIndex = this.selectedIndex + direction;
-    this.selectedIndex = (newIndex %= max) < 0 ? newIndex + max : newIndex;
+    const something = (newIndex %= max);
+    this.selectedIndex = something < 0 ? newIndex + max : newIndex;
     const selectedItem = flattenedResult[this.selectedIndex];
 
     if (selectedItem.dashboardIndex === undefined && this.results[selectedItem.folderIndex].id === 0) {

+ 3 - 1
public/app/core/directives/rebuild_on_change.ts

@@ -5,14 +5,16 @@ function getBlockNodes(nodes) {
   let node = nodes[0];
   const endNode = nodes[nodes.length - 1];
   let blockNodes;
+  node = node.nextSibling;
 
-  for (let i = 1; node !== endNode && (node = node.nextSibling); i++) {
+  for (let i = 1; node !== endNode && node; i++) {
     if (blockNodes || nodes[i] !== node) {
       if (!blockNodes) {
         blockNodes = $([].slice.call(nodes, 0, i));
       }
       blockNodes.push(node);
     }
+    node = node.nextSibling;
   }
 
   return blockNodes || nodes;

+ 4 - 1
public/app/features/dashboard/upload.ts

@@ -36,10 +36,13 @@ function uploadDashboardDirective(timer, alertSrv, $location) {
           };
         };
 
-        for (let i = 0, f; (f = files[i]); i++) {
+        let i = 0;
+        let f = files[i];
+        for (i; f; i++) {
           const reader = new FileReader();
           reader.onload = readerOnload();
           reader.readAsText(f);
+          f = files[i];
         }
       }
 

+ 6 - 4
public/app/plugins/datasource/graphite/datasource.ts

@@ -218,9 +218,10 @@ export function GraphiteDatasource(this: any, instanceSettings, $q, backendSrv,
     if (matches) {
       const expressions = [];
       const exprRegex = /, *([^,]+)/g;
-      let match;
-      while ((match = exprRegex.exec(matches[2])) !== null) {
+      let match = exprRegex.exec(matches[2]);
+      while (match !== null) {
         expressions.push(match[1]);
+        match = exprRegex.exec(matches[2]);
       }
       options.limit = 10000;
       return this.getTagValuesAutoComplete(expressions, matches[1], undefined, options);
@@ -233,9 +234,10 @@ export function GraphiteDatasource(this: any, instanceSettings, $q, backendSrv,
       if (matches[1]) {
         expressions.push(matches[1]);
         const exprRegex = /, *([^,]+)/g;
-        let match;
-        while ((match = exprRegex.exec(matches[2])) !== null) {
+        let match = exprRegex.exec(matches[2]);
+        while (match !== null) {
           expressions.push(match[1]);
+          match = exprRegex.exec(matches[2]);
         }
       }
       options.limit = 10000;

+ 3 - 2
public/app/plugins/datasource/graphite/lexer.ts

@@ -941,9 +941,10 @@ Lexer.prototype = {
 
   tokenize: function() {
     const list = [];
-    let token;
-    while ((token = this.next())) {
+    let token = this.next();
+    while (token) {
       list.push(token);
+      token = this.next();
     }
     return list;
   },

+ 3 - 2
public/app/plugins/datasource/logging/result_transformer.ts

@@ -26,13 +26,14 @@ export function getSearchMatches(line: string, search: string) {
   }
   const regexp = new RegExp(`(?:${search})`, 'g');
   const matches = [];
-  let match;
-  while ((match = regexp.exec(line))) {
+  let match = regexp.exec(line);
+  while (match) {
     matches.push({
       text: match[0],
       start: match.index,
       length: match[0].length,
     });
+    match = regexp.exec(line);
   }
   return matches;
 }

+ 4 - 2
public/app/plugins/datasource/prometheus/datasource.ts

@@ -55,11 +55,12 @@ export function addLabelToQuery(query: string, key: string, value: string): stri
 
   // Adding label to existing selectors
   const selectorRegexp = /{([^{]*)}/g;
-  let match = null;
+  let match = selectorRegexp.exec(query);
   const parts = [];
   let lastIndex = 0;
   let suffix = '';
-  while ((match = selectorRegexp.exec(query))) {
+
+  while (match) {
     const prefix = query.slice(lastIndex, match.index);
     const selectorParts = match[1].split(',');
     const labels = selectorParts.reduce((acc, label) => {
@@ -77,6 +78,7 @@ export function addLabelToQuery(query: string, key: string, value: string): stri
     lastIndex = match.index + match[1].length + 2;
     suffix = query.slice(match.index + match[0].length);
     parts.push(prefix, '{', selector, '}');
+    match = selectorRegexp.exec(query);
   }
   parts.push(suffix);
   return parts.join('');

+ 1 - 0
tslint.json

@@ -33,6 +33,7 @@
     "no-angle-bracket-type-assertion": true,
     "no-arg": true,
     "no-bitwise": false,
+    "no-conditional-assignment": true,
     "no-console": [true, "debug", "info", "time", "timeEnd", "trace"],
     "no-construct": true,
     "no-debugger": true,