@typescript-eslint/eslint-plugin 8.0.0-alpha.30 → 8.0.0-alpha.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/dist/configs/all.js +3 -1
  2. package/dist/configs/all.js.map +1 -1
  3. package/dist/configs/recommended-type-checked.js +2 -1
  4. package/dist/configs/recommended-type-checked.js.map +1 -1
  5. package/dist/configs/recommended.js +2 -1
  6. package/dist/configs/recommended.js.map +1 -1
  7. package/dist/configs/strict-type-checked.js +2 -1
  8. package/dist/configs/strict-type-checked.js.map +1 -1
  9. package/dist/configs/strict.js +2 -1
  10. package/dist/configs/strict.js.map +1 -1
  11. package/dist/rules/adjacent-overload-signatures.js +2 -6
  12. package/dist/rules/adjacent-overload-signatures.js.map +1 -1
  13. package/dist/rules/class-literal-property-style.js +9 -7
  14. package/dist/rules/class-literal-property-style.js.map +1 -1
  15. package/dist/rules/consistent-type-assertions.js +2 -14
  16. package/dist/rules/consistent-type-assertions.js.map +1 -1
  17. package/dist/rules/consistent-type-definitions.js +1 -1
  18. package/dist/rules/consistent-type-definitions.js.map +1 -1
  19. package/dist/rules/default-param-last.js +6 -1
  20. package/dist/rules/default-param-last.js.map +1 -1
  21. package/dist/rules/enum-utils/shared.js +3 -4
  22. package/dist/rules/enum-utils/shared.js.map +1 -1
  23. package/dist/rules/explicit-member-accessibility.js +4 -54
  24. package/dist/rules/explicit-member-accessibility.js.map +1 -1
  25. package/dist/rules/index.js +6 -2
  26. package/dist/rules/index.js.map +1 -1
  27. package/dist/rules/member-ordering.js +7 -0
  28. package/dist/rules/member-ordering.js.map +1 -1
  29. package/dist/rules/naming-convention-utils/parse-options.js +1 -2
  30. package/dist/rules/naming-convention-utils/parse-options.js.map +1 -1
  31. package/dist/rules/naming-convention-utils/shared.js +3 -4
  32. package/dist/rules/naming-convention-utils/shared.js.map +1 -1
  33. package/dist/rules/naming-convention-utils/validator.js +1 -2
  34. package/dist/rules/naming-convention-utils/validator.js.map +1 -1
  35. package/dist/rules/naming-convention.js +3 -1
  36. package/dist/rules/naming-convention.js.map +1 -1
  37. package/dist/rules/no-dynamic-delete.js +8 -40
  38. package/dist/rules/no-dynamic-delete.js.map +1 -1
  39. package/dist/rules/no-empty-object-type.js +1 -1
  40. package/dist/rules/no-empty-object-type.js.map +1 -1
  41. package/dist/rules/no-extraneous-class.js +11 -3
  42. package/dist/rules/no-extraneous-class.js.map +1 -1
  43. package/dist/rules/no-implied-eval.js +1 -8
  44. package/dist/rules/no-implied-eval.js.map +1 -1
  45. package/dist/rules/no-inferrable-types.js +1 -2
  46. package/dist/rules/no-inferrable-types.js.map +1 -1
  47. package/dist/rules/no-invalid-this.js +6 -0
  48. package/dist/rules/no-invalid-this.js.map +1 -1
  49. package/dist/rules/no-magic-numbers.js +32 -1
  50. package/dist/rules/no-magic-numbers.js.map +1 -1
  51. package/dist/rules/no-misused-new.js +4 -3
  52. package/dist/rules/no-misused-new.js.map +1 -1
  53. package/dist/rules/{ban-types.js → no-restricted-types.js} +17 -70
  54. package/dist/rules/no-restricted-types.js.map +1 -0
  55. package/dist/rules/no-shadow.js +1 -1
  56. package/dist/rules/no-shadow.js.map +1 -1
  57. package/dist/rules/no-unsafe-function-type.js +47 -0
  58. package/dist/rules/no-unsafe-function-type.js.map +1 -0
  59. package/dist/rules/no-unsafe-member-access.js +8 -2
  60. package/dist/rules/no-unsafe-member-access.js.map +1 -1
  61. package/dist/rules/no-unused-vars.js +191 -74
  62. package/dist/rules/no-unused-vars.js.map +1 -1
  63. package/dist/rules/no-useless-constructor.js +0 -1
  64. package/dist/rules/no-useless-constructor.js.map +1 -1
  65. package/dist/rules/no-wrapper-object-types.js +61 -0
  66. package/dist/rules/no-wrapper-object-types.js.map +1 -0
  67. package/dist/rules/prefer-as-const.js +1 -1
  68. package/dist/rules/prefer-as-const.js.map +1 -1
  69. package/dist/rules/prefer-destructuring.js +3 -1
  70. package/dist/rules/prefer-destructuring.js.map +1 -1
  71. package/dist/rules/prefer-includes.js.map +1 -1
  72. package/dist/rules/prefer-nullish-coalescing.js +8 -6
  73. package/dist/rules/prefer-nullish-coalescing.js.map +1 -1
  74. package/dist/rules/prefer-optional-chain-utils/analyzeChain.js +1 -2
  75. package/dist/rules/prefer-optional-chain-utils/analyzeChain.js.map +1 -1
  76. package/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js +1 -2
  77. package/dist/rules/prefer-optional-chain-utils/checkNullishAndReport.js.map +1 -1
  78. package/dist/rules/prefer-optional-chain-utils/compareNodes.js +1 -2
  79. package/dist/rules/prefer-optional-chain-utils/compareNodes.js.map +1 -1
  80. package/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js +6 -11
  81. package/dist/rules/prefer-optional-chain-utils/gatherLogicalOperands.js.map +1 -1
  82. package/dist/rules/prefer-readonly.js +16 -7
  83. package/dist/rules/prefer-readonly.js.map +1 -1
  84. package/dist/rules/prefer-string-starts-ends-with.js.map +1 -1
  85. package/dist/rules/restrict-template-expressions.js +2 -2
  86. package/dist/rules/restrict-template-expressions.js.map +1 -1
  87. package/dist/rules/return-await.js +36 -2
  88. package/dist/rules/return-await.js.map +1 -1
  89. package/dist/util/astUtils.js +2 -3
  90. package/dist/util/astUtils.js.map +1 -1
  91. package/dist/util/collectUnusedVariables.js +60 -30
  92. package/dist/util/collectUnusedVariables.js.map +1 -1
  93. package/dist/util/escapeRegExp.js +1 -2
  94. package/dist/util/escapeRegExp.js.map +1 -1
  95. package/dist/util/explicitReturnTypeUtils.js +6 -7
  96. package/dist/util/explicitReturnTypeUtils.js.map +1 -1
  97. package/dist/util/getESLintCoreRule.js +2 -2
  98. package/dist/util/getESLintCoreRule.js.map +1 -1
  99. package/dist/util/getForStatementHeadLoc.js +1 -2
  100. package/dist/util/getForStatementHeadLoc.js.map +1 -1
  101. package/dist/util/getFunctionHeadLoc.js +1 -2
  102. package/dist/util/getFunctionHeadLoc.js.map +1 -1
  103. package/dist/util/getMemberHeadLoc.js +80 -0
  104. package/dist/util/getMemberHeadLoc.js.map +1 -0
  105. package/dist/util/getOperatorPrecedence.js +4 -4
  106. package/dist/util/getOperatorPrecedence.js.map +1 -1
  107. package/dist/util/getStaticStringValue.js +1 -2
  108. package/dist/util/getStaticStringValue.js.map +1 -1
  109. package/dist/util/getStringLength.js +1 -2
  110. package/dist/util/getStringLength.js.map +1 -1
  111. package/dist/util/getTextWithParentheses.js +17 -0
  112. package/dist/util/getTextWithParentheses.js.map +1 -0
  113. package/dist/util/getThisExpression.js +1 -2
  114. package/dist/util/getThisExpression.js.map +1 -1
  115. package/dist/util/getWrappedCode.js +1 -2
  116. package/dist/util/getWrappedCode.js.map +1 -1
  117. package/dist/util/getWrappingFixer.js +2 -3
  118. package/dist/util/getWrappingFixer.js.map +1 -1
  119. package/dist/util/index.js +2 -0
  120. package/dist/util/index.js.map +1 -1
  121. package/dist/util/isAssignee.js +1 -2
  122. package/dist/util/isAssignee.js.map +1 -1
  123. package/dist/util/isNodeEqual.js +1 -2
  124. package/dist/util/isNodeEqual.js.map +1 -1
  125. package/dist/util/isNullLiteral.js +1 -2
  126. package/dist/util/isNullLiteral.js.map +1 -1
  127. package/dist/util/isUndefinedIdentifier.js +1 -2
  128. package/dist/util/isUndefinedIdentifier.js.map +1 -1
  129. package/dist/util/misc.js +14 -14
  130. package/dist/util/misc.js.map +1 -1
  131. package/dist/util/objectIterators.js +3 -4
  132. package/dist/util/objectIterators.js.map +1 -1
  133. package/dist/util/scopeUtils.js +11 -0
  134. package/dist/util/scopeUtils.js.map +1 -0
  135. package/docs/rules/ban-types.md +22 -0
  136. package/docs/rules/consistent-indexed-object-style.mdx +1 -1
  137. package/docs/rules/no-dynamic-delete.mdx +6 -5
  138. package/docs/rules/no-extraneous-class.mdx +6 -0
  139. package/docs/rules/no-restricted-types.mdx +71 -0
  140. package/docs/rules/no-type-alias.mdx +1 -1
  141. package/docs/rules/no-unsafe-function-type.mdx +63 -0
  142. package/docs/rules/no-wrapper-object-types.mdx +67 -0
  143. package/docs/rules/return-await.mdx +17 -6
  144. package/package.json +7 -9
  145. package/dist/rules/ban-types.js.map +0 -1
  146. package/docs/rules/ban-types.mdx +0 -133
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getStringLength = void 0;
6
+ exports.getStringLength = getStringLength;
7
7
  const graphemer_1 = __importDefault(require("graphemer"));
