Skip to content

Commit e22f3b0

Browse files
mnahkiesjeromeh
andauthored
fix(fetch): type narrowing with default response types (#443)
relates #439, and includes changes from #444 as the actual fix - adds failing test showing that type narrowing isn't working as expected for fetch clients when a default response is present - adjusts the types to exclude specific status codes from the default response branch. The specification states that the default response is only to be used for responses not otherwise declared: > The documentation of responses other than the ones declared for specific HTTP response codes. Use this field to cover undeclared responses. --------- Co-authored-by: jeromeh <jerome.henaff@amdocs.com>
1 parent cb04365 commit e22f3b0

23 files changed

Lines changed: 1621 additions & 613 deletions

File tree

e2e/openapi.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,35 @@ paths:
277277
responses:
278278
500:
279279
description: Internal Server Error
280+
/responses/default:
281+
get:
282+
tags:
283+
- validation
284+
parameters:
285+
- name: status
286+
in: query
287+
schema:
288+
type: string
289+
enum: [200,500]
290+
responses:
291+
200:
292+
description: ok
293+
content:
294+
application/json:
295+
schema:
296+
type: object
297+
properties:
298+
id:
299+
type: string
300+
default:
301+
description: Error
302+
content:
303+
application/json:
304+
schema:
305+
type: object
306+
properties:
307+
error:
308+
type: string
280309
/responses/empty:
281310
get:
282311
tags:

e2e/src/generated/client/axios/client.ts

Lines changed: 24 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

e2e/src/generated/client/axios/models.ts

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

e2e/src/generated/client/axios/schemas.ts

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

e2e/src/generated/client/fetch/client.ts

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

e2e/src/generated/client/fetch/models.ts

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

e2e/src/generated/client/fetch/schemas.ts

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

e2e/src/generated/server/express/models.ts

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

e2e/src/generated/server/express/routes/validation.ts

Lines changed: 72 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

e2e/src/generated/server/express/schemas.ts

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)