@nest-boot/eslint-plugin 7.0.0-beta.1 → 7.0.0-beta.2

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 (80) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/CHANGELOG.md +2 -20
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.js +2 -5
  5. package/dist/index.js.map +1 -1
  6. package/dist/rules/graphql/graphql-field-config-from-types.d.ts +6 -0
  7. package/dist/rules/graphql/graphql-field-config-from-types.js +417 -0
  8. package/dist/rules/graphql/graphql-field-config-from-types.js.map +1 -0
  9. package/dist/rules/graphql/graphql-field-definite-assignment.d.ts +2 -0
  10. package/dist/rules/graphql/graphql-field-definite-assignment.js +125 -0
  11. package/dist/rules/graphql/graphql-field-definite-assignment.js.map +1 -0
  12. package/dist/rules/import/import-bullmq.d.ts +2 -0
  13. package/dist/rules/import/import-bullmq.js +36 -0
  14. package/dist/rules/import/import-bullmq.js.map +1 -0
  15. package/dist/rules/import/import-graphql.d.ts +2 -0
  16. package/dist/rules/import/import-graphql.js +36 -0
  17. package/dist/rules/import/import-graphql.js.map +1 -0
  18. package/dist/rules/import/import-mikro-orm.d.ts +2 -0
  19. package/dist/rules/import/import-mikro-orm.js +36 -0
  20. package/dist/rules/import/import-mikro-orm.js.map +1 -0
  21. package/dist/rules/index.d.ts +9 -0
  22. package/dist/rules/index.js +16 -11
  23. package/dist/rules/index.js.map +1 -1
  24. package/dist/rules/mikro-orm/entity-field-definite-assignment.d.ts +2 -0
  25. package/dist/rules/mikro-orm/entity-field-definite-assignment.js +125 -0
  26. package/dist/rules/mikro-orm/entity-field-definite-assignment.js.map +1 -0
  27. package/dist/rules/mikro-orm/entity-property-config-from-types.d.ts +3 -0
  28. package/dist/rules/mikro-orm/entity-property-config-from-types.js +881 -0
  29. package/dist/rules/mikro-orm/entity-property-config-from-types.js.map +1 -0
  30. package/dist/tsconfig.build.tsbuildinfo +1 -0
  31. package/dist/utils/createRule.d.ts +2 -0
  32. package/dist/utils/createRule.js +1 -1
  33. package/dist/utils/createRule.js.map +1 -1
  34. package/dist/utils/decorators.d.ts +29 -0
  35. package/dist/utils/decorators.js +74 -0
  36. package/dist/utils/decorators.js.map +1 -0
  37. package/dist/utils/tester.d.ts +2 -0
  38. package/dist/utils/tester.js +27 -0
  39. package/dist/utils/tester.js.map +1 -0
  40. package/eslint.config.mjs +38 -2
  41. package/jest.config.ts +12 -0
  42. package/package.json +22 -14
  43. package/src/index.ts +1 -1
  44. package/src/rules/graphql/graphql-field-config-from-types.spec.ts +242 -0
  45. package/src/rules/graphql/graphql-field-config-from-types.ts +557 -0
  46. package/src/rules/graphql/graphql-field-definite-assignment.spec.ts +135 -0
  47. package/src/rules/graphql/graphql-field-definite-assignment.ts +147 -0
  48. package/src/rules/import/import-bullmq.spec.ts +69 -0
  49. package/src/rules/import/import-bullmq.ts +35 -0
  50. package/src/rules/import/import-graphql.spec.ts +65 -0
  51. package/src/rules/import/import-graphql.ts +36 -0
  52. package/src/rules/import/import-mikro-orm.spec.ts +65 -0
  53. package/src/rules/import/import-mikro-orm.ts +36 -0
  54. package/src/rules/index.ts +15 -13
  55. package/src/rules/mikro-orm/entity-field-definite-assignment.spec.ts +91 -0
  56. package/src/rules/mikro-orm/entity-field-definite-assignment.ts +141 -0
  57. package/src/rules/mikro-orm/entity-property-config-from-types.spec.ts +262 -0
  58. package/src/rules/mikro-orm/entity-property-config-from-types.ts +1111 -0
  59. package/src/utils/createRule.ts +3 -1
  60. package/src/utils/decorators.spec.ts +214 -0
  61. package/src/utils/decorators.ts +93 -0
  62. package/src/utils/tester.ts +22 -0
  63. package/tsconfig.build.json +5 -0
  64. package/tsconfig.json +6 -7
  65. package/dist/rules/entity-constructor.js +0 -78
  66. package/dist/rules/entity-constructor.js.map +0 -1
  67. package/dist/rules/entity-property-no-optional-or-non-null-assertion.js +0 -63
  68. package/dist/rules/entity-property-no-optional-or-non-null-assertion.js.map +0 -1
  69. package/dist/rules/entity-property-nullable.js +0 -81
  70. package/dist/rules/entity-property-nullable.js.map +0 -1
  71. package/dist/rules/graphql-field-arguments-match-property-type.js +0 -118
  72. package/dist/rules/graphql-field-arguments-match-property-type.js.map +0 -1
  73. package/dist/rules/graphql-resolver-method-return-type.js +0 -145
  74. package/dist/rules/graphql-resolver-method-return-type.js.map +0 -1
  75. package/dist/tsconfig.tsbuildinfo +0 -1
  76. package/src/rules/entity-constructor.ts +0 -97
  77. package/src/rules/entity-property-no-optional-or-non-null-assertion.ts +0 -81
  78. package/src/rules/entity-property-nullable.ts +0 -112
  79. package/src/rules/graphql-field-arguments-match-property-type.ts +0 -186
  80. package/src/rules/graphql-resolver-method-return-type.ts +0 -207
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const utils_1 = require("@typescript-eslint/utils");
4
- const createRule_1 = require("../utils/createRule");
5
- const scalarTypeAlias = {
6
- Boolean: "boolean",
7
- Int: "number",
8
- Float: "number",
9
- String: "string",
10
- };
11
- const astTypeAlias = {
12
- TSBooleanKeyword: "boolean",
13
- TSNumberKeyword: "number",
14
- TSStringKeyword: "string",
15
- };
16
- exports.default = (0, createRule_1.createRule)({
17
- meta: {
18
- type: "problem",
19
- docs: {
20
- description: "@Field() 装饰器参数需要和字段类型相符。",
21
- },
22
- fixable: "code",
23
- schema: [],
24
- messages: {
25
- fieldArgumentsMatchPropertyType: "@Field() 装饰器类型需要和字段类型声明相符。",
26
- propertyNoExplicitTypeDeclaration: "属性未显式类型声明时 @Field() 装饰器需要提供类型。",
27
- },
28
- },
29
- defaultOptions: [{}],
30
- create(context) {
31
- return {
32
- ClassDeclaration(node) {
33
- // 检查是否有 @ObjectType 或者 @InputType 装饰器
34
- if (node.decorators.some((decorator) => {
35
- return (decorator.expression.type === utils_1.AST_NODE_TYPES.CallExpression &&
36
- decorator.expression.callee.type === utils_1.AST_NODE_TYPES.Identifier &&
37
- ["ObjectType", "InputType"].includes(decorator.expression.callee.name));
38
- })) {
39
- // 遍历类属性
40
- node.body.body.forEach((property) => {
41
- // 检查是否有 @Field() 装饰器
42
- if (property.type === utils_1.AST_NODE_TYPES.PropertyDefinition) {
43
- const propertyDecorator = property.decorators.find((decorator) => {
44
- return (decorator.expression.type ===
45
- utils_1.AST_NODE_TYPES.CallExpression &&
46
- decorator.expression.callee.type ===
47
- utils_1.AST_NODE_TYPES.Identifier &&
48
- decorator.expression.callee.name === "Field");
49
- });
50
- if (typeof propertyDecorator === "undefined") {
51
- return;
52
- }
53
- // 检查 @Field 装饰器是否声明类型
54
- if (propertyDecorator.expression.type ===
55
- utils_1.AST_NODE_TYPES.CallExpression &&
56
- propertyDecorator.expression.arguments[0]?.type !==
57
- utils_1.AST_NODE_TYPES.ArrowFunctionExpression) {
58
- if (typeof property.typeAnnotation === "undefined" &&
59
- property.value !== null &&
60
- property.value.type === utils_1.AST_NODE_TYPES.Literal) {
61
- const propertyTypeName = typeof property.value.value;
62
- const expectedScalarType = Object.entries(scalarTypeAlias).find(([, value]) => value === propertyTypeName)?.[0] ?? propertyTypeName;
63
- if (typeof expectedScalarType !== "undefined") {
64
- context.report({
65
- node: property,
66
- messageId: "propertyNoExplicitTypeDeclaration",
67
- fix: (fixer) => {
68
- const fixes = [];
69
- if (["Int", "Float"].includes(expectedScalarType)) {
70
- fixes.push(fixer.insertTextBeforeRange([0, 0], `import { ${expectedScalarType} } from "@nestjs/graphql";\n`));
71
- }
72
- fixes.push(fixer.replaceText(propertyDecorator, `@Field(() => ${expectedScalarType})`));
73
- return fixes;
74
- },
75
- });
76
- }
77
- }
78
- else if (property.typeAnnotation?.type ===
79
- utils_1.AST_NODE_TYPES.TSTypeAnnotation &&
80
- property.typeAnnotation.typeAnnotation.type ===
81
- utils_1.AST_NODE_TYPES.TSUnionType) {
82
- const typeAnnotation = property.typeAnnotation.typeAnnotation.types.find((item) => ![
83
- utils_1.AST_NODE_TYPES.TSNullKeyword,
84
- utils_1.AST_NODE_TYPES.TSUndefinedKeyword,
85
- ].includes(item.type));
86
- if (typeof typeAnnotation !== "undefined") {
87
- const propertyTypeAnnotationHasNullType = property.typeAnnotation.typeAnnotation.types.some((item) => item.type === utils_1.AST_NODE_TYPES.TSNullKeyword);
88
- const propertyTypeName = astTypeAlias[typeAnnotation.type] ??
89
- (typeAnnotation.type === utils_1.AST_NODE_TYPES.TSTypeReference &&
90
- typeAnnotation.typeName.type === utils_1.AST_NODE_TYPES.Identifier
91
- ? typeAnnotation.typeName.name
92
- : typeAnnotation.type);
93
- const expectedScalarType = Object.entries(scalarTypeAlias).find(([, value]) => value === propertyTypeName)?.[0] ?? propertyTypeName;
94
- context.report({
95
- node: property,
96
- messageId: "fieldArgumentsMatchPropertyType",
97
- fix: (fixer) => {
98
- const fixes = [];
99
- if (["Int", "Float"].includes(expectedScalarType)) {
100
- fixes.push(fixer.insertTextBeforeRange([0, 0], `import { ${expectedScalarType} } from "@nestjs/graphql";\n`));
101
- }
102
- fixes.push(fixer.replaceText(propertyDecorator, `@Field(() => ${expectedScalarType}${propertyTypeAnnotationHasNullType
103
- ? ", { nullable: true }"
104
- : ""})`));
105
- return fixes;
106
- },
107
- });
108
- }
109
- }
110
- }
111
- }
112
- });
113
- }
114
- },
115
- };
116
- },
117
- });
118
- //# sourceMappingURL=graphql-field-arguments-match-property-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql-field-arguments-match-property-type.js","sourceRoot":"","sources":["../../src/rules/graphql-field-arguments-match-property-type.ts"],"names":[],"mappings":"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"}
@@ -1,145 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const utils_1 = require("@typescript-eslint/utils");
4
- const createRule_1 = require("../utils/createRule");
5
- const scalarTypeAlias = {
6
- Boolean: "boolean",
7
- Int: "number",
8
- Float: "number",
9
- String: "string",
10
- };
11
- const astTypeAlias = {
12
- TSBooleanKeyword: "boolean",
13
- TSNumberKeyword: "number",
14
- TSStringKeyword: "string",
15
- };
16
- exports.default = (0, createRule_1.createRule)({
17
- meta: {
18
- type: "problem",
19
- docs: {
20
- description: "GraphQL 解决器的方法装饰器类型需要和返回类型需要一致",
21
- },
22
- fixable: "code",
23
- schema: [],
24
- messages: {
25
- resolveMethodReturnType: "解决器的方法装饰器类型需要和返回类型需要一致",
26
- },
27
- },
28
- defaultOptions: [{}],
29
- create(context) {
30
- return {
31
- ClassDeclaration(node) {
32
- // 检查是否有 @Resolver 装饰器
33
- if (node.decorators.some((decorator) => {
34
- return (decorator.expression.type === utils_1.AST_NODE_TYPES.CallExpression &&
35
- decorator.expression.callee.type === utils_1.AST_NODE_TYPES.Identifier &&
36
- decorator.expression.callee.name === "Resolver");
37
- })) {
38
- // 遍历类属性
39
- node.body.body.forEach((method) => {
40
- // 仅检查方法
41
- if (method.type === utils_1.AST_NODE_TYPES.MethodDefinition) {
42
- const isAsync = method.value.async;
43
- const methodDecorator = method.decorators.find((decorator) => {
44
- return (decorator.expression.type === utils_1.AST_NODE_TYPES.CallExpression &&
45
- decorator.expression.callee.type ===
46
- utils_1.AST_NODE_TYPES.Identifier &&
47
- ["Query", "Mutation", "ResolveField"].includes(decorator.expression.callee.name));
48
- });
49
- // 检查是否有 @Query, @Mutation, @ResolveField 装饰器
50
- if (typeof methodDecorator === "undefined") {
51
- return;
52
- }
53
- const methodDecoratorExpression = methodDecorator.expression;
54
- if (methodDecoratorExpression.type ===
55
- utils_1.AST_NODE_TYPES.CallExpression &&
56
- methodDecoratorExpression.arguments[0]?.type ===
57
- utils_1.AST_NODE_TYPES.ArrowFunctionExpression) {
58
- let actualReturnTypeAnnotation = method.value.returnType?.typeAnnotation ?? null;
59
- const expectedReturnTypeFunctionBody = methodDecoratorExpression.arguments[0].body;
60
- const isNullable = methodDecoratorExpression.arguments[1]?.type ===
61
- utils_1.AST_NODE_TYPES.ObjectExpression &&
62
- methodDecoratorExpression.arguments[1]?.properties?.some((prop) => {
63
- return (prop.type === utils_1.AST_NODE_TYPES.Property &&
64
- prop.key.type === utils_1.AST_NODE_TYPES.Identifier &&
65
- prop.key.name === "nullable" &&
66
- prop.value.type === utils_1.AST_NODE_TYPES.Literal &&
67
- prop.value.value === true);
68
- });
69
- // 如果没有定义返回类型,或者返回类型不是标识符,跳过检查
70
- if (typeof expectedReturnTypeFunctionBody === "undefined" ||
71
- expectedReturnTypeFunctionBody.type !==
72
- utils_1.AST_NODE_TYPES.Identifier) {
73
- return;
74
- }
75
- // 获取期望返回类型
76
- const expectedReturnType = scalarTypeAlias[expectedReturnTypeFunctionBody.name] ??
77
- expectedReturnTypeFunctionBody.name;
78
- // 获取实际返回类型
79
- let actualReturnType = null;
80
- let actualHasPromise = false;
81
- let actualHasNullable = false;
82
- if (actualReturnTypeAnnotation?.type ===
83
- utils_1.AST_NODE_TYPES.TSTypeReference &&
84
- actualReturnTypeAnnotation.typeName.type ===
85
- utils_1.AST_NODE_TYPES.Identifier &&
86
- actualReturnTypeAnnotation.typeName.name === "Promise") {
87
- actualHasPromise = true;
88
- actualReturnTypeAnnotation =
89
- actualReturnTypeAnnotation.typeArguments?.params[0] ?? null;
90
- }
91
- if (actualReturnTypeAnnotation?.type ===
92
- utils_1.AST_NODE_TYPES.TSUnionType) {
93
- actualHasNullable = actualReturnTypeAnnotation.types.some(({ type }) => type === utils_1.AST_NODE_TYPES.TSNullKeyword);
94
- actualReturnTypeAnnotation =
95
- actualReturnTypeAnnotation.types.find(({ type }) => type !== utils_1.AST_NODE_TYPES.TSNullKeyword) ?? null;
96
- }
97
- if (actualReturnTypeAnnotation !== null) {
98
- actualReturnType =
99
- astTypeAlias[actualReturnTypeAnnotation.type] ??
100
- (actualReturnTypeAnnotation.type ===
101
- utils_1.AST_NODE_TYPES.TSTypeReference &&
102
- actualReturnTypeAnnotation.typeName.type ===
103
- utils_1.AST_NODE_TYPES.Identifier
104
- ? actualReturnTypeAnnotation.typeName.name
105
- : actualReturnTypeAnnotation.type);
106
- }
107
- // 如果期望返回类型和实际返回类型不一致,则报告错误。
108
- if (expectedReturnType !== actualReturnType ||
109
- isNullable !== actualHasNullable ||
110
- isAsync !== actualHasPromise) {
111
- context.report({
112
- node: method,
113
- messageId: "resolveMethodReturnType",
114
- fix: (fixer) => {
115
- const fixes = [];
116
- let returnTypeString = expectedReturnType;
117
- if (isNullable) {
118
- returnTypeString += " | null";
119
- }
120
- if (isAsync) {
121
- returnTypeString = `Promise<${returnTypeString}>`;
122
- }
123
- if (typeof method.value.returnType === "undefined" ||
124
- actualReturnType === null) {
125
- if (method.value.type ===
126
- utils_1.AST_NODE_TYPES.FunctionExpression) {
127
- fixes.push(fixer.insertTextBefore(method.value.body, `: ${returnTypeString} `));
128
- }
129
- }
130
- else {
131
- fixes.push(fixer.replaceText(method.value.returnType.typeAnnotation, returnTypeString));
132
- }
133
- return fixes;
134
- },
135
- });
136
- }
137
- }
138
- }
139
- });
140
- }
141
- },
142
- };
143
- },
144
- });
145
- //# sourceMappingURL=graphql-resolver-method-return-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql-resolver-method-return-type.js","sourceRoot":"","sources":["../../src/rules/graphql-resolver-method-return-type.ts"],"names":[],"mappings":";;AAAA,oDAA0D;AAE1D,oDAAiD;AAEjD,MAAM,eAAe,GAA2B;IAC9C,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,YAAY,GAA2B;IAC3C,gBAAgB,EAAE,SAAS;IAC3B,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,QAAQ;CAC1B,CAAC;AAEF,kBAAe,IAAA,uBAAU,EAAC;IACxB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,gCAAgC;SAC9C;QACD,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,uBAAuB,EAAE,wBAAwB;SAClD;KACF;IACD,cAAc,EAAE,CAAC,EAAE,CAAC;IACpB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,gBAAgB,CAAC,IAAI;gBACnB,sBAAsB;gBACtB,IACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;oBACjC,OAAO,CACL,SAAS,CAAC,UAAU,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc;wBAC3D,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;wBAC9D,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAChD,CAAC;gBACJ,CAAC,CAAC,EACF,CAAC;oBACD,QAAQ;oBACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;wBAChC,QAAQ;wBACR,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAc,CAAC,gBAAgB,EAAE,CAAC;4BACpD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;4BAEnC,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gCAC3D,OAAO,CACL,SAAS,CAAC,UAAU,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc;oCAC3D,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;wCAC9B,sBAAc,CAAC,UAAU;oCAC3B,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,QAAQ,CAC5C,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CACjC,CACF,CAAC;4BACJ,CAAC,CAAC,CAAC;4BAEH,6CAA6C;4BAC7C,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE,CAAC;gCAC3C,OAAO;4BACT,CAAC;4BAED,MAAM,yBAAyB,GAAG,eAAe,CAAC,UAAU,CAAC;4BAE7D,IACE,yBAAyB,CAAC,IAAI;gCAC5B,sBAAc,CAAC,cAAc;gCAC/B,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI;oCAC1C,sBAAc,CAAC,uBAAuB,EACxC,CAAC;gCACD,IAAI,0BAA0B,GAC5B,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,IAAI,IAAI,CAAC;gCAClD,MAAM,8BAA8B,GAClC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gCAE9C,MAAM,UAAU,GACd,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI;oCAC1C,sBAAc,CAAC,gBAAgB;oCACjC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CACtD,CAAC,IAAI,EAAE,EAAE;wCACP,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,QAAQ;4CACrC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;4CAC3C,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU;4CAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO;4CAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAC1B,CAAC;oCACJ,CAAC,CACF,CAAC;gCAEJ,8BAA8B;gCAC9B,IACE,OAAO,8BAA8B,KAAK,WAAW;oCACrD,8BAA8B,CAAC,IAAI;wCACjC,sBAAc,CAAC,UAAU,EAC3B,CAAC;oCACD,OAAO;gCACT,CAAC;gCAED,WAAW;gCACX,MAAM,kBAAkB,GACtB,eAAe,CAAC,8BAA8B,CAAC,IAAI,CAAC;oCACpD,8BAA8B,CAAC,IAAI,CAAC;gCAEtC,WAAW;gCACX,IAAI,gBAAgB,GAAkB,IAAI,CAAC;gCAC3C,IAAI,gBAAgB,GAAG,KAAK,CAAC;gCAC7B,IAAI,iBAAiB,GAAG,KAAK,CAAC;gCAE9B,IACE,0BAA0B,EAAE,IAAI;oCAC9B,sBAAc,CAAC,eAAe;oCAChC,0BAA0B,CAAC,QAAQ,CAAC,IAAI;wCACtC,sBAAc,CAAC,UAAU;oCAC3B,0BAA0B,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EACtD,CAAC;oCACD,gBAAgB,GAAG,IAAI,CAAC;oCACxB,0BAA0B;wCACxB,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;gCAChE,CAAC;gCAED,IACE,0BAA0B,EAAE,IAAI;oCAChC,sBAAc,CAAC,WAAW,EAC1B,CAAC;oCACD,iBAAiB,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,CACvD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,sBAAc,CAAC,aAAa,CACpD,CAAC;oCAEF,0BAA0B;wCACxB,0BAA0B,CAAC,KAAK,CAAC,IAAI,CACnC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,sBAAc,CAAC,aAAa,CACpD,IAAI,IAAI,CAAC;gCACd,CAAC;gCAED,IAAI,0BAA0B,KAAK,IAAI,EAAE,CAAC;oCACxC,gBAAgB;wCACd,YAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC;4CAC7C,CAAC,0BAA0B,CAAC,IAAI;gDAC9B,sBAAc,CAAC,eAAe;gDAChC,0BAA0B,CAAC,QAAQ,CAAC,IAAI;oDACtC,sBAAc,CAAC,UAAU;gDACzB,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI;gDAC1C,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;gCACzC,CAAC;gCAED,4BAA4B;gCAC5B,IACE,kBAAkB,KAAK,gBAAgB;oCACvC,UAAU,KAAK,iBAAiB;oCAChC,OAAO,KAAK,gBAAgB,EAC5B,CAAC;oCACD,OAAO,CAAC,MAAM,CAAC;wCACb,IAAI,EAAE,MAAM;wCACZ,SAAS,EAAE,yBAAyB;wCACpC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;4CACb,MAAM,KAAK,GAAG,EAAE,CAAC;4CAEjB,IAAI,gBAAgB,GAAG,kBAAkB,CAAC;4CAE1C,IAAI,UAAU,EAAE,CAAC;gDACf,gBAAgB,IAAI,SAAS,CAAC;4CAChC,CAAC;4CAED,IAAI,OAAO,EAAE,CAAC;gDACZ,gBAAgB,GAAG,WAAW,gBAAgB,GAAG,CAAC;4CACpD,CAAC;4CAED,IACE,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,WAAW;gDAC9C,gBAAgB,KAAK,IAAI,EACzB,CAAC;gDACD,IACE,MAAM,CAAC,KAAK,CAAC,IAAI;oDACjB,sBAAc,CAAC,kBAAkB,EACjC,CAAC;oDACD,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,gBAAgB,CACpB,MAAM,CAAC,KAAK,CAAC,IAAI,EACjB,KAAK,gBAAgB,GAAG,CACzB,CACF,CAAC;gDACJ,CAAC;4CACH,CAAC;iDAAM,CAAC;gDACN,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,WAAW,CACf,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,EACtC,gBAAgB,CACjB,CACF,CAAC;4CACJ,CAAC;4CAED,OAAO,KAAK,CAAC;wCACf,CAAC;qCACF,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/typescript.d.ts","../../../node_modules/.pnpm/@typescript-eslint+types@8.33.1/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts","../../../node_modules/.pnpm/@typescript-eslint+types@8.33.1/node_modules/@typescript-eslint/types/dist/lib.d.ts","../../../node_modules/.pnpm/@typescript-eslint+types@8.33.1/node_modules/@typescript-eslint/types/dist/parser-options.d.ts","../../../node_modules/.pnpm/@typescript-eslint+types@8.33.1/node_modules/@typescript-eslint/types/dist/ts-estree.d.ts","../../../node_modules/.pnpm/@typescript-eslint+types@8.33.1/node_modules/@typescript-eslint/types/dist/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/tsserverlibrary.d.ts","../../../node_modules/.pnpm/@typescript-eslint+project-service@8.33.1/node_modules/@typescript-eslint/project-service/dist/createProjectService.d.ts","../../../node_modules/.pnpm/@typescript-eslint+project-service@8.33.1/node_modules/@typescript-eslint/project-service/dist/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts","../../../node_modules/.pnpm/@typescript-eslint+visitor-keys@8.33.1/node_modules/@typescript-eslint/visitor-keys/dist/get-keys.d.ts","../../../node_modules/.pnpm/@typescript-eslint+visitor-keys@8.33.1/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts","../../../node_modules/.pnpm/@typescript-eslint+visitor-keys@8.33.1/node_modules/@typescript-eslint/visitor-keys/dist/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/version-check.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/version.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/withoutProjectParserOptions.d.ts","../../../node_modules/.pnpm/@typescript-eslint+typescript-estree@8.33.1/node_modules/@typescript-eslint/typescript-estree/dist/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-estree.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionType.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionBase.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/CatchClauseDefinition.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/ClassNameDefinition.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/FunctionNameDefinition.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/ImplicitGlobalVariableDefinition.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/ImportBindingDefinition.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/ParameterDefinition.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumMemberDefinition.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumNameDefinition.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/TSModuleNameDefinition.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/TypeDefinition.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/VariableDefinition.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/definition/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/variable/VariableBase.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/variable/ESLintScopeVariable.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/variable/Variable.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/variable/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeType.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/ModuleScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/TSModuleScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/CatchScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/ClassScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/ClassStaticBlockScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/ForScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/MappedTypeScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/SwitchScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/TSEnumScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/TypeScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/WithScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/ClassFieldInitializerScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/BlockScope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/scope/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/referencer/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts","../../../node_modules/.pnpm/@typescript-eslint+scope-manager@8.33.1/node_modules/@typescript-eslint/scope-manager/dist/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/Parser.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/json-schema.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/Processor.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/Config.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/ESLintShared.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/FlatESLint.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/eslint/LegacyESLint.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-eslint/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ast-utils/misc.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ast-utils/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-utils/isArray.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-utils/NoInfer.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/ts-utils/index.d.ts","../../../node_modules/.pnpm/@typescript-eslint+utils@8.33.1/node_modules/@typescript-eslint/utils/dist/index.d.ts","../src/utils/createRule.ts","../src/rules/entity-constructor.ts","../src/rules/entity-property-no-optional-or-non-null-assertion.ts","../src/rules/entity-property-nullable.ts","../src/rules/graphql-field-arguments-match-property-type.ts","../src/rules/graphql-resolver-method-return-type.ts","../src/rules/index.ts","../src/index.ts","../../../node_modules/.pnpm/@types+estree@1.0.8/node_modules/@types/estree/index.d.ts","../../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../../node_modules/.pnpm/@types+eslint@9.6.1/node_modules/@types/eslint/use-at-your-own-risk.d.ts","../../../node_modules/.pnpm/@types+eslint@9.6.1/node_modules/@types/eslint/index.d.ts","../../../node_modules/.pnpm/@types+eslint-scope@3.7.7/node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/.pnpm/@jest+expect-utils@29.7.0/node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../../../node_modules/.pnpm/@sinclair+typebox@0.27.8/node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/.pnpm/@jest+schemas@29.6.3/node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/.pnpm/pretty-format@29.7.0/node_modules/pretty-format/build/index.d.ts","../../../node_modules/.pnpm/jest-diff@29.7.0/node_modules/jest-diff/build/index.d.ts","../../../node_modules/.pnpm/jest-matcher-utils@29.7.0/node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/.pnpm/expect@29.7.0/node_modules/expect/build/index.d.ts","../../../node_modules/.pnpm/@types+jest@29.5.14/node_modules/@types/jest/index.d.ts"],"fileIdsList":[[185],[178,181],[178,179,180],[181],[187,190],[56,59],[60],[56,104,113,124,127],[56,125,132],[56,84,85],[86,87,88,89,90,91,92,93,94,95,96],[56,84],[84,86,87,88,89,90,91,92,93,94,95,96,97],[98,99,104,125,127,129,130,133],[56,128],[56,104,127],[56,99,125,127,130],[56,128,129],[56,75],[131],[56,105,110,123,125],[56,99,104,105,110,123,125],[56,104,105,110,123,125],[106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,124,126],[56,98,99,104,105,106,107,108,109,123,125],[105,106,107,108,109,111,112,114,115,116,117,118,119,120,121,122,123,124,126],[56,100],[101,102,127],[100],[56,98,99,127],[101,102,103],[51],[52,53,54,55],[51,53],[52,55],[51,66],[51,66,67],[57,58,64,67,68,69,70,71,72,76,77,78,79],[51,64],[56],[51,61,62,64,65,67],[51,56,64],[51,64,71],[64,75],[51,56,62],[56,62,63],[81,148],[149,150,151,152,153],[81],[154,155,156,157],[148],[139],[159,160,161,162,163,164],[81,137,148,158,165,168],[83,136,139,141],[144,145],[136,138,139,141,142],[81,83,135],[140],[81,82,135,137,138,140,142],[81,83,139,140,142],[134],[81,135,136],[139,140],[142,143],[140,142,143],[82,83,135,136,138,139,140,141,142,146,147],[56,80],[166,167],[73,74],[183,189],[187],[184,188],[186],[176],[169,170],[171,172,173,174,175],[169]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"c302df1d6f371c6064cb5f4d0b41165425b682b287a3b8625527b2752eb433ee","impliedFormat":1},{"version":"c16023d4e38cf695d07598c72bc818210e6b3aed42149b13318ec0fccd0f3aa8","impliedFormat":1},{"version":"ad7a72aa6eac3252cdb17f5d8be7526da5fb79a9e996616638874b80f21816e5","impliedFormat":1},{"version":"1d8a17fe3c1e2d765aa8f0f2a480ec1f126f16045fd09832d176c50990a415e9","impliedFormat":1},{"version":"0eb776339319d71a7498c7290ab969b63d4d114986e37a6bf565e108eb044b6a","impliedFormat":1},{"version":"92ebc3261b20037c4e078cd3d26bccedb719b3eec653925e103b6ced4a936c0d","impliedFormat":1},{"version":"9acc441d14a127dea0228cd2645203c3285b296f452f723f850dc2941d2b9c7e","impliedFormat":1},{"version":"a4075b7a8211620f01d7a0cffb2d31fde9a2a6a108dec4cbaa3856b6a8e8864a","impliedFormat":1},{"version":"73b15a0b7cf5c6df9076b9408c5ce682f11813453bf54c54cb284f075b5224cf","impliedFormat":1},{"version":"9254b745aad208ce7f8e82e72698dc40573c7cb828ea9d5cdf42a42528a81665","impliedFormat":1},{"version":"7eb92baa673b920122e72e714caf84b78323758a3a214fb6383d717948143668","impliedFormat":1},{"version":"f37616d5f3b755ef9d2765218b06b933faf05cf094d18107cf4c50d81b44b6b0","impliedFormat":1},{"version":"c61e09e2a01aacd789fbcdbea4d386701422b8539ddc0285203d2a6bd0c4c1b5","impliedFormat":1},{"version":"3b78a632fd8d0490bf0eb5f8df1455e6f33028fb7c373d3d75275d06bfb6a7d9","impliedFormat":1},{"version":"d923dc7686f8a0bdabdbb0e8e61e6a95c403a3d6bc6f303af5381c9cd973ee43","impliedFormat":1},{"version":"da633553c8248c6ee21fd93a667d71ba4dcefc64f33632e3dc20ded5cbdd317c","impliedFormat":1},{"version":"050e8efc9defdf21d4c12a2ec280758c13ce66303d3e4e591d003089d99cbe4b","impliedFormat":1},{"version":"3d05a0d945764eb254c814b13e21d8fa695dcfca75eb512d5db6e46889d609af","impliedFormat":1},{"version":"5d1201e776c3167527653c835035e4ad29cd79e0d6b139aa250ca74899e0741e","impliedFormat":1},{"version":"3419b0cd541f0b41ef816004fb069a971484b81eb0f3e1e221305711178362e8","impliedFormat":1},{"version":"ee1003cdce99e6cd28c9a9aa3f570cad400b89218b81f8f9d3b05025241d5db4","impliedFormat":1},{"version":"1fdf5c750e4164249aaa3095803330eae7cc9fb2523535811800460b98f8e7ed","impliedFormat":1},{"version":"9f4ef6fd452db4c4d5f96293732ee29c03f54755744342809dea96f63fd7227b","impliedFormat":1},{"version":"57cdb6dba0f7f107cd3ec872e52916ea2901c9a80611e7e669c2ccf3a2219f17","impliedFormat":1},{"version":"20d246417a79b06bca6fe01426258a3408068442899b990472e521eafd6ac5b4","impliedFormat":1},{"version":"c3f937028caf49d383b109a93128164de319c1a5ec3796c02da60acb580e1e9a","impliedFormat":1},{"version":"cf3849bd6f54b42c19db6327b026bdefea6c711f8a4e5b060b7e3e9d796f0f38","impliedFormat":1},{"version":"8a60ed93d81f472e270e213c5da23bdfc2a87b6616031f4d397aced25f727217","impliedFormat":1},{"version":"5f2b95921cc6b959e8ca7abc17943382f7e5fe0ea6ef36c5b8dc383def96b1f8","impliedFormat":1},{"version":"8856d9b7dd5de0586293f72134b1e372964a48252d96879d0d18f6dfeb92554b","impliedFormat":1},{"version":"6fd238cb782b3b6abad463d28f4afd772a51c1cd0ac1039153254c4b8d471866","impliedFormat":1},{"version":"58004a9240ee74db43ce3ab2343cc29473e969adcd592c6fce46939d94512d93","impliedFormat":1},{"version":"492409753b45983851b6d66272f384bcb2dfc045d48eb07e8c8998a571495e63","impliedFormat":1},{"version":"2db60104bde79eac5c47dcfa9738246190173cb76966d88e42959ca8d1ea7e27","impliedFormat":1},{"version":"95843bf16b621fa9aca3981ba7af0849e5a19b05de57a25c044c63ce4893093e","impliedFormat":1},{"version":"594c88e45a919f575775b6b5999b4662d583bfdde60709e92b3eb13e053008be","impliedFormat":1},{"version":"9e0b7af2247ab847874dc5ca0a92c4f28f55332b8241591bd06fafd3d184f605","impliedFormat":1},{"version":"39bff71bf16f3a020c438f5ddc1a24ab26c28dad91d324372eabbce88abaec74","impliedFormat":1},{"version":"2169a7026189e5c581d9da4a8aa433520edb3a1c0eed6b33ec445b5280ec0aa6","impliedFormat":1},{"version":"0651a8dd2c6446154e0994391f7bdebbde389dc7ec75ac4a0f727fff5255143c","impliedFormat":1},{"version":"2088a7c3bf5a885904de841f5fa6103d8689e439a3cb3273f3bac69c1b3a3b1b","impliedFormat":1},{"version":"6dbc5313fe49ecbab3215f1cb1733d7348b392f1ca12c331c5720f4ea0036f47","impliedFormat":1},{"version":"3ed4ef1f210705e2c320e5b05787d7b6e74b7920492a76bb8712857bb22fc915","impliedFormat":1},{"version":"6fca2337de679c9c118e9005f3ee7f41725690a923bbff4ee20401e879471acd","impliedFormat":1},{"version":"58f59363f3c50919bdc19c44e68b35bb471548486ca98f6e757de252d5d1e856","impliedFormat":1},{"version":"109381191d7b0beb0de64a68ce3735fff9c91944180bfb6abfe42080b116689b","impliedFormat":1},{"version":"b04f68c5b937801cebf5264072a6f4a1f76050a75fd0830d65ae0bf0275ed1fc","impliedFormat":1},{"version":"ad42060f3e0f92a294748f19d9490a8a6a980fb40dda0fd4627991d1361862cc","impliedFormat":1},{"version":"d07fa744d53680f1b038a8b8f1f966f06de0ff8e03161bfc3ee49fd48c7bfd53","impliedFormat":1},{"version":"ce6b390be6cdd541f54e393b87ce72b0d1171732f9e93c59716e622a5b2e3be5","impliedFormat":1},{"version":"f352c3ef8cbac859f876919c132f31f709ce15ac485893b8e4e298afe7f336c8","impliedFormat":1},{"version":"6735eae673357ba7f9fc7e55af3b00e1415b32d3b639c38fb936151f336a5978","impliedFormat":1},{"version":"386ff073cfe770b93867e65c26e969d672aeb42fc5506279c71a0185fd653539","impliedFormat":1},{"version":"e967582e89f2a455eafd8bf1232dd81ee207709a48c07322e996ecb0672148bb","impliedFormat":1},{"version":"25528369e718c89acd957ae0e72b1b5105b1111329d31442d8d639ee020b3fce","impliedFormat":1},{"version":"8764a0ff3269684a2c85a54acd7e90d33876927140e28880b8a4c95e8ca63bd6","impliedFormat":1},{"version":"1d381320cf1cf9990e8bdc6bf43ffe220728fae7adfe45c754a44f8535d22486","impliedFormat":1},{"version":"ea09e3f830cb4da7a144e49803ebd79ad7871e21763fd0a0072ab8fb4aee43b5","impliedFormat":1},{"version":"02cbdc4c83ba725dfb0b9a230d9514eca2769190ea7ef6e6f29816e7ad21ea98","impliedFormat":1},{"version":"8490bd3f838bacccd8496893db204d1e9a559923f5bf54154444bf95596b55df","impliedFormat":1},{"version":"f1e533f10851941ccd2ee623988b26b07aecb84a290eb56627182bc4ca96d1a8","impliedFormat":1},{"version":"5d89916c41cc7051b9c83148d704c4e5aa20343a07efd14b953d16c693eda3ee","impliedFormat":1},{"version":"06124be387e6fc43c6a5727ecb8d6f5380c52878341a2cd065dc968e203029e0","impliedFormat":1},{"version":"44c575e350e5b2c7771137b2797eb3d755b67dd286622158a3855487a6182253","impliedFormat":1},{"version":"a088d5ba9a4fa3a96bcda498268269d163348229c43187950a9b2b7503d46813","impliedFormat":1},{"version":"cf5408ade74fb2ec127a10bb3b1079a386131818bc7ac67a002c4a6c3ec81b62","impliedFormat":1},{"version":"6cf129a29ce866e432f575c5e4c90f44f2fb72d070b9c3901acdb3cbb56fa46d","impliedFormat":1},{"version":"8af2fead6dd3a9cd0471d27018dd49f65f5cc264c4604a11aba4e46b2252eb89","impliedFormat":1},{"version":"677c78ed184c32e4ff0be1e4baf0fbf1a0cccd4f41532527735a2c43edd58a87","impliedFormat":1},{"version":"70415c6e264d10d01f7438d40e1a85b815ace6598e4a73f491b33db7820e1469","impliedFormat":1},{"version":"38fa05ec45e9bddcb55c47b437330c229655e3b0325b07dd72206a10bf329a05","impliedFormat":1},{"version":"8b11a987390721ea4930dcc7aca1dec606a2cd1b03fb27d05e4c995875ee54bb","impliedFormat":1},{"version":"3b05973f4a6dc88d28c125b744dc99d2a527bdb3c567eda1b439d10ce70246f5","impliedFormat":1},{"version":"2ee3f52f480021bd7d23fe72e66ba0ec8d0a464d2295ab612d409d45a3f9d7ae","impliedFormat":1},{"version":"95098f44f9d1961d2b1d1bde703e40819923d6a933ec853834235ba76470848d","impliedFormat":1},{"version":"c56439d9bf05c500219f2db6e49cd4b418f2f9fb14043dee96b2d115276012b8","impliedFormat":1},{"version":"55fa234a04eacdf253e0b46d72f6e3bd8a044339c43547a29cf3b9f29ccd050d","impliedFormat":1},{"version":"9811146d06f6b7615165f0dcd3d2aaea72adb260c8e747449b7a87c4c44f7ff1","impliedFormat":1},{"version":"b4e618b2d4422fa5fae63e999dccb69736b03ec7b0c6fd2d4dc833263d40921c","impliedFormat":1},{"version":"21a06a5d3e4f859723386772d4c481ed5b40f883ecd4ed9a8ec8bcb54a10e542","impliedFormat":1},{"version":"e7f90e75963afebd4c3c5f052703818eb0a7a689d6b2c3a499d9bcc545088095","impliedFormat":1},{"version":"5ef6b0404100d30e3b47c73021f2da740d1fa8088fda5adc741706cb3e73cf13","impliedFormat":1},{"version":"e5aab4fb9c264ecb0f8ca7cd0131b52e189dd5306bdd071802df591d9cf570ff","impliedFormat":1},{"version":"d1342658b16b92d24b961db5c1779dc03fe30194fd6fea0d15dc8e946f82d83f","impliedFormat":1},{"version":"cbd4ff12f799a44b629643edc686aeec830fbb867c69cb6609da57d205057717","impliedFormat":1},{"version":"4f4d1284bc93168a1a0b2888f528aa689828917cdc547802ab29c0d1f553be40","impliedFormat":1},{"version":"fd15b208613892273f0675f55b31c878e22a28d62d306e589867009592f67166","impliedFormat":1},{"version":"ef5bc836c5c0886cd8c9cf1cff6192f4f1e82ef1f8088c9f136586b9860051e0","impliedFormat":1},{"version":"6127fdf5f737133f2549d9377c313abc4ac2d0db451ad6a67df39d7ce017ebbe","impliedFormat":1},{"version":"ad94e4a61e7600b03442d6fe6cb91900771cb1485634af41645098d07f08edb3","impliedFormat":1},{"version":"d14cd6c9001dfa6f96660952945c344370109247764ab42b47d110fcbff678e7","impliedFormat":1},{"version":"902268fa06f55fe600bb8e2cce1d7c1361f6713f8fa3383ee7c5a7043160f99a","impliedFormat":1},{"version":"9b935e427fb1994d29b208c207a4cfa8ef6dd31ccd39f0902b0a654b56d9db21","impliedFormat":1},{"version":"a57492eab6e20bdb4f801a69a5636aad02d3d4ebb681032f2fec5ad8aa4d9462","impliedFormat":1},{"version":"71de65e470fb5a0920472a8b13d37fff8960822e34d709aee14599802c15770c","impliedFormat":1},{"version":"c0cbe98c4e104042383444c718d2ce2d0dd602e6b7d52dc3185bbdf289da1128","impliedFormat":1},{"version":"c3c8297d66976e60076da541ec418590bf26d1056980b9adfea2c14baaf2089e","impliedFormat":1},{"version":"17ec351733c9b9a5de7d0aee5f710ca792a19efc365bed93ec045b885c309fde","impliedFormat":1},{"version":"8bb061c812d97dedb8549ca46cd3b8bae3f2494ef681d9712c64c1b933801ebf","impliedFormat":1},{"version":"969ab03feed7516ece5c6c0468e6c39391ed75317dd641d5600736b131559ad6","impliedFormat":1},{"version":"54e989ecd24eec06935b7770caee22386e9b7cdc47aca29bb2be83080460db36","impliedFormat":1},{"version":"ef4529c51657c83eabdda0b7818c25b6c7d827bfd7a49f38553f7fd3deba94e3","impliedFormat":1},{"version":"89c710eef54f9726d13eb123a800285d9b5cf2eb64d98f4c3a7b0e5a162ad24f","impliedFormat":1},{"version":"a97990e77a23aea39060610aef4b4bb92154d5330ecb0b557324ba4c14a1db41","impliedFormat":1},{"version":"d2b89296b175b0a1a11ce09cc682e6f86b24d34abd1bdf8c932a82c4e99b551a","impliedFormat":1},{"version":"3c85c2b16d0a1fa45095793b90467bcef3bfeaa85b3fdc00ff1eb3c32ca97cb2","impliedFormat":1},{"version":"8cdd09ab2d9fe19d5cb3ca1dcb6c6437d6164a9de46405afe1954e533a77120e","impliedFormat":1},{"version":"b90283ab6c36fc580b06cb293629a9b37eaba24e17ff9ae2f0d874a3f3a962a1","impliedFormat":1},{"version":"c1425155d2396f10be607f43392284b6bfc98b542bb49c611eaa2038b6a72112","impliedFormat":1},{"version":"30e0e58b2b36491323f748cc938b93eba059d354abecee659ba0e9312a842a5d","impliedFormat":1},{"version":"c2d8eccfe4adada4730bbd4f2568627d5d4aeb27cfbc8d39aa974ce33e855977","impliedFormat":1},{"version":"21d0cc7ad656b0348bfd745fb598399c6f9531ffef6ff1b8996fe42c5f185f0a","impliedFormat":1},{"version":"d29d2e64870b453a96329bf0f88eccf270812fb1989e853588fd5f3b0bc94919","impliedFormat":1},{"version":"ea422c1715a51450b3bab549d86f4fd52612c37bac489c347e367e47cc26bda1","impliedFormat":1},{"version":"6eddc1432777582b4797eb53c43b9917b1ba8908a737f7823a7049620f98588b","impliedFormat":1},{"version":"79e7eb72b4d9ca2d268460d35fa7bfe01db96e93659752bd5fc5cbf5c5be8294","impliedFormat":1},{"version":"10ad4c890e509380deb83c8bec650899df9bd70ee20238f2221d6bdc36043a0e","impliedFormat":1},{"version":"1a3b837513da5afd3bb0b228dab3a089fce405344243e372672f641ededf9b48","impliedFormat":1},{"version":"901f6b020440eac80a83a7ca248ca244e2a296be6b1ed8645a884a4509e11fc7","impliedFormat":1},{"version":"e4569118b710bac625d6fafb8d8f5181215be7f5e993acb2be203efb03d7de70","impliedFormat":1},{"version":"b75760a5858057cafb9729e7fc99809d5be7f5d50ba5ee4b3117a907f3392009","impliedFormat":1},{"version":"7c751107fadfdaf95f8c2170a9fd2014602ed256f56a6c006b1e67fdf7d7b6c1","impliedFormat":1},{"version":"cf47e5088715f4db33e782f52c1f3734a979aab732aad111552c1b15452251bc","impliedFormat":1},{"version":"231fbe3a61d83d29f9f6bf9ff5e2fe54658c4d33b07b0d8b3b3238fbfbfc4183","impliedFormat":1},{"version":"898c700c9b5d2f31d0d4adb809df83b11ce763d2e75fbee89fe954911487cf9f","impliedFormat":1},{"version":"ae71b457e3dd58daf4fc08de7dc94070dd427de046a66e69543ba6dd45ed8855","impliedFormat":1},{"version":"5b851e42eca40d35bd00e169cd382c71b0348120b47bcfcc8a866f16da7fcc7a","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","impliedFormat":1},{"version":"bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","impliedFormat":1},{"version":"1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1}],"root":[[170,177]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":false,"declarationMap":false,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":199,"outDir":"./","removeComments":false,"skipLibCheck":true,"sourceMap":true,"strict":true,"target":8},"referencedMap":[[186,1],[182,2],[181,3],[180,4],[191,5],[60,6],[61,7],[125,8],[133,9],[86,10],[87,10],[97,11],[85,12],[88,10],[89,10],[90,10],[91,10],[92,10],[93,10],[94,10],[95,10],[96,10],[98,13],[134,14],[129,15],[99,16],[131,17],[130,18],[128,19],[132,20],[126,21],[111,21],[124,21],[112,21],[113,21],[114,21],[115,21],[116,21],[106,22],[117,21],[107,23],[118,21],[108,21],[123,24],[110,25],[119,21],[120,21],[109,21],[121,21],[122,21],[127,26],[101,27],[103,28],[102,29],[100,30],[104,31],[52,32],[56,33],[54,34],[55,35],[58,32],[67,36],[68,37],[69,32],[80,38],[70,39],[65,40],[66,41],[71,42],[72,43],[76,44],[63,45],[64,46],[62,36],[152,47],[149,47],[154,48],[151,49],[153,47],[155,49],[158,50],[156,49],[157,49],[162,51],[164,52],[161,47],[165,53],[169,54],[82,49],[142,55],[146,56],[140,57],[136,58],[83,40],[141,59],[139,60],[147,61],[135,62],[138,63],[143,64],[144,65],[145,66],[148,67],[81,68],[168,69],[73,40],[75,70],[190,71],[188,72],[189,73],[187,74],[59,32],[177,75],[171,76],[172,76],[173,76],[174,76],[175,76],[176,77],[170,78]],"version":"5.8.3"}
@@ -1,97 +0,0 @@
1
- import { AST_NODE_TYPES } from "@typescript-eslint/utils";
2
-
3
- import { createRule } from "../utils/createRule";
4
-
5
- export default createRule({
6
- meta: {
7
- type: "problem",
8
- docs: {
9
- description: "没有默认值的实体字段需要在构造函数中初始化",
10
- },
11
- fixable: "code",
12
- schema: [],
13
- messages: {
14
- entityConstructor: "没有默认值的实体字段需要在构造函数中初始化",
15
- },
16
- },
17
- defaultOptions: [{}],
18
- create(context) {
19
- return {
20
- ClassDeclaration(node) {
21
- // 检查是否有 @Entity 装饰器
22
- if (
23
- node.id !== null &&
24
- node.decorators.some((decorator) => {
25
- return (
26
- decorator.expression.type === AST_NODE_TYPES.CallExpression &&
27
- decorator.expression.callee.type === AST_NODE_TYPES.Identifier &&
28
- decorator.expression.callee.name === "Entity"
29
- );
30
- })
31
- ) {
32
- const constructor = node.body.body.find((method) => {
33
- return (
34
- method.type === AST_NODE_TYPES.MethodDefinition &&
35
- method.kind === "constructor"
36
- );
37
- });
38
-
39
- if (typeof constructor === "undefined") {
40
- const propertyKeys: { name: string; required: boolean }[] = [];
41
-
42
- // 遍历类属性
43
- node.body.body.forEach((property) => {
44
- if (
45
- property.type === AST_NODE_TYPES.PropertyDefinition &&
46
- property.key.type === AST_NODE_TYPES.Identifier
47
- ) {
48
- propertyKeys.push({
49
- name: property.key.name,
50
- required: property.value === null,
51
- });
52
- }
53
- });
54
-
55
- if (propertyKeys.length > 0) {
56
- context.report({
57
- node,
58
- messageId: "entityConstructor",
59
- fix(fixer) {
60
- const constructorCode = /* typescript */ `
61
- constructor(data: Pick<${node.id?.name}, ${propertyKeys
62
- .filter((key) => key.required)
63
- .map((key) => `"${key.name}"`)
64
- .join(` | `)}> & Partial<Pick<${
65
- node.id?.name
66
- }, ${propertyKeys
67
- .filter((key) => !key.required)
68
- .map((key) => `"${key.name}"`)
69
- .join(` | `)}>>) {
70
- ${propertyKeys
71
- .filter((key) => key.required)
72
- .map((key) => `this.${key.name} = data.${key.name};`)
73
- .join(`\n`)}
74
-
75
- ${propertyKeys
76
- .filter((key) => !key.required)
77
- .map(
78
- (key) =>
79
- `data.${key.name} !== void 0 && (this.${key.name} = data.${key.name});`,
80
- )
81
- .join(`\n`)}
82
- }
83
- `;
84
-
85
- return fixer.insertTextBefore(
86
- node.body.body[0],
87
- constructorCode,
88
- );
89
- },
90
- });
91
- }
92
- }
93
- }
94
- },
95
- };
96
- },
97
- });
@@ -1,81 +0,0 @@
1
- import { AST_NODE_TYPES } from "@typescript-eslint/utils";
2
-
3
- import { createRule } from "../utils/createRule";
4
-
5
- export default createRule({
6
- meta: {
7
- type: "problem",
8
- docs: {
9
- description: "实体字段不能使用可选属性和非空断言",
10
- },
11
- fixable: "code",
12
- schema: [],
13
- messages: {
14
- entityPropertyNoOptionalOrNonNullAssertion:
15
- "实体字段不能使用可选属性和非空断言。",
16
- },
17
- },
18
- defaultOptions: [{}],
19
- create(context) {
20
- return {
21
- ClassDeclaration(node) {
22
- if (
23
- node.decorators.some((decorator) => {
24
- return (
25
- decorator.expression.type === AST_NODE_TYPES.CallExpression &&
26
- decorator.expression.callee.type === AST_NODE_TYPES.Identifier &&
27
- decorator.expression.callee.name === "Entity"
28
- );
29
- })
30
- ) {
31
- // 遍历类属性
32
- node.body.body.forEach((property) => {
33
- // 检查是否有 @Property、@ManyToOne 或 @PrimaryKey 装饰器
34
- if (
35
- property.type === AST_NODE_TYPES.PropertyDefinition &&
36
- property.decorators &&
37
- property.decorators.some((decorator) => {
38
- return (
39
- decorator.expression.type === AST_NODE_TYPES.CallExpression &&
40
- decorator.expression.callee.type ===
41
- AST_NODE_TYPES.Identifier &&
42
- ["Property", "ManyToOne", "PrimaryKey"].includes(
43
- decorator.expression.callee.name,
44
- )
45
- );
46
- })
47
- ) {
48
- if (property.optional || property.definite) {
49
- context.report({
50
- node: property,
51
- messageId: "entityPropertyNoOptionalOrNonNullAssertion",
52
- fix: (fixer) => {
53
- const tokenBefore = context.sourceCode.getTokenBefore(
54
- property.key,
55
- );
56
- const propertyStart =
57
- tokenBefore && tokenBefore.range[1] < property.range[0]
58
- ? tokenBefore.range[1]
59
- : property.range[0];
60
- const propertyEnd = property.range[1];
61
-
62
- // 从属性中移除 ? 或 ! 符号
63
- const fixedPropertyText = context.sourceCode
64
- .getText()
65
- .slice(propertyStart, propertyEnd)
66
- .replace(/\?|!/, "");
67
-
68
- return fixer.replaceTextRange(
69
- [propertyStart, propertyEnd],
70
- fixedPropertyText,
71
- );
72
- },
73
- });
74
- }
75
- }
76
- });
77
- }
78
- },
79
- };
80
- },
81
- });