Skip to content

Commit 6d720eb

Browse files
committed
Revert top-level parameters object sometimes being optional (#1335)
1 parent ec5522b commit 6d720eb

File tree

5 files changed

+11
-9
lines changed

5 files changed

+11
-9
lines changed

.changeset/strange-birds-jam.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"openapi-typescript": minor
3+
---
4+
5+
Revert optional parameters breaking change (v6.6.0, #1335)

packages/openapi-typescript/src/transform/operation-object.ts

+1-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ export default function transformOperationObject(operationObject: OperationObjec
1515
let { indentLv } = ctx;
1616
const output: string[] = wrapObject ? ["{"] : [];
1717
indentLv++;
18-
let allParamsOptional = true;
1918

2019
// parameters
2120
{
@@ -32,7 +31,6 @@ export default function transformOperationObject(operationObject: OperationObjec
3231
let key = escObjKey(node.name);
3332
const isRequired = paramIn === "path" || !!node.required;
3433
if (isRequired) {
35-
allParamsOptional = false;
3634
paramInOptional = false;
3735
} else {
3836
key = tsOptionalProperty(key);
@@ -59,8 +57,7 @@ export default function transformOperationObject(operationObject: OperationObjec
5957
indentLv--;
6058

6159
if (parameterOutput.length) {
62-
const parameterKey = allParamsOptional ? tsOptionalProperty("parameters") : "parameters";
63-
output.push(indent(`${parameterKey}: {`, indentLv));
60+
output.push(indent(`parameters: {`, indentLv));
6461
output.push(parameterOutput.join("\n"));
6562
output.push(indent("};", indentLv));
6663
}

packages/openapi-typescript/test/index.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ export type operations = Record<string, never>;
238238
export interface paths {
239239
"/post/{id}": {
240240
get: operations["getPost"];
241-
parameters?: {
241+
parameters: {
242242
query?: {
243243
revision?: number;
244244
};

packages/openapi-typescript/test/operation-object.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ describe("Operation Object", () => {
100100
};
101101
const generated = transformOperationObject(schema, options);
102102
expect(generated).toBe(`{
103-
parameters?: {
103+
parameters: {
104104
query?: {
105105
search?: string;
106106
};

packages/openapi-typescript/test/paths-object.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ describe("Paths Object", () => {
8686
404: components["responses"]["NotFound"];
8787
};
8888
};
89-
parameters?: {
89+
parameters: {
9090
query?: {
9191
/** @description Page number. */
9292
page?: number;
@@ -187,7 +187,7 @@ describe("Paths Object", () => {
187187
expect(generated).toBe(`{
188188
"/api/v1/user/me": {
189189
get: {
190-
parameters?: {
190+
parameters: {
191191
query?: {
192192
/** @description Page number. */
193193
page?: number;
@@ -210,7 +210,7 @@ describe("Paths Object", () => {
210210
404: components["responses"]["NotFound"];
211211
};
212212
};
213-
parameters?: {
213+
parameters: {
214214
query?: {
215215
/** @description Page number. */
216216
page?: number;

0 commit comments

Comments
 (0)