openapi-typescript
openapi-typescript copied to clipboard
`SuccessResponseJSON` returns item instead of array of items
Description
SuccessResponseJSON returns {value:number} instead of {value:number}[] when upgrading from [email protected] to [email protected].
| Name | Version |
|---|---|
openapi-typescript-helpers |
0.0.12 |
| Node.js | 20.16.0 |
| OS + version | macOS 14 |
Reproduction
Test file (this is a simple demo file to show the problem)
import type { SuccessResponseJSON } from "openapi-typescript-helpers";
interface paths {
"/foo": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: operations["get_foo"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export interface operations {
get_foo: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": { value: number }[];
};
};
/** @description Bad request errors */
400: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": { error: unknown };
};
};
};
};
}
const path = "/foo" as const satisfies keyof paths;
type Test = SuccessResponseJSON<paths[typeof path]["get"]>;
Version 0.0.6 (correct)
Version 0.0.12 (wrong)
Checklist
- [ ] My OpenAPI schema passes the Redocly validator (
npx @redocly/cli@latest lint) - [ ] I’m willing to open a PR (see CONTRIBUTING.md)