diff --git a/eslint.config.mjs b/eslint.config.mjs index bde1e5edd589..07fd48e7fa3e 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -507,6 +507,7 @@ export default tseslint.config( 'react/jsx-no-target-blank': 'off', 'react/no-unescaped-entities': 'off', 'react-hooks/exhaustive-deps': 'warn', // TODO: enable it later + 'react/prop-types': 'off', }, settings: { react: { diff --git a/packages/ast-spec/src/base/ClassBase.ts b/packages/ast-spec/src/base/ClassBase.ts index 595d1393ac48..d96c37deb9fc 100644 --- a/packages/ast-spec/src/base/ClassBase.ts +++ b/packages/ast-spec/src/base/ClassBase.ts @@ -53,10 +53,6 @@ export interface ClassBase extends BaseNode { * The generic type parameters passed to the superClass. */ superTypeArguments: TSTypeParameterInstantiation | undefined; - - /** @deprecated Use {@link `superTypeArguments`} instead. */ - superTypeParameters: TSTypeParameterInstantiation | undefined; - /** * The generic type parameters declared for the class. */ diff --git a/packages/ast-spec/src/base/TSHeritageBase.ts b/packages/ast-spec/src/base/TSHeritageBase.ts index dc7f701f0f1a..8ff7e3a361f8 100644 --- a/packages/ast-spec/src/base/TSHeritageBase.ts +++ b/packages/ast-spec/src/base/TSHeritageBase.ts @@ -6,7 +6,4 @@ export interface TSHeritageBase extends BaseNode { // TODO(#1852) - this should be restricted to MemberExpression | Identifier expression: Expression; typeArguments: TSTypeParameterInstantiation | undefined; - - /** @deprecated Use {@link `typeArguments`} instead. */ - typeParameters: TSTypeParameterInstantiation | undefined; } diff --git a/packages/ast-spec/src/expression/CallExpression/spec.ts b/packages/ast-spec/src/expression/CallExpression/spec.ts index b7569c9892e2..3480b0a1041a 100644 --- a/packages/ast-spec/src/expression/CallExpression/spec.ts +++ b/packages/ast-spec/src/expression/CallExpression/spec.ts @@ -9,9 +9,5 @@ export interface CallExpression extends BaseNode { callee: LeftHandSideExpression; arguments: CallExpressionArgument[]; typeArguments: TSTypeParameterInstantiation | undefined; - - /** @deprecated Use {@link `typeArguments`} instead. */ - typeParameters: TSTypeParameterInstantiation | undefined; - optional: boolean; } diff --git a/packages/ast-spec/src/expression/NewExpression/spec.ts b/packages/ast-spec/src/expression/NewExpression/spec.ts index 51aea284158f..af88c9a5d2b1 100644 --- a/packages/ast-spec/src/expression/NewExpression/spec.ts +++ b/packages/ast-spec/src/expression/NewExpression/spec.ts @@ -9,7 +9,4 @@ export interface NewExpression extends BaseNode { callee: LeftHandSideExpression; arguments: CallExpressionArgument[]; typeArguments: TSTypeParameterInstantiation | undefined; - - /** @deprecated Use {@link `typeArguments`} instead. */ - typeParameters: TSTypeParameterInstantiation | undefined; } diff --git a/packages/ast-spec/src/expression/TSInstantiationExpression/spec.ts b/packages/ast-spec/src/expression/TSInstantiationExpression/spec.ts index 064dd30612f7..2219a440bdf7 100644 --- a/packages/ast-spec/src/expression/TSInstantiationExpression/spec.ts +++ b/packages/ast-spec/src/expression/TSInstantiationExpression/spec.ts @@ -7,7 +7,4 @@ export interface TSInstantiationExpression extends BaseNode { type: AST_NODE_TYPES.TSInstantiationExpression; expression: Expression; typeArguments: TSTypeParameterInstantiation; - - /** @deprecated Use {@link `typeArguments`} instead. */ - typeParameters?: TSTypeParameterInstantiation; } diff --git a/packages/ast-spec/src/expression/TaggedTemplateExpression/spec.ts b/packages/ast-spec/src/expression/TaggedTemplateExpression/spec.ts index b673ca5f0db7..a11bc58325eb 100644 --- a/packages/ast-spec/src/expression/TaggedTemplateExpression/spec.ts +++ b/packages/ast-spec/src/expression/TaggedTemplateExpression/spec.ts @@ -7,10 +7,6 @@ import type { TemplateLiteral } from '../TemplateLiteral/spec'; export interface TaggedTemplateExpression extends BaseNode { type: AST_NODE_TYPES.TaggedTemplateExpression; typeArguments: TSTypeParameterInstantiation | undefined; - - /** @deprecated Use {@link `typeArguments`} instead. */ - typeParameters: TSTypeParameterInstantiation | undefined; - tag: LeftHandSideExpression; quasi: TemplateLiteral; } diff --git a/packages/ast-spec/src/jsx/JSXOpeningElement/spec.ts b/packages/ast-spec/src/jsx/JSXOpeningElement/spec.ts index 1c4ca8af452d..157512bc7908 100644 --- a/packages/ast-spec/src/jsx/JSXOpeningElement/spec.ts +++ b/packages/ast-spec/src/jsx/JSXOpeningElement/spec.ts @@ -8,10 +8,6 @@ import type { JSXSpreadAttribute } from '../JSXSpreadAttribute/spec'; export interface JSXOpeningElement extends BaseNode { type: AST_NODE_TYPES.JSXOpeningElement; typeArguments: TSTypeParameterInstantiation | undefined; - - /** @deprecated Use {@link `typeArguments`} instead. */ - typeParameters: TSTypeParameterInstantiation | undefined; - selfClosing: boolean; name: JSXTagNameExpression; attributes: (JSXAttribute | JSXSpreadAttribute)[]; diff --git a/packages/ast-spec/src/type/TSImportType/spec.ts b/packages/ast-spec/src/type/TSImportType/spec.ts index 3eb30235d9b0..f85074de7154 100644 --- a/packages/ast-spec/src/type/TSImportType/spec.ts +++ b/packages/ast-spec/src/type/TSImportType/spec.ts @@ -9,7 +9,4 @@ export interface TSImportType extends BaseNode { argument: TypeNode; qualifier: EntityName | null; typeArguments: TSTypeParameterInstantiation | null; - - /** @deprecated Use {@link `typeArguments`} instead. */ - typeParameters: TSTypeParameterInstantiation | null; } diff --git a/packages/ast-spec/src/type/TSTypeQuery/spec.ts b/packages/ast-spec/src/type/TSTypeQuery/spec.ts index b6ec9fdf6ec2..e5cad59b9c71 100644 --- a/packages/ast-spec/src/type/TSTypeQuery/spec.ts +++ b/packages/ast-spec/src/type/TSTypeQuery/spec.ts @@ -8,7 +8,4 @@ export interface TSTypeQuery extends BaseNode { type: AST_NODE_TYPES.TSTypeQuery; exprName: EntityName | TSImportType; typeArguments: TSTypeParameterInstantiation | undefined; - - /** @deprecated Use {@link `typeArguments`} instead. */ - typeParameters: TSTypeParameterInstantiation | undefined; } diff --git a/packages/ast-spec/src/type/TSTypeReference/spec.ts b/packages/ast-spec/src/type/TSTypeReference/spec.ts index c7b5b340b2f4..5ffa64e64062 100644 --- a/packages/ast-spec/src/type/TSTypeReference/spec.ts +++ b/packages/ast-spec/src/type/TSTypeReference/spec.ts @@ -6,9 +6,5 @@ import type { EntityName } from '../../unions/EntityName'; export interface TSTypeReference extends BaseNode { type: AST_NODE_TYPES.TSTypeReference; typeArguments: TSTypeParameterInstantiation | undefined; - - /** @deprecated Use {@link `typeArguments`} instead. */ - typeParameters: TSTypeParameterInstantiation | undefined; - typeName: EntityName; } diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index 5ffe6008d7d2..b58b0fff18c8 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -504,11 +504,6 @@ export class Converter { node, ) : null; - this.#withDeprecatedAliasGetter( - result, - 'typeParameters', - 'typeArguments', - ); } if ('typeParameters' in node) { result.typeParameters = @@ -1631,24 +1626,17 @@ export class Converter { } case SyntaxKind.TaggedTemplateExpression: - return this.createNode( - node, - this.#withDeprecatedAliasGetter( - { - type: AST_NODE_TYPES.TaggedTemplateExpression, - typeArguments: - node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation( - node.typeArguments, - node, - ), - tag: this.convertChild(node.tag), - quasi: this.convertChild(node.template), - }, - 'typeParameters', - 'typeArguments', - ), - ); + return this.createNode(node, { + type: AST_NODE_TYPES.TaggedTemplateExpression, + typeArguments: + node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ), + tag: this.convertChild(node.tag), + quasi: this.convertChild(node.template), + }); case SyntaxKind.TemplateHead: case SyntaxKind.TemplateMiddle: @@ -1825,39 +1813,32 @@ export class Converter { const result = this.createNode< TSESTree.ClassDeclaration | TSESTree.ClassExpression - >( - node, - this.#withDeprecatedAliasGetter( - { - type: classNodeType, - abstract: hasModifier(SyntaxKind.AbstractKeyword, node), - body: this.createNode(node, { - type: AST_NODE_TYPES.ClassBody, - body: node.members - .filter(isESTreeClassMember) - .map(el => this.convertChild(el)), - range: [node.members.pos - 1, node.end], - }), - declare: hasModifier(SyntaxKind.DeclareKeyword, node), - decorators: - getDecorators(node)?.map(el => this.convertChild(el)) ?? [], - id: this.convertChild(node.name), - implements: - implementsClause?.types.map(el => this.convertChild(el)) ?? [], - superClass: extendsClause?.types[0] - ? this.convertChild(extendsClause.types[0].expression) - : null, - superTypeArguments: undefined, - typeParameters: - node.typeParameters && - this.convertTSTypeParametersToTypeParametersDeclaration( - node.typeParameters, - ), - }, - 'superTypeParameters', - 'superTypeArguments', - ), - ); + >(node, { + type: classNodeType, + abstract: hasModifier(SyntaxKind.AbstractKeyword, node), + body: this.createNode(node, { + type: AST_NODE_TYPES.ClassBody, + body: node.members + .filter(isESTreeClassMember) + .map(el => this.convertChild(el)), + range: [node.members.pos - 1, node.end], + }), + declare: hasModifier(SyntaxKind.DeclareKeyword, node), + decorators: + getDecorators(node)?.map(el => this.convertChild(el)) ?? [], + id: this.convertChild(node.name), + implements: + implementsClause?.types.map(el => this.convertChild(el)) ?? [], + superClass: extendsClause?.types[0] + ? this.convertChild(extendsClause.types[0].expression) + : null, + superTypeArguments: undefined, + typeParameters: + node.typeParameters && + this.convertTSTypeParametersToTypeParametersDeclaration( + node.typeParameters, + ), + }); if (extendsClause?.types[0]?.typeArguments) { result.superTypeArguments = @@ -2198,20 +2179,13 @@ export class Converter { node, ); - const result = this.createNode( - node, - this.#withDeprecatedAliasGetter( - { - type: AST_NODE_TYPES.CallExpression, - callee, - arguments: args, - optional: node.questionDotToken !== undefined, - typeArguments, - }, - 'typeParameters', - 'typeArguments', - ), - ); + const result = this.createNode(node, { + type: AST_NODE_TYPES.CallExpression, + callee, + arguments: args, + optional: node.questionDotToken !== undefined, + typeArguments, + }); return this.convertChainExpression(result, node); } @@ -2225,21 +2199,14 @@ export class Converter { ); // NOTE - NewExpression cannot have an optional chain in it - return this.createNode( - node, - this.#withDeprecatedAliasGetter( - { - type: AST_NODE_TYPES.NewExpression, - arguments: node.arguments - ? node.arguments.map(el => this.convertChild(el)) - : [], - callee: this.convertChild(node.expression), - typeArguments, - }, - 'typeParameters', - 'typeArguments', - ), - ); + return this.createNode(node, { + type: AST_NODE_TYPES.NewExpression, + arguments: node.arguments + ? node.arguments.map(el => this.convertChild(el)) + : [], + callee: this.convertChild(node.expression), + typeArguments, + }); } case SyntaxKind.ConditionalExpression: @@ -2394,55 +2361,41 @@ export class Converter { * Convert SyntaxKind.JsxSelfClosingElement to SyntaxKind.JsxOpeningElement, * TypeScript does not seem to have the idea of openingElement when tag is self-closing */ - openingElement: this.createNode( - node, - this.#withDeprecatedAliasGetter( - { - type: AST_NODE_TYPES.JSXOpeningElement, - typeArguments: node.typeArguments - ? this.convertTypeArgumentsToTypeParameterInstantiation( - node.typeArguments, - node, - ) - : undefined, - selfClosing: true, - name: this.convertJSXTagName(node.tagName, node), - attributes: node.attributes.properties.map(el => - this.convertChild(el), - ), - range: getRange(node, this.ast), - }, - 'typeParameters', - 'typeArguments', + openingElement: this.createNode(node, { + type: AST_NODE_TYPES.JSXOpeningElement, + typeArguments: node.typeArguments + ? this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ) + : undefined, + selfClosing: true, + name: this.convertJSXTagName(node.tagName, node), + attributes: node.attributes.properties.map(el => + this.convertChild(el), ), - ), + range: getRange(node, this.ast), + }), closingElement: null, children: [], }); } case SyntaxKind.JsxOpeningElement: { - return this.createNode( - node, - this.#withDeprecatedAliasGetter( - { - type: AST_NODE_TYPES.JSXOpeningElement, - typeArguments: - node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation( - node.typeArguments, - node, - ), - selfClosing: false, - name: this.convertJSXTagName(node.tagName, node), - attributes: node.attributes.properties.map(el => - this.convertChild(el), - ), - }, - 'typeParameters', - 'typeArguments', + return this.createNode(node, { + type: AST_NODE_TYPES.JSXOpeningElement, + typeArguments: + node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ), + selfClosing: false, + name: this.convertJSXTagName(node.tagName, node), + attributes: node.attributes.properties.map(el => + this.convertChild(el), ), - ); + }); } case SyntaxKind.JsxClosingElement: @@ -2519,23 +2472,16 @@ export class Converter { // TypeScript specific case SyntaxKind.TypeReference: - return this.createNode( - node, - this.#withDeprecatedAliasGetter( - { - type: AST_NODE_TYPES.TSTypeReference, - typeName: this.convertChild(node.typeName), - typeArguments: - node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation( - node.typeArguments, - node, - ), - }, - 'typeParameters', - 'typeArguments', - ), - ); + return this.createNode(node, { + type: AST_NODE_TYPES.TSTypeReference, + typeName: this.convertChild(node.typeName), + typeArguments: + node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ), + }); case SyntaxKind.TypeParameter: { return this.createNode(node, { @@ -2613,23 +2559,16 @@ export class Converter { } case SyntaxKind.TypeQuery: - return this.createNode( - node, - this.#withDeprecatedAliasGetter( - { - type: AST_NODE_TYPES.TSTypeQuery, - exprName: this.convertChild(node.exprName), - typeArguments: - node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation( - node.typeArguments, - node, - ), - }, - 'typeParameters', - 'typeArguments', - ), - ); + return this.createNode(node, { + type: AST_NODE_TYPES.TSTypeQuery, + exprName: this.convertChild(node.exprName), + typeArguments: + node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ), + }); case SyntaxKind.MappedType: { if (node.members && node.members.length > 0) { @@ -2785,23 +2724,16 @@ export class Converter { | TSESTree.TSClassImplements | TSESTree.TSInstantiationExpression | TSESTree.TSInterfaceHeritage - >( - node, - this.#withDeprecatedAliasGetter( - { - type, - expression: this.convertChild(node.expression), - typeArguments: - node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation( - node.typeArguments, - node, - ), - }, - 'typeParameters', - 'typeArguments', - ), - ); + >(node, { + type, + expression: this.convertChild(node.expression), + typeArguments: + node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ), + }); } case SyntaxKind.InterfaceDeclaration: { @@ -2873,32 +2805,24 @@ export class Converter { const token = findNextToken(node.getFirstToken()!, node, this.ast)!; range[0] = token.getStart(this.ast); } - const result = this.createNode( - node, - this.#withDeprecatedAliasGetter( - { - type: AST_NODE_TYPES.TSImportType, - argument: this.convertChild(node.argument), - qualifier: this.convertChild(node.qualifier), - typeArguments: node.typeArguments - ? this.convertTypeArgumentsToTypeParameterInstantiation( - node.typeArguments, - node, - ) - : null, - range: range, - }, - 'typeParameters', - 'typeArguments', - ), - ); + const result = this.createNode(node, { + type: AST_NODE_TYPES.TSImportType, + argument: this.convertChild(node.argument), + qualifier: this.convertChild(node.qualifier), + typeArguments: node.typeArguments + ? this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ) + : null, + range: range, + }); if (node.isTypeOf) { return this.createNode(node, { type: AST_NODE_TYPES.TSTypeQuery, exprName: result, typeArguments: undefined, - typeParameters: undefined, }); } return result; diff --git a/packages/typescript-estree/tests/lib/convert.test.ts b/packages/typescript-estree/tests/lib/convert.test.ts index 640a3d9946ab..04cdecac39ab 100644 --- a/packages/typescript-estree/tests/lib/convert.test.ts +++ b/packages/typescript-estree/tests/lib/convert.test.ts @@ -279,59 +279,51 @@ describe('convert', () => { }); describe('suppressDeprecatedPropertyWarnings', () => { - const getEsCallExpression = ( - converterOptions?: ConverterOptions, - ): TSESTree.CallExpression => { - const ast = convertCode(`callee();`); - const tsCallExpression = (ast.statements[0] as ts.ExpressionStatement) - .expression as ts.CallExpression; - const instance = new Converter(ast, { - shouldPreserveNodeMaps: true, - ...converterOptions, - }); - - instance.convertProgram(); - - const maps = instance.getASTMaps(); - - return maps.tsNodeToESTreeNodeMap.get(tsCallExpression); - }; - - const getTsMappedType = ( - converterOptions?: ConverterOptions, - ): TSESTree.TSMappedType => { - const ast = convertCode(` - type MappedType = { - [Key in Type]: Value; - }; - `); - const tsMappedType = (ast.statements[0] as ts.TypeAliasDeclaration) - .type as ts.MappedTypeNode; - const instance = new Converter(ast, { - shouldPreserveNodeMaps: true, - ...converterOptions, - }); - - instance.convertProgram(); - - const maps = instance.getASTMaps(); + const makeNodeGetter = + ( + code: string, + tsToEsNode: (statement: S) => TSNode, + ) => + (converterOptions?: ConverterOptions): T => { + const ast = convertCode(code); + const instance = new Converter(ast, { + shouldPreserveNodeMaps: true, + ...converterOptions, + }); + + instance.convertProgram(); + + return instance + .getASTMaps() + .tsNodeToESTreeNodeMap.get(tsToEsNode(ast.statements[0] as S)); + }; - return maps.tsNodeToESTreeNodeMap.get(tsMappedType); - }; + const getEsTsEnumDeclaration = makeNodeGetter< + ts.EnumDeclaration, + TSESTree.TSEnumDeclaration + >('enum Enum { A }', enumDeclaration => enumDeclaration); + + const getEsTsMappedType = makeNodeGetter< + ts.TypeAliasDeclaration, + TSESTree.TSMappedType + >( + 'type MappedType = { [Key in Type]: Value };', + ({ type }) => type as ts.MappedTypeNode, + ); it('warns on a deprecated aliased property access when suppressDeprecatedPropertyWarnings is false', () => { const emitWarning = jest .spyOn(process, 'emitWarning') .mockImplementation(); - const esCallExpression = getEsCallExpression({ + const esTsEnumDeclaration = getEsTsEnumDeclaration({ suppressDeprecatedPropertyWarnings: false, }); // eslint-disable-next-line deprecation/deprecation - esCallExpression.typeParameters; + esTsEnumDeclaration.members; expect(emitWarning).toHaveBeenCalledWith( - `The 'typeParameters' property is deprecated on CallExpression nodes. Use 'typeArguments' instead. See https://typescript-eslint.io/linting/troubleshooting#the-key-property-is-deprecated-on-type-nodes-use-key-instead-warnings.`, + `The 'members' property is deprecated on TSEnumDeclaration nodes. Use 'body.members' instead. See https://typescript-eslint.io/linting/troubleshooting#the-key-property-is-deprecated-on-type-nodes-use-key-instead-warnings.`, 'DeprecationWarning', ); }); @@ -340,13 +332,13 @@ describe('convert', () => { const emitWarning = jest .spyOn(process, 'emitWarning') .mockImplementation(); - const esCallExpression = getEsCallExpression({ + const esTsEnumDeclaration = getEsTsEnumDeclaration({ suppressDeprecatedPropertyWarnings: false, }); /* eslint-disable deprecation/deprecation */ - esCallExpression.typeParameters; - esCallExpression.typeParameters; + esTsEnumDeclaration.members; + esTsEnumDeclaration.members; /* eslint-enable deprecation/deprecation */ expect(emitWarning).toHaveBeenCalledTimes(1); @@ -356,38 +348,38 @@ describe('convert', () => { const emitWarning = jest .spyOn(process, 'emitWarning') .mockImplementation(); - const esCallExpression = getEsCallExpression({ + const esTsEnumDeclaration = getEsTsEnumDeclaration({ suppressDeprecatedPropertyWarnings: true, }); // eslint-disable-next-line deprecation/deprecation - esCallExpression.typeParameters; + esTsEnumDeclaration.members; expect(emitWarning).not.toHaveBeenCalled(); }); it('does not allow enumeration of deprecated aliased properties', () => { - const esCallExpression = getEsCallExpression(); + const esTsEnumDeclaration = getEsTsEnumDeclaration(); - expect(Object.keys(esCallExpression)).not.toContain('typeParameters'); + expect(Object.keys(esTsEnumDeclaration)).not.toContain('members'); }); it('allows writing to the deprecated aliased property as a new enumerable value', () => { - const esCallExpression = getEsCallExpression(); + const esTsEnumDeclaration = getEsTsEnumDeclaration(); // eslint-disable-next-line deprecation/deprecation - esCallExpression.typeParameters = undefined; + esTsEnumDeclaration.members = []; // eslint-disable-next-line deprecation/deprecation - expect(esCallExpression.typeParameters).toBeUndefined(); - expect(Object.keys(esCallExpression)).toContain('typeParameters'); + expect(esTsEnumDeclaration.members).toEqual([]); + expect(Object.keys(esTsEnumDeclaration)).toContain('members'); }); it('warns on a deprecated getter property access when suppressDeprecatedPropertyWarnings is false', () => { const emitWarning = jest .spyOn(process, 'emitWarning') .mockImplementation(); - const tsMappedType = getTsMappedType({ + const tsMappedType = getEsTsMappedType({ suppressDeprecatedPropertyWarnings: false, }); @@ -404,7 +396,7 @@ describe('convert', () => { const emitWarning = jest .spyOn(process, 'emitWarning') .mockImplementation(); - const tsMappedType = getTsMappedType({ + const tsMappedType = getEsTsMappedType({ suppressDeprecatedPropertyWarnings: false, }); @@ -420,7 +412,7 @@ describe('convert', () => { const emitWarning = jest .spyOn(process, 'emitWarning') .mockImplementation(); - const tsMappedType = getTsMappedType({ + const tsMappedType = getEsTsMappedType({ suppressDeprecatedPropertyWarnings: true, }); @@ -431,13 +423,13 @@ describe('convert', () => { }); it('does not allow enumeration of deprecated getter properties', () => { - const tsMappedType = getTsMappedType(); + const tsMappedType = getEsTsMappedType(); expect(Object.keys(tsMappedType)).not.toContain('typeParameter'); }); it('allows writing to the deprecated getter property as a new enumerable value', () => { - const tsMappedType = getTsMappedType(); + const tsMappedType = getEsTsMappedType(); // eslint-disable-next-line deprecation/deprecation tsMappedType.typeParameter = undefined!; pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy