@@ -80,17 +80,17 @@ const BLACKLISTED_KEYS = new Set([
80
80
function traverseObjectKeys ( obj : Record < string , JSONSchema > , callback : ( schema : JSONSchema , isRoot : boolean ) => void ) {
81
81
Object . keys ( obj ) . forEach ( k => {
82
82
if ( obj [ k ] && typeof obj [ k ] === 'object' && ! Array . isArray ( obj [ k ] ) ) {
83
- traverse ( obj [ k ] , callback )
83
+ traverse ( obj [ k ] , callback , false )
84
84
}
85
85
} )
86
86
}
87
87
function traverseArray ( arr : JSONSchema [ ] , callback : ( schema : JSONSchema , isRoot : boolean ) => void ) {
88
- arr . forEach ( i => traverse ( i , callback ) )
88
+ arr . forEach ( i => traverse ( i , callback , false ) )
89
89
}
90
90
export function traverse (
91
91
schema : JSONSchema ,
92
92
callback : ( schema : JSONSchema , isRoot : boolean ) => void ,
93
- isRoot = false
93
+ isRoot : boolean
94
94
) : void {
95
95
callback ( schema , isRoot )
96
96
@@ -110,18 +110,18 @@ export function traverse(
110
110
traverseObjectKeys ( schema . patternProperties , callback )
111
111
}
112
112
if ( schema . additionalProperties && typeof schema . additionalProperties === 'object' ) {
113
- traverse ( schema . additionalProperties , callback )
113
+ traverse ( schema . additionalProperties , callback , false )
114
114
}
115
115
if ( schema . items ) {
116
116
const { items} = schema
117
117
if ( Array . isArray ( items ) ) {
118
118
traverseArray ( items , callback )
119
119
} else {
120
- traverse ( items , callback )
120
+ traverse ( items , callback , false )
121
121
}
122
122
}
123
123
if ( schema . additionalItems && typeof schema . additionalItems === 'object' ) {
124
- traverse ( schema . additionalItems , callback )
124
+ traverse ( schema . additionalItems , callback , false )
125
125
}
126
126
if ( schema . dependencies ) {
127
127
traverseObjectKeys ( schema . dependencies , callback )
@@ -130,7 +130,7 @@ export function traverse(
130
130
traverseObjectKeys ( schema . definitions , callback )
131
131
}
132
132
if ( schema . not ) {
133
- traverse ( schema . not , callback )
133
+ traverse ( schema . not , callback , false )
134
134
}
135
135
136
136
// technically you can put definitions on any key
0 commit comments