eslint-rule-forge 0.5.0 → 0.6.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.
package/README.md CHANGED
@@ -129,20 +129,21 @@ The range and the text of a node leave out the parentheses written around it.
129
129
 
130
130
  ## Imports and bindings
131
131
 
132
- | Helper | What it gives |
133
- | :---------------------- | :--------------------------------------------------------------------------------------------------- |
134
- | `getImportDeclarations` | every `import … from '<module>'` in the file, not only the first |
135
- | `getNamedImports` | the export names those declarations import |
136
- | `getImportedLocalName` | the local name an export is imported as (`'y'` for `import { x as y }`) |
137
- | `importedNameOf` | the export name an import specifier imports (`'x'` for `import { x as y }`) |
138
- | `buildCalleeResolver` | which export a callee calls, through aliases, namespace imports and type wrappers |
139
- | `bindValueImports` | the local names to write for exports, and the edits binding them as values (in the existing import) |
140
- | `buildNamedImportFix` | a fix inserting a new `import { … } from '<module>';` after the directive prologue |
141
- | `addTypeImports` | the edits importing types: into an `import type { … }`, else as `type X` into another import |
142
- | `addToImportBraces` | a fix adding specifiers to a declaration's braces, empty ones included, or `undefined` without any |
143
- | `hasForeignBinding` | whether a name, at a node, is bound to something other than the module's import (a fix must give up) |
144
- | `isLocallyBound` | whether a name, at a node, is declared in the file rather than a global or a standard-library type |
145
- | `hasCommentWithin` | whether a comment inside a node lies in ranges a fix would delete (the fix must give up) |
132
+ | Helper | What it gives |
133
+ | :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------- |
134
+ | `getImportDeclarations` | every `import … from '<module>'` in the file, not only the first |
135
+ | `getNamedImports` | the export names those declarations import |
136
+ | `getImportedLocalName` | the local name an export is imported as (`'y'` for `import { x as y }`) |
137
+ | `importedNameOf` | the export name an import specifier imports (`'x'` for `import { x as y }`) |
138
+ | `buildCalleeResolver` | which export a callee calls, through aliases, namespace imports and type wrappers |
139
+ | `bindValueImports` | the local names to write for exports, and the edits binding them as values (in the existing import) |
140
+ | `bindValueImportsAt` | the same at a node, through a namespace import (`ns.x`) when there is one and no local binding shadows it, or `undefined` where a name is taken |
141
+ | `buildNamedImportFix` | a fix inserting a new `import { … } from '<module>';` after the directive prologue |
142
+ | `addTypeImports` | the edits importing types: into an `import type { … }`, else as `type X` into another import |
143
+ | `addToImportBraces` | a fix adding specifiers to a declaration's braces, empty ones included, or `undefined` without any |
144
+ | `hasForeignBinding` | whether a name, at a node, is bound to something other than the module's import (a fix must give up); a nested type-only binding does not count |
145
+ | `isLocallyBound` | whether a name, at a node, is declared in the file rather than a global or a standard-library type |
146
+ | `hasCommentWithin` | whether a comment inside a node lies in ranges a fix would delete (the fix must give up) |
146
147
 
