From 0e39903a4c0632a5cac349721395f93a2b8fd7d7 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Wed, 16 Feb 2022 10:56:43 +0200 Subject: [PATCH] feat(47281): use unknown type instead of any --- src/services/codefixes/helpers.ts | 5 ++--- tests/cases/fourslash/codeFixClassExtendAbstractMethod.ts | 2 +- ...ImplementInterfaceComputedPropertyNameWellKnownSymbols.ts | 2 +- .../codeFixClassImplementInterfaceMethodTypePredicate.ts | 2 +- .../codeFixClassImplementInterfaceMultipleSignatures.ts | 2 +- .../codeFixClassImplementInterfaceMultipleSignaturesRest1.ts | 2 +- .../codeFixClassImplementInterfaceMultipleSignaturesRest2.ts | 2 +- tests/cases/fourslash/completionsOverridingMethod.ts | 2 +- tests/cases/fourslash/completionsOverridingMethod10.ts | 2 +- tests/cases/fourslash/completionsOverridingMethod11.ts | 2 +- tests/cases/fourslash/completionsOverridingMethod6.ts | 2 +- 11 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/services/codefixes/helpers.ts b/src/services/codefixes/helpers.ts index 21981c8df5f40..baeb1e9a1a535 100644 --- a/src/services/codefixes/helpers.ts +++ b/src/services/codefixes/helpers.ts @@ -359,7 +359,7 @@ namespace ts.codefix { /*dotDotDotToken*/ undefined, /*name*/ names && names[i] || `arg${i}`, /*questionToken*/ minArgumentCount !== undefined && i >= minArgumentCount ? factory.createToken(SyntaxKind.QuestionToken) : undefined, - /*type*/ inJs ? undefined : types && types[i] || factory.createKeywordTypeNode(SyntaxKind.AnyKeyword), + /*type*/ inJs ? undefined : types && types[i] || factory.createKeywordTypeNode(SyntaxKind.UnknownKeyword), /*initializer*/ undefined); parameters.push(newParameter); } @@ -398,14 +398,13 @@ namespace ts.codefix { const parameters = createDummyParameters(maxNonRestArgs, maxArgsParameterSymbolNames, /* types */ undefined, minArgumentCount, /*inJs*/ false); if (someSigHasRestParameter) { - const anyArrayType = factory.createArrayTypeNode(factory.createKeywordTypeNode(SyntaxKind.AnyKeyword)); const restParameter = factory.createParameterDeclaration( /*decorators*/ undefined, /*modifiers*/ undefined, factory.createToken(SyntaxKind.DotDotDotToken), maxArgsParameterSymbolNames[maxNonRestArgs] || "rest", /*questionToken*/ maxNonRestArgs >= minArgumentCount ? factory.createToken(SyntaxKind.QuestionToken) : undefined, - anyArrayType, + factory.createArrayTypeNode(factory.createKeywordTypeNode(SyntaxKind.UnknownKeyword)), /*initializer*/ undefined); parameters.push(restParameter); } diff --git a/tests/cases/fourslash/codeFixClassExtendAbstractMethod.ts b/tests/cases/fourslash/codeFixClassExtendAbstractMethod.ts index cfab4853025da..c97c08ad7f95c 100644 --- a/tests/cases/fourslash/codeFixClassExtendAbstractMethod.ts +++ b/tests/cases/fourslash/codeFixClassExtendAbstractMethod.ts @@ -26,7 +26,7 @@ class C extends A { f(a: number, b: string): this; f(a: string, b: number): Function; f(a: string): Function; - f(a: any, b?: any): boolean | Function | this { + f(a: unknown, b?: unknown): boolean | Function | this { throw new Error("Method not implemented."); } foo(): number { diff --git a/tests/cases/fourslash/codeFixClassImplementInterfaceComputedPropertyNameWellKnownSymbols.ts b/tests/cases/fourslash/codeFixClassImplementInterfaceComputedPropertyNameWellKnownSymbols.ts index 163fad1cb9b7b..371d6115b14bb 100644 --- a/tests/cases/fourslash/codeFixClassImplementInterfaceComputedPropertyNameWellKnownSymbols.ts +++ b/tests/cases/fourslash/codeFixClassImplementInterfaceComputedPropertyNameWellKnownSymbols.ts @@ -62,7 +62,7 @@ class C implements I { [Symbol.toPrimitive](hint: "number"): number; [Symbol.toPrimitive](hint: "default"): number; [Symbol.toPrimitive](hint: "string"): string; - [Symbol.toPrimitive](hint: any): string | number { + [Symbol.toPrimitive](hint: unknown): string | number { throw new Error("Method not implemented."); } [Symbol.toStringTag]: string; diff --git a/tests/cases/fourslash/codeFixClassImplementInterfaceMethodTypePredicate.ts b/tests/cases/fourslash/codeFixClassImplementInterfaceMethodTypePredicate.ts index f581a831cc7be..5bde0523ca10a 100644 --- a/tests/cases/fourslash/codeFixClassImplementInterfaceMethodTypePredicate.ts +++ b/tests/cases/fourslash/codeFixClassImplementInterfaceMethodTypePredicate.ts @@ -18,7 +18,7 @@ verify.codeFix({ class C implements I { f(i: any): i is I; f(): this is I; - f(i?: any): boolean { + f(i?: unknown): boolean { throw new Error("Method not implemented."); } }`, diff --git a/tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignatures.ts b/tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignatures.ts index f036ca38058aa..d25ace4b16f0b 100644 --- a/tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignatures.ts +++ b/tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignatures.ts @@ -21,7 +21,7 @@ class C implements I { method(a: number, b: string): boolean; method(a: string, b: number): Function; method(a: string): Function; - method(a: any, b?: any): boolean | Function { + method(a: unknown, b?: unknown): boolean | Function { throw new Error("Method not implemented."); } }`, diff --git a/tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignaturesRest1.ts b/tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignaturesRest1.ts index b5da1ffec4c38..49d07a6be17ec 100644 --- a/tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignaturesRest1.ts +++ b/tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignaturesRest1.ts @@ -21,7 +21,7 @@ class C implements I { method(a: number, ...b: string[]): boolean; method(a: string, ...b: number[]): Function; method(a: string): Function; - method(a: any, ...b?: any[]): boolean | Function { + method(a: unknown, ...b?: unknown[]): boolean | Function { throw new Error("Method not implemented."); } }`, diff --git a/tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignaturesRest2.ts b/tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignaturesRest2.ts index c1cf60ab1bc6b..24bd7c7209907 100644 --- a/tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignaturesRest2.ts +++ b/tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignaturesRest2.ts @@ -21,7 +21,7 @@ class C implements I { method(a: number, ...b: string[]): boolean; method(a: string, b: number): Function; method(a: string): Function; - method(a: any, b?: any, ...rest?: any[]): boolean | Function { + method(a: unknown, b?: unknown, ...rest?: unknown[]): boolean | Function { throw new Error("Method not implemented."); } }`, diff --git a/tests/cases/fourslash/completionsOverridingMethod.ts b/tests/cases/fourslash/completionsOverridingMethod.ts index a45dae3f333ad..00654d9149f78 100644 --- a/tests/cases/fourslash/completionsOverridingMethod.ts +++ b/tests/cases/fourslash/completionsOverridingMethod.ts @@ -264,7 +264,7 @@ verify.completions({ insertText: `foo(a: string): string; foo(a: undefined, b: number): string; -foo(a: any, b?: any): string { +foo(a: unknown, b?: unknown): string { }`, } ], diff --git a/tests/cases/fourslash/completionsOverridingMethod10.ts b/tests/cases/fourslash/completionsOverridingMethod10.ts index 77da16fb4dd73..64fe76eb933be 100644 --- a/tests/cases/fourslash/completionsOverridingMethod10.ts +++ b/tests/cases/fourslash/completionsOverridingMethod10.ts @@ -56,7 +56,7 @@ verify.completions({ insertText: `c(a: string): string; c(a: number): number; -c(a: any): string | number { +c(a: unknown): string | number { }`, }, ], diff --git a/tests/cases/fourslash/completionsOverridingMethod11.ts b/tests/cases/fourslash/completionsOverridingMethod11.ts index e406bd16a496b..0ea880b98021a 100644 --- a/tests/cases/fourslash/completionsOverridingMethod11.ts +++ b/tests/cases/fourslash/completionsOverridingMethod11.ts @@ -62,7 +62,7 @@ verify.completions({ insertText: `c(a: string): string c(a: number): number -c(a: any): string | number { +c(a: unknown): string | number { }`, }, ], diff --git a/tests/cases/fourslash/completionsOverridingMethod6.ts b/tests/cases/fourslash/completionsOverridingMethod6.ts index d9bb2bb7843a1..9bdf1b969785a 100644 --- a/tests/cases/fourslash/completionsOverridingMethod6.ts +++ b/tests/cases/fourslash/completionsOverridingMethod6.ts @@ -90,7 +90,7 @@ verify.completions({ insertText: `fun(a: number): number; public fun(a: undefined, b: string): number; -public fun(a: any, b?: any): number { +public fun(a: unknown, b?: unknown): number { }`, }, ],