Generate empty objects and arrays for non required object and array fields
This commit is contained in:
@@ -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",
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user