xo 0.49.0 → 0.52.0

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 (486) hide show
  1. package/cli.js +1 -1
  2. package/config/plugins.cjs +24 -24
  3. package/index.js +7 -2
  4. package/lib/constants.js +6 -6
  5. package/lib/options-manager.js +92 -9
  6. package/lib/report.js +3 -1
  7. package/node_modules/@typescript-eslint/eslint-plugin/README.md +2 -149
  8. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js +1 -1
  9. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.js.map +1 -1
  10. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js +1 -1
  11. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslint-recommended.js.map +1 -1
  12. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js +2 -6
  13. package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/strict.js.map +1 -1
  14. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js +22 -9
  15. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/array-type.js.map +1 -1
  16. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js +1 -1
  17. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js.map +1 -1
  18. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js +70 -63
  19. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js.map +1 -1
  20. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js +1 -1
  21. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-tslint-comment.js.map +1 -1
  22. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-types.js +1 -1
  23. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-types.js.map +1 -1
  24. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/class-literal-property-style.js +1 -1
  25. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-dangle.js +11 -11
  26. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-dangle.js.map +1 -1
  27. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js +1 -1
  28. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/comma-spacing.js.map +1 -1
  29. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js +100 -0
  30. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-generic-constructors.js.map +1 -0
  31. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js +2 -2
  32. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-indexed-object-style.js.map +1 -1
  33. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js +1 -1
  34. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-assertions.js.map +1 -1
  35. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js +1 -1
  36. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-definitions.js.map +1 -1
  37. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-exports.js +1 -1
  38. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-exports.js.map +1 -1
  39. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js +1 -1
  40. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/consistent-type-imports.js.map +1 -1
  41. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/dot-notation.js +1 -1
  42. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js +14 -8
  43. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-function-return-type.js.map +1 -1
  44. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js +133 -43
  45. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-member-accessibility.js.map +1 -1
  46. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js +12 -1
  47. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/explicit-module-boundary-types.js.map +1 -1
  48. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js +2 -0
  49. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js.map +1 -1
  50. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/init-declarations.js +1 -1
  51. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-delimiter-style.js +18 -3
  52. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-delimiter-style.js.map +1 -1
  53. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js +9 -2
  54. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map +1 -1
  55. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js +1 -1
  56. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js.map +1 -1
  57. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js +1 -1
  58. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map +1 -1
  59. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js +2 -2
  60. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js.map +1 -1
  61. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js +1 -1
  62. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-confusing-void-expression.js.map +1 -1
  63. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js +1 -1
  64. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js.map +1 -1
  65. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-imports.js +2 -0
  66. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-imports.js.map +1 -1
  67. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dynamic-delete.js +1 -1
  68. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-dynamic-delete.js.map +1 -1
  69. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js +11 -1
  70. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-function.js.map +1 -1
  71. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js +0 -1
  72. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js.map +1 -1
  73. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js +3 -2
  74. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-explicit-any.js.map +1 -1
  75. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js +8 -2
  76. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extra-parens.js.map +1 -1
  77. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js +5 -1
  78. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-extraneous-class.js.map +1 -1
  79. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js +9 -4
  80. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js.map +1 -1
  81. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implicit-any-catch.js +1 -1
  82. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-implicit-any-catch.js.map +1 -1
  83. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js +10 -2
  84. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-inferrable-types.js.map +1 -1
  85. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js +1 -1
  86. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-invalid-void-type.js.map +1 -1
  87. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-meaningless-void-operator.js +0 -1
  88. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-meaningless-void-operator.js.map +1 -1
  89. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js +29 -3
  90. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map +1 -1
  91. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js +3 -1
  92. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-namespace.js.map +1 -1
  93. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js +1 -1
  94. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-nullish-coalescing.js.map +1 -1
  95. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-optional-chain.js +1 -2
  96. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-asserted-optional-chain.js.map +1 -1
  97. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js +1 -2
  98. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-non-null-assertion.js.map +1 -1
  99. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-require-imports.js +1 -1
  100. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-require-imports.js.map +1 -1
  101. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js +38 -8
  102. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map +1 -1
  103. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-this-alias.js +2 -0
  104. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-this-alias.js.map +1 -1
  105. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js +10 -1
  106. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-type-alias.js.map +1 -1
  107. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js +3 -1
  108. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-boolean-literal-compare.js.map +1 -1
  109. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js +3 -1
  110. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js.map +1 -1
  111. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js +1 -1
  112. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-qualifier.js.map +1 -1
  113. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js +1 -1
  114. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-arguments.js.map +1 -1
  115. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js +2 -1
  116. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js.map +1 -1
  117. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js +4 -2
  118. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-constraint.js.map +1 -1
  119. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js +8 -8
  120. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-argument.js.map +1 -1
  121. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js +8 -8
  122. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js.map +1 -1
  123. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js +1 -1
  124. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-call.js.map +1 -1
  125. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js +4 -4
  126. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-member-access.js.map +1 -1
  127. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js +1 -1
  128. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js.map +1 -1
  129. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js +4 -3
  130. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js.map +1 -1
  131. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js +42 -12
  132. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js.map +1 -1
  133. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js +6 -3
  134. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-constructor.js.map +1 -1
  135. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-empty-export.js +1 -2
  136. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-useless-empty-export.js.map +1 -1
  137. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js +1 -1
  138. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-var-requires.js.map +1 -1
  139. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js +1 -2
  140. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/non-nullable-type-assertion-style.js.map +1 -1
  141. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/object-curly-spacing.js +1 -0
  142. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/object-curly-spacing.js.map +1 -1
  143. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/padding-line-between-statements.js +6 -6
  144. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/padding-line-between-statements.js.map +1 -1
  145. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/parameter-properties.js +32 -24
  146. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/parameter-properties.js.map +1 -1
  147. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-as-const.js +6 -2
  148. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-as-const.js.map +1 -1
  149. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-enum-initializers.js +1 -2
  150. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-enum-initializers.js.map +1 -1
  151. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js +1 -1
  152. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-for-of.js.map +1 -1
  153. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js +1 -1
  154. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-function-type.js.map +1 -1
  155. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js +1 -1
  156. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-literal-enum-member.js.map +1 -1
  157. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-namespace-keyword.js +1 -1
  158. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-namespace-keyword.js.map +1 -1
  159. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js +134 -5
  160. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js.map +1 -1
  161. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js +166 -86
  162. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js.map +1 -1
  163. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js +1 -1
  164. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly-parameter-types.js.map +1 -1
  165. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js +8 -3
  166. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-readonly.js.map +1 -1
  167. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-reduce-type-parameter.js +1 -1
  168. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-reduce-type-parameter.js.map +1 -1
  169. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js +1 -1
  170. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js.map +1 -1
  171. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js +1 -1
  172. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js.map +1 -1
  173. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js +1 -1
  174. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-ts-expect-error.js.map +1 -1
  175. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js +3 -1
  176. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/promise-function-async.js.map +1 -1
  177. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js +2 -1
  178. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js.map +1 -1
  179. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js +1 -1
  180. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-await.js.map +1 -1
  181. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js +3 -1
  182. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js.map +1 -1
  183. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js +21 -6
  184. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-template-expressions.js.map +1 -1
  185. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js +2 -2
  186. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/return-await.js.map +1 -1
  187. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-union-intersection-members.js +4 -1
  188. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/sort-type-union-intersection-members.js.map +1 -1
  189. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-before-blocks.js +1 -1
  190. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-before-blocks.js.map +1 -1
  191. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-before-function-paren.js +1 -1
  192. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-before-function-paren.js.map +1 -1
  193. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-infix-ops.js +22 -26
  194. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/space-infix-ops.js.map +1 -1
  195. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js +1 -1
  196. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/strict-boolean-expressions.js.map +1 -1
  197. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js +1 -2
  198. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/switch-exhaustiveness-check.js.map +1 -1
  199. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js +1 -1
  200. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/triple-slash-reference.js.map +1 -1
  201. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js +24 -20
  202. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/typedef.js.map +1 -1
  203. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js +2 -1
  204. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js.map +1 -1
  205. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js +2 -1
  206. package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js.map +1 -1
  207. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js +3 -0
  208. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js.map +1 -1
  209. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNodeEqual.js +27 -0
  210. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNodeEqual.js.map +1 -0
  211. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js +9 -0
  212. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isNullLiteral.js.map +1 -0
  213. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isUndefinedIdentifier.js +9 -0
  214. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/isUndefinedIdentifier.js.map +1 -0
  215. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js +36 -1
  216. package/node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js.map +1 -1
  217. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/README.md +4 -141
  218. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/TEMPLATE.md +3 -38
  219. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/adjacent-overload-signatures.md +6 -27
  220. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/array-type.md +6 -33
  221. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/await-thenable.md +6 -27
  222. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-ts-comment.md +30 -33
  223. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-tslint-comment.md +6 -23
  224. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md +77 -101
  225. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/brace-style.md +6 -30
  226. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/camelcase.md +3 -1
  227. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/class-literal-property-style.md +9 -13
  228. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md +10 -36
  229. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-spacing.md +6 -30
  230. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-generic-constructors.md +73 -0
  231. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-indexed-object-style.md +19 -29
  232. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-assertions.md +9 -34
  233. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-definitions.md +15 -30
  234. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-exports.md +9 -24
  235. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/consistent-type-imports.md +9 -27
  236. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/default-param-last.md +8 -32
  237. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/dot-notation.md +10 -30
  238. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-function-return-type.md +9 -43
  239. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-member-accessibility.md +9 -40
  240. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/explicit-module-boundary-types.md +12 -57
  241. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/func-call-spacing.md +6 -30
  242. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/indent.md +11 -31
  243. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/init-declarations.md +6 -30
  244. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md +6 -30
  245. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-between-class-members.md +8 -32
  246. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md +6 -10
  247. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-ordering.md +34 -21
  248. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/method-signature-style.md +6 -10
  249. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/naming-convention.md +6 -10
  250. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-array-constructor.md +6 -30
  251. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-base-to-string.md +8 -20
  252. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-non-null-assertion.md +6 -23
  253. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-confusing-void-expression.md +6 -50
  254. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dupe-class-members.md +6 -30
  255. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-enum-values.md +10 -27
  256. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-imports.md +9 -33
  257. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-dynamic-delete.md +6 -27
  258. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-function.md +20 -34
  259. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-empty-interface.md +6 -14
  260. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-explicit-any.md +6 -30
  261. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-non-null-assertion.md +6 -23
  262. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-parens.md +6 -30
  263. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-semi.md +6 -30
  264. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extraneous-class.md +252 -50
  265. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-floating-promises.md +6 -27
  266. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-for-in-array.md +6 -29
  267. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implicit-any-catch.md +13 -28
  268. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-implied-eval.md +6 -26
  269. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-inferrable-types.md +11 -39
  270. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-this.md +6 -34
  271. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-invalid-void-type.md +6 -26
  272. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loop-func.md +6 -30
  273. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-loss-of-precision.md +6 -27
  274. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-magic-numbers.md +6 -32
  275. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-meaningless-void-operator.md +7 -11
  276. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-new.md +6 -27
  277. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-promises.md +62 -13
  278. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-namespace.md +10 -25
  279. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-nullish-coalescing.md +6 -23
  280. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-asserted-optional-chain.md +6 -23
  281. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-non-null-assertion.md +6 -27
  282. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-parameter-properties.md +11 -14
  283. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redeclare.md +6 -27
  284. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-redundant-type-constituents.md +6 -23
  285. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-require-imports.md +6 -27
  286. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-restricted-imports.md +6 -21
  287. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-shadow.md +6 -27
  288. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-this-alias.md +24 -50
  289. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-throw-literal.md +25 -37
  290. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-type-alias.md +22 -26
  291. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-boolean-literal-compare.md +6 -34
  292. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-condition.md +6 -24
  293. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-qualifier.md +6 -27
  294. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-arguments.md +6 -27
  295. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-assertion.md +8 -16
  296. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unnecessary-type-constraint.md +6 -23
  297. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-argument.md +6 -24
  298. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-assignment.md +6 -24
  299. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-call.md +6 -24
  300. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-member-access.md +6 -24
  301. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.md +6 -24
  302. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-expressions.md +6 -30
  303. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unused-vars.md +6 -30
  304. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-use-before-define.md +6 -31
  305. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-constructor.md +7 -31
  306. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-useless-empty-export.md +6 -23
  307. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-var-requires.md +6 -27
  308. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/non-nullable-type-assertion-style.md +6 -23
  309. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md +6 -30
  310. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/padding-line-between-statements.md +10 -39
  311. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/parameter-properties.md +6 -14
  312. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-as-const.md +6 -23
  313. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-enum-initializers.md +6 -23
  314. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-for-of.md +6 -27
  315. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-function-type.md +6 -27
  316. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-includes.md +6 -23
  317. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-literal-enum-member.md +6 -10
  318. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-namespace-keyword.md +6 -27
  319. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-nullish-coalescing.md +48 -10
  320. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-optional-chain.md +18 -25
  321. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly-parameter-types.md +8 -25
  322. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-readonly.md +6 -16
  323. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-reduce-type-parameter.md +6 -23
  324. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-regexp-exec.md +6 -23
  325. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-return-this-type.md +6 -23
  326. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-string-starts-ends-with.md +6 -24
  327. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/prefer-ts-expect-error.md +6 -23
  328. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/promise-function-async.md +6 -44
  329. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/quotes.md +6 -30
  330. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-array-sort-compare.md +6 -26
  331. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/require-await.md +6 -28
  332. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-plus-operands.md +6 -36
  333. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/restrict-template-expressions.md +6 -35
  334. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/return-await.md +6 -20
  335. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/semi.md +6 -30
  336. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/sort-type-union-intersection-members.md +6 -53
  337. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-blocks.md +10 -30
  338. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-function-paren.md +6 -30
  339. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-infix-ops.md +7 -31
  340. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/strict-boolean-expressions.md +6 -34
  341. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/switch-exhaustiveness-check.md +6 -23
  342. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/triple-slash-reference.md +9 -16
  343. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/type-annotation-spacing.md +8 -26
  344. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/typedef.md +12 -40
  345. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unbound-method.md +7 -35
  346. package/node_modules/@typescript-eslint/eslint-plugin/docs/rules/unified-signatures.md +11 -29
  347. package/node_modules/@typescript-eslint/eslint-plugin/package.json +7 -7
  348. package/node_modules/@typescript-eslint/parser/README.md +15 -11
  349. package/node_modules/@typescript-eslint/parser/dist/parser.d.ts.map +1 -1
  350. package/node_modules/@typescript-eslint/parser/dist/parser.js +1 -8
  351. package/node_modules/@typescript-eslint/parser/dist/parser.js.map +1 -1
  352. package/node_modules/@typescript-eslint/parser/package.json +8 -7
  353. package/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.d.ts +9 -9
  354. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.d.ts.map +1 -1
  355. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.d.ts.map +1 -1
  356. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js +4 -0
  357. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.iterable.js.map +1 -1
  358. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js +44 -4
  359. package/node_modules/@typescript-eslint/scope-manager/dist/lib/dom.js.map +1 -1
  360. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.d.ts.map +1 -1
  361. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.js +2 -11
  362. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.bigint.js.map +1 -1
  363. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.d.ts.map +1 -1
  364. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.date.d.ts +3 -0
  365. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.date.d.ts.map +1 -0
  366. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.date.js +11 -0
  367. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.date.js.map +1 -0
  368. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.js +3 -1
  369. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.js.map +1 -1
  370. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.number.d.ts +3 -0
  371. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.number.d.ts.map +1 -0
  372. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.number.js +11 -0
  373. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2020.number.js.map +1 -0
  374. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.object.js +1 -1
  375. package/node_modules/@typescript-eslint/scope-manager/dist/lib/es2022.object.js.map +1 -1
  376. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.d.ts.map +1 -1
  377. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.js +2 -11
  378. package/node_modules/@typescript-eslint/scope-manager/dist/lib/esnext.bigint.js.map +1 -1
  379. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts +2 -0
  380. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.d.ts.map +1 -1
  381. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js +4 -0
  382. package/node_modules/@typescript-eslint/scope-manager/dist/lib/index.js.map +1 -1
  383. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.d.ts.map +1 -1
  384. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js +13 -1
  385. package/node_modules/@typescript-eslint/scope-manager/dist/lib/webworker.js.map +1 -1
  386. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts +2 -0
  387. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.d.ts.map +1 -1
  388. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js +12 -4
  389. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/ClassVisitor.js.map +1 -1
  390. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts +1 -0
  391. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts.map +1 -1
  392. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js +4 -0
  393. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.js.map +1 -1
  394. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.d.ts.map +1 -1
  395. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js +13 -7
  396. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/TypeVisitor.js.map +1 -1
  397. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ClassStaticBlockScope.d.ts +1 -1
  398. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ClassStaticBlockScope.d.ts.map +1 -1
  399. package/node_modules/@typescript-eslint/scope-manager/package.json +6 -6
  400. package/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js +27 -27
  401. package/node_modules/@typescript-eslint/type-utils/dist/isTypeReadonly.js.map +1 -1
  402. package/node_modules/@typescript-eslint/type-utils/package.json +6 -6
  403. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +412 -68
  404. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map +1 -1
  405. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +1 -0
  406. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  407. package/node_modules/@typescript-eslint/types/dist/lib.d.ts +1 -1
  408. package/node_modules/@typescript-eslint/types/dist/lib.d.ts.map +1 -1
  409. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts +1 -1
  410. package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts.map +1 -1
  411. package/node_modules/@typescript-eslint/types/package.json +5 -4
  412. package/node_modules/@typescript-eslint/typescript-estree/README.md +1 -1
  413. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  414. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +34 -13
  415. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  416. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.d.ts.map +1 -1
  417. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.js +2 -1
  418. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.js.map +1 -1
  419. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.d.ts.map +1 -1
  420. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js +34 -1
  421. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js.map +1 -1
  422. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.js +2 -2
  423. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.js.map +1 -1
  424. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.d.ts +5 -0
  425. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.d.ts.map +1 -0
  426. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.js +72 -0
  427. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.js.map +1 -0
  428. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts +1 -2
  429. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts.map +1 -1
  430. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js +8 -23
  431. package/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.js.map +1 -1
  432. package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts +1 -0
  433. package/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts.map +1 -1
  434. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js +1 -0
  435. package/node_modules/@typescript-eslint/typescript-estree/dist/index.js.map +1 -1
  436. package/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts +3 -0
  437. package/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts.map +1 -1
  438. package/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js +21 -1
  439. package/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js.map +1 -1
  440. package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +1 -1
  441. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts.map +1 -1
  442. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.js +6 -3
  443. package/node_modules/@typescript-eslint/typescript-estree/dist/parser.js.map +1 -1
  444. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +3 -2
  445. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
  446. package/node_modules/@typescript-eslint/typescript-estree/package.json +8 -7
  447. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts +2 -2
  448. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts.map +1 -1
  449. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts +7 -7
  450. package/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts.map +1 -1
  451. package/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts.map +1 -1
  452. package/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.js.map +1 -1
  453. package/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts +6 -2
  454. package/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts.map +1 -1
  455. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts.map +1 -1
  456. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js +2 -1
  457. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.js.map +1 -1
  458. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.d.ts.map +1 -1
  459. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js +2 -0
  460. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.js.map +1 -1
  461. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.d.ts.map +1 -1
  462. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js +3 -4
  463. package/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.js.map +1 -1
  464. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/CLIEngine.d.ts +3 -3
  465. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/CLIEngine.d.ts.map +1 -1
  466. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts +2 -2
  467. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts.map +1 -1
  468. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts +4 -0
  469. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts.map +1 -1
  470. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts +1 -1
  471. package/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts.map +1 -1
  472. package/node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Definition.d.ts +1 -1
  473. package/node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Definition.d.ts.map +1 -1
  474. package/node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Reference.d.ts +1 -1
  475. package/node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Reference.d.ts.map +1 -1
  476. package/node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/analyze.d.ts +1 -1
  477. package/node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/analyze.d.ts.map +1 -1
  478. package/node_modules/@typescript-eslint/utils/package.json +7 -7
  479. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts.map +1 -1
  480. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js +2 -1
  481. package/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js.map +1 -1
  482. package/node_modules/@typescript-eslint/visitor-keys/package.json +6 -5
  483. package/node_modules/eslint-config-xo-typescript/index.js +27 -11
  484. package/node_modules/eslint-config-xo-typescript/package.json +5 -4
  485. package/package.json +13 -13
  486. package/readme.md +1 -1
