function determinePropertiesToTraverse()

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;
}