diff --git a/src/utils/__tests__/__snapshots__/renderSchema.spec.ts.snap b/src/utils/__tests__/__snapshots__/renderSchema.spec.ts.snap index 2d5fa544..36cd5d77 100644 --- a/src/utils/__tests__/__snapshots__/renderSchema.spec.ts.snap +++ b/src/utils/__tests__/__snapshots__/renderSchema.spec.ts.snap @@ -76,6 +76,7 @@ Array [ "properties", "propertyIsArrayOfObjects", "items", + "properties", "ArrayObjectProperty", ], "required": false, @@ -175,7 +176,7 @@ Array [ "enum": undefined, "id": "random-id", "path": Array [ - "properties", + "allOf", 0, ], "patternProperties": undefined, @@ -198,7 +199,7 @@ Array [ "id": "random-id", "name": "test", "path": Array [ - "properties", + "allOf", 0, "properties", "test", @@ -220,7 +221,7 @@ Array [ "enum": undefined, "id": "random-id", "path": Array [ - "properties", + "allOf", 1, ], "patternProperties": undefined, @@ -260,7 +261,7 @@ Array [ "id": "random-id", "name": "id", "path": Array [ - "properties", + "allOf", 1, "properties", "id", @@ -280,7 +281,7 @@ Array [ "id": "random-id", "name": "completed_at", "path": Array [ - "properties", + "allOf", 1, "properties", "completed_at", @@ -305,7 +306,7 @@ Array [ "id": "random-id", "name": "created_at", "path": Array [ - "properties", + "allOf", 1, "properties", "created_at", @@ -327,7 +328,7 @@ Array [ "id": "random-id", "name": "updated_at", "path": Array [ - "properties", + "allOf", 1, "properties", "updated_at", @@ -616,7 +617,7 @@ Array [ "path": Array [ "properties", "plan", - "properties", + "anyOf", 0, ], "patternProperties": undefined, @@ -644,7 +645,7 @@ Array [ "path": Array [ "properties", "plan", - "properties", + "anyOf", 0, "properties", "foo", @@ -666,7 +667,7 @@ Array [ "path": Array [ "properties", "plan", - "properties", + "anyOf", 0, "properties", "bar", @@ -692,7 +693,7 @@ Array [ "path": Array [ "properties", "plan", - "properties", + "anyOf", 1, ], "subtype": "integer", @@ -1214,6 +1215,7 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "state", ], "required": false, @@ -1322,6 +1324,7 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "orderItemBreakdown", ], "required": false, @@ -1343,8 +1346,10 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "orderItemBreakdown", "items", + "properties", "orderItemId", ], "required": false, @@ -1437,8 +1442,10 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "orderItemBreakdown", "items", + "properties", "options", ], "required": false, @@ -1467,10 +1474,13 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "orderItemBreakdown", "items", + "properties", "options", "items", + "properties", "title", ], "required": false, @@ -1500,10 +1510,13 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "orderItemBreakdown", "items", + "properties", "options", "items", + "properties", "selected", ], "required": false, @@ -1526,10 +1539,13 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "orderItemBreakdown", "items", + "properties", "options", "items", + "properties", "additionalRequiredInfo", ], "required": false, @@ -1554,10 +1570,13 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "orderItemBreakdown", "items", + "properties", "options", "items", + "properties", "deliveryInfo", ], "patternProperties": undefined, @@ -1626,10 +1645,13 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "orderItemBreakdown", "items", + "properties", "options", "items", + "properties", "deliveryInfo", "properties", "availableDeliveryTypes", @@ -1663,10 +1685,13 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "orderItemBreakdown", "items", + "properties", "options", "items", + "properties", "deliveryInfo", "properties", "ticketRecipients", @@ -1690,10 +1715,13 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "orderItemBreakdown", "items", + "properties", "options", "items", + "properties", "deliveryInfo", "properties", "ccEmail", @@ -1717,10 +1745,13 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "orderItemBreakdown", "items", + "properties", "options", "items", + "properties", "deliveryInfo", "properties", "postalAddress", @@ -1743,10 +1774,13 @@ Array [ "properties", "ticketingOptionChoice", "items", + "properties", "orderItemBreakdown", "items", + "properties", "options", "items", + "properties", "deliveryInfo", "properties", "pickUpAtStation", diff --git a/src/utils/renderSchema.ts b/src/utils/renderSchema.ts index 12fcf63c..738c8b90 100644 --- a/src/utils/renderSchema.ts +++ b/src/utils/renderSchema.ts @@ -118,7 +118,7 @@ export const renderSchema: Walker = function*(schema, level = 0, meta = { path: yield* renderSchema(property, level + 1, { ...(i !== 0 && { divider: DIVIDERS[node.combiner] }), - path: [...path, 'properties', i], + path: [...path, node.combiner, i], }); } } @@ -149,12 +149,13 @@ export const renderSchema: Walker = function*(schema, level = 0, meta = { path: case SchemaKind.Object: yield* getProperties(parsedSchema.items, level, { ...meta, - path: [...path, 'items'], + path: [...path, 'items', 'properties'], }); break; case SchemaKind.Array: yield* renderSchema(parsedSchema.items, level, { - path, + ...meta, + path: [...path, 'items'], }); break; }