Generate empty objects and arrays for non required object and array fields

This commit is contained in:
Ola Hungerford
2025-03-17 06:36:35 -07:00
parent 50131c6960
commit 7ddba51b36
2 changed files with 16 additions and 0 deletions

View File

@@ -37,6 +37,20 @@ describe("generateDefaultValue", () => {
); );
}); });
test("generates empty array for non-required array", () => {
expect(generateDefaultValue({ type: "array", required: false })).toEqual([]);
});
test("generates empty object for non-required object", () => {
expect(generateDefaultValue({ type: "object", required: false })).toEqual({});
});
test("generates null for non-required primitive types", () => {
expect(generateDefaultValue({ type: "string", required: false })).toBe(null);
expect(generateDefaultValue({ type: "number", required: false })).toBe(null);
expect(generateDefaultValue({ type: "boolean", required: false })).toBe(null);
});
test("generates object with properties", () => { test("generates object with properties", () => {
const schema: JsonSchemaType = { const schema: JsonSchemaType = {
type: "object", type: "object",

View File

@@ -13,6 +13,8 @@ export function generateDefaultValue(schema: JsonSchemaType): JsonValue {
} }
if (!schema.required) { if (!schema.required) {
if (schema.type === "array") return [];
if (schema.type === "object") return {};
return null; return null;
} }