From ceec766c9126d4c271639581b55df765ba8c8990 Mon Sep 17 00:00:00 2001 From: Emiya Date: Wed, 20 Mar 2024 15:33:30 +0800 Subject: [PATCH 1/2] fix again --- package.json | 3 ++- source/set-parameter-type.d.ts | 7 +++++-- test-d/set-parameter-type.ts | 6 +++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 873e7b801..e04468d0d 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ "node": ">=16" }, "scripts": { - "test": "xo && tsd && tsc && node script/test/source-files-extension.js" + "test": "xo && tsd && tsc && npm run test:set-parameter-type && node script/test/source-files-extension.js", + "test:set-parameter-type": "tsc --noEmit test-d/set-parameter-type" }, "files": [ "index.d.ts", diff --git a/source/set-parameter-type.d.ts b/source/set-parameter-type.d.ts index e030f2b9a..a3e4faade 100644 --- a/source/set-parameter-type.d.ts +++ b/source/set-parameter-type.d.ts @@ -1,5 +1,5 @@ import type {IsUnknown} from './is-unknown'; -import type {StaticPartOfArray} from './internal'; +import type {StaticPartOfArray, VariablePartOfArray} from './internal'; import type {UnknownArray} from './unknown-array'; /** @@ -32,7 +32,10 @@ type MergeObjectToArray[number] + : K extends keyof TObject ? TObject[K] : TArray[K] } : TObject extends object // If `TObject` is a object witch key is number like `{0: string, 1: number}` diff --git a/test-d/set-parameter-type.ts b/test-d/set-parameter-type.ts index 2ce95816d..969eac5c3 100644 --- a/test-d/set-parameter-type.ts +++ b/test-d/set-parameter-type.ts @@ -22,9 +22,9 @@ expectType<(a: string, b: string, c: boolean, ...args: boolean[]) => null>(test2 test2('1', '2', true, true); // Test another define way -declare const test3: SetParameterType; -expectType<(a: string, b: boolean, c: Object, ...args: boolean[]) => null>(test3); -test3('1', true, {}, true); +declare const test3: SetParameterType; +expectType<(a: 'a', b: 'b', c: Object, ...args: boolean[]) => null>(test3); +test3('a', 'b', {}, true); // Test `...args` parameter declare const testargs: SetParameterType; From 6876a6dd33cf60730477073b4a5414c2a34afceb Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 20 Mar 2024 15:04:55 +0700 Subject: [PATCH 2/2] Update set-parameter-type.d.ts --- source/set-parameter-type.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/set-parameter-type.d.ts b/source/set-parameter-type.d.ts index a3e4faade..a28529b14 100644 --- a/source/set-parameter-type.d.ts +++ b/source/set-parameter-type.d.ts @@ -34,7 +34,7 @@ type MergeObjectToArray[number] + ? VariablePartOfArray[number] : K extends keyof TObject ? TObject[K] : TArray[K] } : TObject extends object