147
148
  ```ts
148
149
  import type { TSESLint } from '@typescript-eslint/utils';
@@ -1,4 +1,4 @@
1
- import { type TSESLint, type TSESTree } from '@typescript-eslint/utils';
1
+ import { TSESLint, type TSESTree } from '@typescript-eslint/utils';
2
2
  /**
3
3
  * Whether `name`, read at `node`, resolves to something this file writes down —
4
4
  * a declaration, a parameter, an import — rather than to a global or a
@@ -16,7 +16,13 @@ export declare const isLocallyBound: (sourceCode: TSESLint.SourceCode, node: TSE
16
16
  * has to give up then, because the name would refer to that binding instead.
17
17
  *
18
18
  * The innermost binding decides: an import from `moduleName` at the top of the
19
- * file does not help a name a function shadows around `node`.
19
+ * file does not help a name a function shadows around `node`. A binding with no
20
+ * value meaning inside the file — a type parameter, a local type alias or
21
+ * interface — is passed over, since a type does not shadow a value or the head
22
+ * of a qualified name. At the top of the file it still counts: the import a fix
23
+ * adds there conflicts with it when the export has a type meaning too. A fix
24
+ * that writes the name alone in a type position, where such a binding does
25
+ * capture it, has to check for one itself.
20
26
  */
21
27
  export declare const hasForeignBinding: (sourceCode: TSESLint.SourceCode, node: TSESTree.Node, name: string, moduleName: string) => boolean;
22
28
  //# sourceMappingURL=bindings.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.d.mts","sourceRoot":"","sources":["../src/bindings.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAIlC;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,eACb,QAAQ,CAAC,UAAU,QACzB,QAAQ,CAAC,IAAI,QACb,MAAM,KACX,OAIF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,eAChB,QAAQ,CAAC,UAAU,QACzB,QAAQ,CAAC,IAAI,QACb,MAAM,cACA,MAAM,KACjB,OAIF,CAAC"}
1
+ {"version":3,"file":"bindings.d.mts","sourceRoot":"","sources":["../src/bindings.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,QAAQ,EACR,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAIlC;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,eACb,QAAQ,CAAC,UAAU,QACzB,QAAQ,CAAC,IAAI,QACb,MAAM,KACX,OAIF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,eAChB,QAAQ,CAAC,UAAU,QACzB,QAAQ,CAAC,IAAI,QACb,MAAM,cACA,MAAM,KACjB,OAIF,CAAC"}
package/dist/bindings.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { AST_NODE_TYPES, ASTUtils, } from '@typescript-eslint/utils';
1
+ import { AST_NODE_TYPES, ASTUtils, TSESLint, } from '@typescript-eslint/utils';
2
2
 
3
3
 
4
4
 
@@ -22,14 +22,45 @@ export const isLocallyBound = (sourceCode, node, name) => {
22
22
 
23
23
 
24
24
 
25
+
26
+
27
+
28
+
29
+
30
+
25
31
  export const hasForeignBinding = (sourceCode, node, name, moduleName) => {
26
- const variable = ASTUtils.findVariable(sourceCode.getScope(node), name);
32
+ const variable = findShadowingVariable(sourceCode.getScope(node), name);
27
33
  return variable?.defs.some((def) => !isImportFrom(def, moduleName)) ?? false;
28
34
  };
29
35
 
30
36
 
31
37
 
32
38
 
39
+
40
+ const isTypeOnly = (variable) => variable.defs.length > 0 &&
41
+ variable.defs.every((def) => def.type === TSESLint.Scope.DefinitionType.Type);
42
+
43
+
44
+
45
+
46
+ const isTopLevel = (scope) => scope.block.type === AST_NODE_TYPES.Program;
47
+
48
+
49
+
50
+
51
+
52
+ const findShadowingVariable = (scope, name) => {
53
+ const variable = scope.set.get(name);
54
+ return variable !== undefined && (!isTypeOnly(variable) || isTopLevel(scope))
55
+ ? variable
56
+ : scope.upper === null
57
+ ? undefined
58
+ : findShadowingVariable(scope.upper, name);
59
+ };
60
+
61
+
62
+
63
+
33
64
  const isImportFrom = (def, moduleName) => (def.node.type === AST_NODE_TYPES.ImportSpecifier ||
34
65
  def.node.type === AST_NODE_TYPES.ImportDefaultSpecifier ||
35
66
  def.node.type === AST_NODE_TYPES.ImportNamespaceSpecifier) &&
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.mjs","sourceRoot":"","sources":["../src/bindings.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,QAAQ,GAGT,MAAM,0BAA0B,CAAC;AAElC,uEAAuE;AAEvE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,UAA+B,EAC/B,IAAmB,EACnB,IAAY,EACH,EAAE;IACX,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAExE,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,UAA+B,EAC/B,IAAmB,EACnB,IAAY,EACZ,UAAkB,EACT,EAAE;IACX,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAExE,OAAO,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC;AAC/E,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,YAAY,GAAG,CACnB,GAA8B,EAC9B,UAAkB,EACT,EAAE,CACX,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;IAC/C,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB;IACvD,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,wBAAwB,CAAC;IAC5D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;IACzD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC"}
1
+ {"version":3,"file":"bindings.mjs","sourceRoot":"","sources":["../src/bindings.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,QAAQ,EACR,QAAQ,GAET,MAAM,0BAA0B,CAAC;AAElC,uEAAuE;AAEvE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,UAA+B,EAC/B,IAAmB,EACnB,IAAY,EACH,EAAE;IACX,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAExE,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,UAA+B,EAC/B,IAAmB,EACnB,IAAY,EACZ,UAAkB,EACT,EAAE;IACX,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAExE,OAAO,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC;AAC/E,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,QAAiC,EAAW,EAAE,CAChE,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAEhF;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,KAA2B,EAAW,EAAE,CAC1D,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO,CAAC;AAE9C;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,CAC5B,KAA2B,EAC3B,IAAY,EACyB,EAAE;IACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3E,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;YACpB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,YAAY,GAAG,CACnB,GAA8B,EAC9B,UAAkB,EACT,EAAE,CACX,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;IAC/C,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB;IACvD,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,wBAAwB,CAAC;IAC5D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;IACzD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC"}
@@ -84,6 +84,25 @@ export declare const buildNamedImportFix: (fixer: TSESLint.RuleFixer, program: T
84
84
  * ({@link hasForeignBinding}).
85
85
  */
86
86
  export declare const bindValueImports: (sourceCode: TSESLint.SourceCode, moduleName: string, exportNames: readonly string[]) => ValueImportBinding | undefined;
87
+ /**
88
+ * {@link bindValueImports} for the code at a node, which writes an export
89
+ * through a namespace import of the module (`ns.f` after
90
+ * `import * as ns from '<moduleName>'`) rather than importing it by name beside
91
+ * the namespace. Gives, for a node, what a fix there writes, or `undefined`
92
+ * when no fix can: an import binds a name to something else, or something other
93
+ * than an import from the module takes a name the fix writes where the node is
94
+ * ({@link hasForeignBinding}).
95
+ *
96
+ * - An export imported as a value is written by its local name, as
97
+ * {@link bindValueImports} writes it.
98
+ * - Any other, one imported only by `import { type x }` included, goes through
99
+ * the first namespace import that is not `import type * as`, with no edit.
100
+ * - Where a local binding shadows the namespace's name, every export is bound
101
+ * as {@link bindValueImports} binds it instead.
102
+ *
103
+ * Each choice is worked out once, however many nodes ask.
104
+ */
105
+ export declare const bindValueImportsAt: (sourceCode: TSESLint.SourceCode, moduleName: string, exportNames: readonly string[]) => ((node: TSESTree.Node) => ValueImportBinding | undefined);
87
106
  /**
88
107
  * The edits that import `moduleName`'s types `names` the file does not import
89
108
  * yet: added to an existing `import type { … }` from the module (`, X`), else
@@ -104,9 +123,12 @@ export declare const addTypeImports: (fixer: TSESLint.RuleFixer, sourceCode: TSE
104
123
  export declare const addToImportBraces: (fixer: TSESLint.RuleFixer, sourceCode: TSESLint.SourceCode, declaration: TSESTree.ImportDeclaration, specifiers: readonly string[]) => TSESLint.RuleFix | undefined;
105
124
  /** The exported name `specifier` imports: `x` for `import { x as y }`. */
106
125
  export declare const importedNameOf: (specifier: DeepReadonly<TSESTree.ImportSpecifier>) => string;
107
- /** What {@link bindValueImports} gives. */
126
+ /** What {@link bindValueImports} and {@link bindValueImportsAt} give. */
108
127
  export type ValueImportBinding = Readonly<{
109
- /** The names to write, in the order of the export names asked for. */
128
+ /**
129
+ * What to write for each export, in the order of the export names asked for:
130
+ * a local name, or `ns.x` through a namespace import.
131
+ */
110
132
  localNames: readonly string[];
111
133
  /** The edits that bring every one of them into scope. */
112
134
  edits: (fixer: TSESLint.RuleFixer) => readonly TSESLint.RuleFix[];
@@ -1 +1 @@
1
- {"version":3,"file":"imports.d.mts","sourceRoot":"","sources":["../src/imports.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAKlD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,YACvB,QAAQ,CAAC,OAAO,cACb,MAAM,KACjB,SAAS,QAAQ,CAAC,iBAAiB,EAKnC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,eAAe,iBACZ,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KACvD,SAAS,MAAM,EAOf,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,iBACjB,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,gBAC1C,MAAM,KACnB,MAAM,GAAG,SAOK,CAAC;AAElB,uEAAuE;AACvE,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC;IAElC,qEAAqE;IACrE,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,iBAChB,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KACvD,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,KAAK,cAAc,GAAG,SAAS,CAuD9D,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,UACvB,QAAQ,CAAC,SAAS,WAChB,QAAQ,CAAC,OAAO,cACb,MAAM,cACN,SAAS,MAAM,EAAE,KAC5B,SAAS,QAAQ,CAAC,OAAO,EAgC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,gBAAgB,eACf,QAAQ,CAAC,UAAU,cACnB,MAAM,eACL,SAAS,MAAM,EAAE,KAC7B,kBAAkB,GAAG,SAyCvB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,UAClB,QAAQ,CAAC,SAAS,cACb,QAAQ,CAAC,UAAU,cACnB,MAAM,SACX,SAAS,MAAM,EAAE,KACvB,SAAS,QAAQ,CAAC,OAAO,EAqB3B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,UACrB,QAAQ,CAAC,SAAS,cACb,QAAQ,CAAC,UAAU,eAClB,QAAQ,CAAC,iBAAiB,cAC3B,SAAS,MAAM,EAAE,KAC5B,QAAQ,CAAC,OAAO,GAAG,SAwBrB,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,cAAc,cACd,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,KAChD,MAG2B,CAAC;AAoD/B,2CAA2C;AAC3C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,sEAAsE;IACtE,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAE9B,yDAAyD;IACzD,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,KAAK,SAAS,QAAQ,CAAC,OAAO,EAAE,CAAC;CACnE,CAAC,CAAC"}
1
+ {"version":3,"file":"imports.d.mts","sourceRoot":"","sources":["../src/imports.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAMlD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,YACvB,QAAQ,CAAC,OAAO,cACb,MAAM,KACjB,SAAS,QAAQ,CAAC,iBAAiB,EAKnC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,eAAe,iBACZ,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KACvD,SAAS,MAAM,EAOf,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,iBACjB,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,gBAC1C,MAAM,KACnB,MAAM,GAAG,SAOK,CAAC;AAElB,uEAAuE;AACvE,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC;IAElC,qEAAqE;IACrE,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,iBAChB,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KACvD,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,KAAK,cAAc,GAAG,SAAS,CAuD9D,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,UACvB,QAAQ,CAAC,SAAS,WAChB,QAAQ,CAAC,OAAO,cACb,MAAM,cACN,SAAS,MAAM,EAAE,KAC5B,SAAS,QAAQ,CAAC,OAAO,EAgC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,gBAAgB,eACf,QAAQ,CAAC,UAAU,cACnB,MAAM,eACL,SAAS,MAAM,EAAE,KAC7B,kBAAkB,GAAG,SACmC,CAAC;AAE5D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,eACjB,QAAQ,CAAC,UAAU,cACnB,MAAM,eACL,SAAS,MAAM,EAAE,KAC7B,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,kBAAkB,GAAG,SAAS,CA6B1D,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,UAClB,QAAQ,CAAC,SAAS,cACb,QAAQ,CAAC,UAAU,cACnB,MAAM,SACX,SAAS,MAAM,EAAE,KACvB,SAAS,QAAQ,CAAC,OAAO,EAqB3B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,UACrB,QAAQ,CAAC,SAAS,cACb,QAAQ,CAAC,UAAU,eAClB,QAAQ,CAAC,iBAAiB,cAC3B,SAAS,MAAM,EAAE,KAC5B,QAAQ,CAAC,OAAO,GAAG,SAwBrB,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,cAAc,cACd,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,KAChD,MAG2B,CAAC;AAkO/B,yEAAyE;AACzE,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC;;;OAGG;IACH,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAE9B,yDAAyD;IACzD,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,KAAK,SAAS,QAAQ,CAAC,OAAO,EAAE,CAAC;CACnE,CAAC,CAAC"}
package/dist/imports.mjs CHANGED
@@ -1,4 +1,5 @@
1
1
  import { AST_NODE_TYPES, } from '@typescript-eslint/utils';
2
+ import { hasForeignBinding } from './bindings.mjs';
2
3
  import { isTypeWrapper, skipTypeWrappers } from './type-wrappers.mjs';
3
4
 
4
5
 
@@ -131,29 +132,40 @@ export const buildNamedImportFix = (fixer, program, moduleName, specifiers) => {
131
132
 
132
133
 
133
134
 
134
- export const bindValueImports = (sourceCode, moduleName, exportNames) => {
135
- const program = sourceCode.ast;
136
- const allImports = program.body.filter((node) => node.type === AST_NODE_TYPES.ImportDeclaration);
137
- const declarations = getImportDeclarations(program, moduleName);
138
- const named = declarations.flatMap((declaration) => declaration.specifiers.flatMap((specifier) => specifier.type === AST_NODE_TYPES.ImportSpecifier
139
- ? [{ declaration, specifier }]
140
- : []));
141
- const bindings = exportNames.map((exportName) => bindingOf(sourceCode, allImports, named, exportName));
142
- if (bindings.includes(undefined)) {
143
- return undefined;
144
- }
145
- const defined = bindings.filter((b) => b !== undefined);
146
- const toAdd = defined.flatMap((b) => (b.isAdded ? [b.localName] : []));
147
- const hosts = hostsFor(declarations);
148
- return {
149
- localNames: defined.map((b) => b.localName),
150
- edits: (fixer) => [
151
- ...defined.flatMap((b) => b.edits(fixer)),
152
- ...(toAdd.length === 0
153
- ? []
154
- : addToFirstHost(fixer, sourceCode, moduleName, hosts, toAdd)),
155
- ],
156
- };
135
+ export const bindValueImports = (sourceCode, moduleName, exportNames) => bindNames(sourceCode, moduleName, exportNames, undefined);
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+ export const bindValueImportsAt = (sourceCode, moduleName, exportNames) => {
155
+ const namespaceName = getImportDeclarations(sourceCode.ast, moduleName)
156
+ .filter((declaration) => !isTypeOnlyDeclaration(declaration))
157
+ .flatMap((declaration) => declaration.specifiers)
158
+ .find((specifier) => specifier.type === AST_NODE_TYPES.ImportNamespaceSpecifier)?.local.name;
159
+ const viaNamespace = namespaceName === undefined
160
+ ? undefined
161
+ : bindNames(sourceCode, moduleName, exportNames, namespaceName);
162
+ const byName = bindNames(sourceCode, moduleName, exportNames, undefined);
163
+ const holdsAt = (binding, node) => binding?.boundNames.every((name) => !hasForeignBinding(sourceCode, node, name, moduleName)) ?? false;
164
+ return (node) => holdsAt(viaNamespace, node)
165
+ ? viaNamespace
166
+ : holdsAt(byName, node)
167
+ ? byName
168
+ : undefined;
157
169
  };
158
170
 
159
171
 
@@ -250,12 +262,21 @@ const hostsFor = (declarations) => {
250
262
  ...notTypeOnly.filter((declaration) => !hasValueSpecifier(declaration)),
251
263
  ];
252
264
  };
253
- const bindingOf = (sourceCode, allImports, named, exportName) => {
265
+ const bindingOf = (sourceCode, allImports, named, exportName, namespaceName) => {
254
266
  const matching = named.filter(({ specifier }) => importedNameOf(specifier) === exportName);
255
267
  const value = matching.find(isValueImport);
256
268
  if (value !== undefined) {
257
269
  return {
258
270
  localName: value.specifier.local.name,
271
+ boundName: value.specifier.local.name,
272
+ isAdded: false,
273
+ edits: () => [],
274
+ };
275
+ }
276
+ if (namespaceName !== undefined) {
277
+ return {
278
+ localName: `${namespaceName}.${exportName}`,
279
+ boundName: namespaceName,
259
280
  isAdded: false,
260
281
  edits: () => [],
261
282
  };
@@ -272,6 +293,7 @@ const bindingOf = (sourceCode, allImports, named, exportName) => {
272
293
  ? undefined
273
294
  : {
274
295
  localName: inlineType.local.name,
296
+ boundName: inlineType.local.name,
275
297
  isAdded: false,
276
298
  edits: (fixer) => [
277
299
  fixer.removeRange([typeKeyword.range[0], next.range[0]]),
@@ -281,6 +303,42 @@ const bindingOf = (sourceCode, allImports, named, exportName) => {
281
303
  const isTaken = allImports.some((declaration) => declaration.specifiers.some((specifier) => specifier.local.name === exportName));
282
304
  return isTaken
283
305
  ? undefined
284
- : { localName: exportName, isAdded: true, edits: () => [] };
306
+ : {
307
+ localName: exportName,
308
+ boundName: exportName,
309
+ isAdded: true,
310
+ edits: () => [],
311
+ };
312
+ };
313
+
314
+
315
+
316
+
317
+
318
+
319
+ const bindNames = (sourceCode, moduleName, exportNames, namespaceName) => {
320
+ const program = sourceCode.ast;
321
+ const allImports = program.body.filter((node) => node.type === AST_NODE_TYPES.ImportDeclaration);
322
+ const declarations = getImportDeclarations(program, moduleName);
323
+ const named = declarations.flatMap((declaration) => declaration.specifiers.flatMap((specifier) => specifier.type === AST_NODE_TYPES.ImportSpecifier
324
+ ? [{ declaration, specifier }]
325
+ : []));
326
+ const bindings = exportNames.map((exportName) => bindingOf(sourceCode, allImports, named, exportName, namespaceName));
327
+ if (bindings.includes(undefined)) {
328
+ return undefined;
329
+ }
330
+ const defined = bindings.filter((b) => b !== undefined);
331
+ const toAdd = defined.flatMap((b) => (b.isAdded ? [b.localName] : []));
332
+ const hosts = hostsFor(declarations);
333
+ return {
334
+ localNames: defined.map((b) => b.localName),
335
+ boundNames: defined.map((b) => b.boundName),
336
+ edits: (fixer) => [
337
+ ...defined.flatMap((b) => b.edits(fixer)),
338
+ ...(toAdd.length === 0
339
+ ? []
340
+ : addToFirstHost(fixer, sourceCode, moduleName, hosts, toAdd)),
341
+ ],
342
+ };
285
343
  };
286
344
  //# sourceMappingURL=imports.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"imports.mjs","sourceRoot":"","sources":["../src/imports.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imports.mjs","sourceRoot":"","sources":["../src/imports.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-array-is-array.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-array-is-array.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAMlC;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,+BAGlC,QAAQ,CAAC;IACV,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IAEnB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,KAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,SAAS,EAAE,CA6DjD,CAAC"}
1
+ {"version":3,"file":"prefer-array-is-array.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-array-is-array.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAKlC;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,+BAGlC,QAAQ,CAAC;IACV,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IAEnB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,KAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,SAAS,EAAE,CAqErC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { AST_NODE_TYPES, } from '@typescript-eslint/utils';
2
- import { hasForeignBinding } from '../bindings.mjs';
3
- import { bindValueImports } from '../imports.mjs';
2
+ import { bindValueImportsAt } from '../imports.mjs';
4
3
  import { getRangeWithParens } from '../parentheses.mjs';
5
4
  import { isIdentifierNamed, skipTypeWrappers } from '../type-wrappers.mjs';
6
5
 
@@ -8,55 +7,63 @@ import { isIdentifierNamed, skipTypeWrappers } from '../type-wrappers.mjs';
8
7
 
9
8
 
10
9
 
11
- export const createPreferArrayIsArray = ({ moduleName, namespace, }) => {
12
- const replacement = `${namespace}.isArray`;
13
- const text = `Replace \`Array.isArray\` with \`${replacement}\` from ${moduleName}.`;
14
- return {
15
- meta: {
16
- type: 'suggestion',
17
- docs: { description: text },
18
- fixable: 'code',
19
- schema: [],
20
- messages: { useIsArray: text },
21
- defaultOptions: [],
10
+ export const createPreferArrayIsArray = ({ moduleName, namespace, }) => ({
11
+ meta: {
12
+ type: 'suggestion',
13
+ docs: {
14
+ description: `Replace \`Array.isArray\` with \`${namespace}.isArray\` from ${moduleName}.`,
22
15
  },
23
- create: (context) => {
24
- const sourceCode = context.sourceCode;
25
- const mut_nodesToFix = [];
26
- return {
27
- CallExpression: (node) => {
28
- if (!isArrayIsArrayCall(node)) {
29
- return;
30
- }
31
- mut_nodesToFix.push(node);
32
- },
33
- 'Program:exit': () => {
34
- const binding = bindValueImports(sourceCode, moduleName, [namespace]);
35
- const localName = binding?.localNames[0];
36
-
37
-
38
- for (const node of mut_nodesToFix) {
39
- context.report({
40
- node,
41
- messageId: 'useIsArray',
42
- fix: binding === undefined ||
43
- localName === undefined ||
44
- hasForeignBinding(sourceCode, node, localName, moduleName)
45
- ? null
46
- : (fixer) => [
47
- ...binding.edits(fixer),
48
-
49
-
50
-
51
- fixer.replaceTextRange(getRangeWithParens(sourceCode, node.callee), `${localName}.isArray`),
52
- ],
53
- });
54
- }
55
- },
56
- };
16
+ fixable: 'code',
17
+ schema: [],
18
+ messages: {
19
+ useIsArray: `Replace \`Array.isArray\` with \`{{replacement}}\` from ${moduleName}.`,
57
20
  },
58
- };
59
- };
21
+ defaultOptions: [],
22
+ },
23
+ create: (context) => {
24
+ const sourceCode = context.sourceCode;
25
+ const mut_nodesToFix = [];
26
+ return {
27
+ CallExpression: (node) => {
28
+ if (!isArrayIsArrayCall(node)) {
29
+ return;
30
+ }
31
+ mut_nodesToFix.push(node);
32
+ },
33
+ 'Program:exit': () => {
34
+ if (mut_nodesToFix.length === 0) {
35
+ return;
36
+ }
37
+ const bindingAt = bindValueImportsAt(sourceCode, moduleName, [
38
+ namespace,
39
+ ]);
40
+
41
+
42
+ for (const node of mut_nodesToFix) {
43
+ const binding = bindingAt(node);
44
+ const localName = binding?.localNames[0];
45
+ context.report({
46
+ node,
47
+ messageId: 'useIsArray',
48
+ data: {
49
+
50
+ replacement: `${localName ?? namespace}.isArray`,
51
+ },
52
+ fix: binding === undefined || localName === undefined
53
+ ? null
54
+ : (fixer) => [
55
+ ...binding.edits(fixer),
56
+
57
+
58
+
59
+ fixer.replaceTextRange(getRangeWithParens(sourceCode, node.callee), `${localName}.isArray`),
60
+ ],
61
+ });
62
+ }
63
+ },
64
+ };
65
+ },
66
+ });
60
67
 
61
68
 
62
69
 
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-array-is-array.mjs","sourceRoot":"","sources":["../../src/rules/prefer-array-is-array.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prefer-array-is-array.mjs","sourceRoot":"","sources":["../../src/rules/prefer-array-is-array.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-is-non-null-object.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-is-non-null-object.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAMlC;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,oBAErC,QAAQ,CAAC;IACV,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,KAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EAAE,SAAS,EAAE,CAsE7C,CAAC"}
1
+ {"version":3,"file":"prefer-is-non-null-object.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-is-non-null-object.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAKlC;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,oBAErC,QAAQ,CAAC;IACV,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,KAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EAAE,SAAS,EAAE,CA8E7C,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { AST_NODE_TYPES, } from '@typescript-eslint/utils';
2
- import { hasForeignBinding } from '../bindings.mjs';
3
- import { bindValueImports } from '../imports.mjs';
2
+ import { bindValueImportsAt } from '../imports.mjs';
4
3
  import { getRangeWithParens, parenthesesDepth } from '../parentheses.mjs';
5
4
  import { skipTypeWrappers } from '../type-wrappers.mjs';
6
5
 
@@ -17,7 +16,7 @@ export const createPreferIsNonNullObject = ({ moduleName, }) => ({
17
16
  fixable: 'code',
18
17
  schema: [],
19
18
  messages: {
20
- useIsNonNullObject: `Replace the object/null check with \`isNonNullObject()\` from ${moduleName}.`,
19
+ useIsNonNullObject: `Replace the object/null check with \`{{isNonNullObject}}()\` from ${moduleName}.`,
21
20
  },
22
21
  defaultOptions: [],
23
22
  },
@@ -36,13 +35,17 @@ export const createPreferIsNonNullObject = ({ moduleName, }) => ({
36
35
  })));
37
36
  },
