Skip to content

Commit 040a7c0

Browse files
committed
feat(47281): use unknown type instead of any
1 parent 2f058b7 commit 040a7c0

10 files changed

+17
-12
lines changed

src/services/codefixes/helpers.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -394,11 +394,16 @@ namespace ts.codefix {
394394
}
395395
}
396396
const maxNonRestArgs = maxArgsSignature.parameters.length - (signatureHasRestParameter(maxArgsSignature) ? 1 : 0);
397-
const maxArgsParameterSymbolNames = maxArgsSignature.parameters.map(symbol => symbol.name);
398-
const parameters = createDummyParameters(maxNonRestArgs, maxArgsParameterSymbolNames, /* types */ undefined, minArgumentCount, /*inJs*/ false);
397+
const maxArgsParameterSymbolNames = [];
398+
const maxArgsParameterTypes = [];
399+
for (const parameter of maxArgsSignature.parameters) {
400+
maxArgsParameterSymbolNames.push(parameter.name);
401+
maxArgsParameterTypes.push(factory.createKeywordTypeNode(SyntaxKind.UnknownKeyword));
402+
}
403+
const parameters = createDummyParameters(maxNonRestArgs, maxArgsParameterSymbolNames, maxArgsParameterTypes, minArgumentCount, /*inJs*/ false);
399404

400405
if (someSigHasRestParameter) {
401-
const anyArrayType = factory.createArrayTypeNode(factory.createKeywordTypeNode(SyntaxKind.AnyKeyword));
406+
const anyArrayType = factory.createArrayTypeNode(factory.createKeywordTypeNode(SyntaxKind.UnknownKeyword));
402407
const restParameter = factory.createParameterDeclaration(
403408
/*decorators*/ undefined,
404409
/*modifiers*/ undefined,

tests/cases/fourslash/codeFixClassExtendAbstractMethod.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class C extends A {
2626
f(a: number, b: string): this;
2727
f(a: string, b: number): Function;
2828
f(a: string): Function;
29-
f(a: any, b?: any): boolean | Function | this {
29+
f(a: unknown, b?: unknown): boolean | Function | this {
3030
throw new Error("Method not implemented.");
3131
}
3232
foo(): number {

tests/cases/fourslash/codeFixClassImplementInterfaceComputedPropertyNameWellKnownSymbols.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class C implements I<number> {
6262
[Symbol.toPrimitive](hint: "number"): number;
6363
[Symbol.toPrimitive](hint: "default"): number;
6464
[Symbol.toPrimitive](hint: "string"): string;
65-
[Symbol.toPrimitive](hint: any): string | number {
65+
[Symbol.toPrimitive](hint: unknown): string | number {
6666
throw new Error("Method not implemented.");
6767
}
6868
[Symbol.toStringTag]: string;

tests/cases/fourslash/codeFixClassImplementInterfaceMethodTypePredicate.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ verify.codeFix({
1818
class C implements I {
1919
f(i: any): i is I;
2020
f(): this is I;
21-
f(i?: any): boolean {
21+
f(i?: unknown): boolean {
2222
throw new Error("Method not implemented.");
2323
}
2424
}`,

tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignatures.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class C implements I {
2121
method(a: number, b: string): boolean;
2222
method(a: string, b: number): Function;
2323
method(a: string): Function;
24-
method(a: any, b?: any): boolean | Function {
24+
method(a: unknown, b?: unknown): boolean | Function {
2525
throw new Error("Method not implemented.");
2626
}
2727
}`,

tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignaturesRest1.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class C implements I {
2121
method(a: number, ...b: string[]): boolean;
2222
method(a: string, ...b: number[]): Function;
2323
method(a: string): Function;
24-
method(a: any, ...b?: any[]): boolean | Function {
24+
method(a: unknown, ...b?: unknown[]): boolean | Function {
2525
throw new Error("Method not implemented.");
2626
}
2727
}`,

tests/cases/fourslash/codeFixClassImplementInterfaceMultipleSignaturesRest2.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class C implements I {
2121
method(a: number, ...b: string[]): boolean;
2222
method(a: string, b: number): Function;
2323
method(a: string): Function;
24-
method(a: any, b?: any, ...rest?: any[]): boolean | Function {
24+
method(a: unknown, b?: unknown, ...rest?: unknown[]): boolean | Function {
2525
throw new Error("Method not implemented.");
2626
}
2727
}`,

tests/cases/fourslash/completionsOverridingMethod.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ verify.completions({
264264
insertText:
265265
`foo(a: string): string;
266266
foo(a: undefined, b: number): string;
267-
foo(a: any, b?: any): string {
267+
foo(a: unknown, b?: unknown): string {
268268
}`,
269269
}
270270
],

tests/cases/fourslash/completionsOverridingMethod10.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ verify.completions({
5656
insertText:
5757
`c(a: string): string;
5858
c(a: number): number;
59-
c(a: any): string | number {
59+
c(a: unknown): string | number {
6060
}`,
6161
},
6262
],

tests/cases/fourslash/completionsOverridingMethod6.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ verify.completions({
9090
insertText:
9191
`fun(a: number): number;
9292
public fun(a: undefined, b: string): number;
93-
public fun(a: any, b?: any): number {
93+
public fun(a: unknown, b?: unknown): number {
9494
}`,
9595
},
9696
],

0 commit comments

Comments
 (0)