From 94659ee5da0bf454321eecedc29b465032be9281 Mon Sep 17 00:00:00 2001 From: Jacek Tomaszewski Date: Thu, 20 Nov 2025 20:15:50 +0100 Subject: [PATCH] fix(helpers): handle any type in RequiredKeysOf When RequiredKeysOfHelper evaluates to 'any' (e.g., when T is 'any'), RequiredKeysOf should return 'never' to indicate no required keys. This fixes the issue where using createClient() with placeholder OpenAPI types would incorrectly require the second parameter in API calls like client.GET('/path'). The fix adds an additional conditional check: RequiredKeysOfHelper extends any ? never This ensures that when paths type is 'any' (common when using placeholder types or fallback schemas), the second parameter becomes optional, allowing builds to succeed without type errors. --- packages/openapi-typescript-helpers/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/openapi-typescript-helpers/src/index.ts b/packages/openapi-typescript-helpers/src/index.ts index 3c8a004ce..f4487b38b 100644 --- a/packages/openapi-typescript-helpers/src/index.ts +++ b/packages/openapi-typescript-helpers/src/index.ts @@ -198,4 +198,4 @@ type RequiredKeysOfHelper = { [K in keyof T]: {} extends Pick ? never : K; }[keyof T]; /** Get the required keys of an object, or `never` if no keys are required */ -export type RequiredKeysOf = RequiredKeysOfHelper extends undefined ? never : RequiredKeysOfHelper; +export type RequiredKeysOf = RequiredKeysOfHelper extends undefined ? never : RequiredKeysOfHelper extends any ? never : RequiredKeysOfHelper;