fbredius/storybook

View on GitHub
lib/channel-websocket/src/index.ts

Summary

Maintainability
A
0 mins
Test Coverage

Don't assign members of this to local variables.
Open

    const { buffer } = this;
Severity: Minor
Found in lib/channel-websocket/src/index.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.

There are no issues that match your filters.

Category
Status