@@ -11,7 +11,7 @@ import type { SyntaxKind } from 'typescript';
11
11
  export declare type Accessibility = 'private' | 'protected' | 'public';
12
12
  export declare interface ArrayExpression extends BaseNode {
13
13
  type: AST_NODE_TYPES.ArrayExpression;
14
- elements: Expression[];
14
+ elements: (Expression | SpreadElement)[];
15
15
  }
16
16
  export declare interface ArrayPattern extends BaseNode {
17
17
  type: AST_NODE_TYPES.ArrayPattern;
@@ -33,10 +33,28 @@ export declare interface ArrowFunctionExpression extends BaseNode {
33
33
  }
34
34
  export declare interface AssignmentExpression extends BaseNode {
35
35
  type: AST_NODE_TYPES.AssignmentExpression;
36
- operator: '-=' | '??=' | '**=' | '*=' | '/=' | '&&=' | '&=' | '%=' | '^=' | '+=' | '<<=' | '=' | '>>=' | '>>>=' | '|=' | '||=';
36
+ operator: ValueOf<AssignmentOperatorToText>;
37
37
  left: Expression;
38
38
  right: Expression;
39
39
  }
40
+ export declare interface AssignmentOperatorToText {
41
+ [SyntaxKind.EqualsToken]: '=';
42
+ [SyntaxKind.PlusEqualsToken]: '+=';
43
+ [SyntaxKind.MinusEqualsToken]: '-=';
44
+ [SyntaxKind.AsteriskEqualsToken]: '*=';
45
+ [SyntaxKind.AsteriskAsteriskEqualsToken]: '**=';
46
+ [SyntaxKind.SlashEqualsToken]: '/=';
47
+ [SyntaxKind.PercentEqualsToken]: '%=';
48
+ [SyntaxKind.LessThanLessThanEqualsToken]: '<<=';
49
+ [SyntaxKind.GreaterThanGreaterThanEqualsToken]: '>>=';
50
+ [SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken]: '>>>=';
51
+ [SyntaxKind.AmpersandEqualsToken]: '&=';
52
+ [SyntaxKind.BarEqualsToken]: '|=';
53
+ [SyntaxKind.BarBarEqualsToken]: '||=';
54
+ [SyntaxKind.AmpersandAmpersandEqualsToken]: '&&=';
55
+ [SyntaxKind.QuestionQuestionEqualsToken]: '??=';
56
+ [SyntaxKind.CaretEqualsToken]: '^=';
57
+ }
40
58
  export declare interface AssignmentPattern extends BaseNode {
41
59
  type: AST_NODE_TYPES.AssignmentPattern;
42
60
  left: BindingName;
@@ -160,6 +178,7 @@ export declare enum AST_NODE_TYPES {
160
178
  TSExportKeyword = "TSExportKeyword",
161
179
  TSExternalModuleReference = "TSExternalModuleReference",
162
180
  TSFunctionType = "TSFunctionType",
181
+ TSInstantiationExpression = "TSInstantiationExpression",
163
182
  TSImportEqualsDeclaration = "TSImportEqualsDeclaration",
164
183
  TSImportType = "TSImportType",
165
184
  TSIndexedAccessType = "TSIndexedAccessType",
@@ -293,27 +312,84 @@ export declare interface ChainExpression extends BaseNode {
293
312
  type: AST_NODE_TYPES.ChainExpression;
294
313
  expression: ChainElement;
295
314
  }
315
+ declare interface ClassBase extends BaseNode {
316
+ /**
317
+ * Whether the class is an abstract class.
318
+ * ```
319
+ * abstract class Foo {...}
320
+ * ```
321
+ * This is always `undefined` for `ClassExpression`.
322
+ */
323
+ abstract?: boolean;
324
+ /**
325
+ * The class body.
326
+ */
327
+ body: ClassBody;
328
+ /**
329
+ * Whether the class has been `declare`d:
330
+ * ```
331
+ * declare class Foo {...}
332
+ * ```
333
+ * This is always `undefined` for `ClassExpression`.
334
+ */
335
+ declare?: boolean;
336
+ /**
337
+ * The decorators declared for the class.
338
+ * This is `undefined` if there are no decorators.
339
+ * ```
340
+ * @deco
341
+ * class Foo {...}
342
+ * ```
343
+ * This is always `undefined` for `ClassExpression`.
344
+ */
345
+ decorators?: Decorator[];
346
+ /**
347
+ * The class's name.
348
+ * - For a `ClassExpression` this may be `null` if the name is omitted.
349
+ * - For a `ClassDeclaration` this may be `null` if and only if the parent is
350
+ * an `ExportDefaultDeclaration`.
351
+ */
352
+ id: Identifier | null;
353
+ /**
354
+ * The implemented interfaces for the class.
355
+ * This is `undefined` if there are no implemented interfaces.
356
+ */
357
+ implements?: TSClassImplements[];
358
+ /**
359
+ * The super class this class extends.
360
+ */
361
+ superClass: LeftHandSideExpression | null;
362
+ /**
363
+ * The generic type parameters passed to the superClass.
364
+ * This is `undefined` if there are no generic type parameters passed.
365
+ */
366
+ superTypeParameters?: TSTypeParameterInstantiation;
367
+ /**
368
+ * The generic type parameters declared for the class.
369
+ * This is `undefined` if there are no generic type parameters declared.
370
+ */
371
+ typeParameters?: TSTypeParameterDeclaration;
372
+ }
296
373
  export declare interface ClassBody extends BaseNode {
297
374
  type: AST_NODE_TYPES.ClassBody;
298
375
  body: ClassElement[];
299
376
  }
300
- export declare interface ClassDeclaration extends ClassDeclarationBase {
377
+ export declare type ClassDeclaration = ClassDeclarationWithName | ClassDeclarationWithOptionalName;
378
+ declare interface ClassDeclarationBase extends ClassBase {
301
379
  type: AST_NODE_TYPES.ClassDeclaration;
302
380
  }
303
- declare interface ClassDeclarationBase extends BaseNode {
304
- typeParameters?: TSTypeParameterDeclaration;
305
- superTypeParameters?: TSTypeParameterInstantiation;
381
+ export declare interface ClassDeclarationWithName extends ClassDeclarationBase {
382
+ id: Identifier;
383
+ }
384
+ export declare interface ClassDeclarationWithOptionalName extends ClassDeclarationBase {
306
385
  id: Identifier | null;
307
- body: ClassBody;
308
- superClass: LeftHandSideExpression | null;
309
- implements?: TSClassImplements[];
310
- abstract?: boolean;
311
- declare?: boolean;
312
- decorators?: Decorator[];
313
386
  }
314
387
  export declare type ClassElement = MethodDefinition | PropertyDefinition | StaticBlock | TSAbstractMethodDefinition | TSAbstractPropertyDefinition | TSIndexSignature;
315
- export declare interface ClassExpression extends ClassDeclarationBase {
388
+ export declare interface ClassExpression extends ClassBase {
316
389
  type: AST_NODE_TYPES.ClassExpression;
390
+ abstract?: undefined;
391
+ declare?: undefined;
392
+ decorators?: undefined;
317
393
  }
318
394
  declare interface ClassMethodDefinitionNonComputedNameBase extends MethodDefinitionBase {
319
395
  key: ClassPropertyNameNonComputed;
@@ -343,6 +419,7 @@ export declare interface Decorator extends BaseNode {
343
419
  type: AST_NODE_TYPES.Decorator;
344
420
  expression: LeftHandSideExpression;
345
421
  }
422
+ export declare type DefaultExportDeclarations = ClassDeclarationWithOptionalName | Expression | FunctionDeclarationWithName | FunctionDeclarationWithOptionalName | TSDeclareFunction | TSEnumDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSTypeAliasDeclaration | VariableDeclaration;
346
423
  export declare type DestructuringPattern = ArrayPattern | AssignmentPattern | Identifier | MemberExpression | ObjectPattern | RestElement;
347
424
  export declare interface DoWhileStatement extends BaseNode {
348
425
  type: AST_NODE_TYPES.DoWhileStatement;
@@ -352,30 +429,96 @@ export declare interface DoWhileStatement extends BaseNode {
352
429
  export declare interface EmptyStatement extends BaseNode {
353
430
  type: AST_NODE_TYPES.EmptyStatement;
354
431
  }
355
- export declare type EntityName = Identifier | TSQualifiedName;
432
+ export declare type EntityName = Identifier | ThisExpression | TSQualifiedName;
356
433
  export declare interface ExportAllDeclaration extends BaseNode {
357
434
  type: AST_NODE_TYPES.ExportAllDeclaration;
358
- source: StringLiteral | null;
359
- exportKind: ExportKind;
360
- exported: Identifier | null;
435
+ /**
436
+ * The assertions declared for the export.
437
+ * ```
438
+ * export * from 'mod' assert { type: 'json' };
439
+ * ```
440
+ */
361
441
  assertions: ImportAttribute[];
442
+ /**
443
+ * The name for the exported items. `null` if no name is assigned.
444
+ */
445
+ exported: Identifier | null;
446
+ /**
447
+ * The kind of the export.
448
+ */
449
+ exportKind: ExportKind;
450
+ /**
451
+ * The source module being exported from.
452
+ */
453
+ source: StringLiteral;
362
454
  }
363
455
  declare type ExportAndImportKind = 'type' | 'value';
364
- export declare type ExportDeclaration = ClassDeclaration | ClassExpression | FunctionDeclaration | TSDeclareFunction | TSEnumDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSTypeAliasDeclaration | VariableDeclaration;
456
+ export declare type ExportDeclaration = DefaultExportDeclarations | NamedExportDeclarations;
365
457
  export declare interface ExportDefaultDeclaration extends BaseNode {
366
458
  type: AST_NODE_TYPES.ExportDefaultDeclaration;
367
- declaration: // TODO(error handling) - the following are disallowed syntactically, but allowed by TS error recovery:
368
- ExportDeclaration | Expression;
459
+ /**
460
+ * The declaration being exported.
461
+ */
462
+ declaration: DefaultExportDeclarations;
463
+ /**
464
+ * The kind of the export.
465
+ */
369
466
  exportKind: ExportKind;
370
467
  }
371
468
  declare type ExportKind = ExportAndImportKind;
372
- export declare interface ExportNamedDeclaration extends BaseNode {
469
+ export declare type ExportNamedDeclaration = ExportNamedDeclarationWithoutSourceWithMultiple | ExportNamedDeclarationWithoutSourceWithSingle | ExportNamedDeclarationWithSource;
470
+ declare interface ExportNamedDeclarationBase extends BaseNode {
373
471
  type: AST_NODE_TYPES.ExportNamedDeclaration;
374
- declaration: ExportDeclaration | null;
375
- specifiers: ExportSpecifier[];
376
- source: StringLiteral | null;
472
+ /**
473
+ * The assertions declared for the export.
474
+ * ```
475
+ * export { foo } from 'mod' assert { type: 'json' };
476
+ * ```
477
+ * This will be an empty array if `source` is `null`
478
+ */
479
+ assertions: ImportAttribute[];
480
+ /**
481
+ * The exported declaration.
482
+ * ```
483
+ * export const x = 1;
484
+ * ```
485
+ * This will be `null` if `source` is not `null`, or if there are `specifiers`
486
+ */
487
+ declaration: NamedExportDeclarations | null;
488
+ /**
489
+ * The kind of the export.
490
+ */
377
491
  exportKind: ExportKind;
492
+ /**
493
+ * The source module being exported from.
494
+ */
495
+ source: StringLiteral | null;
496
+ /**
497
+ * The specifiers being exported.
498
+ * ```
499
+ * export { a, b };
500
+ * ```
501
+ * This will be an empty array if `declaration` is not `null`
502
+ */
503
+ specifiers: ExportSpecifier[];
504
+ }
505
+ export declare interface ExportNamedDeclarationWithoutSourceWithMultiple extends ExportNamedDeclarationBase {
506
+ assertions: ImportAttribute[];
507
+ declaration: NamedExportDeclarations;
508
+ source: null;
509
+ specifiers: ExportSpecifier[];
510
+ }
511
+ export declare interface ExportNamedDeclarationWithoutSourceWithSingle extends ExportNamedDeclarationBase {
378
512
  assertions: ImportAttribute[];
513
+ declaration: null;
514
+ source: null;
515
+ specifiers: ExportSpecifier[];
516
+ }
517
+ export declare interface ExportNamedDeclarationWithSource extends ExportNamedDeclarationBase {
518
+ assertions: ImportAttribute[];
519
+ declaration: null;
520
+ source: StringLiteral;
521
+ specifiers: ExportSpecifier[];
379
522
  }
380
523
  export declare interface ExportSpecifier extends BaseNode {
381
524
  type: AST_NODE_TYPES.ExportSpecifier;
@@ -383,7 +526,7 @@ export declare interface ExportSpecifier extends BaseNode {
383
526
  exported: Identifier;
384
527
  exportKind: ExportKind;
385
528
  }
386
- export declare type Expression = ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | BinaryExpression | CallExpression | ChainExpression | ClassExpression | ConditionalExpression | FunctionExpression | Identifier | ImportExpression | JSXElement | JSXFragment | LiteralExpression | LogicalExpression | MemberExpression | MetaProperty | NewExpression | ObjectExpression | ObjectPattern | SequenceExpression | Super | TaggedTemplateExpression | TemplateLiteral | ThisExpression | TSAsExpression | TSNonNullExpression | TSTypeAssertion | UnaryExpression | UpdateExpression | YieldExpression;
529
+ export declare type Expression = ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | BinaryExpression | CallExpression | ChainExpression | ClassExpression | ConditionalExpression | FunctionExpression | Identifier | ImportExpression | JSXElement | JSXFragment | LiteralExpression | LogicalExpression | MemberExpression | MetaProperty | NewExpression | ObjectExpression | ObjectPattern | SequenceExpression | Super | TaggedTemplateExpression | TemplateLiteral | ThisExpression | TSAsExpression | TSInstantiationExpression | TSNonNullExpression | TSTypeAssertion | UnaryExpression | UpdateExpression | YieldExpression;
387
530
  export declare interface ExpressionStatement extends BaseNode {
388
531
  type: AST_NODE_TYPES.ExpressionStatement;
389
532
  expression: Expression;
@@ -410,24 +553,88 @@ export declare interface ForStatement extends BaseNode {
410
553
  update: Expression | null;
411
554
  body: Statement;
412
555
  }
413
- export declare interface FunctionDeclaration extends FunctionDeclarationBase {
414
- type: AST_NODE_TYPES.FunctionDeclaration;
415
- body: BlockStatement;
416
- }
417
- declare interface FunctionDeclarationBase extends BaseNode {
418
- id: Identifier | null;
419
- generator: boolean;
420
- expression: boolean;
556
+ declare interface FunctionBase extends BaseNode {
557
+ /**
558
+ * Whether the function is async:
559
+ * ```
560
+ * async function foo(...) {...}
561
+ * const x = async function (...) {...}
562
+ * const x = async (...) => {...}
563
+ * ```
564
+ */
421
565
  async: boolean;
566
+ /**
567
+ * The body of the function.
568
+ * - For an `ArrowFunctionExpression` this may be an `Expression` or `BlockStatement`.
569
+ * - For a `FunctionDeclaration` or `FunctionExpression` this is always a `BlockStatement.
570
+ * - For a `TSDeclareFunction` this is always `undefined`.
571
+ * - For a `TSEmptyBodyFunctionExpression` this is always `null`.
572
+ */
573
+ body?: BlockStatement | Expression | null;
574
+ /**
575
+ * This is only `true` if and only if the node is a `TSDeclareFunction` and it has `declare`:
576
+ * ```
577
+ * declare function foo(...) {...}
578
+ * ```
579
+ */
580
+ declare?: boolean;
581
+ /**
582
+ * This is only ever `true` if and only the node is an `ArrowFunctionExpression` and the body
583
+ * is an expression:
584
+ * ```
585
+ * (() => 1)
586
+ * ```
587
+ */
588
+ expression: boolean;
589
+ /**
590
+ * Whether the function is a generator function:
591
+ * ```
592
+ * function *foo(...) {...}
593
+ * const x = function *(...) {...}
594
+ * ```
595
+ * This is always `false` for arrow functions as they cannot be generators.
596
+ */
597
+ generator: boolean;
598
+ /**
599
+ * The function's name.
600
+ * - For an `ArrowFunctionExpression` this is always `null`.
601
+ * - For a `FunctionExpression` this may be `null` if the name is omitted.
602
+ * - For a `FunctionDeclaration` or `TSDeclareFunction` this may be `null` if
603
+ * and only if the parent is an `ExportDefaultDeclaration`.
604
+ */
605
+ id: Identifier | null;
606
+ /**
607
+ * The list of parameters declared for the function.
608
+ */
422
609
  params: Parameter[];
423
- body?: BlockStatement | null;
610
+ /**
611
+ * The return type annotation for the function.
612
+ * This is `undefined` if there is no return type declared.
613
+ */
424
614
  returnType?: TSTypeAnnotation;
615
+ /**
616
+ * The generic type parameter declaration for the function.
617
+ * This is `undefined` if there are no generic type parameters declared.
618
+ */
425
619
  typeParameters?: TSTypeParameterDeclaration;
426
- declare?: boolean;
427
620
  }
428
- export declare interface FunctionExpression extends FunctionDeclarationBase {
621
+ export declare type FunctionDeclaration = FunctionDeclarationWithName | FunctionDeclarationWithOptionalName;
622
+ declare interface FunctionDeclarationBase extends FunctionBase {
623
+ type: AST_NODE_TYPES.FunctionDeclaration;
624
+ body: BlockStatement;
625
+ declare?: false;
626
+ expression: false;
627
+ }
628
+ export declare interface FunctionDeclarationWithName extends FunctionDeclarationBase {
629
+ id: Identifier;
630
+ }
631
+ export declare interface FunctionDeclarationWithOptionalName extends FunctionDeclarationBase {
632
+ id: Identifier | null;
633
+ }
634
+ export declare interface FunctionExpression extends FunctionBase {
429
635
  type: AST_NODE_TYPES.FunctionExpression;
430
636
  body: BlockStatement;
637
+ expression: false;
431
638
  }
432
639
  export declare type FunctionLike = ArrowFunctionExpression | FunctionDeclaration | FunctionExpression | TSDeclareFunction | TSEmptyBodyFunctionExpression;
433
640
  export declare interface Identifier extends BaseNode {
@@ -454,10 +661,33 @@ export declare interface ImportAttribute extends BaseNode {
454
661
  export declare type ImportClause = ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier;
455
662
  export declare interface ImportDeclaration extends BaseNode {
456
663
  type: AST_NODE_TYPES.ImportDeclaration;
664
+ /**
665
+ * The assertions declared for the export.
666
+ * ```
667
+ * import * from 'mod' assert { type: 'json' };
668
+ * ```
669
+ */
670
+ assertions: ImportAttribute[];
671
+ /**
672
+ * The kind of the import.
673
+ */
674
+ importKind: ImportKind;
675
+ /**
676
+ * The source module being imported from.
677
+ */
457
678
  source: StringLiteral;
679
+ /**
680
+ * The specifiers being imported.
681
+ * If this is an empty array then either there are no specifiers:
682
+ * ```
683
+ * import {} from 'mod';
684
+ * ```
685
+ * Or it is a side-effect import:
686
+ * ```
687
+ * import 'mod';
688
+ * ```
689
+ */
458
690
  specifiers: ImportClause[];
459
- importKind: ImportKind;
460
- assertions: ImportAttribute[];
461
691
  }
462
692
  export declare interface ImportDefaultSpecifier extends BaseNode {
463
693
  type: AST_NODE_TYPES.ImportDefaultSpecifier;
@@ -633,13 +863,14 @@ declare interface MethodDefinitionNonComputedNameBase extends MethodDefinitionBa
633
863
  computed: false;
634
864
  }
635
865
  export declare type Modifier = TSAbstractKeyword | TSAsyncKeyword | TSPrivateKeyword | TSProtectedKeyword | TSPublicKeyword | TSReadonlyKeyword | TSStaticKeyword;
866
+ export declare type NamedExportDeclarations = ClassDeclarationWithName | ClassDeclarationWithOptionalName | FunctionDeclarationWithName | FunctionDeclarationWithOptionalName | TSDeclareFunction | TSEnumDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSTypeAliasDeclaration | VariableDeclaration;
636
867
  export declare interface NewExpression extends BaseNode {
637
868
  type: AST_NODE_TYPES.NewExpression;
638
869
  callee: LeftHandSideExpression;
639
- arguments: Expression[];
870
+ arguments: CallExpressionArgument[];
640
871
  typeParameters?: TSTypeParameterInstantiation;
641
872
  }
642
- export declare type Node = ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BlockStatement | BreakStatement | CallExpression | CatchClause | ChainExpression | ClassBody | ClassDeclaration | ClassExpression | ConditionalExpression | ContinueStatement | DebuggerStatement | Decorator | DoWhileStatement | EmptyStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExportSpecifier | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | Identifier | IfStatement | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportExpression | ImportNamespaceSpecifier | ImportSpecifier | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LabeledStatement | Literal | LogicalExpression | MemberExpression | MetaProperty | MethodDefinition | NewExpression | ObjectExpression | ObjectPattern | PrivateIdentifier | Program | Property | PropertyDefinition | RestElement | ReturnStatement | SequenceExpression | SpreadElement | StaticBlock | Super | SwitchCase | SwitchStatement | TaggedTemplateExpression | TemplateElement | TemplateLiteral | ThisExpression | ThrowStatement | TryStatement | TSAbstractKeyword | TSAbstractMethodDefinition | TSAbstractPropertyDefinition | TSAnyKeyword | TSArrayType | TSAsExpression | TSAsyncKeyword | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSClassImplements | TSConditionalType | TSConstructorType | TSConstructSignatureDeclaration | TSDeclareFunction | TSDeclareKeyword | TSEmptyBodyFunctionExpression | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExportKeyword | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexedAccessType | TSIndexSignature | TSInferType | TSInterfaceBody | TSInterfaceDeclaration | TSInterfaceHeritage | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSPrivateKeyword | TSPropertySignature | TSProtectedKeyword | TSPublicKeyword | TSQualifiedName | TSReadonlyKeyword | TSRestType | TSStaticKeyword | TSStringKeyword | TSSymbolKeyword | TSTemplateLiteralType | TSThisType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | UnaryExpression | UpdateExpression | VariableDeclaration | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
873
+ export declare type Node = ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BlockStatement | BreakStatement | CallExpression | CatchClause | ChainExpression | ClassBody | ClassDeclaration | ClassExpression | ConditionalExpression | ContinueStatement | DebuggerStatement | Decorator | DoWhileStatement | EmptyStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExportSpecifier | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | Identifier | IfStatement | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportExpression | ImportNamespaceSpecifier | ImportSpecifier | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LabeledStatement | Literal | LogicalExpression | MemberExpression | MetaProperty | MethodDefinition | NewExpression | ObjectExpression | ObjectPattern | PrivateIdentifier | Program | Property | PropertyDefinition | RestElement | ReturnStatement | SequenceExpression | SpreadElement | StaticBlock | Super | SwitchCase | SwitchStatement | TaggedTemplateExpression | TemplateElement | TemplateLiteral | ThisExpression | ThrowStatement | TryStatement | TSAbstractKeyword | TSAbstractMethodDefinition | TSAbstractPropertyDefinition | TSAnyKeyword | TSArrayType | TSAsExpression | TSAsyncKeyword | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSClassImplements | TSConditionalType | TSConstructorType | TSConstructSignatureDeclaration | TSDeclareFunction | TSDeclareKeyword | TSEmptyBodyFunctionExpression | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExportKeyword | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexedAccessType | TSIndexSignature | TSInferType | TSInstantiationExpression | TSInterfaceBody | TSInterfaceDeclaration | TSInterfaceHeritage | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSPrivateKeyword | TSPropertySignature | TSProtectedKeyword | TSPublicKeyword | TSQualifiedName | TSReadonlyKeyword | TSRestType | TSStaticKeyword | TSStringKeyword | TSSymbolKeyword | TSTemplateLiteralType | TSThisType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | UnaryExpression | UpdateExpression | VariableDeclaration | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
643
874
  declare interface NodeOrTokenData {
644
875
  /**
645
876
  * The source location information of the node.
@@ -764,7 +995,7 @@ export declare interface PunctuatorToken extends BaseToken {
764
995
  type: AST_TOKEN_TYPES.Punctuator;
765
996
  value: ValueOf<PunctuatorTokenToText>;
766
997
  }
767
- export declare interface PunctuatorTokenToText {
998
+ export declare interface PunctuatorTokenToText extends AssignmentOperatorToText {
768
999
  [SyntaxKind.OpenBraceToken]: '{';
769
1000
  [SyntaxKind.CloseBraceToken]: '}';
770
1001
  [SyntaxKind.OpenParenToken]: '(';
@@ -810,22 +1041,6 @@ export declare interface PunctuatorTokenToText {
810
1041
  [SyntaxKind.QuestionQuestionToken]: '??';
811
1042
  [SyntaxKind.BacktickToken]: '`';
812
1043
  [SyntaxKind.HashToken]: '#';
813
- [SyntaxKind.EqualsToken]: '=';
814
- [SyntaxKind.PlusEqualsToken]: '+=';
815
- [SyntaxKind.MinusEqualsToken]: '-=';
816
- [SyntaxKind.AsteriskEqualsToken]: '*=';
817
- [SyntaxKind.AsteriskAsteriskEqualsToken]: '**=';
818
- [SyntaxKind.SlashEqualsToken]: '/=';
819
- [SyntaxKind.PercentEqualsToken]: '%=';
820
- [SyntaxKind.LessThanLessThanEqualsToken]: '<<=';
821
- [SyntaxKind.GreaterThanGreaterThanEqualsToken]: '>>=';
822
- [SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken]: '>>>=';
823
- [SyntaxKind.AmpersandEqualsToken]: '&=';
824
- [SyntaxKind.BarEqualsToken]: '|=';
825
- [SyntaxKind.BarBarEqualsToken]: '||=';
826
- [SyntaxKind.AmpersandAmpersandEqualsToken]: '&&=';
827
- [SyntaxKind.QuestionQuestionEqualsToken]: '??=';
828
- [SyntaxKind.CaretEqualsToken]: '^=';
829
1044
  }
830
1045
  /**
831
1046
  * An array of two numbers.
@@ -877,7 +1092,7 @@ export declare interface SpreadElement extends BaseNode {
877
1092
  type: AST_NODE_TYPES.SpreadElement;
878
1093
  argument: Expression;
879
1094
  }
880
- export declare type Statement = BlockStatement | BreakStatement | ClassDeclaration | ContinueStatement | DebuggerStatement | DoWhileStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | IfStatement | ImportDeclaration | LabeledStatement | ReturnStatement | SwitchStatement | ThrowStatement | TryStatement | TSDeclareFunction | TSEnumDeclaration | TSExportAssignment | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSNamespaceExportDeclaration | TSTypeAliasDeclaration | VariableDeclaration | WhileStatement | WithStatement;
1095
+ export declare type Statement = BlockStatement | BreakStatement | ClassDeclarationWithName | ContinueStatement | DebuggerStatement | DoWhileStatement | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclarationWithName | IfStatement | ImportDeclaration | LabeledStatement | ReturnStatement | SwitchStatement | ThrowStatement | TryStatement | TSDeclareFunction | TSEnumDeclaration | TSExportAssignment | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSNamespaceExportDeclaration | TSTypeAliasDeclaration | VariableDeclaration | WhileStatement | WithStatement;
881
1096
  export declare interface StaticBlock extends BaseNode {
882
1097
  type: AST_NODE_TYPES.StaticBlock;
883
1098
  body: Statement[];
@@ -997,22 +1212,44 @@ export declare interface TSConstructorType extends TSFunctionSignatureBase {
997
1212
  export declare interface TSConstructSignatureDeclaration extends TSFunctionSignatureBase {
998
1213
  type: AST_NODE_TYPES.TSConstructSignatureDeclaration;
999
1214
  }
1000
- export declare interface TSDeclareFunction extends FunctionDeclarationBase {
1215
+ export declare interface TSDeclareFunction extends FunctionBase {
1001
1216
  type: AST_NODE_TYPES.TSDeclareFunction;
1217
+ body?: BlockStatement;
1218
+ declare?: boolean;
1219
+ expression: false;
1002
1220
  }
1003
1221
  export declare interface TSDeclareKeyword extends BaseNode {
1004
1222
  type: AST_NODE_TYPES.TSDeclareKeyword;
1005
1223
  }
1006
- export declare interface TSEmptyBodyFunctionExpression extends FunctionDeclarationBase {
1224
+ export declare interface TSEmptyBodyFunctionExpression extends FunctionBase {
1007
1225
  type: AST_NODE_TYPES.TSEmptyBodyFunctionExpression;
1008
1226
  body: null;
1227
+ id: null;
1009
1228
  }
1010
1229
  export declare interface TSEnumDeclaration extends BaseNode {
1011
1230
  type: AST_NODE_TYPES.TSEnumDeclaration;
1012
- id: Identifier;
1013
- members: TSEnumMember[];
1231
+ /**
1232
+ * Whether this is a `const` enum.
1233
+ * ```
1234
+ * const enum Foo {...}
1235
+ * ```
1236
+ */
1014
1237
  const?: boolean;
1238
+ /**
1239
+ * Whether this is a `declare`d enum.
1240
+ * ```
1241
+ * declare enum Foo {...}
1242
+ * ```
1243
+ */
1015
1244
  declare?: boolean;
1245
+ /**
1246
+ * The enum name.
1247
+ */
1248
+ id: Identifier;
1249
+ /**
1250
+ * The enum members.
1251
+ */
1252
+ members: TSEnumMember[];
1016
1253
  modifiers?: Modifier[];
1017
1254
  }
1018
1255
  export declare type TSEnumMember = TSEnumMemberComputedName | TSEnumMemberNonComputedName;
@@ -1066,9 +1303,26 @@ declare interface TSHeritageBase extends BaseNode {
1066
1303
  }
1067
1304
  export declare interface TSImportEqualsDeclaration extends BaseNode {
1068
1305
  type: AST_NODE_TYPES.TSImportEqualsDeclaration;
1306
+ /**
1307
+ * The locally imported name
1308
+ */
1069
1309
  id: Identifier;
1310
+ /**
1311
+ * The value being aliased.
1312
+ * ```
1313
+ * import F1 = A;
1314
+ * import F2 = A.B.C;
1315
+ * import F3 = require('mod');
1316
+ * ```
1317
+ */
1070
1318
  moduleReference: EntityName | TSExternalModuleReference;
1071
1319
  importKind: ImportKind;
1320
+ /**
1321
+ * Whether this is immediately exported
1322
+ * ```
1323
+ * export import F = A;
1324
+ * ```
1325
+ */
1072
1326
  isExport: boolean;
1073
1327
  }
1074
1328
  export declare interface TSImportType extends BaseNode {
@@ -1096,19 +1350,40 @@ export declare interface TSInferType extends BaseNode {
1096
1350
  type: AST_NODE_TYPES.TSInferType;
1097
1351
  typeParameter: TSTypeParameter;
1098
1352
  }
1353
+ export declare interface TSInstantiationExpression extends BaseNode {
1354
+ type: AST_NODE_TYPES.TSInstantiationExpression;
1355
+ expression: Expression;
1356
+ typeParameters: TSTypeParameterInstantiation;
1357
+ }
1099
1358
  export declare interface TSInterfaceBody extends BaseNode {
1100
1359
  type: AST_NODE_TYPES.TSInterfaceBody;
1101
1360
  body: TypeElement[];
1102
1361
  }
1103
1362
  export declare interface TSInterfaceDeclaration extends BaseNode {
1104
1363
  type: AST_NODE_TYPES.TSInterfaceDeclaration;
1364
+ abstract?: boolean;
1365
+ /**
1366
+ * The body of the interface
1367
+ */
1105
1368
  body: TSInterfaceBody;
1106
- id: Identifier;
1107
- typeParameters?: TSTypeParameterDeclaration;
1369
+ /**
1370
+ * Whether the interface was `declare`d, `undefined` otherwise
1371
+ */
1372
+ declare?: boolean;
1373
+ /**
1374
+ * The types this interface `extends`
1375
+ */
1108
1376
  extends?: TSInterfaceHeritage[];
1377
+ /**
1378
+ * The name of this interface
1379
+ */
1380
+ id: Identifier;
1109
1381
  implements?: TSInterfaceHeritage[];
1110
- abstract?: boolean;
1111
- declare?: boolean;
1382
+ /**
1383
+ * The generic type parameters declared for the interface.
1384
+ * This is `undefined` if there are no generic type parameters declared.
1385
+ */
1386
+ typeParameters?: TSTypeParameterDeclaration;
1112
1387
  }
1113
1388
  export declare interface TSInterfaceHeritage extends TSHeritageBase {
1114
1389
  type: AST_NODE_TYPES.TSInterfaceHeritage;
@@ -1161,9 +1436,34 @@ export declare interface TSModuleBlock extends BaseNode {
1161
1436
  }
1162
1437
  export declare interface TSModuleDeclaration extends BaseNode {
1163
1438
  type: AST_NODE_TYPES.TSModuleDeclaration;
1439
+ /**
1440
+ * The name of the module
1441
+ * ```
1442
+ * namespace A {}
1443
+ * namespace A.B.C {}
1444
+ * module 'a' {}
1445
+ * ```
1446
+ */
1164
1447
  id: Identifier | Literal;
1448
+ /**
1449
+ * The body of the module.
1450
+ * This can only be `undefined` for the code `declare module 'mod';`
1451
+ * This will be a `TSModuleDeclaration` if the name is "nested" (`Foo.Bar`).
1452
+ */
1165
1453
  body?: TSModuleBlock | TSModuleDeclaration;
1454
+ /**
1455
+ * Whether this is a global declaration
1456
+ * ```
1457
+ * declare global {}
1458
+ * ```
1459
+ */
1166
1460
  global?: boolean;
1461
+ /**
1462
+ * Whether the module is `declare`d
1463
+ * ```
1464
+ * declare namespace F {}
1465
+ * ```
1466
+ */
1167
1467
  declare?: boolean;
1168
1468
  modifiers?: Modifier[];
1169
1469
  }
@@ -1175,6 +1475,9 @@ export declare interface TSNamedTupleMember extends BaseNode {
1175
1475
  }
1176
1476
  export declare interface TSNamespaceExportDeclaration extends BaseNode {
1177
1477
  type: AST_NODE_TYPES.TSNamespaceExportDeclaration;
1478
+ /**
1479
+ * The name the global variable being exported to
1480
+ */
1178
1481
  id: Identifier;
1179
1482
  }
1180
1483
  export declare interface TSNeverKeyword extends BaseNode {
@@ -1272,9 +1575,25 @@ export declare interface TSTupleType extends BaseNode {
1272
1575
  }
1273
1576
  export declare interface TSTypeAliasDeclaration extends BaseNode {
1274
1577
  type: AST_NODE_TYPES.TSTypeAliasDeclaration;
1578
+ /**
1579
+ * Whether the type was `declare`d.
1580
+ * ```
1581
+ * declare type T = 1;
1582
+ * ```
1583
+ */
1584
+ declare?: boolean;
1585
+ /**
1586
+ * The name of the type.
1587
+ */
1275
1588
  id: Identifier;
1589
+ /**
1590
+ * The "value" (type) of the declaration
1591
+ */
1276
1592
  typeAnnotation: TypeNode;
1277
- declare?: boolean;
1593
+ /**
1594
+ * The generic type parameters declared for the type.
1595
+ * This is `undefined` if there are no generic type parameters declared.
1596
+ */
1278
1597
  typeParameters?: TSTypeParameterDeclaration;
1279
1598
  }
1280
1599
  export declare interface TSTypeAnnotation extends BaseNode {
@@ -1300,6 +1619,8 @@ export declare interface TSTypeParameter extends BaseNode {
1300
1619
  name: Identifier;
1301
1620
  constraint?: TypeNode;
1302
1621
  default?: TypeNode;
1622
+ in: boolean;
1623
+ out: boolean;
1303
1624
  }
1304
1625
  export declare interface TSTypeParameterDeclaration extends BaseNode {
1305
1626
  type: AST_NODE_TYPES.TSTypeParameterDeclaration;
@@ -1318,6 +1639,7 @@ export declare interface TSTypePredicate extends BaseNode {
1318
1639
  export declare interface TSTypeQuery extends BaseNode {
1319
1640
  type: AST_NODE_TYPES.TSTypeQuery;
1320
1641
  exprName: EntityName;
1642
+ typeParameters?: TSTypeParameterInstantiation;
1321
1643
  }
1322
1644
  export declare interface TSTypeReference extends BaseNode {
1323
1645
  type: AST_NODE_TYPES.TSTypeReference;
@@ -1356,9 +1678,31 @@ export declare interface UpdateExpression extends UnaryExpressionBase {
1356
1678
  declare type ValueOf<T> = T[keyof T];
1357
1679
  export declare interface VariableDeclaration extends BaseNode {
1358
1680
  type: AST_NODE_TYPES.VariableDeclaration;
1681
+ /**
1682
+ * The variables declared by this declaration.
1683
+ * Note that there may be 0 declarations (i.e. `const;`).
1684
+ * ```
1685
+ * let x;
1686
+ * let y, z;
1687
+ * ```
1688
+ */
1359
1689
  declarations: VariableDeclarator[];
1360
- kind: 'const' | 'let' | 'var';
1690
+ /**
1691
+ * Whether the declaration is `declare`d
1692
+ * ```
1693
+ * declare const x = 1;
1694
+ * ```
1695
+ */
1361
1696
  declare?: boolean;
1697
+ /**
1698
+ * The keyword used to declare the variable(s)
1699
+ * ```
1700
+ * const x = 1;
1701
+ * let y = 2;
1702
+ * var z = 3;
1703
+ * ```
1704
+ */
1705
+ kind: 'const' | 'let' | 'var';
1362
1706
  }
1363
1707
  export declare interface VariableDeclarator extends BaseNode {
1364
1708
  type: AST_NODE_TYPES.VariableDeclarator;