Skip to content

Commit 008fe38

Browse files
committed
refactor: resolveRequestBody with example strategy
1 parent 0244e42 commit 008fe38

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

src/core/body.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { parseRequestBody, resolveRequestBody } from "./body";
66

77
describe("resolveRequestBody", () => {
88
it("should return undefined when no source is provided", () => {
9-
const result = resolveRequestBody();
9+
const result = resolveRequestBody("none");
1010
expect(result).toBeUndefined();
1111
});
1212

@@ -15,7 +15,7 @@ describe("resolveRequestBody", () => {
1515
name: z.string(),
1616
});
1717

18-
const result = resolveRequestBody(schema);
18+
const result = resolveRequestBody("none", schema);
1919

2020
expect(result).toEqual({
2121
required: true,
@@ -39,7 +39,7 @@ describe("resolveRequestBody", () => {
3939
file: z.instanceof(File),
4040
});
4141

42-
const result = resolveRequestBody(schema, true);
42+
const result = resolveRequestBody("none", schema, true);
4343

4444
expect(result).toEqual({
4545
required: true,

src/core/body.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1+
import type { ExampleStrategy } from "~/types/example";
12
import type { HttpMethod } from "~/types/http";
23
import type { FixedRequest } from "~/types/request";
34
import { resolveContent } from "./content";
45
import { safeParse } from "./zod-error-handler";
56
import type { RequestBodyObject } from "@omer-x/openapi-types/request-body";
67
import type { ZodError, ZodType, ZodTypeDef } from "zod";
78

8-
export function resolveRequestBody<I, O>(source?: ZodType<O, ZodTypeDef, I> | string, isFormData: boolean = false) {
9+
export function resolveRequestBody<I, O>(exampleStrategy: ExampleStrategy, source?: ZodType<O, ZodTypeDef, I> | string, isFormData: boolean = false) {
910
if (!source) return undefined;
1011
return {
1112
// description: "", // how to fill this?
1213
required: true,
13-
content: resolveContent(source, false, isFormData),
14+
content: resolveContent(exampleStrategy, source, false, isFormData),
1415
} as RequestBodyObject;
1516
}
1617

src/core/definer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ function defineRoute<
127127
description: input.description,
128128
tags: input.tags,
129129
parameters: parameters.length ? parameters : undefined,
130-
requestBody: resolveRequestBody(input.requestBody ?? undefined, input.hasFormData),
130+
requestBody: resolveRequestBody(input.exampleStrategy ?? "none", input.requestBody ?? undefined, input.hasFormData),
131131
responses: responses,
132132
security: input.security,
133133
};

0 commit comments

Comments
 (0)