optionsDescription:Lint.Utils.dedent(templateObject_1||(templateObject_1=tslib_1.__makeTemplateObject(["\n Two options may be provided on an object:\n\n * `","` allows using destructuring to access members of `this` (e.g. `{ foo, bar } = this;`).\n * `","` may be specified as a list of regular expressions to match allowed variable names."],["\n Two options may be provided on an object:\n\n * \\`","\\` allows using destructuring to access members of \\`this\\` (e.g. \\`{ foo, bar } = this;\\`).\n * \\`","\\` may be specified as a list of regular expressions to match allowed variable names."])),ALLOW_THIS_DESTRUCTURING,ALLOWED_THIS_NAMES),
rationale:Lint.Utils.dedent(templateObject_2||(templateObject_2=tslib_1.__makeTemplateObject(["\n Assigning a variable to `this` instead of properly using arrow lambdas may be a symptom of pre-ES6 practices\n or not managing scope well.\n\n Instead of storing a reference to `this` and using it inside a `function () {`:\n\n ```\n const self = this;\n\n setTimeout(function () {\n self.doWork();\n });\n ```\n\n Use `() =>` arrow lambdas, as they preserve `this` scope for you:\n\n ```\n setTimeout(() => {\n this.doWork();\n });\n ```\n "],["\n Assigning a variable to \\`this\\` instead of properly using arrow lambdas may be a symptom of pre-ES6 practices\n or not managing scope well.\n\n Instead of storing a reference to \\`this\\` and using it inside a \\`function () {\\`:\n\n \\`\\`\\`\n const self = this;\n\n setTimeout(function () {\n self.doWork();\n });\n \\`\\`\\`\n\n Use \\`() =>\\` arrow lambdas, as they preserve \\`this\\` scope for you:\n\n \\`\\`\\`\n setTimeout(() => {\n this.doWork();\n });\n \\`\\`\\`\n "]))),