From 86ee54aee969a6836c9dafa0305bb1eea240736b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Feb 2026 21:16:10 +0000 Subject: [PATCH] fix: preserve empty array body in stripEmptySlots Co-authored-by: mrlubos <12529395+mrlubos@users.noreply.github.com> --- .../@hey-api/client-core/__tests__/params.test.ts | 12 ++++++++++++ .../plugins/@hey-api/client-core/bundle/params.ts | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/openapi-ts/src/plugins/@hey-api/client-core/__tests__/params.test.ts b/packages/openapi-ts/src/plugins/@hey-api/client-core/__tests__/params.test.ts index 12bb0c253..940b2ecc3 100644 --- a/packages/openapi-ts/src/plugins/@hey-api/client-core/__tests__/params.test.ts +++ b/packages/openapi-ts/src/plugins/@hey-api/client-core/__tests__/params.test.ts @@ -344,6 +344,18 @@ describe('buildClientParams', () => { description: 'strip empty slots', params: {}, }, + { + args: [[]], + config: [ + { + in: 'body', + }, + ], + description: 'empty array body', + params: { + body: [], + }, + }, ]; it.each(scenarios)('$description', async ({ args, config, params }) => { diff --git a/packages/openapi-ts/src/plugins/@hey-api/client-core/bundle/params.ts b/packages/openapi-ts/src/plugins/@hey-api/client-core/bundle/params.ts index 84e61716c..8930daef1 100644 --- a/packages/openapi-ts/src/plugins/@hey-api/client-core/bundle/params.ts +++ b/packages/openapi-ts/src/plugins/@hey-api/client-core/bundle/params.ts @@ -94,7 +94,7 @@ interface Params { const stripEmptySlots = (params: Params) => { for (const [slot, value] of Object.entries(params)) { - if (value && typeof value === 'object' && !Object.keys(value).length) { + if (value && typeof value === 'object' && !Array.isArray(value) && !Object.keys(value).length) { delete params[slot as Slot]; } } -- 2.51.2