in src/schemas.ts [37:65]
function determinePropertiesToTraverse(schema: object): object[] {
const propertiesToTraverse = [];
if ("properties" in schema) {
propertiesToTraverse.push(schema.properties);
}
if ("allOf" in schema) {
for (const allOf of schema.allOf as Array<any>) {
if ("properties" in allOf) {
propertiesToTraverse.push(allOf.properties);
}
if ("allOf" in allOf) {
const nestedProperties = determinePropertiesToTraverse(allOf.allOf);
propertiesToTraverse.push(...nestedProperties);
}
}
}
if (Array.isArray(schema)) {
for (const allOf of schema) {
if ("properties" in allOf) {
propertiesToTraverse.push(allOf.properties);
}
if ("allOf" in allOf) {
const nestedProperties = determinePropertiesToTraverse(allOf.allOf);
propertiesToTraverse.push(...nestedProperties);
}
}
}
return propertiesToTraverse;
}