in experimental/generation/generator/packages/library/src/processSchemas.ts [179:199]
function promoteItems(schema: any): void {
if (Array.isArray(schema)) {
for (var child in schema) {
promoteItems(child)
}
} else if (typeof schema === 'object' && schema !== null) {
for (var [prop, val] of Object.entries(schema)) {
if (prop === 'items') {
if (val && typeof val === 'object' && !Array.isArray(val)) {
for (var [prop, itemVal] of Object.entries(val as object)) {
if (((prop.startsWith('$') && prop !== '$schema') || ContraintKeywords.includes(prop)) && !schema[prop]) {
schema[prop] = itemVal
}
}
}
} else {
promoteItems(val)
}
}
}
}