8
8
  let splitter;
9
9
  function isASCII(value) {
@@ -16,5 +16,4 @@ function getStringLength(value) {
16
16
  splitter ??= new graphemer_1.default();
17
17
  return splitter.countGraphemes(value);
18
18
  }
19
- exports.getStringLength = getStringLength;
20
19
  //# sourceMappingURL=getStringLength.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getStringLength.js","sourceRoot":"","sources":["../../src/util/getStringLength.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAElC,IAAI,QAA+B,CAAC;AAEpC,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa;IAC3C,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,QAAQ,KAAK,IAAI,mBAAS,EAAE,CAAC;IAE7B,OAAO,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AARD,0CAQC"}
1
+ {"version":3,"file":"getStringLength.js","sourceRoot":"","sources":["../../src/util/getStringLength.ts"],"names":[],"mappings":";;;;;AAQA,0CAQC;AAhBD,0DAAkC;AAElC,IAAI,QAA+B,CAAC;AAEpC,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa;IAC3C,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,QAAQ,KAAK,IAAI,mBAAS,EAAE,CAAC;IAE7B,OAAO,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTextWithParentheses = getTextWithParentheses;
4
+ const _1 = require(".");
5
+ function getTextWithParentheses(sourceCode, node) {
6
+ // Capture parentheses before and after the node
7
+ let beforeCount = 0;
8
+ let afterCount = 0;
9
+ if ((0, _1.isParenthesized)(node, sourceCode)) {
10
+ const bodyOpeningParen = (0, _1.nullThrows)(sourceCode.getTokenBefore(node, _1.isOpeningParenToken), _1.NullThrowsReasons.MissingToken('(', 'node'));
11
+ const bodyClosingParen = (0, _1.nullThrows)(sourceCode.getTokenAfter(node, _1.isClosingParenToken), _1.NullThrowsReasons.MissingToken(')', 'node'));
12
+ beforeCount = node.range[0] - bodyOpeningParen.range[0];
13
+ afterCount = bodyClosingParen.range[1] - node.range[1];
14
+ }
15
+ return sourceCode.getText(node, beforeCount, afterCount);
16
+ }
17
+ //# sourceMappingURL=getTextWithParentheses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTextWithParentheses.js","sourceRoot":"","sources":["../../src/util/getTextWithParentheses.ts"],"names":[],"mappings":";;AAWA,wDAuBC;AA/BD,wBAMW;AAEX,SAAgB,sBAAsB,CACpC,UAAgC,EAChC,IAAmB;IAEnB,gDAAgD;IAChD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,IAAI,IAAA,kBAAe,EAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,gBAAgB,GAAG,IAAA,aAAU,EACjC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAmB,CAAC,EACpD,oBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAC5C,CAAC;QACF,MAAM,gBAAgB,GAAG,IAAA,aAAU,EACjC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,sBAAmB,CAAC,EACnD,oBAAiB,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAC5C,CAAC;QAEF,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getThisExpression = void 0;
3
+ exports.getThisExpression = getThisExpression;
4
4
  const utils_1 = require("@typescript-eslint/utils");
5
5
  function getThisExpression(node) {
6
6
  while (true) {
@@ -22,5 +22,4 @@ function getThisExpression(node) {
22
22
  }
23
23
  return;
24
24
  }
25
- exports.getThisExpression = getThisExpression;
26
25
  //# sourceMappingURL=getThisExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getThisExpression.js","sourceRoot":"","sources":["../../src/util/getThisExpression.ts"],"names":[],"mappings":";;;AACA,oDAA0D;AAE1D,SAAgB,iBAAiB,CAC/B,IAAmB;IAEnB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EAAE,CAAC;YAChD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAAE,CAAC;YACzD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe,EAAE,CAAC;YACxD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO;AACT,CAAC;AAlBD,8CAkBC"}
1
+ {"version":3,"file":"getThisExpression.js","sourceRoot":"","sources":["../../src/util/getThisExpression.ts"],"names":[],"mappings":";;AAGA,8CAkBC;AApBD,oDAA0D;AAE1D,SAAgB,iBAAiB,CAC/B,IAAmB;IAEnB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EAAE,CAAC;YAChD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAAE,CAAC;YACzD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe,EAAE,CAAC;YACxD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO;AACT,CAAC"}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getWrappedCode = void 0;
3
+ exports.getWrappedCode = getWrappedCode;
4
4
  function getWrappedCode(text, nodePrecedence, parentPrecedence) {
5
5
  return nodePrecedence > parentPrecedence ? text : `(${text})`;
6
6
  }
7
- exports.getWrappedCode = getWrappedCode;
8
7
  //# sourceMappingURL=getWrappedCode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getWrappedCode.js","sourceRoot":"","sources":["../../src/util/getWrappedCode.ts"],"names":[],"mappings":";;;AAEA,SAAgB,cAAc,CAC5B,IAAY,EACZ,cAAkC,EAClC,gBAAoC;IAEpC,OAAO,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;AAChE,CAAC;AAND,wCAMC"}
1
+ {"version":3,"file":"getWrappedCode.js","sourceRoot":"","sources":["../../src/util/getWrappedCode.ts"],"names":[],"mappings":";;AAEA,wCAMC;AAND,SAAgB,cAAc,CAC5B,IAAY,EACZ,cAAkC,EAClC,gBAAoC;IAEpC,OAAO,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;AAChE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isStrongPrecedenceNode = exports.getWrappingFixer = void 0;
3
+ exports.getWrappingFixer = getWrappingFixer;
4
+ exports.isStrongPrecedenceNode = isStrongPrecedenceNode;
4
5
  const utils_1 = require("@typescript-eslint/utils");
5
6
  /**
6
7
  * Wraps node with some code. Adds parenthesis as necessary.
@@ -40,7 +41,6 @@ function getWrappingFixer(params) {
40
41
  return fixer.replaceText(node, code);
41
42
  };
42
43
  }
43
- exports.getWrappingFixer = getWrappingFixer;
44
44
  /**
45
45
  * Check if a node will always have the same precedence if it's parent changes.
46
46
  */
@@ -57,7 +57,6 @@ function isStrongPrecedenceNode(innerNode) {
57
57
  innerNode.type === utils_1.AST_NODE_TYPES.TaggedTemplateExpression ||
58
58
  innerNode.type === utils_1.AST_NODE_TYPES.TSInstantiationExpression);
59
59
  }
60
- exports.isStrongPrecedenceNode = isStrongPrecedenceNode;
61
60
  /**
62
61
  * Check if a node's parent could have different precedence if the node changes.
63
62
  */
@@ -1 +1 @@
1
- {"version":3,"file":"getWrappingFixer.js","sourceRoot":"","sources":["../../src/util/getWrappingFixer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getWrappingFixer.js","sourceRoot":"","sources":["../../src/util/getWrappingFixer.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ __exportStar(require("./getFunctionHeadLoc"), exports);
23
23
  __exportStar(require("./getOperatorPrecedence"), exports);
24
24
  __exportStar(require("./getStaticStringValue"), exports);
25
25
  __exportStar(require("./getStringLength"), exports);
26
+ __exportStar(require("./getTextWithParentheses"), exports);
26
27
  __exportStar(require("./getThisExpression"), exports);
27
28
  __exportStar(require("./getWrappingFixer"), exports);
28
29
  __exportStar(require("./isNodeEqual"), exports);
@@ -30,6 +31,7 @@ __exportStar(require("./isNullLiteral"), exports);
30
31
  __exportStar(require("./isUndefinedIdentifier"), exports);
31
32
  __exportStar(require("./misc"), exports);
32
33
  __exportStar(require("./objectIterators"), exports);
34
+ __exportStar(require("./scopeUtils"), exports);
33
35
  __exportStar(require("./types"), exports);
34
36
  __exportStar(require("./isAssignee"), exports);
35
37
  // this is done for convenience - saves migrating all of the old rules
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAuD;AAEvD,6CAA2B;AAC3B,2DAAyC;AACzC,+CAA6B;AAC7B,uDAAqC;AACrC,0DAAwC;AACxC,yDAAuC;AACvC,oDAAkC;AAClC,sDAAoC;AACpC,qDAAmC;AACnC,gDAA8B;AAC9B,kDAAgC;AAChC,0DAAwC;AACxC,yCAAuB;AACvB,oDAAkC;AAClC,0CAAwB;AACxB,+CAA6B;AAE7B,sEAAsE;AACtE,gEAA8C;AAC9C,MAAM,EACJ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAClB,GAAG,mBAAW,CAAC;AAMd,oCAAY;AACZ,8BAAS;AACT,4CAAgB;AAChB,8CAAiB;AACjB,gCAAU;AAGV,8CAAiB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAuD;AAEvD,6CAA2B;AAC3B,2DAAyC;AACzC,+CAA6B;AAC7B,uDAAqC;AACrC,0DAAwC;AACxC,yDAAuC;AACvC,oDAAkC;AAClC,2DAAyC;AACzC,sDAAoC;AACpC,qDAAmC;AACnC,gDAA8B;AAC9B,kDAAgC;AAChC,0DAAwC;AACxC,yCAAuB;AACvB,oDAAkC;AAClC,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B;AAE7B,sEAAsE;AACtE,gEAA8C;AAC9C,MAAM,EACJ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAClB,GAAG,mBAAW,CAAC;AAMd,oCAAY;AACZ,8BAAS;AACT,4CAAgB;AAChB,8CAAiB;AACjB,gCAAU;AAGV,8CAAiB"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAssignee = void 0;
3
+ exports.isAssignee = isAssignee;
4
4
  const utils_1 = require("@typescript-eslint/utils");
5
5
  function isAssignee(node) {
6
6
  const parent = node.parent;
@@ -40,5 +40,4 @@ function isAssignee(node) {
40
40
  }
41
41
  return false;
42
42
  }
43
- exports.isAssignee = isAssignee;
44
43
  //# sourceMappingURL=isAssignee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isAssignee.js","sourceRoot":"","sources":["../../src/util/isAssignee.ts"],"names":[],"mappings":";;;AACA,oDAA0D;AAE1D,SAAgB,UAAU,CAAC,IAAmB;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4BAA4B;IAC5B,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,oBAAoB;QACnD,MAAM,CAAC,IAAI,KAAK,IAAI,EACpB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;IACd,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;QAC9C,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAC5B,MAAM,CAAC,QAAQ,KAAK,IAAI,EACxB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QAC/C,MAAM,CAAC,QAAQ,KAAK,IAAI,EACxB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;IACf,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;IAClB,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+BAA+B;IAC/B,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,QAAQ;QACvC,MAAM,CAAC,KAAK,KAAK,IAAI;QACrB,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QACtD,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AApDD,gCAoDC"}
1
+ {"version":3,"file":"isAssignee.js","sourceRoot":"","sources":["../../src/util/isAssignee.ts"],"names":[],"mappings":";;AAGA,gCAoDC;AAtDD,oDAA0D;AAE1D,SAAgB,UAAU,CAAC,IAAmB;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4BAA4B;IAC5B,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,oBAAoB;QACnD,MAAM,CAAC,IAAI,KAAK,IAAI,EACpB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;IACd,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;QAC9C,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAC5B,MAAM,CAAC,QAAQ,KAAK,IAAI,EACxB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QAC/C,MAAM,CAAC,QAAQ,KAAK,IAAI,EACxB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;IACf,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;IAClB,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+BAA+B;IAC/B,IACE,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,QAAQ;QACvC,MAAM,CAAC,KAAK,KAAK,IAAI;QACrB,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QACtD,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isNodeEqual = void 0;
3
+ exports.isNodeEqual = isNodeEqual;
4
4
  const utils_1 = require("@typescript-eslint/utils");
5
5
  function isNodeEqual(a, b) {
6
6
  if (a.type !== b.type) {
@@ -23,5 +23,4 @@ function isNodeEqual(a, b) {
23
23
  }
24
24
  return false;
25
25
  }
26
- exports.isNodeEqual = isNodeEqual;
27
26
  //# sourceMappingURL=isNodeEqual.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isNodeEqual.js","sourceRoot":"","sources":["../../src/util/isNodeEqual.ts"],"names":[],"mappings":";;;AACA,oDAA0D;AAE1D,SAAgB,WAAW,CAAC,CAAgB,EAAE,CAAgB;IAC5D,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc;QACxC,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EACxC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,EAAE,CAAC;QAC3E,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,IACE,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;QACpC,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EACpC,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC;IACD,IACE,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QAC1C,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAC1C,CAAC;QACD,OAAO,CACL,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AA5BD,kCA4BC"}
1
+ {"version":3,"file":"isNodeEqual.js","sourceRoot":"","sources":["../../src/util/isNodeEqual.ts"],"names":[],"mappings":";;AAGA,kCA4BC;AA9BD,oDAA0D;AAE1D,SAAgB,WAAW,CAAC,CAAgB,EAAE,CAAgB;IAC5D,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc;QACxC,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EACxC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,EAAE,CAAC;QAC3E,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,IACE,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;QACpC,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EACpC,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC;IACD,IACE,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB;QAC1C,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAC1C,CAAC;QACD,OAAO,CACL,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isNullLiteral = void 0;
3
+ exports.isNullLiteral = isNullLiteral;
4
4
  const utils_1 = require("@typescript-eslint/utils");
5
5
  function isNullLiteral(i) {
6
6
  return i.type === utils_1.AST_NODE_TYPES.Literal && i.value == null;
7
7
  }
8
- exports.isNullLiteral = isNullLiteral;
9
8
  //# sourceMappingURL=isNullLiteral.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isNullLiteral.js","sourceRoot":"","sources":["../../src/util/isNullLiteral.ts"],"names":[],"mappings":";;;AACA,oDAA0D;AAE1D,SAAgB,aAAa,CAAC,CAAgB;IAC5C,OAAO,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;AAC9D,CAAC;AAFD,sCAEC"}
1
+ {"version":3,"file":"isNullLiteral.js","sourceRoot":"","sources":["../../src/util/isNullLiteral.ts"],"names":[],"mappings":";;AAGA,sCAEC;AAJD,oDAA0D;AAE1D,SAAgB,aAAa,CAAC,CAAgB;IAC5C,OAAO,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;AAC9D,CAAC"}
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isUndefinedIdentifier = void 0;
3
+ exports.isUndefinedIdentifier = isUndefinedIdentifier;
4
4
  const utils_1 = require("@typescript-eslint/utils");
5
5
  function isUndefinedIdentifier(i) {
6
6
  return i.type === utils_1.AST_NODE_TYPES.Identifier && i.name === 'undefined';
7
7
  }
8
- exports.isUndefinedIdentifier = isUndefinedIdentifier;
9
8
  //# sourceMappingURL=isUndefinedIdentifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isUndefinedIdentifier.js","sourceRoot":"","sources":["../../src/util/isUndefinedIdentifier.ts"],"names":[],"mappings":";;;AACA,oDAA0D;AAE1D,SAAgB,qBAAqB,CAAC,CAAgB;IACpD,OAAO,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;AACxE,CAAC;AAFD,sDAEC"}
1
+ {"version":3,"file":"isUndefinedIdentifier.js","sourceRoot":"","sources":["../../src/util/isUndefinedIdentifier.ts"],"names":[],"mappings":";;AAGA,sDAEC;AAJD,oDAA0D;AAE1D,SAAgB,qBAAqB,CAAC,CAAgB;IACpD,OAAO,CAAC,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;AACxE,CAAC"}
package/dist/util/misc.js CHANGED
@@ -26,7 +26,20 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  return result;
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.findLastIndex = exports.upperCaseFirst = exports.typeNodeRequiresParentheses = exports.MemberNameType = exports.isParenlessArrowFunction = exports.isRestParameterDeclaration = exports.isDefinitionFile = exports.getNameFromMember = exports.getNameFromIndexSignature = exports.getEnumNames = exports.formatWordList = exports.findFirstResult = exports.arraysAreEqual = exports.arrayGroupByToMap = void 0;
29
+ exports.MemberNameType = void 0;
30
+ exports.arrayGroupByToMap = arrayGroupByToMap;
31
+ exports.arraysAreEqual = arraysAreEqual;
32
+ exports.findFirstResult = findFirstResult;
33
+ exports.formatWordList = formatWordList;
34
+ exports.getEnumNames = getEnumNames;
35
+ exports.getNameFromIndexSignature = getNameFromIndexSignature;
36
+ exports.getNameFromMember = getNameFromMember;
37
+ exports.isDefinitionFile = isDefinitionFile;
38
+ exports.isRestParameterDeclaration = isRestParameterDeclaration;
39
+ exports.isParenlessArrowFunction = isParenlessArrowFunction;
40
+ exports.typeNodeRequiresParentheses = typeNodeRequiresParentheses;
41
+ exports.upperCaseFirst = upperCaseFirst;
42
+ exports.findLastIndex = findLastIndex;
30
43
  const type_utils_1 = require("@typescript-eslint/type-utils");
31
44
  const utils_1 = require("@typescript-eslint/utils");
32
45
  const ts = __importStar(require("typescript"));
@@ -48,14 +61,12 @@ function isDefinitionFile(fileName) {
48
61
  }
49
62
  return false;
50
63
  }
51
- exports.isDefinitionFile = isDefinitionFile;
52
64
  /**
53
65
  * Upper cases the first character or the string
54
66
  */
55
67
  function upperCaseFirst(str) {
56
68
  return str[0].toUpperCase() + str.slice(1);
57
69
  }
58
- exports.upperCaseFirst = upperCaseFirst;
59
70
  function arrayGroupByToMap(array, getKey) {
60
71
  const groups = new Map();
61
72
  for (const item of array) {
@@ -70,7 +81,6 @@ function arrayGroupByToMap(array, getKey) {
70
81
  }
71
82
  return groups;
72
83
  }
73
- exports.arrayGroupByToMap = arrayGroupByToMap;
74
84
  function arraysAreEqual(a, b, eq) {
75
85
  return (a === b ||
76
86
  (a !== undefined &&
@@ -78,7 +88,6 @@ function arraysAreEqual(a, b, eq) {
78
88
  a.length === b.length &&
79
89
  a.every((x, idx) => eq(x, b[idx]))));
80
90
  }
81
- exports.arraysAreEqual = arraysAreEqual;
82
91
  /** Returns the first non-`undefined` result. */
83
92
  function findFirstResult(inputs, getResult) {
84
93
  for (const element of inputs) {
@@ -89,7 +98,6 @@ function findFirstResult(inputs, getResult) {
89
98
  }
90
99
  return undefined;
91
100
  }
92
- exports.findFirstResult = findFirstResult;
93
101
  /**
94
102
  * Gets a string representation of the name of the index signature.
95
103
  */
@@ -97,7 +105,6 @@ function getNameFromIndexSignature(node) {
97
105
  const propName = node.parameters.find((parameter) => parameter.type === utils_1.AST_NODE_TYPES.Identifier);
98
106
  return propName ? propName.name : '(index signature)';
99
107
  }
100
- exports.getNameFromIndexSignature = getNameFromIndexSignature;
101
108
  var MemberNameType;
102
109
  (function (MemberNameType) {
103
110
  MemberNameType[MemberNameType["Private"] = 1] = "Private";
@@ -140,11 +147,9 @@ function getNameFromMember(member, sourceCode) {
140
147
  name: sourceCode.text.slice(...member.key.range),
141
148
  };
142
149
  }
143
- exports.getNameFromMember = getNameFromMember;
144
150
  function getEnumNames(myEnum) {
145
151
  return Object.keys(myEnum).filter(x => isNaN(parseInt(x)));
146
152
  }
147
- exports.getEnumNames = getEnumNames;
148
153
  /**
149
154
  * Given an array of words, returns an English-friendly concatenation, separated with commas, with
150
155
  * the `and` clause inserted before the last item.
@@ -160,7 +165,6 @@ function formatWordList(words) {
160
165
  }
161
166
  return [words.slice(0, -1).join(', '), words.slice(-1)[0]].join(' and ');
162
167
  }
163
- exports.formatWordList = formatWordList;
164
168
  /**
165
169
  * Iterates the array in reverse and returns the index of the first element it
166
170
  * finds which passes the predicate function.
@@ -178,7 +182,6 @@ function findLastIndex(members, predicate) {
178
182
  }
179
183
  return -1;
180
184
  }
181
- exports.findLastIndex = findLastIndex;
182
185
  function typeNodeRequiresParentheses(node, text) {
183
186
  return (node.type === utils_1.AST_NODE_TYPES.TSFunctionType ||
184
187
  node.type === utils_1.AST_NODE_TYPES.TSConstructorType ||
@@ -186,13 +189,10 @@ function typeNodeRequiresParentheses(node, text) {
186
189
  (node.type === utils_1.AST_NODE_TYPES.TSUnionType && text.startsWith('|')) ||
187
190
  (node.type === utils_1.AST_NODE_TYPES.TSIntersectionType && text.startsWith('&')));
188
191
  }
189
- exports.typeNodeRequiresParentheses = typeNodeRequiresParentheses;
190
192
  function isRestParameterDeclaration(decl) {
191
193
  return ts.isParameter(decl) && decl.dotDotDotToken != null;
192
194
  }
193
- exports.isRestParameterDeclaration = isRestParameterDeclaration;
194
195
  function isParenlessArrowFunction(node, sourceCode) {
195
196
  return (node.params.length === 1 && !(0, astUtils_1.isParenthesized)(node.params[0], sourceCode));
196
197
  }
197
- exports.isParenlessArrowFunction = isParenlessArrowFunction;
198
198
  //# sourceMappingURL=misc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/util/misc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/util/misc.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.objectReduceKey = exports.objectMapKey = exports.objectForEachKey = void 0;
3
+ exports.objectForEachKey = objectForEachKey;
4
+ exports.objectMapKey = objectMapKey;
5
+ exports.objectReduceKey = objectReduceKey;
4
6
  function objectForEachKey(obj, callback) {
5
7
  const keys = Object.keys(obj);
6
8
  for (const key of keys) {
7
9
  callback(key);
8
10
  }
9
11
  }
10
- exports.objectForEachKey = objectForEachKey;
11
12
  function objectMapKey(obj, callback) {
12
13
  const values = [];
13
14
  objectForEachKey(obj, key => {
@@ -15,7 +16,6 @@ function objectMapKey(obj, callback) {
15
16
  });
16
17
  return values;
17
18
  }
18
- exports.objectMapKey = objectMapKey;
19
19
  function objectReduceKey(obj, callback, initial) {
20
20
  let accumulator = initial;
21
21
  objectForEachKey(obj, key => {
@@ -23,5 +23,4 @@ function objectReduceKey(obj, callback, initial) {
23
23
  });
24
24
  return accumulator;
25
25
  }
26
- exports.objectReduceKey = objectReduceKey;
27
26
  //# sourceMappingURL=objectIterators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectIterators.js","sourceRoot":"","sources":["../../src/util/objectIterators.ts"],"names":[],"mappings":";;;AAAA,SAAS,gBAAgB,CACvB,GAAM,EACN,QAAgC;IAEhC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAyBQ,4CAAgB;AAvBzB,SAAS,YAAY,CACnB,GAAM,EACN,QAAkC;IAElC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAc0B,oCAAY;AAZvC,SAAS,eAAe,CACtB,GAAM,EACN,QAAyD,EACzD,OAAoB;IAEpB,IAAI,WAAW,GAAG,OAAO,CAAC;IAC1B,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;QAC1B,WAAW,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC;AAEwC,0CAAe"}
1
+ {"version":3,"file":"objectIterators.js","sourceRoot":"","sources":["../../src/util/objectIterators.ts"],"names":[],"mappings":";;AAiCS,4CAAgB;AAAE,oCAAY;AAAE,0CAAe;AAjCxD,SAAS,gBAAgB,CACvB,GAAM,EACN,QAAgC;IAEhC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,GAAM,EACN,QAAkC;IAElC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CACtB,GAAM,EACN,QAAyD,EACzD,OAAoB;IAEpB,IAAI,WAAW,GAAG,OAAO,CAAC;IAC1B,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;QAC1B,WAAW,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isReferenceToGlobalFunction = isReferenceToGlobalFunction;
4
+ function isReferenceToGlobalFunction(calleeName, node, sourceCode) {
5
+ const ref = sourceCode
6
+ .getScope(node)
7
+ .references.find(ref => ref.identifier.name === calleeName);
8
+ // ensure it's the "global" version
9
+ return !ref?.resolved?.defs.length;
10
+ }
11
+ //# sourceMappingURL=scopeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../src/util/scopeUtils.ts"],"names":[],"mappings":";;AAGA,kEAWC;AAXD,SAAgB,2BAA2B,CACzC,UAAkB,EAClB,IAAmB,EACnB,UAAsB;IAEtB,MAAM,GAAG,GAAG,UAAU;SACnB,QAAQ,CAAC,IAAI,CAAC;SACd,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAE9D,mCAAmC;IACnC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;AACrC,CAAC"}
@@ -0,0 +1,22 @@
1
+ :::danger Deprecated
2
+
3
+ The old `ban-types` rule encompassed multiple areas of functionality, and so has been split into several rules.
4
+
5
+ **[`no-restricted-types`](./no-restricted-types.mdx)** is the new rule for banning a configurable list of type names.
6
+ It has no options enabled by default and is akin to rules like [`no-restricted-globals`](https://eslint.org/docs/latest/rules/no-restricted-globals), [`no-restricted-properties`](https://eslint.org/docs/latest/rules/no-restricted-properties), and [`no-restricted-syntax`](https://eslint.org/docs/latest/rules/no-restricted-syntax).
7
+
8
+ The default options from `ban-types` are now covered by:
9
+
10
+ - **[`no-empty-object-type`](./no-empty-object-type.mdx)**: banning the built-in `{}` type in confusing locations
11
+ - **[`no-unsafe-function-type`](./no-unsafe-function-type.mdx)**: banning the built-in `Function`
12
+ - **[`no-wrapper-object-types`](./no-wrapper-object-types.mdx)**: banning `Object` and built-in class wrappers such as `Number`
13
+
14
+ `ban-types` itself is removed in typescript-eslint v8.
15
+ See [Announcing typescript-eslint v8 Beta](/blog/announcing-typescript-eslint-v8-beta) for more details.
16
+ :::
17
+
18
+ <!-- This doc file has been left on purpose because `ban-types` is a well-known
19
+ rule. This exists to help direct people to the replacement rules.
20
+
21
+ Note that there is no actual way to get to this page in the normal navigation,
22
+ so end-users will only be able to get to this page from the search bar. -->
@@ -23,7 +23,7 @@ type Foo = {
23
23
  type Foo = Record<string, unknown>;
24
24
  ```
25
25
 
26
- Keeping to one declaration form consistently improve code readability.
26
+ Using one declaration form consistently improves code readability.
27
27
 
28
28
  ## Options
29
29
 
@@ -25,10 +25,6 @@ Dynamically adding and removing keys from objects can cause occasional edge case
25
25
  <TabItem value="❌ Incorrect">
26
26
 
27
27
  ```ts
28
- // Can be replaced with the constant equivalents, such as container.aaa
29
- delete container['aaa'];
30
- delete container['Infinity'];
31
-
32
28
  // Dynamic, difficult-to-reason-about lookups
33
29
  const name = 'name';
34
30
  delete container[name];
@@ -48,7 +44,12 @@ delete container.aaa;
48
44
 
49
45
  // Constants that must be accessed by []
50
46
  delete container[7];
51
- delete container['-Infinity'];
47
+ delete container[-1];
48
+
49
+ // All strings are allowed, to be compatible with the noPropertyAccessFromIndexSignature
50
+ // TS compiler option
51
+ delete container['aaa'];
52
+ delete container['Infinity'];
52
53
  ```
53
54
 
54
55
  </TabItem>
@@ -42,6 +42,8 @@ class HelloWorldLogger {
42
42
  console.log('Hello, world!');
43
43
  }
44
44
  }
45
+
46
+ abstract class Foo {}
45
47
  ```
46
48
 
47
49
  </TabItem>
@@ -57,6 +59,10 @@ export function isProduction() {
57
59
  function logHelloWorld() {
58
60
  console.log('Hello, world!');
59
61
  }
62
+
63
+ abstract class Foo {
64
+ abstract prop: string;
65
+ }
60
66
  ```
61
67
 
62
68
  </TabItem>
@@ -0,0 +1,71 @@
1
+ ---
2
+ description: 'Disallow certain types.'
3
+ ---
4
+
5
+ import Tabs from '@theme/Tabs';
6
+ import TabItem from '@theme/TabItem';
7
+
8
+ > 🛑 This file is source code, not the primary documentation location! 🛑
9
+ >
10
+ > See **https://typescript-eslint.io/rules/no-restricted-types** for documentation.
11
+
12
+ It can sometimes be useful to ban specific types from being used in type annotations.
13
+ For example, a project might be migrating from using one type to another, and want to ban references to the old type.
14
+
15
+ This rule can be configured to ban a list of specific types and can suggest alternatives.
16
+ Note that it does not ban the corresponding runtime objects from being used.
17
+
18
+ ## Options
19
+
20
+ ### `types`
21
+
22
+ An object whose keys are the types you want to ban, and the values are error messages.
23
+
24
+ The type can either be a type name literal (`OldType`) or a a type name with generic parameter instantiation(s) (`OldType<MyArgument>`).
25
+
26
+ The values can be:
27
+
28
+ - A string, which is the error message to be reported; or
29
+ - `false` to specifically un-ban this type (useful when you are using `extendDefaults`); or
30
+ - An object with the following properties:
31
+ - `message: string`: the message to display when the type is matched.
32
+ - `fixWith?: string`: a string to replace the banned type with when the fixer is run. If this is omitted, no fix will be done.
33
+ - `suggest?: string[]`: a list of suggested replacements for the banned type.
34
+
35
+ Example configuration:
36
+
37
+ ```jsonc
38
+ {
39
+ "@typescript-eslint/no-restricted-types": [
40
+ "error",
41
+ {
42
+ "types": {
43
+ // add a custom message to help explain why not to use it
44
+ "OldType": "Don't use OldType because it is unsafe",
45
+
46
+ // add a custom message, and tell the plugin how to fix it
47
+ "OldAPI": {
48
+ "message": "Use NewAPI instead",
49
+ "fixWith": "NewAPI",
50
+ },
51
+
52
+ // add a custom message, and tell the plugin how to suggest a fix
53
+ "SoonToBeOldAPI": {
54
+ "message": "Use NewAPI instead",
55
+ "suggest": ["NewAPIOne", "NewAPITwo"],
56
+ },
57
+ },
58
+ },
59
+ ],
60
+ }
61
+ ```
62
+
63
+ ## When Not To Use It
64
+
65
+ If you have no need to ban specific types from being used in type annotations, you don't need this rule.
66
+
67
+ ## Related To
68
+
69
+ - [`no-empty-object-type`](./no-empty-object-type.mdx)
70
+ - [`no-unsafe-function-type`](./no-unsafe-function-type.mdx)
71
+ - [`no-wrapper-object-types`](./no-wrapper-object-types.mdx)
@@ -19,7 +19,7 @@ TypeScript type aliases are a commonly necessary language feature; banning it al
19
19
  :::note
20
20
 
21
21
  If you want to ban certain classifications of type aliases, consider using [`no-restricted-syntax`](https://eslint.org/docs/latest/rules/no-restricted-syntax).
22
- See [Troubleshooting & FAQs](/troubleshooting#how-can-i-ban-specific-language-feature).
22
+ See [Troubleshooting & FAQs](/troubleshooting/faqs/general#how-can-i-ban-specific-language-feature).
23
23
 
24
24
  :::
25
25