TargetProcess/tauCharts

View on GitHub
src/utils/utils.ts

Summary

Maintainability
F
4 days
Test Coverage

File utils.ts has 703 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import * as d3Array from 'd3-array';
import * as d3Scale from 'd3-scale';
const d3 = {
    ...d3Array,
    ...d3Scale,
Severity: Major
Found in src/utils/utils.ts - About 1 day to fix

    Function deepClone has a Cognitive Complexity of 37 (exceeds 5 allowed). Consider refactoring.
    Open

    var deepClone = (function () {
    
        // clone objects, skip other types.
        function clone(target) {
            if (typeof target == 'object') {
    Severity: Minor
    Found in src/utils/utils.ts - About 5 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function deepClone has 136 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    var deepClone = (function () {
    
        // clone objects, skip other types.
        function clone(target) {
            if (typeof target == 'object') {
    Severity: Major
    Found in src/utils/utils.ts - About 5 hrs to fix

      Function template has 42 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          export function template(text: string, settings?, oldSettings?): (data?) => string {
              if (!settings && oldSettings) {
                  settings = oldSettings;
              }
              settings = defaults({}, settings, templateSettings);
      Severity: Minor
      Found in src/utils/utils.ts - About 1 hr to fix

        Function generateRatioFunction has 42 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            export function generateRatioFunction(dimPropName: string, paramsList: string[], chartInstanceRef: Plot) {
        
                var unify = (v) => isDate(v) ? v.getTime() : v;
        
                var dataNewSnap = 0;
        Severity: Minor
        Found in src/utils/utils.ts - About 1 hr to fix

          Function niceZeroBased has 42 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              export function niceZeroBased(domain: number[]) {
          
                  var m = 10;
          
                  var low = parseFloat(Math.min(...domain).toFixed(15));
          Severity: Minor
          Found in src/utils/utils.ts - About 1 hr to fix

            Function xml has 37 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

            export function xml(tag: string) {
                var childrenArgIndex = 2;
                var attrs = arguments[1];
                if (typeof arguments[1] !== 'object' || Array.isArray(arguments[1])) {
                    childrenArgIndex = 1;
            Severity: Minor
            Found in src/utils/utils.ts - About 1 hr to fix

              Function niceZeroBased has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
              Open

                  export function niceZeroBased(domain: number[]) {
              
                      var m = 10;
              
                      var low = parseFloat(Math.min(...domain).toFixed(15));
              Severity: Minor
              Found in src/utils/utils.ts - About 1 hr to fix

              Cognitive Complexity

              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

              A method's cognitive complexity is based on a few simple rules:

              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
              • Code is considered more complex for each "break in the linear flow of the code"
              • Code is considered more complex when "flow breaking structures are nested"

              Further reading

              Function defaults has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
              Open

                  export function defaults<T>(obj: T, ...defaultObjs: T[]): T {
                      var length = defaultObjs.length;
                      if (length === 0 || !obj) {
                          return obj;
                      }
              Severity: Minor
              Found in src/utils/utils.ts - About 55 mins to fix

              Cognitive Complexity

              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

              A method's cognitive complexity is based on a few simple rules:

              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
              • Code is considered more complex for each "break in the linear flow of the code"
              • Code is considered more complex when "flow breaking structures are nested"

              Further reading

              Function xml has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
              Open

              export function xml(tag: string) {
                  var childrenArgIndex = 2;
                  var attrs = arguments[1];
                  if (typeof arguments[1] !== 'object' || Array.isArray(arguments[1])) {
                      childrenArgIndex = 1;
              Severity: Minor
              Found in src/utils/utils.ts - About 25 mins to fix

              Cognitive Complexity

              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

              A method's cognitive complexity is based on a few simple rules:

              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
              • Code is considered more complex for each "break in the linear flow of the code"
              • Code is considered more complex when "flow breaking structures are nested"

              Further reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

              export function traverseSpec(
                  root: Unit,
                  enterFn: (node: Unit, level?: number) => any,
                  exitFn: (node: Unit, level?: number) => any,
                  level = 0
              Severity: Major
              Found in src/utils/utils.ts and 1 other location - About 1 hr to fix
              src/spec-transform-apply-ratio.ts on lines 49..63

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 66.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                      if (top > 0) {
                          var koeffTop = (deltaTop >= limit) ? -deltaTop : 0;
                          extent[1] = extent[1] + koeffTop;
                      }
              Severity: Minor
              Found in src/utils/utils.ts and 1 other location - About 40 mins to fix
              src/utils/utils.ts on lines 373..376

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 49.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                      if (low < 0) {
                          var koeffLow = (deltaLow >= limit) ? -deltaLow : 0;
                          extent[0] = (extent[0] - koeffLow);
                      }
              Severity: Minor
              Found in src/utils/utils.ts and 1 other location - About 40 mins to fix
              src/utils/utils.ts on lines 378..381

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 49.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Don't use 'Object' as a type. Avoid using the Object type. Did you mean object?
              Open

                  export function pick(object: Object, ...props: string[]): Object {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: ban-types

              Bans specific types from being used. Does not ban the corresponding runtime objects from being used.

              Notes
              • TypeScript Only

              Config

              A list of ["regex", "optional explanation here"], which bans types that match regex

              Examples
              "ban-types": true,Object,Use {} instead.,String
              Schema
              {
                "type": "list",
                "listType": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "minLength": 1,
                  "maxLength": 2
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var span = (+top - +low);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var curr = {e: eventType, ts: Date.now()};
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var diff = ((last.e && (last.e === curr.e)) ? (curr.ts - last.ts) : (limitFromPrev));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Don't use 'Object' as a type. Avoid using the Object type. Did you mean object?
              Open

                  export function pick(object: Object, ...props: string[]): Object {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: ban-types

              Bans specific types from being used. Does not ban the corresponding runtime objects from being used.

              Notes
              • TypeScript Only

              Config

              A list of ["regex", "optional explanation here"], which bans types that match regex

              Examples
              "ban-types": true,Object,Use {} instead.,String
              Schema
              {
                "type": "list",
                "listType": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "minLength": 1,
                  "maxLength": 2
                }
              }

              For more information see this page.

              Shadowed name: 'deepCopy'
              Open

                      populate: function (deepCopy, source, result) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Shadowed name: 'source'
              Open

                      getCachedResult: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var length = copiedObjects.length;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var err = m / span * step;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var koeffLow = (deltaLow >= limit) ? -deltaLow : 0;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var pad = 0;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var direction = angle === 90 ? -1 : 1;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var cachedResult = this.getCachedResult(source);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          for (var key in source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

              var noMatch = /(.)^/;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var dataNewSnap = 0;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var facetSize = varSet.length;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var tickPxSize = (size - (facetSize * pad)) / totalItems;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var hash = {};
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Type assertion using the '<>' syntax is forbidden. Use the 'as' syntax instead.
              Open

                  (<any>deepCopy).register = function (deepCopier) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-angle-bracket-type-assertion

              Requires the use of as Type for type assertions instead of <Type>.

              Rationale

              Both formats of type assertions have the same effect, but only as type assertions work in .tsx files. This rule ensures that you have a consistent type assertion style across your codebase.

              Notes
              • TypeScript Only
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-angle-bracket-type-assertion": true

              For more information see this page.

              Type assertion using the '<>' syntax is forbidden. Use the 'as' syntax instead.
              Open

                  (<any>deepCopy).register({
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-angle-bracket-type-assertion

              Requires the use of as Type for type assertions instead of <Type>.

              Rationale

              Both formats of type assertions have the same effect, but only as type assertions work in .tsx files. This rule ensures that you have a consistent type assertion style across your codebase.

              Notes
              • TypeScript Only
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-angle-bracket-type-assertion": true

              For more information see this page.

              Type assertion using the '<>' syntax is forbidden. Use the 'as' syntax instead.
              Open

                          return (<any>obj) as NextObj<K>;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-angle-bracket-type-assertion

              Requires the use of as Type for type assertions instead of <Type>.

              Rationale

              Both formats of type assertions have the same effect, but only as type assertions work in .tsx files. This rule ensures that you have a consistent type assertion style across your codebase.

              Notes
              • TypeScript Only
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-angle-bracket-type-assertion": true

              For more information see this page.

              block is empty
              Open

                      while (err > correction[++i][0]) {
                      }// jscs:ignore disallowEmptyBlocks
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-empty

              Disallows empty blocks.

              Blocks with a comment inside are not considered empty.

              Rationale

              Empty blocks are often indicators of missing code.

              Config

              If allow-empty-catch is specified, then catch blocks are allowed to be empty. If allow-empty-functions is specified, then function definitions are allowed to be empty.

              Examples
              "no-empty": true
              "no-empty": true,allow-empty-catch
              "no-empty": true,allow-empty-functions
              "no-empty": true,allow-empty-catch,allow-empty-functions
              Schema
              {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "allow-empty-catch"
                      ]
                    },
                    {
                      "type": "string",
                      "enum": [
                        "allow-empty-functions"
                      ]
                    }
                  ]
                }
              }

              For more information see this page.

              Shadowed name: 'source'
              Open

                      canCopy: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                  var shouldContinue = enterFn(root, level);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                              var deepCopier = deepCopiers[i];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var top = parseFloat(Math.max(...domain).toFixed(15));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var frameRequested = false;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var max = domain[1];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Type assertion using the '<>' syntax is forbidden. Use the 'as' syntax instead.
              Open

                  (<any>deepCopy).register({
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-angle-bracket-type-assertion

              Requires the use of as Type for type assertions instead of <Type>.

              Rationale

              Both formats of type assertions have the same effect, but only as type assertions work in .tsx files. This rule ensures that you have a consistent type assertion style across your codebase.

              Notes
              • TypeScript Only
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-angle-bracket-type-assertion": true

              For more information see this page.

              Shadowed name: 'source'
              Open

                      create: function (source) { // eslint-disable-line
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var deepCopyAlgorithm = new DeepCopyAlgorithm();
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var [niceLow, niceTop] = d3TimeScale().domain([low, top]).nice(niceIntervalFn).domain();
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                  var hashGen = 0;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Shadowed name: 'source'
              Open

                          var source = defaultObjs[index],
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var totalItems = xTotal(paramsList);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Shadowed name: 'memoize'
              Open

                      const memoize = <any>function (key) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      for (var key in config) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          for (var i = 0; i < source.length; i++) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var koeffTop = (deltaTop >= limit) ? -deltaTop : 0;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              for (... in ...) statements must be filtered with an if statement
              Open

                      for (var key in config) {
                          this[key] = config[key];
                      }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: forin

              Requires a for ... in statement to be filtered with an if statement.

              Rationale
              for (let key in someObject) {
                  if (someObject.hasOwnProperty(key)) {
                      // code here
                  }
              }

              Prevents accidental iteration over properties inherited from an object's prototype. See MDN's for...in documentation for more information about for...in loops.

              Also consider using a Map or Set if you're storing collections of objects. Using Objects can cause occasional edge case bugs, such as if a key is named "hasOwnProperty".

              Config

              Not configurable.

              Examples
              "forin": true

              For more information see this page.

              Type assertion using the '<>' syntax is forbidden. Use the 'as' syntax instead.
              Open

                      const memoize = <any>function (key) {
                          const cache = memoize.cache;
                          const address = String(hasher ? hasher.apply(this, arguments) : key);
                          if (!cache.hasOwnProperty(address)) {
                              cache[address] = func.apply(this, arguments);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-angle-bracket-type-assertion

              Requires the use of as Type for type assertions instead of <Type>.

              Rationale

              Both formats of type assertions have the same effect, but only as type assertions work in .tsx files. This rule ensures that you have a consistent type assertion style across your codebase.

              Notes
              • TypeScript Only
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-angle-bracket-type-assertion": true

              For more information see this page.

              Shadowed name: 'source'
              Open

                      cacheResult: function (source, result) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var extent = [low, top];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var i = -1;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var unify = (v) => isDate(v) ? v.getTime() : v;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var hasher = func || ((x) => String(x));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Shadowed name: 'source'
              Open

                      populate: function (deepCopyAlgorithm, source, result) { // eslint-disable-line
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                                      var k = t[0];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Shadowed name: 'deepCopy'
              Open

                      populate: function (deepCopy, source, result) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Shadowed name: 'source'
              Open

                      create: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          for (var i = 0; i < deepCopiers.length; i++) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var m = 10;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var chartSpec = chartInstanceRef.getSpec();
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var xTotal = (keys: string[]) => {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var len = array.length;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Type assertion using the '<>' syntax is forbidden. Use the 'as' syntax instead.
              Open

                  (<any>deepCopy).deepCopiers = deepCopiers;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-angle-bracket-type-assertion

              Requires the use of as Type for type assertions instead of <Type>.

              Rationale

              Both formats of type assertions have the same effect, but only as type assertions work in .tsx files. This rule ensures that you have a consistent type assertion style across your codebase.

              Notes
              • TypeScript Only
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-angle-bracket-type-assertion": true

              For more information see this page.

              Shadowed name: 'source'
              Open

                      canCopy: function (source) { // eslint-disable-line
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Shadowed name: 'source'
              Open

                      deepCopy: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                  var rootRef = funcTransformRules(fnSelectorPredicates(srcObject), srcObject);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          for (var i = 0; i < length; i++) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var span = extent[1] - extent[0];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var correction = [
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var d3TimeScale = (utc ? d3.scaleUtc : d3.scaleTime);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var r = btoa(encodeURIComponent(str)).replace(/=/g, '_');
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Type assertion using the '<>' syntax is forbidden. Use the 'as' syntax instead.
              Open

                  (<any>deepCopy).register({
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-angle-bracket-type-assertion

              Requires the use of as Type for type assertions instead of <Type>.

              Rationale

              Both formats of type assertions have the same effect, but only as type assertions work in .tsx files. This rule ensures that you have a consistent type assertion style across your codebase.

              Notes
              • TypeScript Only
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-angle-bracket-type-assertion": true

              For more information see this page.

              Shadowed name: 'escape'
              Open

                      text.replace(matcher, function (match, escape, interpolate, evaluate, offset) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var xPart = ((keys: string[], k: string) => (xHash(data, keys)[k]));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var segment = ((max - min) / (parts - 1));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      for (var i = 0; i < len; ++i) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Shadowed name: 'result'
              Open

                      return props.reduce((result, prop) => {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Shadowed name: 'source'
              Open

                  function deepCopy(source, maxDepth?) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Shadowed name: 'source'
              Open

                      create: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Shadowed name: 'source'
              Open

                      populate: function (deepCopy, source, result) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Shadowed name: 'template'
              Open

                      var template: any = function (data) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Shadowed name: 'map'
              Open

              ].reduce((map, tag) => (map[tag] = true, map), {} as {[tag: string]: boolean});
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var [low, top] = (d3.extent(domain) as [Date, Date]);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var niceScale = d3TimeScale().domain([low, top]).nice(niceIntervalFn);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                  var hashMap: {[key: string]: string} = {};
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Shadowed name: 'source'
              Open

                      create: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                  var deepCopiers = [];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var thisPass = this;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var result = deepCopier.create(source);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var ticks = niceScale.ticks();
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var last = ticks.length - 1;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var dataPrevRef = null;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var xHash = memoize(
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var level2Guide = chartSpec.unit.units[0].guide || {};
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var isApplicable = true;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Shadowed name: 'match'
              Open

                          source += text.slice(index, offset).replace(escaper, match => '\\' + escapes[match]);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var min = domain[0];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Shadowed name: 'source'
              Open

                      applyDeepCopier: function (deepCopier, source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Shadowed name: 'clone'
              Open

                  function clone(target) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

              var deepClone = (function () {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var chunks = parts >= 2 ?
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

              var testColorCode = ((x) => (/^(#|rgb\(|rgba\()/.test(x)));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var deltaTop = extent[1] - top;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var allowedOverflow = 100;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var countOfTicksInTheFacet = xPart(paramsList, key);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Type assertion using the '<>' syntax is forbidden. Use the 'as' syntax instead.
              Open

                  (<any>deepCopy).DeepCopier = DeepCopier;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-angle-bracket-type-assertion

              Requires the use of as Type for type assertions instead of <Type>.

              Rationale

              Both formats of type assertions have the same effect, but only as type assertions work in .tsx files. This rule ensures that you have a consistent type assertion style across your codebase.

              Notes
              • TypeScript Only
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-angle-bracket-type-assertion": true

              For more information see this page.

              Shadowed name: 'source'
              Open

                      this.recursiveDeepCopy = function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Array type using 'Array<t>' is forbidden. Use 'T[]' instead.</t>
              Open

                  export function flatten<T>(array: Array<T | T[]>): T[];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: array-type

              Requires using either 'T[]' or 'Array<t>' for arrays.</t>

              Notes
              • TypeScript Only
              • Has Fix

              Config

              One of the following arguments must be provided:

              • "array" enforces use of T[] for all types T.
              • "generic" enforces use of Array<T> for all types T.
              • "array-simple" enforces use of T[] if T is a simple type (primitive or type reference).
              Examples
              "array-type": true,array
              "array-type": true,generic
              "array-type": true,array-simple
              Schema
              {
                "type": "string",
                "enum": [
                  "array",
                  "generic",
                  "array-simple"
                ]
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var low = parseFloat(Math.min(...domain).toFixed(15));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Shadowed name: 'source'
              Open

                      populate: function (deepCopy, source, result) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var limit = (step / 2);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var oneDay = 24 * 60 * 60 * 1000;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Shadowed name: 'source'
              Open

                      canCopy: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                              var arr = xHash(data, keys);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Shadowed name: 'source'
              Open

                      var source = '__p+=\'';
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-shadowed-variable

              Disallows shadowing variable declarations.

              Rationale

              When a variable in a local scope and a variable in the containing scope have the same name, shadowing occurs. Shadowing makes it impossible to access the variable in the containing scope and obscures to what value an identifier actually refers. Compare the following snippets:

              const a = 'no shadow';
              function print() {
                  console.log(a);
              }
              print(); // logs 'no shadow'.
              const a = 'no shadow';
              function print() {
                  const a = 'shadow'; // TSLint will complain here.
                  console.log(a);
              }
              print(); // logs 'shadow'.

              ESLint has an equivalent rule. For more background information, refer to this MDN closure doc.

              Config

              You can optionally pass an object to disable checking for certain kinds of declarations. Possible keys are "class", "enum", "function", "import", "interface", "namespace", "typeAlias" and "typeParameter". You can also pass "underscore" to ignore variable names that begin with _. Just set the value to false for the check you want to disable. All checks default to true, i.e. are enabled by default. Note that you cannot disable variables and parameters.

              The option "temporalDeadZone" defaults to true which shows errors when shadowing block scoped declarations in their temporal dead zone. When set to false parameters, classes, enums and variables declared with let or const are not considered shadowed if the shadowing occurs within their temporal dead zone.

              The following example shows how the "temporalDeadZone" option changes the linting result:

              function fn(value) {
                  if (value) {
                      const tmp = value; // no error on this line if "temporalDeadZone" is false
                      return tmp;
                  }
                  let tmp = undefined;
                  if (!value) {
                      const tmp = value; // this line always contains an error
                      return tmp;
                  }
              }
              Examples
              "no-shadowed-variable": true
              "no-shadowed-variable": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "class": {
                    "type": "boolean"
                  },
                  "enum": {
                    "type": "boolean"
                  },
                  "function": {
                    "type": "boolean"
                  },
                  "import": {
                    "type": "boolean"
                  },
                  "interface": {
                    "type": "boolean"
                  },
                  "namespace": {
                    "type": "boolean"
                  },
                  "typeAlias": {
                    "type": "boolean"
                  },
                  "typeParameter": {
                    "type": "boolean"
                  },
                  "temporalDeadZone": {
                    "type": "boolean"
                  },
                  "underscore": {
                    "type": "boolean"
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var result = [];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var copiedObjects = this.copiedObjects;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var deltaLow = low - extent[0];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var data = chartSpec.sources['/'].data;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var allowedOverflow = 20;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var direction = angle === -90 ? -1 : 1;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                  var childrenArgIndex = 2;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Expected method shorthand in object literal ('{getCachedResult() {...}}').
              Open

                      getCachedResult: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              Identifier 'thisPass' is never reassigned; use 'const' instead of 'var'.
              Open

                      var thisPass = this;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'koeffLow' is never reassigned; use 'const' instead of 'var'.
              Open

                          var koeffLow = (deltaLow >= limit) ? -deltaLow : 0;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'chartSpec' is never reassigned; use 'const' instead of 'var'.
              Open

                          var chartSpec = chartInstanceRef.getSpec();
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'level2Guide' is never reassigned; use 'const' instead of 'var'.
              Open

                          var level2Guide = chartSpec.unit.units[0].guide || {};
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'countOfTicksInTheFacet' is never reassigned; use 'const' instead of 'var'.
              Open

                          var countOfTicksInTheFacet = xPart(paramsList, key);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'argument' is never reassigned; use 'const' instead of 'var'.
              Open

                      var argument = settings.variable || 'obj';
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function range(start: number, end?: number) {
                      if (arguments.length === 1) {
                          end = start;
                          start = 0;
                      }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function defaults<T, K, V, Q, R>(obj: T, obj1?: K): T & K;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function defaults<T, K, V, Q, R>(obj: T, obj1?: K, obj2?: V): T & K & V;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function defaults<T, K, V, Q, R>(obj: T, obj1?: K, obj2?: V, obj3?: Q): T & K & V & Q;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function memoize<A, B, R>(func: (a: A, b: B) => R, hasher?: (a: A, b: B) => string): (a: A, b: B) => R;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var index = 0;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var source = '__p+=\'';
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var argument = settings.variable || 'obj';
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      create: function (source) { // eslint-disable-line
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              Identifier 'deltaLow' is never reassigned; use 'const' instead of 'var'.
              Open

                      var deltaLow = low - extent[0];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'd3TimeScale' is never reassigned; use 'const' instead of 'var'.
              Open

                      var d3TimeScale = (utc ? d3.scaleUtc : d3.scaleTime);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'niceLow' is never reassigned; use 'const' instead of 'var'.
              Open

                      var [niceLow, niceTop] = d3TimeScale().domain([low, top]).nice(niceIntervalFn).domain();
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'unify' is never reassigned; use 'const' instead of 'var'.
              Open

                      var unify = (v) => isDate(v) ? v.getTime() : v;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'length' is never reassigned; use 'const' instead of 'var'.
              Open

                      var length = defaultObjs.length;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'newObj' is never reassigned; use 'const' instead of 'let'.
              Open

                      let newObj = Object.assign({}, obj);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'value' is never reassigned; use 'const' instead of 'let'.
              Open

                          let value = object[prop];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'testRegexp' is never reassigned; use 'const' instead of 'let'.
              Open

              let testRegexp = RegExp(source);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Expected a 'for-of' loop instead of a 'for' loop with this simple iteration
              Open

                          for (var i = 0; i < source.length; i++) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-for-of

              Recommends a 'for-of' loop over a standard 'for' loop if the index is only used to access the array being iterated.

              Rationale

              A for(... of ...) loop is easier to implement and read when the index is not needed.

              Config

              Not configurable.

              Examples
              "prefer-for-of": true

              For more information see this page.

              statements are not aligned
              Open

                  export function defaults<T, K, V, Q, R>(obj: T, obj1?: K, obj2?: V, obj3?: Q, obj4?: R): T & K & V & Q & R;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var template: any = function (data) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                  var attrsString = Object.keys(attrs).map(function (key) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Expected method shorthand in object literal ('{deepCopy() {...}}').
              Open

                      deepCopy: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              Expected method shorthand in object literal ('{populate() {...}}').
              Open

                      populate: function (deepCopy, source, result) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              Identifier 'deepCopyAlgorithm' is never reassigned; use 'const' instead of 'var'.
              Open

                      var deepCopyAlgorithm = new DeepCopyAlgorithm();
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'xPart' is never reassigned; use 'const' instead of 'var'.
              Open

                          var xPart = ((keys: string[], k: string) => (xHash(data, keys)[k]));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'escapes' is never reassigned; use 'const' instead of 'let'.
              Open

              let escapes = {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function throttleLastEvent(
                      last: {e?: string, ts?: number},
                      eventType: string,
                      handler: (...args) => void,
                      limitFromPrev: 'requestAnimationFrame' | number = 0
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function toRadian(degree: number) {
                      return (degree / 180) * Math.PI;
                  }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function memoize<R>(
                      func: (...args: any[]) => R,
                      hasher?: (...args: any[]) => string
                  ): (...args: any[]) => R;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var source = defaultObjs[index],
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var result = {};
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Identifier 'err' is never reassigned; use 'const' instead of 'var'.
              Open

                      var err = m / span * step;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'correction' is never reassigned; use 'const' instead of 'var'.
              Open

                      var correction = [
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var key = hasher(item);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Identifier 'niceTop' is never reassigned; use 'const' instead of 'var'.
              Open

                      var [niceLow, niceTop] = d3TimeScale().domain([low, top]).nice(niceIntervalFn).domain();
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'r' is never reassigned; use 'const' instead of 'var'.
              Open

                      var r = btoa(encodeURIComponent(str)).replace(/=/g, '_');
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'matcher' is never reassigned; use 'const' instead of 'var'.
              Open

                      var matcher = RegExp([
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Expected a 'for-of' loop instead of a 'for' loop with this simple iteration
              Open

                          for (var i = 0; i < deepCopiers.length; i++) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-for-of

              Recommends a 'for-of' loop over a standard 'for' loop if the index is only used to access the array being iterated.

              Rationale

              A for(... of ...) loop is easier to implement and read when the index is not needed.

              Config

              Not configurable.

              Examples
              "prefer-for-of": true

              For more information see this page.

              Identifier 'curr' is never reassigned; use 'const' instead of 'var'.
              Open

                          var curr = {e: eventType, ts: Date.now()};
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function unique<T>(array: T[], func?: (T) => string): T[] {
                      var hash = {};
                      var result = [];
                      var len = array.length;
                      var hasher = func || ((x) => String(x));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function niceZeroBased(domain: number[]) {
              
                      var m = 10;
              
                      var low = parseFloat(Math.min(...domain).toFixed(15));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function createMultiSorter<T>(...sorters: ((a: T, b: T) => number)[]) {
                      return (a, b) => {
                          var result = 0;
                          sorters.every((s) => {
                              result = s(a, b);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

              var deepClone = (function () {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      canCopy: function () {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      populate: function (deepCopy, source, result) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              Identifier 'deepCopiers' is never reassigned; use 'const' instead of 'var'.
              Open

                  var deepCopiers = [];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'span' is never reassigned; use 'const' instead of 'var'.
              Open

                      var span = extent[1] - extent[0];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'xTotal' is never reassigned; use 'const' instead of 'var'.
              Open

                          var xTotal = (keys: string[]) => {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'source' is never reassigned; use 'const' instead of 'var'.
              Open

                          var source = defaultObjs[index],
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'render' is never reassigned; use 'const' instead of 'var'.
              Open

                          var render = new Function(settings.variable || 'obj', source);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'hashMap' is never reassigned; use 'const' instead of 'var'.
              Open

                  var hashMap: {[key: string]: string} = {};
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function splitEvenly(domain: [number, number], parts: number): number[] {
                      var min = domain[0];
                      var max = domain[1];
                      var segment = ((max - min) / (parts - 1));
                      var chunks = parts >= 2 ?
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function flatten<T>(array: Array<T | T[]>): T[];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var result = 0;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      create: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                  var attrsString = Object.keys(attrs).map(function (key) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              Identifier 'key' is never reassigned; use 'const' instead of 'var'.
              Open

                      for (var key in config) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'd' is never reassigned; use 'const' instead of 'let'.
              Open

                          let d = (top || 1);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'data' is never reassigned; use 'const' instead of 'var'.
              Open

                          var data = chartSpec.sources['/'].data;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'deepClone' is never reassigned; use 'const' instead of 'var'.
              Open

              var deepClone = (function () {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function extRGBColor(x: string) {
                      return (testColorCode(x) ? x : '');
                  }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function escape(string: string) {
                      string = string == null ? '' : String(string);
                      return testRegexp.test(string) ? string.replace(replaceRegexp, match => map[match]) : string;
                  }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var matcher = RegExp([
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Expected method shorthand in object literal ('{cacheResult() {...}}').
              Open

                      cacheResult: function (source, result) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              Expected method shorthand in object literal ('{create() {...}}').
              Open

                      create: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      canCopy: function (source) { // eslint-disable-line
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              Identifier 'shouldContinue' is never reassigned; use 'const' instead of 'var'.
              Open

                  var shouldContinue = enterFn(root, level);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'k' is never reassigned; use 'const' instead of 'let'.
              Open

                          let k = (top >= 0) ? -1 : 1;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'deltaTop' is never reassigned; use 'const' instead of 'var'.
              Open

                      var deltaTop = extent[1] - top;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'span' is never reassigned; use 'const' instead of 'var'.
              Open

                      var span = (+top - +low);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'last' is never reassigned; use 'const' instead of 'var'.
              Open

                      var last = ticks.length - 1;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'tickPxSize' is never reassigned; use 'const' instead of 'var'.
              Open

                          var tickPxSize = (size - (facetSize * pad)) / totalItems;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'chunks' is never reassigned; use 'const' instead of 'var'.
              Open

                      var chunks = parts >= 2 ?
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'allowedOverflow' is never reassigned; use 'const' instead of 'var'.
              Open

                      var allowedOverflow = 100;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'escaper' is never reassigned; use 'const' instead of 'let'.
              Open

              let escaper = /\\|'|\r|\n|\u2028|\u2029/g;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'source' is never reassigned; use 'const' instead of 'let'.
              Open

              let source = '(?:' + Object.keys(map).join('|') + ')';
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function memoize<A, B, C, R>(
                      func: (a: A, b: B, c: C) => R,
                      hasher?: (a: A, b: B, c: C) => string
                  ): (a: A, b: B, c: C) => R;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                  var attrs = arguments[1];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Identifier 'deepCopier' is never reassigned; use 'const' instead of 'var'.
              Open

                              var deepCopier = deepCopiers[i];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'result' is never reassigned; use 'const' instead of 'var'.
              Open

                          var result = deepCopier.create(source);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'ticks' is never reassigned; use 'const' instead of 'var'.
              Open

                      var ticks = niceScale.ticks();
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'xHash' is never reassigned; use 'const' instead of 'var'.
              Open

                      var xHash = memoize(
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'group' is never reassigned; use 'const' instead of 'var'.
              Open

                          var group = func(v);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'noMatch' is never reassigned; use 'const' instead of 'var'.
              Open

              var noMatch = /(.)^/;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'templateSettings' is never reassigned; use 'const' instead of 'let'.
              Open

              let templateSettings = {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function generateRatioFunction(dimPropName: string, paramsList: string[], chartInstanceRef: Plot) {
              
                      var unify = (v) => isDate(v) ? v.getTime() : v;
              
                      var dataNewSnap = 0;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function extCSSClass(x: string) {
                      return (testColorCode(x) ? '' : x);
                  }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Expected method shorthand in object literal ('{populate() {...}}').
              Open

                      populate: function (deepCopyAlgorithm, source, result) { // eslint-disable-line
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              Expected method shorthand in object literal ('{applyDeepCopier() {...}}').
              Open

                      applyDeepCopier: function (deepCopier, source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              Expected method shorthand in object literal ('{canCopy() {...}}').
              Open

                      canCopy: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      this.recursiveDeepCopy = function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      canCopy: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      attrsString = Object.keys(attrs).map(function (key) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              Identifier 'length' is never reassigned; use 'const' instead of 'var'.
              Open

                          var length = copiedObjects.length;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'hash' is never reassigned; use 'const' instead of 'var'.
              Open

                      var hash = {};
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'key' is never reassigned; use 'const' instead of 'var'.
              Open

                          var key = hasher(item);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var item = array[i];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Identifier 'l' is never reassigned; use 'const' instead of 'var'.
              Open

                              l = keys.length;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'result' is never reassigned; use 'const' instead of 'var'.
              Open

                      var result = {};
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      for (var index = 0; index < length; index++) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              statements are not aligned
              Open

                  export function generateHash(str: string) {
                      var r = btoa(encodeURIComponent(str)).replace(/=/g, '_');
                      if (!hashMap.hasOwnProperty(r)) {
                          hashMap[r] = (`H${++hashGen}`);
                      }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var render = new Function(settings.variable || 'obj', source);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              statements are not aligned
              Open

                  export function hasXOverflow(x: number, size: number, angle: number, maxX: number) {
                      var allowedOverflow = 100;
                      var direction = angle === 90 ? -1 : 1;
                      return (x + size * direction) - maxX > allowedOverflow;
                  }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                  var result: any = src;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              statements are not aligned
              Open

                  export function hasYOverflow(y: number, size: number, angle: number, maxY: number) {
                      var allowedOverflow = 20;
                      var direction = angle === -90 ? -1 : 1;
                      return (y + size * direction) - maxY > allowedOverflow;
                  }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Expected method shorthand in object literal ('{create() {...}}').
              Open

                      create: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function flatten(array: any): any[] {
                      if (!Array.isArray(array)) {
                          return array;
                      }
                      return [].concat(...array.map(x => flatten(x)));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Expected method shorthand in object literal ('{create() {...}}').
              Open

                      create: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function intersection<T>(arr1: T[], arr2: T[]) {
                      return arr1.filter(x => arr2.indexOf(x) !== -1);
                  }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function defaults<T>(obj: T, ...defaultObjs: T[]): T {
                      var length = defaultObjs.length;
                      if (length === 0 || !obj) {
                          return obj;
                      }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Identifier 'rootRef' is never reassigned; use 'const' instead of 'var'.
              Open

                  var rootRef = funcTransformRules(fnSelectorPredicates(srcObject), srcObject);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function template(text: string, settings?, oldSettings?): (data?) => string {
                      if (!settings && oldSettings) {
                          settings = oldSettings;
                      }
                      settings = defaults({}, settings, templateSettings);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Assigning this reference to local variable not allowed: thisPass.
              Open

                      var thisPass = this;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-this-assignment

              Disallows unnecessary references to this.

              Rationale

              Assigning a variable to this instead of properly using arrow lambdas may be a symptom of pre-ES6 practices or not managing scope well.

              Instead of storing a reference to this and using it inside a function () {:

              const self = this;
              
              setTimeout(function () {
                  self.doWork();
              });

              Use () => arrow lambdas, as they preserve this scope for you:

              setTimeout(() => {
                  this.doWork();
              });

              Config

              Two options may be provided on an object:

              • allow-destructuring allows using destructuring to access members of this (e.g. { foo, bar } = this;).
              • allowed-names may be specified as a list of regular expressions to match allowed variable names.
              Examples
              "no-this-assignment": true
              "no-this-assignment": true,[object Object]
              Schema
              {
                "additionalProperties": false,
                "properties": {
                  "allow-destructuring": {
                    "type": "boolean"
                  },
                  "allowed-names": {
                    "listType": "string",
                    "type": "list"
                  }
                },
                "type": "object"
              }

              For more information see this page.

              Identifier 'limit' is never reassigned; use 'const' instead of 'var'.
              Open

                      var limit = (step / 2);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Do not use the Function constructor to create functions.
              Open

                          var render = new Function(settings.variable || 'obj', source);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: function-constructor

              Prevents using the built-in Function constructor.

              Rationale

              Calling the constructor directly is similar to eval, which is a symptom of design issues. String inputs don't receive type checking and can cause performance issues, particularly when dynamically created.

              If you need to dynamically create functions, use "factory" functions that themselves return functions.

              Config

              Not configurable.

              Examples
              "function-constructor": true

              For more information see this page.

              Identifier 'seed' is never reassigned; use 'const' instead of 'let'.
              Open

                              let seed = (dataPrevRef === data) ? dataNewSnap : (++dataNewSnap);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'diff' is never reassigned; use 'const' instead of 'var'.
              Open

                          var diff = ((last.e && (last.e === curr.e)) ? (curr.ts - last.ts) : (limitFromPrev));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'min' is never reassigned; use 'const' instead of 'var'.
              Open

                      var min = domain[0];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'direction' is never reassigned; use 'const' instead of 'var'.
              Open

                      var direction = angle === -90 ? -1 : 1;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'hasher' is never reassigned; use 'const' instead of 'var'.
              Open

                      var hasher = func || ((x) => String(x));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'map' is never reassigned; use 'const' instead of 'let'.
              Open

              let map = {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function memoize(func, hasher) {
                      const memoize = <any>function (key) {
                          const cache = memoize.cache;
                          const address = String(hasher ? hasher.apply(this, arguments) : key);
                          if (!cache.hasOwnProperty(address)) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function pick(object: Object, ...props: string[]): Object {
                      var result = {};
                      if (object == null) {
                          return result;
                      }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Expected method shorthand in object literal ('{canCopy() {...}}').
              Open

                      canCopy: function () {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              Expected method shorthand in object literal ('{populate() {...}}').
              Open

                      populate: function (deepCopy, source, result) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      populate: function (deepCopy, source, result) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              Identifier 'copiedObjects' is never reassigned; use 'const' instead of 'var'.
              Open

                          var copiedObjects = this.copiedObjects;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'koeffTop' is never reassigned; use 'const' instead of 'var'.
              Open

                          var koeffTop = (deltaTop >= limit) ? -deltaTop : 0;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'niceScale' is never reassigned; use 'const' instead of 'var'.
              Open

                      var niceScale = d3TimeScale().domain([low, top]).nice(niceIntervalFn);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'totalItems' is never reassigned; use 'const' instead of 'var'.
              Open

                          var totalItems = xTotal(paramsList);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'segment' is never reassigned; use 'const' instead of 'var'.
              Open

                      var segment = ((max - min) / (parts - 1));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'result' is never reassigned; use 'const' instead of 'var'.
              Open

                      var result = [];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'len' is never reassigned; use 'const' instead of 'var'.
              Open

                      var len = array.length;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'keys' is never reassigned; use 'const' instead of 'var'.
              Open

                              keys = isObject(source) ? Object.keys(source) : [],
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'template' is never reassigned; use 'const' instead of 'var'.
              Open

                      var template: any = function (data) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function normalizeAngle(angle: number) {
                      if (Math.abs(angle) >= 360) {
                          angle = (angle % 360);
                      }
              
              
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function omit<T>(obj: T, ...props: string[]): T {
                      let newObj = Object.assign({}, obj);
                      props.forEach((prop) => {
                          delete newObj[prop];
                      });
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function memoize<A, R>(func: (a: A) => R, hasher?: (a: A) => string): (a: A) => R;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          var group = func(v);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      populate: function (deepCopyAlgorithm, source, result) { // eslint-disable-line
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      create: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              Identifier 'extent' is never reassigned; use 'const' instead of 'var'.
              Open

                      var extent = [low, top];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'allowedOverflow' is never reassigned; use 'const' instead of 'var'.
              Open

                      var allowedOverflow = 20;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function niceTimeDomain(domain: Date[], niceIntervalFn: d3.CountableTimeInterval, {utc} = {utc: false}) {
              
                      var [low, top] = (d3.extent(domain) as [Date, Date]);
                      var span = (+top - +low);
                      var d3TimeScale = (utc ? d3.scaleUtc : d3.scaleTime);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function union<T>(arr1: T[], arr2: T[]): T[] {
                      return unique(arr1.concat(arr2));
                  }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Type assertion on object literals is forbidden, use a type annotation instead.
              Open

              ].reduce((map, tag) => (map[tag] = true, map), {} as {[tag: string]: boolean});
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-object-literal-type-assertion

              Forbids an object literal to appear in a type assertion expression. Casting to any or to unknown is still allowed.

              Rationale

              Always prefer const x: T = { ... }; to const x = { ... } as T;. The type assertion in the latter case is either unnecessary or hides an error. The compiler will warn for excess properties with this syntax, but not missing required fields. For example: const x: { foo: number } = {} will fail to compile, but const x = {} as { foo: number } will succeed. Additionally, the const assertion const x = { foo: 1 } as const, introduced in TypeScript 3.4, is considered beneficial and is ignored by this rule.

              Notes
              • TypeScript Only

              Config

              One option may be configured:

              • allow-arguments allows type assertions to be used on object literals inside call expressions.
              Examples
              "no-object-literal-type-assertion": true
              "no-object-literal-type-assertion": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "allow-arguments": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }

              For more information see this page.

              Do not use comma operator here because it can be easily misunderstood or lead to unintended bugs.
              Open

              ].reduce((map, tag) => (map[tag] = true, map), {} as {[tag: string]: boolean});
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: ban-comma-operator

              Disallows the comma operator to be used.

              Read more about the comma operator here.

              Rationale

              Using the comma operator can create a potential for many non-obvious bugs or lead to misunderstanding of code.

              Examples

              foo((bar, baz)); // evaluates to 'foo(baz)' because of the extra parens - confusing and not obvious
              switch (foo) {
                  case 1, 2: // equals 'case 2' - probably intended 'case 1: case2:'
                      return true;
                  case 3:
                      return false;
              }
              let x = (y = 1, z = 2); // x is equal to 2 - this may not be immediately obvious.
              Examples
              "ban-comma-operator": true

              For more information see this page.

              Expected method shorthand in object literal ('{canCopy() {...}}').
              Open

                      canCopy: function (source) { // eslint-disable-line
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                  (<any>deepCopy).register = function (deepCopier) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      create: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              Identifier 'key' is never reassigned; use 'const' instead of 'var'.
              Open

                          for (var key in source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'arr' is never reassigned; use 'const' instead of 'var'.
              Open

                              var arr = xHash(data, keys);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'testColorCode' is never reassigned; use 'const' instead of 'var'.
              Open

              var testColorCode = ((x) => (/^(#|rgb\(|rgba\()/.test(x)));
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'replaceRegexp' is never reassigned; use 'const' instead of 'let'.
              Open

              let replaceRegexp = RegExp(source, 'g');
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              == should be ===
              Open

                      if (typeof target == 'object') {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: triple-equals

              Requires === and !== in place of == and !=.

              Config

              Two arguments may be optionally provided:

              • "allow-null-check" allows == and != when comparing to null.
              • "allow-undefined-check" allows == and != when comparing to undefined.
              Examples
              "triple-equals": true
              "triple-equals": true,allow-null-check
              "triple-equals": true,allow-undefined-check
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-null-check",
                    "allow-undefined-check"
                  ]
                },
                "minLength": 0,
                "maxLength": 2
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function clone<T>(obj: T): T {
                      return deepClone(obj);
                  }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  var hashMap: {[key: string]: string} = {};
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function isSpecRectCoordsOnly(root: Unit) {
              
                      var isApplicable = true;
              
                      try {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function groupBy<T>(array: T[], func?: (item: T) => string): {[key: string]: T[]} {
                      return array.reduce((obj, v) => {
                          var group = func(v);
                          obj[group] = obj[group] || [];
                          obj[group].push(v);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                              var key = keys[i];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Expected method shorthand in object literal ('{canCopy() {...}}').
              Open

                      canCopy: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      text.replace(matcher, function (match, escape, interpolate, evaluate, offset) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              Identifier 'cachedResult' is never reassigned; use 'const' instead of 'var'.
              Open

                          var cachedResult = this.getCachedResult(source);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'm' is never reassigned; use 'const' instead of 'var'.
              Open

                      var m = 10;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'k' is never reassigned; use 'const' instead of 'var'.
              Open

                                      var k = t[0];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'facetSize' is never reassigned; use 'const' instead of 'var'.
              Open

                          var facetSize = varSet.length;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function isDate(obj) {
                      return obj instanceof Date && !isNaN(Number(obj));
                  }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function isObject(obj) {
                      return obj != null && typeof obj === 'object';
                  }
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  var hashGen = 0;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              statements are not aligned
              Open

                  export function memoize<R>(func: () => R, hasher?: () => string): () => R;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: align

              Enforces vertical alignment.

              Rationale

              Helps maintain a readable, consistent style in your codebase.

              Consistent alignment for code statements helps keep code readable and clear. Statements misaligned from the standard can be harder to read and understand.

              Notes
              • Has Fix

              Config

              Five arguments may be optionally provided:

              • "parameters" checks alignment of function parameters.
              • "arguments" checks alignment of function call arguments.
              • "statements" checks alignment of statements.
              • "members" checks alignment of members of classes, interfaces, type literal, object literals and object destructuring.
              • "elements" checks alignment of elements of array literals, array destructuring and tuple types.
              Examples
              "align": true,parameters,statements
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "arguments",
                    "elements",
                    "members",
                    "parameters",
                    "statements"
                  ]
                },
                "minLength": 1,
                "maxLength": 5
              }

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                      var length = defaultObjs.length;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Forbidden 'var' keyword, use 'let' or 'const' instead
              Open

                          for (var i = 0; i < l; i++) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: no-var-keyword

              Disallows usage of the var keyword.

              Use let or const instead.

              Rationale

              Declaring variables using var has several edge case behaviors that make var unsuitable for modern code. Variables declared by var have their parent function block as their scope, ignoring other control flow statements. vars have declaration "hoisting" (similar to functions) and can appear to be used before declaration.

              Variables declared by const and let instead have as their scope the block in which they are defined, and are not allowed to used before declaration or be re-declared with another const or let.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "no-var-keyword": true

              For more information see this page.

              Expected method shorthand in object literal ('{create() {...}}').
              Open

                      create: function (source) { // eslint-disable-line
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: object-literal-shorthand

              Enforces/disallows use of ES6 object literal shorthand.

              Notes
              • Has Fix

              Config

              "always" assumed to be default option, thus with no options provided the rule enforces object literal methods and properties shorthands. With "never" option provided, any shorthand object literal syntax causes an error.

              The rule can be configured in a more granular way. With {"property": "never"} provided (which is equivalent to {"property": "never", "method": "always"}), the rule only flags property shorthand assignments, and respectively with {"method": "never"} (equivalent to {"property": "always", "method": "never"}), the rule fails only on method shorthands.

              Examples
              "object-literal-shorthand": true
              "object-literal-shorthand": true,never
              "object-literal-shorthand": true,[object Object]
              Schema
              {
                "oneOf": [
                  {
                    "type": "string",
                    "enum": [
                      "never"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "property": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "never"
                        ]
                      }
                    },
                    "minProperties": 1,
                    "maxProperties": 2
                  }
                ]
              }

              For more information see this page.

              Multiple variable declarations in the same statement are forbidden
              Open

                          var source = defaultObjs[index],
                              keys = isObject(source) ? Object.keys(source) : [],
                              l = keys.length;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: one-variable-per-declaration

              Disallows multiple variable definitions in the same declaration statement.

              Config

              One argument may be optionally provided:

              • ignore-for-loop allows multiple variable definitions in a for loop declaration.
              Examples
              "one-variable-per-declaration": true
              "one-variable-per-declaration": true,ignore-for-loop
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "ignore-for-loop"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              non-arrow functions are forbidden
              Open

                      canCopy: function (source) {
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: only-arrow-functions

              Disallows traditional (non-arrow) function expressions.

              Note that non-arrow functions are allowed if 'this' appears somewhere in its body (as such functions cannot be converted to arrow functions).

              Rationale

              Traditional functions don't bind lexical scope, which can lead to unexpected behavior when accessing 'this'.

              Config

              Two arguments may be optionally provided:

              • "allow-declarations" allows standalone function declarations.
              • "allow-named-functions" allows the expression function foo() {} but not function() {}.
              Examples
              "only-arrow-functions": true
              "only-arrow-functions": true,allow-declarations,allow-named-functions
              Schema
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "allow-declarations",
                    "allow-named-functions"
                  ]
                },
                "minLength": 0,
                "maxLength": 1
              }

              For more information see this page.

              Identifier 'oneDay' is never reassigned; use 'const' instead of 'var'.
              Open

                          var oneDay = 24 * 60 * 60 * 1000;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'max' is never reassigned; use 'const' instead of 'var'.
              Open

                      var max = domain[1];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'direction' is never reassigned; use 'const' instead of 'var'.
              Open

                      var direction = angle === 90 ? -1 : 1;
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'item' is never reassigned; use 'const' instead of 'var'.
              Open

                          var item = array[i];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Identifier 'key' is never reassigned; use 'const' instead of 'var'.
              Open

                              var key = keys[i];
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-const

              Requires that variable declarations use const instead of let and var if possible.

              If a variable is only assigned to once when it is declared, it should be declared using 'const'

              Notes
              • Has Fix

              Config

              An optional object containing the property "destructuring" with two possible values:

              • "any" (default) - If any variable in destructuring can be const, this rule warns for those variables.
              • "all" - Only warns if all variables in destructuring can be const.
              Examples
              "prefer-const": true
              "prefer-const": true,[object Object]
              Schema
              {
                "type": "object",
                "properties": {
                  "destructuring": {
                    "type": "string",
                    "enum": [
                      "all",
                      "any"
                    ]
                  }
                }
              }

              For more information see this page.

              Use the object spread operator instead.
              Open

                      let newObj = Object.assign({}, obj);
              Severity: Minor
              Found in src/utils/utils.ts by tslint

              Rule: prefer-object-spread

              Enforces the use of the ES2018 object spread operator over Object.assign() where appropriate.

              Rationale

              Object spread allows for better type checking and inference.

              Notes
              • Has Fix

              Config

              Not configurable.

              Examples
              "prefer-object-spread": true

              For more information see this page.

              There are no issues that match your filters.

              Category
              Status