38
37
  'Program:exit': () => {
39
- const binding = bindValueImports(sourceCode, moduleName, [
38
+ if (mut_pairsToFix.length === 0) {
39
+ return;
40
+ }
41
+ const bindingAt = bindValueImportsAt(sourceCode, moduleName, [
40
42
  'isNonNullObject',
41
43
  ]);
42
- const localName = binding?.localNames[0];
43
44
 
44
45
 
45
46
  for (const { range, identifierName, chain } of mut_pairsToFix) {
47
+ const binding = bindingAt(chain);
48
+ const localName = binding?.localNames[0];
46
49
  const loc = {
47
50
  start: sourceCode.getLocFromIndex(range[0]),
48
51
  end: sourceCode.getLocFromIndex(range[1]),
@@ -50,9 +53,11 @@ export const createPreferIsNonNullObject = ({ moduleName, }) => ({
50
53
  context.report({
51
54
  loc,
52
55
  messageId: 'useIsNonNullObject',
53
- fix: binding === undefined ||
54
- localName === undefined ||
55
- hasForeignBinding(sourceCode, chain, localName, moduleName)
56
+ data: {
57
+
58
+ isNonNullObject: localName ?? 'isNonNullObject',
59
+ },
60
+ fix: binding === undefined || localName === undefined
56
61
  ? null
57
62
  : (fixer) => [
58
63
  ...binding.edits(fixer),
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-is-non-null-object.mjs","sourceRoot":"","sources":["../../src/rules/prefer-is-non-null-object.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prefer-is-non-null-object.mjs","sourceRoot":"","sources":["../../src/rules/prefer-is-non-null-object.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAGf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAC1C,UAAU,GAIV,EAA0D,EAAE,CAC5D,CAAC;IACC,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE,sIAAsI,UAAU,GAAG;SACjK;QACD,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,kBAAkB,EAAE,qEAAqE,UAAU,GAAG;SACvG;QACD,cAAc,EAAE,EAAE;KACnB;IAED,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAClB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,MAAM,cAAc,GACmC,EAAE,CAAC;QAE1D,OAAO;YACL,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,iDAAiD;gBACjD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;oBAC/D,OAAO;gBACT,CAAC;gBAED,cAAc,CAAC,IAAI,CACjB,GAAG,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACzD,GAAG,IAAI;oBACP,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC,CACJ,CAAC;YACJ,CAAC;YACD,cAAc,EAAE,GAAG,EAAE;gBACnB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO;gBACT,CAAC;gBAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE;oBAC3D,iBAAiB;iBAClB,CAAC,CAAC;gBAEH,oEAAoE;gBACpE,qDAAqD;gBACrD,KAAK,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,cAAc,EAAE,CAAC;oBAC9D,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;oBAEjC,MAAM,SAAS,GAAG,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;oBAEzC,MAAM,GAAG,GAAG;wBACV,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC3C,GAAG,EAAE,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACjC,CAAC;oBAEX,OAAO,CAAC,MAAM,CAAC;wBACb,GAAG;wBACH,SAAS,EAAE,oBAAoB;wBAC/B,IAAI,EAAE;4BACJ,0DAA0D;4BAC1D,eAAe,EAAE,SAAS,IAAI,iBAAiB;yBAChD;wBACD,GAAG,EACD,OAAO,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS;4BAC9C,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gCACT,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;gCACvB,KAAK,CAAC,gBAAgB,CACpB,KAAK,EACL,GAAG,SAAS,IAAI,cAAc,GAAG,CAClC;6BACF;qBACR,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAU,CAAC;AAYd;;;GAGG;AACH,MAAM,cAAc,GAAG;AACrB,8EAA8E;AAC9E,UAA+B;AAC/B,8EAA8E;AAC9E,IAAgC,EACvB,EAAE,CACX,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI;IAC7B,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAE3C;;;GAGG;AACH,MAAM,aAAa,GAAG;AACpB,8EAA8E;AAC9E,UAA+B;AAC/B,8EAA8E;AAC9E,IAAgC,EACA,EAAE,CAClC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB;IACjD,OAAO,CAAC,QAAQ,KAAK,IAAI;IACzB,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC;IACzC,CAAC,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC;IACpC,CAAC,CAAC,CAAC,OAAO,CAAC,CACd,CAAC;AAEJ,8EAA8E;AAC9E,2DAA2D;AAE3D,MAAM,WAAW,GAAG;AAClB,8EAA8E;AAC9E,IAAmB,EACnB,KAAoB,EACX,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;AAE3E,+DAA+D;AAC/D,MAAM,6BAA6B,GAAG;AACpC,8EAA8E;AAC9E,IAAmB,EACC,EAAE;IACtB,IACE,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;QAC7C,IAAI,CAAC,QAAQ,KAAK,KAAK,EACvB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC7C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC3B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,SAAS,CAAC;IAEhB,IACE,UAAU,EAAE,IAAI,KAAK,cAAc,CAAC,eAAe;QACnD,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAChC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEvD,OAAO,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;QAChD,CAAC,CAAC,QAAQ,CAAC,IAAI;QACf,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,6BAA6B,GAAG;AACpC,8EAA8E;AAC9E,IAAmB,EACC,EAAE;IACtB,IACE,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;QAC7C,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,EACnD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC;QACtC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;YACvB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,OAAO,EAAE,IAAI,KAAK,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAChF,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,kBAAkB,GAAG;AACzB,8EAA8E;AAC9E,WAAgC;AAChC,8EAA8E;AAC9E,SAA8B,EACV,EAAE;IACtB,MAAM,cAAc,GAAG,6BAA6B,CAClD,gBAAgB,CAAC,WAAW,CAAC,CAC9B,CAAC;IAEF,OAAO,cAAc,KAAK,SAAS;QACjC,cAAc;YACZ,6BAA6B,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG;AAC7B,8EAA8E;AAC9E,UAA+B;AAC/B,8EAA8E;AAC9E,IAAgC,EACF,EAAE;IAChC,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEjD,MAAM,SAAS,GAAG,CAAC,KAAa,EAAgC,EAAE;QAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE9B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEnC,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,cAAc,GAClB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEzE,OAAO,cAAc,KAAK,SAAS;YACjC,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC;gBACE;oBACE,KAAK,EAAE;wBACL,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;wBACxC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;qBAC1C;oBACD,cAAc;iBACf;gBACD,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;aACxB,CAAC;IACR,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-is-record-and-has-key.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-is-record-and-has-key.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAWlC;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,oBAEvC,QAAQ,CAAC;IACV,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,KAAG,QAAQ,CAAC,UAAU,CAAC,sBAAsB,GAAG,WAAW,EAAE,SAAS,EAAE,CAgM7D,CAAC"}
1
+ {"version":3,"file":"prefer-is-record-and-has-key.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-is-record-and-has-key.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAUlC;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,oBAEvC,QAAQ,CAAC;IACV,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,KAAG,QAAQ,CAAC,UAAU,CAAC,sBAAsB,GAAG,WAAW,EAAE,SAAS,EAAE,CAsM7D,CAAC"}