eslint-plugin-etc-misc 1.1.4 → 1.1.6
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.
- package/dist/_internal/casing.js +1 -1
- package/dist/_internal/casing.js.map +1 -1
- package/dist/_internal/create-external-rule.d.ts +2 -1
- package/dist/_internal/create-external-rule.d.ts.map +1 -1
- package/dist/_internal/create-external-rule.js +56 -7
- package/dist/_internal/create-external-rule.js.map +1 -1
- package/dist/_internal/get-core-rule.d.ts +1 -5
- package/dist/_internal/get-core-rule.d.ts.map +1 -1
- package/dist/_internal/get-core-rule.js.map +1 -1
- package/dist/_internal/identifier-blocks.js +3 -3
- package/dist/_internal/import-patterns.d.ts.map +1 -1
- package/dist/_internal/import-patterns.js +6 -5
- package/dist/_internal/import-patterns.js.map +1 -1
- package/dist/_internal/rule-creator.d.ts +7 -7
- package/dist/_internal/rule-creator.d.ts.map +1 -1
- package/dist/_internal/rule-creator.js +2 -1
- package/dist/_internal/rule-creator.js.map +1 -1
- package/dist/_internal/symbol-usage.d.ts.map +1 -1
- package/dist/_internal/symbol-usage.js +15 -14
- package/dist/_internal/symbol-usage.js.map +1 -1
- package/dist/_internal/syntax-selectors.js +1 -1
- package/dist/_internal/syntax-selectors.js.map +1 -1
- package/dist/configs/all-strict.d.ts +2 -2
- package/dist/configs/all-strict.d.ts.map +1 -1
- package/dist/configs/all-strict.js +9 -6
- package/dist/configs/all-strict.js.map +1 -1
- package/dist/configs/all.d.ts +2 -2
- package/dist/configs/all.d.ts.map +1 -1
- package/dist/configs/all.js +9 -3
- package/dist/configs/all.js.map +1 -1
- package/dist/configs/strict-type-checked.d.ts +2 -2
- package/dist/configs/strict-type-checked.d.ts.map +1 -1
- package/dist/configs/strict-type-checked.js +5 -4
- package/dist/configs/strict-type-checked.js.map +1 -1
- package/dist/configs/strict.d.ts +2 -2
- package/dist/configs/strict.d.ts.map +1 -1
- package/dist/configs/strict.js +6 -1
- package/dist/configs/strict.js.map +1 -1
- package/dist/configs.d.ts +7 -6
- package/dist/configs.d.ts.map +1 -1
- package/dist/configs.js.map +1 -1
- package/dist/plugin.cjs +633 -540
- package/dist/plugin.cjs.map +3 -3
- package/dist/plugin.d.cts +2 -2
- package/dist/plugin.d.ts +2 -2
- package/dist/plugin.d.ts.map +1 -1
- package/dist/rules/class-match-filename.js +3 -3
- package/dist/rules/class-match-filename.js.map +1 -1
- package/dist/rules/comment-spacing.d.ts.map +1 -1
- package/dist/rules/comment-spacing.js +6 -3
- package/dist/rules/comment-spacing.js.map +1 -1
- package/dist/rules/consistent-empty-lines.js +1 -1
- package/dist/rules/consistent-import.d.ts.map +1 -1
- package/dist/rules/consistent-import.js +4 -3
- package/dist/rules/consistent-import.js.map +1 -1
- package/dist/rules/consistent-optional-props.d.ts.map +1 -1
- package/dist/rules/consistent-optional-props.js +3 -2
- package/dist/rules/consistent-optional-props.js.map +1 -1
- package/dist/rules/export-matching-filename-only.d.ts.map +1 -1
- package/dist/rules/export-matching-filename-only.js +13 -14
- package/dist/rules/export-matching-filename-only.js.map +1 -1
- package/dist/rules/match-filename.d.ts.map +1 -1
- package/dist/rules/match-filename.js +4 -3
- package/dist/rules/match-filename.js.map +1 -1
- package/dist/rules/no-assign-mutated-array.d.ts.map +1 -1
- package/dist/rules/no-assign-mutated-array.js +14 -14
- package/dist/rules/no-assign-mutated-array.js.map +1 -1
- package/dist/rules/no-commented-out-code.d.ts.map +1 -1
- package/dist/rules/no-commented-out-code.js +15 -13
- package/dist/rules/no-commented-out-code.js.map +1 -1
- package/dist/rules/no-const-enum.d.ts.map +1 -1
- package/dist/rules/no-const-enum.js +2 -1
- package/dist/rules/no-const-enum.js.map +1 -1
- package/dist/rules/no-expression-empty-lines.js +1 -1
- package/dist/rules/no-foreach.d.ts.map +1 -1
- package/dist/rules/no-foreach.js +2 -2
- package/dist/rules/no-foreach.js.map +1 -1
- package/dist/rules/no-function-declare-after-return.d.ts.map +1 -1
- package/dist/rules/no-function-declare-after-return.js +17 -12
- package/dist/rules/no-function-declare-after-return.js.map +1 -1
- package/dist/rules/no-implicit-any-catch.d.ts.map +1 -1
- package/dist/rules/no-implicit-any-catch.js +8 -7
- package/dist/rules/no-implicit-any-catch.js.map +1 -1
- package/dist/rules/no-misused-generics.d.ts.map +1 -1
- package/dist/rules/no-misused-generics.js +0 -1
- package/dist/rules/no-misused-generics.js.map +1 -1
- package/dist/rules/no-param-reassign.d.ts.map +1 -1
- package/dist/rules/no-param-reassign.js +9 -9
- package/dist/rules/no-param-reassign.js.map +1 -1
- package/dist/rules/no-self-import.js +11 -11
- package/dist/rules/no-self-import.js.map +1 -1
- package/dist/rules/no-shadow.d.ts.map +1 -1
- package/dist/rules/no-shadow.js +2 -1
- package/dist/rules/no-shadow.js.map +1 -1
- package/dist/rules/no-single-line-comment.d.ts.map +1 -1
- package/dist/rules/no-single-line-comment.js +3 -2
- package/dist/rules/no-single-line-comment.js.map +1 -1
- package/dist/rules/no-unnecessary-as-const.d.ts.map +1 -1
- package/dist/rules/no-unnecessary-as-const.js +4 -3
- package/dist/rules/no-unnecessary-as-const.js.map +1 -1
- package/dist/rules/no-unnecessary-break.d.ts.map +1 -1
- package/dist/rules/no-unnecessary-break.js +4 -2
- package/dist/rules/no-unnecessary-break.js.map +1 -1
- package/dist/rules/no-unnecessary-template-literal.d.ts.map +1 -1
- package/dist/rules/no-unnecessary-template-literal.js +3 -2
- package/dist/rules/no-unnecessary-template-literal.js.map +1 -1
- package/dist/rules/no-use-extend-native.d.ts.map +1 -1
- package/dist/rules/no-use-extend-native.js +23 -19
- package/dist/rules/no-use-extend-native.js.map +1 -1
- package/dist/rules/no-vulnerable.d.ts.map +1 -1
- package/dist/rules/no-vulnerable.js +14 -23
- package/dist/rules/no-vulnerable.js.map +1 -1
- package/dist/rules/only-export-name.d.ts.map +1 -1
- package/dist/rules/only-export-name.js +7 -8
- package/dist/rules/only-export-name.js.map +1 -1
- package/dist/rules/prefer-includes.js +2 -2
- package/dist/rules/prefer-includes.js.map +1 -1
- package/dist/rules/prefer-interface.d.ts.map +1 -1
- package/dist/rules/prefer-interface.js +6 -5
- package/dist/rules/prefer-interface.js.map +1 -1
- package/dist/rules/require-jsdoc.d.ts.map +1 -1
- package/dist/rules/require-jsdoc.js +8 -7
- package/dist/rules/require-jsdoc.js.map +1 -1
- package/dist/rules/sort-array.d.ts.map +1 -1
- package/dist/rules/sort-array.js +2 -1
- package/dist/rules/sort-array.js.map +1 -1
- package/dist/rules/sort-class-members.d.ts.map +1 -1
- package/dist/rules/sort-class-members.js +6 -4
- package/dist/rules/sort-class-members.js.map +1 -1
- package/dist/rules/sort-export-specifiers.d.ts.map +1 -1
- package/dist/rules/sort-export-specifiers.js +3 -4
- package/dist/rules/sort-export-specifiers.js.map +1 -1
- package/dist/rules/sort-keys.d.ts.map +1 -1
- package/dist/rules/sort-keys.js +4 -3
- package/dist/rules/sort-keys.js.map +1 -1
- package/dist/rules/switch-case-spacing.d.ts.map +1 -1
- package/dist/rules/switch-case-spacing.js +3 -2
- package/dist/rules/switch-case-spacing.js.map +1 -1
- package/dist/rules/template-literal-format.js +2 -2
- package/dist/rules/throw-error.d.ts.map +1 -1
- package/dist/rules/throw-error.js +7 -10
- package/dist/rules/throw-error.js.map +1 -1
- package/dist/rules/throw-new-error.js +2 -2
- package/dist/rules/throw-new-error.js.map +1 -1
- package/dist/rules/typescript-array-callback-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-array-callback-return-type.js +5 -5
- package/dist/rules/typescript-array-callback-return-type.js.map +1 -1
- package/dist/rules/typescript-class-methods-use-this.d.ts.map +1 -1
- package/dist/rules/typescript-class-methods-use-this.js +4 -2
- package/dist/rules/typescript-class-methods-use-this.js.map +1 -1
- package/dist/rules/typescript-no-boolean-literal-type.d.ts.map +1 -1
- package/dist/rules/typescript-no-boolean-literal-type.js +2 -1
- package/dist/rules/typescript-no-boolean-literal-type.js.map +1 -1
- package/dist/rules/typescript-no-never.d.ts.map +1 -1
- package/dist/rules/typescript-no-never.js +3 -3
- package/dist/rules/typescript-no-never.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-const.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-const.js +18 -23
- package/dist/rules/typescript-no-redundant-undefined-const.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.js +35 -36
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-let.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-let.js +17 -15
- package/dist/rules/typescript-no-redundant-undefined-let.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-optional.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-optional.js +3 -2
- package/dist/rules/typescript-no-redundant-undefined-optional.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js +25 -24
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.js +17 -15
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-return-type.js +24 -22
- package/dist/rules/typescript-no-redundant-undefined-return-type.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-var.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-var.js +17 -15
- package/dist/rules/typescript-no-redundant-undefined-var.js.map +1 -1
- package/dist/rules/typescript-no-restricted-syntax.d.ts +4 -3
- package/dist/rules/typescript-no-restricted-syntax.d.ts.map +1 -1
- package/dist/rules/typescript-no-restricted-syntax.js +8 -4
- package/dist/rules/typescript-no-restricted-syntax.js.map +1 -1
- package/dist/rules/typescript-no-unsafe-object-assignment.d.ts +4 -3
- package/dist/rules/typescript-no-unsafe-object-assignment.d.ts.map +1 -1
- package/dist/rules/typescript-no-unsafe-object-assignment.js +8 -4
- package/dist/rules/typescript-no-unsafe-object-assignment.js.map +1 -1
- package/dist/rules/typescript-prefer-enum.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-enum.js +15 -16
- package/dist/rules/typescript-prefer-enum.js.map +1 -1
- package/dist/rules/typescript-prefer-named-tuple-members.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-named-tuple-members.js +10 -10
- package/dist/rules/typescript-prefer-named-tuple-members.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-array-parameter.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-array-parameter.js +25 -22
- package/dist/rules/typescript-prefer-readonly-array-parameter.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-array.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-array.js +5 -4
- package/dist/rules/typescript-prefer-readonly-array.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-index-signature.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-index-signature.js +3 -1
- package/dist/rules/typescript-prefer-readonly-index-signature.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-map.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-map.js +2 -1
- package/dist/rules/typescript-prefer-readonly-map.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-property.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-property.js +6 -5
- package/dist/rules/typescript-prefer-readonly-property.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-record.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-record.js +8 -6
- package/dist/rules/typescript-prefer-readonly-record.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-set.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-set.js +2 -1
- package/dist/rules/typescript-prefer-readonly-set.js.map +1 -1
- package/dist/rules/typescript-require-prop-type-annotation.d.ts.map +1 -1
- package/dist/rules/typescript-require-prop-type-annotation.js +3 -2
- package/dist/rules/typescript-require-prop-type-annotation.js.map +1 -1
- package/dist/rules/typescript-require-readonly-array-property-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-array-property-type.js +11 -11
- package/dist/rules/typescript-require-readonly-array-property-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-array-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-array-return-type.js +19 -16
- package/dist/rules/typescript-require-readonly-array-return-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-array-type-alias.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-array-type-alias.js +9 -6
- package/dist/rules/typescript-require-readonly-array-type-alias.js.map +1 -1
- package/dist/rules/typescript-require-readonly-map-parameter-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-map-parameter-type.js +23 -20
- package/dist/rules/typescript-require-readonly-map-parameter-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-map-property-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-map-property-type.js +9 -9
- package/dist/rules/typescript-require-readonly-map-property-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-map-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-map-return-type.js +17 -14
- package/dist/rules/typescript-require-readonly-map-return-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-map-type-alias.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-map-type-alias.js +7 -4
- package/dist/rules/typescript-require-readonly-map-type-alias.js.map +1 -1
- package/dist/rules/typescript-require-readonly-record-parameter-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-record-parameter-type.js +26 -23
- package/dist/rules/typescript-require-readonly-record-parameter-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-record-property-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-record-property-type.js +12 -12
- package/dist/rules/typescript-require-readonly-record-property-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-record-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-record-return-type.js +20 -17
- package/dist/rules/typescript-require-readonly-record-return-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-record-type-alias.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-record-type-alias.js +10 -7
- package/dist/rules/typescript-require-readonly-record-type-alias.js.map +1 -1
- package/dist/rules/typescript-require-readonly-set-parameter-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-set-parameter-type.js +23 -20
- package/dist/rules/typescript-require-readonly-set-parameter-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-set-property-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-set-property-type.js +9 -9
- package/dist/rules/typescript-require-readonly-set-property-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-set-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-set-return-type.js +17 -14
- package/dist/rules/typescript-require-readonly-set-return-type.js.map +1 -1
- package/dist/rules/typescript-require-readonly-set-type-alias.d.ts.map +1 -1
- package/dist/rules/typescript-require-readonly-set-type-alias.js +7 -4
- package/dist/rules/typescript-require-readonly-set-type-alias.js.map +1 -1
- package/dist/rules/typescript-require-this-void.d.ts.map +1 -1
- package/dist/rules/typescript-require-this-void.js +3 -2
- package/dist/rules/typescript-require-this-void.js.map +1 -1
- package/dist/rules/underscore-internal.d.ts.map +1 -1
- package/dist/rules/underscore-internal.js +10 -12
- package/dist/rules/underscore-internal.js.map +1 -1
- package/dist/rules/unused-internal-properties.js +2 -2
- package/dist/rules/unused-internal-properties.js.map +1 -1
- package/dist/rules/uppercase-iife.js +2 -2
- package/dist/rules/uppercase-iife.js.map +1 -1
- package/dist/rules/words.js +2 -2
- package/dist/rules/words.js.map +1 -1
- package/dist/rules.d.ts +2 -1
- package/dist/rules.d.ts.map +1 -1
- package/dist/rules.js +269 -268
- package/dist/rules.js.map +1 -1
- package/docs/docusaurus/package.json +1 -1
- package/docs/docusaurus/src/components/GitHubStats.jsx +7 -1
- package/docs/docusaurus/src/pages/index.jsx +5 -0
- package/docs/docusaurus/typedoc-plugins/hashToBangLinksCore.mjs +1 -1
- package/docs/docusaurus/typedoc-plugins/prefixDocLinksCore.mjs +4 -5
- package/package.json +37 -39
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-export-specifiers.d.ts","sourceRoot":"","sources":["../../src/rules/sort-export-specifiers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort-export-specifiers.d.ts","sourceRoot":"","sources":["../../src/rules/sort-export-specifiers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,uBAAuB,CAAC;AAE1C,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAyB3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAuD5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types -- ESLint fixer API callback signatures. */
|
|
2
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
3
|
import { arrayFirst, arrayJoin, arrayLast } from "ts-extras";
|
|
3
4
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
4
|
-
const toName = (specifier) => specifier.exported.type ===
|
|
5
|
+
const toName = (specifier) => specifier.exported.type === AST_NODE_TYPES.Identifier
|
|
5
6
|
? specifier.exported.name
|
|
6
7
|
: specifier.exported.value;
|
|
7
8
|
const buildFix = (fixer, node, sourceCode, sorted) => {
|
|
@@ -17,9 +18,7 @@ const rule = ruleCreator({
|
|
|
17
18
|
ExportNamedDeclaration: (node) => {
|
|
18
19
|
let exportSpecifiers = [];
|
|
19
20
|
for (const specifier of node.specifiers) {
|
|
20
|
-
|
|
21
|
-
exportSpecifiers = [...exportSpecifiers, specifier];
|
|
22
|
-
}
|
|
21
|
+
exportSpecifiers = [...exportSpecifiers, specifier];
|
|
23
22
|
}
|
|
24
23
|
if (exportSpecifiers.length < 2) {
|
|
25
24
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-export-specifiers.js","sourceRoot":"","sources":["../../src/rules/sort-export-specifiers.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAIhH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,MAAM,GAAG,CAAC,SAAuC,EAAU,EAAE,CAC/D,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"sort-export-specifiers.js","sourceRoot":"","sources":["../../src/rules/sort-export-specifiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-keys.d.ts","sourceRoot":"","sources":["../../src/rules/sort-keys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort-keys.d.ts","sourceRoot":"","sources":["../../src/rules/sort-keys.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,kBAAkB,CAAC;AAErC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AA4C3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAgE5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
package/dist/rules/sort-keys.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types -- ESLint fixer API callback signatures. */
|
|
2
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
3
|
import { arrayFirst, arrayJoin, arrayLast, isDefined } from "ts-extras";
|
|
3
4
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
4
5
|
const keyName = (property) => {
|
|
5
|
-
if (property.key.type ===
|
|
6
|
+
if (property.key.type === AST_NODE_TYPES.Identifier) {
|
|
6
7
|
return property.key.name;
|
|
7
8
|
}
|
|
8
|
-
if (property.key.type ===
|
|
9
|
+
if (property.key.type === AST_NODE_TYPES.Literal &&
|
|
9
10
|
typeof property.key.value === "string") {
|
|
10
11
|
return property.key.value;
|
|
11
12
|
}
|
|
@@ -29,7 +30,7 @@ const rule = ruleCreator({
|
|
|
29
30
|
ObjectExpression: (node) => {
|
|
30
31
|
let properties = [];
|
|
31
32
|
for (const property of node.properties) {
|
|
32
|
-
if (property.type ===
|
|
33
|
+
if (property.type === AST_NODE_TYPES.Property &&
|
|
33
34
|
property.kind === "init" &&
|
|
34
35
|
!property.computed) {
|
|
35
36
|
properties = [...properties, property];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-keys.js","sourceRoot":"","sources":["../../src/rules/sort-keys.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAIhH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,OAAO,GAAG,CAAC,QAA+B,EAAsB,EAAE;IACpE,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"sort-keys.js","sourceRoot":"","sources":["../../src/rules/sort-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-case-spacing.d.ts","sourceRoot":"","sources":["../../src/rules/switch-case-spacing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"switch-case-spacing.d.ts","sourceRoot":"","sources":["../../src/rules/switch-case-spacing.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAuB3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAmC5D,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,cAAc,EAAE,OAAO,IAe3B,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
1
2
|
import { arrayLast } from "ts-extras";
|
|
2
3
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
3
4
|
import { createReplacementRuleInfo, withDeprecatedRuleLifecycle, } from "../_internal/rule-deprecation.js";
|
|
@@ -11,8 +12,8 @@ const isValidCaseBody = (node) => {
|
|
|
11
12
|
return true;
|
|
12
13
|
}
|
|
13
14
|
const startsOnFollowingLine = firstStatement.loc.start.line > node.loc.start.line;
|
|
14
|
-
const startsWithBlock = firstStatement.type ===
|
|
15
|
-
const endsWithBreak = lastStatement.type ===
|
|
15
|
+
const startsWithBlock = firstStatement.type === AST_NODE_TYPES.BlockStatement;
|
|
16
|
+
const endsWithBreak = lastStatement.type === AST_NODE_TYPES.BreakStatement || startsWithBlock;
|
|
16
17
|
return (startsOnFollowingLine || startsWithBlock) && endsWithBreak;
|
|
17
18
|
};
|
|
18
19
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-case-spacing.js","sourceRoot":"","sources":["../../src/rules/switch-case-spacing.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACH,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,kCAAkC,CAAC;AAM1C,MAAM,eAAe,GAAG,CAAC,IAA6B,EAAW,EAAE;IAC/D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;IACzC,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,cAAc,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,qBAAqB,GACvB,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;IACxD,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"switch-case-spacing.js","sourceRoot":"","sources":["../../src/rules/switch-case-spacing.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACH,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,kCAAkC,CAAC;AAM1C,MAAM,eAAe,GAAG,CAAC,IAA6B,EAAW,EAAE;IAC/D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;IACzC,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,cAAc,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,qBAAqB,GACvB,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;IACxD,MAAM,eAAe,GACjB,cAAc,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,CAAC;IAC1D,MAAM,aAAa,GACf,aAAa,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,IAAI,eAAe,CAAC;IAE5E,OAAO,CAAC,qBAAqB,IAAI,eAAe,CAAC,IAAI,aAAa,CAAC;AACvE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClB,UAAU,EAAE,CAAC,IAA6B,EAAQ,EAAE;YAChD,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO;YACX,CAAC;YAED,OAAO,CAAC,MAAM,CAAC;gBACX,SAAS,EAAE,WAAW;gBACtB,IAAI;aACP,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IACF,IAAI,EAAE;QACF,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE;YACF,UAAU,EAAE,IAAI;YAChB,WAAW,EACP,iEAAiE;YACrE,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,oFAAoF;SAC5F;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,SAAS,EACL,0DAA0D;SACjE;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,qBAAqB;CAC9B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,cAAc,GAAgB,2BAA2B,CAAC,IAAI,EAAE;IAClE,OAAO,EAAE,yDAAyD;IAClE,UAAU,EAAE;QACR,yBAAyB,CAAC;YACtB,MAAM,EAAE;gBACJ,IAAI,EAAE,YAAY;gBAClB,GAAG,EAAE,uBAAuB;aAC/B;YACD,IAAI,EAAE;gBACF,IAAI,EAAE,sBAAsB;gBAC5B,GAAG,EAAE,iDAAiD;aACzD;SACJ,CAAC;KACL;IACD,MAAM,EAAE,qBAAqB;CAChC,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -7,11 +7,11 @@ const hasExpectedBoundaryNewlines = (node) => {
|
|
|
7
7
|
return first.startsWith("\n") && last.endsWith("\n");
|
|
8
8
|
};
|
|
9
9
|
const normalizeTemplate = (sourceText) => {
|
|
10
|
-
const lines = stringSplit(sourceText.replaceAll(/\r\n?/
|
|
10
|
+
const lines = stringSplit(sourceText.replaceAll(/\r\n?/gv, "\n"), "\n");
|
|
11
11
|
const contentLines = lines.slice(1, -1);
|
|
12
12
|
const indents = contentLines
|
|
13
13
|
.filter((line) => line.trim().length > 0)
|
|
14
|
-
.map((line) => /^\s*/
|
|
14
|
+
.map((line) => /^\s*/v.exec(line)?.[0].length ?? 0);
|
|
15
15
|
const minIndent = isEmpty(indents) ? 0 : Math.min(...indents);
|
|
16
16
|
const normalizedContent = arrayJoin(contentLines
|
|
17
17
|
.map((line) => line.length >= minIndent ? line.slice(minIndent) : line)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throw-error.d.ts","sourceRoot":"","sources":["../../src/rules/throw-error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"throw-error.d.ts","sourceRoot":"","sources":["../../src/rules/throw-error.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,GAAG,oBAAoB,CAAC;AAErD,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AA6C3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CA4I5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getConstrainedTypeAtLocation, isBuiltinSymbolLike, isErrorLike, isTypeAnyType, isTypeUnknownType, } from "@typescript-eslint/type-utils";
|
|
2
|
-
import { ESLintUtils, } from "@typescript-eslint/utils";
|
|
2
|
+
import { AST_NODE_TYPES, ESLintUtils, } from "@typescript-eslint/utils";
|
|
3
3
|
import { arrayFirst, isDefined } from "ts-extras";
|
|
4
4
|
import * as tsutils from "tsutils";
|
|
5
5
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
@@ -12,9 +12,9 @@ const couldBeAllowedThrowableType = (type, program) => tsutils
|
|
|
12
12
|
const couldBePromiseConstructorType = (type, program) => tsutils
|
|
13
13
|
.unionTypeParts(type)
|
|
14
14
|
.some((typeVariant) => isBuiltinSymbolLike(program, typeVariant, "PromiseConstructor"));
|
|
15
|
-
const isPromiseIdentifier = (node) => node.type ===
|
|
15
|
+
const isPromiseIdentifier = (node) => node.type === AST_NODE_TYPES.Identifier && node.name === "Promise";
|
|
16
16
|
const createWrapLiteralInErrorSuggestionFix = (sourceCode, node) => {
|
|
17
|
-
if (node.type !==
|
|
17
|
+
if (node.type !== AST_NODE_TYPES.Literal) {
|
|
18
18
|
return undefined;
|
|
19
19
|
}
|
|
20
20
|
return (fixer) => fixer.replaceText(node, `new Error(${sourceCode.getText(node)})`);
|
|
@@ -59,8 +59,8 @@ const rule = ruleCreator({
|
|
|
59
59
|
return {
|
|
60
60
|
"CallExpression[callee.type='MemberExpression'][callee.property.type='Identifier'][callee.property.name='reject']": (callExpression) => {
|
|
61
61
|
const { callee } = callExpression;
|
|
62
|
-
if (callee.type !==
|
|
63
|
-
callee.object.type ===
|
|
62
|
+
if (callee.type !== AST_NODE_TYPES.MemberExpression ||
|
|
63
|
+
callee.object.type === AST_NODE_TYPES.Super) {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
66
|
const objectType = getConstrainedTypeAtLocation(parserServices, callee.object);
|
|
@@ -72,7 +72,7 @@ const rule = ruleCreator({
|
|
|
72
72
|
},
|
|
73
73
|
"NewExpression[callee.type='Identifier'][callee.name='Promise'] > ArrowFunctionExpression, NewExpression[callee.type='Identifier'][callee.name='Promise'] > FunctionExpression": (callback) => {
|
|
74
74
|
const rejectParameter = callback.params[1];
|
|
75
|
-
if (rejectParameter?.type !==
|
|
75
|
+
if (rejectParameter?.type !== AST_NODE_TYPES.Identifier) {
|
|
76
76
|
return;
|
|
77
77
|
}
|
|
78
78
|
const rejectVariable = arrayFirst(context.sourceCode
|
|
@@ -85,7 +85,7 @@ const rule = ruleCreator({
|
|
|
85
85
|
for (const reference of rejectVariable.references) {
|
|
86
86
|
const { identifier } = reference;
|
|
87
87
|
const parent = identifier.parent;
|
|
88
|
-
if (parent
|
|
88
|
+
if (parent.type === AST_NODE_TYPES.CallExpression &&
|
|
89
89
|
parent.callee === identifier) {
|
|
90
90
|
checkRejectionCall(parent);
|
|
91
91
|
}
|
|
@@ -93,9 +93,6 @@ const rule = ruleCreator({
|
|
|
93
93
|
},
|
|
94
94
|
ThrowStatement: (throwStatement) => {
|
|
95
95
|
const { argument } = throwStatement;
|
|
96
|
-
if (argument === null) {
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
96
|
reportIfNonErrorLike(argument, "Throwing");
|
|
100
97
|
},
|
|
101
98
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throw-error.js","sourceRoot":"","sources":["../../src/rules/throw-error.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,4BAA4B,EAC5B,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,iBAAiB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"throw-error.js","sourceRoot":"","sources":["../../src/rules/throw-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import eslintPluginUnicorn from "eslint-plugin-unicorn";
|
|
2
2
|
import { adaptExternalRule, getExternalRuleFromPlugin, } from "../_internal/create-external-rule.js";
|
|
3
3
|
import { createReplacementRuleInfo, withDeprecatedRuleLifecycle, } from "../_internal/rule-deprecation.js";
|
|
4
|
-
const rule = adaptExternalRule(getExternalRuleFromPlugin(
|
|
4
|
+
const rule = adaptExternalRule(getExternalRuleFromPlugin(eslintPluginUnicorn, "throw-new-error", "eslint-plugin-unicorn"), "https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/throw-new-error");
|
|
5
5
|
/**
|
|
6
6
|
* Wrapper rule with explicit lifecycle metadata and replacement mapping.
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throw-new-error.js","sourceRoot":"","sources":["../../src/rules/throw-new-error.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"throw-new-error.js","sourceRoot":"","sources":["../../src/rules/throw-new-error.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AAExD,OAAO,EACH,iBAAiB,EACjB,yBAAyB,GAC5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAyC,iBAAiB,CAChE,yBAAyB,CACrB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,CAC1B,EACD,gFAAgF,CACnF,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAgB,2BAA2B,CAAC,IAAI,EAAE;IAClE,OAAO,EAAE,iDAAiD;IAC1D,UAAU,EAAE;QACR,yBAAyB,CAAC;YACtB,MAAM,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,uDAAuD;aAC/D;YACD,IAAI,EAAE;gBACF,IAAI,EAAE,iBAAiB;gBACvB,GAAG,EAAE,+FAA+F;aACvG;SACJ,CAAC;KACL;IACD,MAAM,EAAE,iBAAiB;CAC5B,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-array-callback-return-type.d.ts","sourceRoot":"","sources":["../../src/rules/typescript-array-callback-return-type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typescript-array-callback-return-type.d.ts","sourceRoot":"","sources":["../../src/rules/typescript-array-callback-return-type.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAwC3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAmE5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { containsAllTypesByName, getConstrainedTypeAtLocation, isTypeArrayTypeOrUnionOfArrayTypes, } from "@typescript-eslint/type-utils";
|
|
2
|
-
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
2
|
+
import { AST_NODE_TYPES, ESLintUtils, } from "@typescript-eslint/utils";
|
|
3
3
|
import { arrayFirst, setHas } from "ts-extras";
|
|
4
4
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
5
5
|
const arrayCallbackMethodNames = new Set([
|
|
@@ -33,16 +33,16 @@ const rule = ruleCreator({
|
|
|
33
33
|
return {
|
|
34
34
|
[callbackSelector]: (callback) => {
|
|
35
35
|
const parentNode = callback.parent;
|
|
36
|
-
if (parentNode
|
|
36
|
+
if (parentNode.type !== AST_NODE_TYPES.CallExpression) {
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
39
|
if (!isFirstCallbackArgument(parentNode, callback)) {
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
const { callee } = parentNode;
|
|
43
|
-
if (callee.type !==
|
|
44
|
-
callee.object.type ===
|
|
45
|
-
callee.property.type !==
|
|
43
|
+
if (callee.type !== AST_NODE_TYPES.MemberExpression ||
|
|
44
|
+
callee.object.type === AST_NODE_TYPES.Super ||
|
|
45
|
+
callee.property.type !== AST_NODE_TYPES.Identifier ||
|
|
46
46
|
!setHas(arrayCallbackMethodNames, callee.property.name)) {
|
|
47
47
|
return;
|
|
48
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-array-callback-return-type.js","sourceRoot":"","sources":["../../src/rules/typescript-array-callback-return-type.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,sBAAsB,EACtB,4BAA4B,EAC5B,kCAAkC,GACrC,MAAM,+BAA+B,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"typescript-array-callback-return-type.js","sourceRoot":"","sources":["../../src/rules/typescript-array-callback-return-type.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-class-methods-use-this.d.ts","sourceRoot":"","sources":["../../src/rules/typescript-class-methods-use-this.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typescript-class-methods-use-this.d.ts","sourceRoot":"","sources":["../../src/rules/typescript-class-methods-use-this.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAyE3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAmC5D,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,cAAc,EAAE,OAAO,IAgB3B,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
1
2
|
import { arrayAt, objectEntries, objectHasOwn } from "ts-extras";
|
|
2
3
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
3
4
|
import { createReplacementRuleInfo, withDeprecatedRuleLifecycle, } from "../_internal/rule-deprecation.js";
|
|
@@ -31,7 +32,7 @@ const containsThisExpression = (root) => {
|
|
|
31
32
|
if (node === undefined) {
|
|
32
33
|
continue;
|
|
33
34
|
}
|
|
34
|
-
if (node.type ===
|
|
35
|
+
if (node.type === AST_NODE_TYPES.ThisExpression) {
|
|
35
36
|
return true;
|
|
36
37
|
}
|
|
37
38
|
stack = [...stack, ...collectNodeChildren(node)];
|
|
@@ -40,7 +41,8 @@ const containsThisExpression = (root) => {
|
|
|
40
41
|
};
|
|
41
42
|
const hasThisParameter = (node) => {
|
|
42
43
|
const [firstParameter] = node.value.params;
|
|
43
|
-
return (firstParameter?.type ===
|
|
44
|
+
return (firstParameter?.type === AST_NODE_TYPES.Identifier &&
|
|
45
|
+
firstParameter.name === "this");
|
|
44
46
|
};
|
|
45
47
|
const usesThisExpression = (node) => node.value.body === null ? false : containsThisExpression(node.value.body);
|
|
46
48
|
const shouldSkipMethod = (node) => node.kind !== "method" ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-class-methods-use-this.js","sourceRoot":"","sources":["../../src/rules/typescript-class-methods-use-this.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EACH,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,kCAAkC,CAAC;AAM1C,MAAM,MAAM,GAAG,CAAC,KAAc,EAA8B,EAAE,CAC1D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAE/E,MAAM,mBAAmB,GAAG,CACxB,IAAuB,EACK,EAAE;IAC9B,IAAI,QAAQ,GAAiC,EAAE,CAAC;IAEhD,MAAM,OAAO,GAAG,CAAC,KAAc,EAAQ,EAAE;QACrC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAChB,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IACL,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACvD,SAAS;QACb,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,SAAS;QACb,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,IAAuB,EAAW,EAAE;IAChE,IAAI,KAAK,GAAuB,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAChC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,SAAS;QACb,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"typescript-class-methods-use-this.js","sourceRoot":"","sources":["../../src/rules/typescript-class-methods-use-this.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-no-boolean-literal-type.d.ts","sourceRoot":"","sources":["../../src/rules/typescript-no-boolean-literal-type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typescript-no-boolean-literal-type.d.ts","sourceRoot":"","sources":["../../src/rules/typescript-no-boolean-literal-type.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAU3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAoC5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
1
2
|
import { arrayJoin } from "ts-extras";
|
|
2
3
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
3
4
|
const selector = arrayJoin([
|
|
@@ -10,7 +11,7 @@ const selector = arrayJoin([
|
|
|
10
11
|
const rule = ruleCreator({
|
|
11
12
|
create: (context) => ({
|
|
12
13
|
[selector]: (node) => {
|
|
13
|
-
if (node.type !==
|
|
14
|
+
if (node.type !== AST_NODE_TYPES.Literal) {
|
|
14
15
|
return;
|
|
15
16
|
}
|
|
16
17
|
context.report({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-no-boolean-literal-type.js","sourceRoot":"","sources":["../../src/rules/typescript-no-boolean-literal-type.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,QAAQ,GAAG,SAAS,CACtB;IACI,6FAA6F;IAC7F,8FAA8F;CACjG,EACD,IAAI,CACP,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClB,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAuB,EAAQ,EAAE;YAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"typescript-no-boolean-literal-type.js","sourceRoot":"","sources":["../../src/rules/typescript-no-boolean-literal-type.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,QAAQ,GAAG,SAAS,CACtB;IACI,6FAA6F;IAC7F,8FAA8F;CACjG,EACD,IAAI,CACP,CAAC;AAEF;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClB,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAuB,EAAQ,EAAE;YAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;gBACvC,OAAO;YACX,CAAC;YAED,OAAO,CAAC,MAAM,CAAC;gBACX,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;gBAClD,SAAS,EAAE,WAAW;gBACtB,IAAI;aACP,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IACF,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EACP,iEAAiE;YACrE,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,mGAAmG;SAC3G;QACD,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,SAAS,EAAE,6BAA6B;SAC3C;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACrB;IACD,IAAI,EAAE,oCAAoC;CAC7C,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-no-never.d.ts","sourceRoot":"","sources":["../../src/rules/typescript-no-never.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typescript-no-never.d.ts","sourceRoot":"","sources":["../../src/rules/typescript-no-never.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,CAAC;AAE9B,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAO3B;;GAEG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CA4C5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { getConstrainedTypeAtLocation, isTypeNeverType, } from "@typescript-eslint/type-utils";
|
|
2
|
-
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
2
|
+
import { AST_NODE_TYPES, ESLintUtils, } from "@typescript-eslint/utils";
|
|
3
3
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
4
|
-
const isTypeAliasNeverIdentifier = (node) => node.parent.type ===
|
|
4
|
+
const isTypeAliasNeverIdentifier = (node) => node.parent.type === AST_NODE_TYPES.TSTypeAliasDeclaration &&
|
|
5
5
|
node.parent.id === node &&
|
|
6
|
-
node.parent.typeAnnotation.type ===
|
|
6
|
+
node.parent.typeAnnotation.type === AST_NODE_TYPES.TSNeverKeyword;
|
|
7
7
|
/**
|
|
8
8
|
* Disallow inferred `never` types on identifiers.
|
|
9
9
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-no-never.js","sourceRoot":"","sources":["../../src/rules/typescript-no-never.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,4BAA4B,EAC5B,eAAe,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"typescript-no-never.js","sourceRoot":"","sources":["../../src/rules/typescript-no-never.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,4BAA4B,EAC5B,eAAe,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,cAAc,EAEd,WAAW,GACd,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,0BAA0B,GAAG,CAAC,IAA6B,EAAW,EAAE,CAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB;IAC1D,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI;IACvB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,CAAC;AAEtE;;GAEG;AACH,MAAM,IAAI,GAAwD,WAAW,CAG3E;IACE,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE9D,OAAO;YACH,UAAU,EAAE,CAAC,IAA6B,EAAQ,EAAE;gBAChD,IAAI,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,OAAO;gBACX,CAAC;gBAED,MAAM,IAAI,GAAG,4BAA4B,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAEhE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,OAAO;gBACX,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACX,SAAS,EAAE,WAAW;oBACtB,IAAI;iBACP,CAAC,CAAC;YACP,CAAC;SACJ,CAAC;IACN,CAAC;IACD,IAAI,EAAE;QACF,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE;YACF,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,kDAAkD;YAC/D,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;YAClB,oBAAoB,EAAE,IAAI;YAC1B,GAAG,EAAE,oFAAoF;SAC5F;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACN,SAAS,EAAE,6CAA6C;SAC3D;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;KAClB;IACD,IAAI,EAAE,qBAAqB;CAC9B,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-no-redundant-undefined-const.d.ts","sourceRoot":"","sources":["../../src/rules/typescript-no-redundant-undefined-const.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typescript-no-redundant-undefined-const.d.ts","sourceRoot":"","sources":["../../src/rules/typescript-no-redundant-undefined-const.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,GAAG,iCAAiC,CAAC;AAElE,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAwF3B;;;GAGG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAyF5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
1
2
|
import { arrayJoin, isDefined, isEmpty } from "ts-extras";
|
|
2
3
|
import { ruleCreator } from "../_internal/rule-creator.js";
|
|
3
4
|
const buildFixedTypeText = (sourceCode, unionType) => {
|
|
4
5
|
let nonUndefinedTypeTexts = [];
|
|
5
6
|
for (const typeNode of unionType.types) {
|
|
6
|
-
if (typeNode.type ===
|
|
7
|
+
if (typeNode.type === AST_NODE_TYPES.TSUndefinedKeyword) {
|
|
7
8
|
continue;
|
|
8
9
|
}
|
|
9
10
|
nonUndefinedTypeTexts = [
|
|
@@ -17,47 +18,40 @@ const buildFixedTypeText = (sourceCode, unionType) => {
|
|
|
17
18
|
}
|
|
18
19
|
return arrayJoin(nonUndefinedTypeTexts, " | ");
|
|
19
20
|
};
|
|
20
|
-
const getTypeAnnotationFromDeclarator = (declarator) =>
|
|
21
|
-
if (declarator.id.type === "Identifier" ||
|
|
22
|
-
declarator.id.type === "ArrayPattern" ||
|
|
23
|
-
declarator.id.type === "ObjectPattern") {
|
|
24
|
-
return declarator.id.typeAnnotation;
|
|
25
|
-
}
|
|
26
|
-
return undefined;
|
|
27
|
-
};
|
|
21
|
+
const getTypeAnnotationFromDeclarator = (declarator) => declarator.id.typeAnnotation;
|
|
28
22
|
const unwrapExpression = (expression) => {
|
|
29
|
-
if (expression.type ===
|
|
30
|
-
expression.type ===
|
|
31
|
-
expression.type ===
|
|
32
|
-
expression.type ===
|
|
23
|
+
if (expression.type === AST_NODE_TYPES.TSAsExpression ||
|
|
24
|
+
expression.type === AST_NODE_TYPES.TSSatisfiesExpression ||
|
|
25
|
+
expression.type === AST_NODE_TYPES.TSNonNullExpression ||
|
|
26
|
+
expression.type === AST_NODE_TYPES.TSTypeAssertion) {
|
|
33
27
|
return unwrapExpression(expression.expression);
|
|
34
28
|
}
|
|
35
29
|
return expression;
|
|
36
30
|
};
|
|
37
31
|
const isDefinitelyDefinedExpression = (expression) => {
|
|
38
32
|
const unwrappedExpression = unwrapExpression(expression);
|
|
39
|
-
if (unwrappedExpression.type ===
|
|
33
|
+
if (unwrappedExpression.type === AST_NODE_TYPES.ArrayExpression) {
|
|
40
34
|
return true;
|
|
41
35
|
}
|
|
42
|
-
if (unwrappedExpression.type ===
|
|
36
|
+
if (unwrappedExpression.type === AST_NODE_TYPES.ArrowFunctionExpression) {
|
|
43
37
|
return true;
|
|
44
38
|
}
|
|
45
|
-
if (unwrappedExpression.type ===
|
|
39
|
+
if (unwrappedExpression.type === AST_NODE_TYPES.ClassExpression) {
|
|
46
40
|
return true;
|
|
47
41
|
}
|
|
48
|
-
if (unwrappedExpression.type ===
|
|
42
|
+
if (unwrappedExpression.type === AST_NODE_TYPES.FunctionExpression) {
|
|
49
43
|
return true;
|
|
50
44
|
}
|
|
51
|
-
if (unwrappedExpression.type ===
|
|
45
|
+
if (unwrappedExpression.type === AST_NODE_TYPES.Literal) {
|
|
52
46
|
return true;
|
|
53
47
|
}
|
|
54
|
-
if (unwrappedExpression.type ===
|
|
48
|
+
if (unwrappedExpression.type === AST_NODE_TYPES.NewExpression) {
|
|
55
49
|
return true;
|
|
56
50
|
}
|
|
57
|
-
if (unwrappedExpression.type ===
|
|
51
|
+
if (unwrappedExpression.type === AST_NODE_TYPES.ObjectExpression) {
|
|
58
52
|
return true;
|
|
59
53
|
}
|
|
60
|
-
if (unwrappedExpression.type ===
|
|
54
|
+
if (unwrappedExpression.type === AST_NODE_TYPES.TemplateLiteral) {
|
|
61
55
|
return true;
|
|
62
56
|
}
|
|
63
57
|
return false;
|
|
@@ -71,7 +65,7 @@ const rule = ruleCreator({
|
|
|
71
65
|
const sourceCode = context.sourceCode;
|
|
72
66
|
return {
|
|
73
67
|
'VariableDeclaration[kind="const"] > VariableDeclarator': (node) => {
|
|
74
|
-
if (node.type !==
|
|
68
|
+
if (node.type !== AST_NODE_TYPES.VariableDeclarator) {
|
|
75
69
|
return;
|
|
76
70
|
}
|
|
77
71
|
if (node.init === null) {
|
|
@@ -84,7 +78,8 @@ const rule = ruleCreator({
|
|
|
84
78
|
if (typeAnnotation === undefined) {
|
|
85
79
|
return;
|
|
86
80
|
}
|
|
87
|
-
if (typeAnnotation.typeAnnotation.type !==
|
|
81
|
+
if (typeAnnotation.typeAnnotation.type !==
|
|
82
|
+
AST_NODE_TYPES.TSUnionType) {
|
|
88
83
|
return;
|
|
89
84
|
}
|
|
90
85
|
const fixedTypeText = buildFixedTypeText(sourceCode, typeAnnotation.typeAnnotation);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-no-redundant-undefined-const.js","sourceRoot":"","sources":["../../src/rules/typescript-no-redundant-undefined-const.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,MAAM,kBAAkB,GAAG,CACvB,UAAyC,EACzC,SAAmC,EACjB,EAAE;IACpB,IAAI,qBAAqB,GAAsB,EAAE,CAAC;IAElD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,QAAQ,CAAC,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"typescript-no-redundant-undefined-const.js","sourceRoot":"","sources":["../../src/rules/typescript-no-redundant-undefined-const.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-no-redundant-undefined-default-parameter.d.ts","sourceRoot":"","sources":["../../src/rules/typescript-no-redundant-undefined-default-parameter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typescript-no-redundant-undefined-default-parameter.d.ts","sourceRoot":"","sources":["../../src/rules/typescript-no-redundant-undefined-default-parameter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,KAAK,UAAU,GAAG,WAAW,GAAG,iCAAiC,CAAC;AAElE,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAoJ3B;;;GAGG;AACH,QAAA,MAAM,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAgG5D,CAAC;AAEH,eAAe,IAAI,CAAC"}
|