@@ -172,17 +172,19 @@ export default class SchemaTree extends LitElement {
172172 < path d ="M2 2L8 8M2 8L8 2 " />
173173 </ svg > `
174174 : '' ;
175+ const nullClass = node . nullable ? 'nullable' : '' ;
175176
176177 // 1. Array kind
177178 if ( node . kind === 'array' ) {
179+ const nullMarker = node . nullable ? 'null┃' : '' ;
178180 const items = node . items ;
179181 if ( ! items ) {
180182 return html `
181- < div class ="tr ${ isExpanded ? 'expanded' : 'collapsed' } array " title ="${ node . deprecated ? 'Deprecated' : '' } ">
183+ < div class ="tr ${ isExpanded ? 'expanded' : 'collapsed' } array ${ nullClass } " title ="${ node . deprecated ? 'Deprecated' : '' } ">
182184 < div class ="td key ${ node . deprecated ? 'deprecated' : '' } " style ="min-width:${ minFieldColWidth } px ">
183185 ${ deprecatedIcon }
184186 ${ node . name ? html `< span class ="key-label " title ="${ readWriteTip } "> ${ node . name } ${ node . required ? html `< span style ="color:var(--red) "> *</ span > ` : '' } ${ readWriteBadge } :</ span > ` : '' }
185- < span class ="open-bracket array "> [ ]</ span >
187+ < span class ="open-bracket array "> ${ nullMarker } [ ]</ span >
186188 </ div >
187189 < div class ="td key-descr m-markdown-small "> ${ unsafeHTML ( sanitizeHTML ( marked ( node . description || '' ) ) ) } </ div >
188190 </ div >
@@ -222,11 +224,11 @@ export default class SchemaTree extends LitElement {
222224 ` ;
223225
224226 return html `
225- < div class ="tr primitive " title ="${ node . deprecated || items . deprecated ? 'Deprecated' : '' } ">
227+ < div class ="tr primitive ${ nullClass } " title ="${ node . deprecated || items . deprecated ? 'Deprecated' : '' } ">
226228 < div class ="td key ${ node . deprecated || items . deprecated ? 'deprecated' : '' } " style ="min-width:${ minFieldColWidth } px ">
227229 ${ deprecatedIcon }
228230 ${ node . name ? html `< span class ="key-label " title ="${ readWriteTip } "> ${ node . name } ${ node . required ? html `< span style ="color:var(--red) "> *</ span > ` : '' } :</ span > ` : '' }
229- < span class ="${ dataTypeCss } " title ="${ readWriteTip } "> [${ itemType } ]${ readWriteBadge } </ span >
231+ < span class ="${ dataTypeCss } " title ="${ readWriteTip } "> ${ nullMarker } [${ itemType } ]${ readWriteBadge } </ span >
230232 </ div >
231233 < div class ="td key-descr ">
232234 ${
@@ -245,7 +247,7 @@ export default class SchemaTree extends LitElement {
245247 // If array of objects
246248 if ( items . kind === 'object' ) {
247249 const openBracket = html `< span class ="open-bracket array-of-object "
248- > < span class ="open-bracket-expanded "> [{</ span > < span class ="open-bracket-collapsed "> [{...}]</ span > </ span
250+ > ${ nullMarker } < span class ="open-bracket-expanded "> [{</ span > < span class ="open-bracket-collapsed "> [{...}]</ span > </ span
249251 > ` ;
250252 const closeBracket = '}]' ;
251253
@@ -256,7 +258,7 @@ export default class SchemaTree extends LitElement {
256258
257259 return html `
258260 < div
259- class ="tr ${ isExpanded ? 'expanded' : 'collapsed' } object ${ items . nullable ? 'nullable' : '' } "
261+ class ="tr ${ isExpanded ? 'expanded' : 'collapsed' } object ${ nullClass } "
260262 title ="${ node . deprecated || items . deprecated ? 'Deprecated' : '' } "
261263 >
262264 < div class ="td key ${ node . deprecated || items . deprecated ? 'deprecated' : '' } " style ="min-width:${ minFieldColWidth } px ">
@@ -282,7 +284,7 @@ export default class SchemaTree extends LitElement {
282284 if ( items . kind === 'array' ) {
283285 const arrType = node . arrayType !== 'object' ? node . arrayType : '' ;
284286 const openBracket = html `< span class ="open-bracket array-of-array " data-array-type ="${ arrType } "
285- > < span class ="open-bracket-expanded "> [[ ${ arrType } </ span > < span class ="open-bracket-collapsed "> [[...]]</ span > </ span
287+ > ${ nullMarker } < span class ="open-bracket-expanded "> [[ ${ arrType } </ span > < span class ="open-bracket-collapsed "> [[...]]</ span > </ span
286288 > ` ;
287289 const closeBracket = ']]' ;
288290
@@ -293,7 +295,7 @@ export default class SchemaTree extends LitElement {
293295
294296 return html `
295297 < div
296- class ="tr ${ isExpanded ? 'expanded' : 'collapsed' } array ${ node . nullable ? 'nullable' : '' } "
298+ class ="tr ${ isExpanded ? 'expanded' : 'collapsed' } array ${ nullClass } "
297299 title ="${ node . deprecated ? 'Deprecated' : '' } "
298300 >
299301 < div class ="td key ${ node . deprecated ? 'deprecated' : '' } " style ="min-width:${ minFieldColWidth } px ">
@@ -318,12 +320,12 @@ export default class SchemaTree extends LitElement {
318320 ? html `< span class ="descr-expand-toggle ${ this . schemaDescriptionExpanded === 'true' ? 'expanded-descr' : '' } "> ➔</ span > `
319321 : '' ;
320322 return html `
321- < div class ="tr ${ isExpanded ? 'expanded' : 'collapsed' } array " title ="${ node . deprecated ? 'Deprecated' : '' } ">
323+ < div class ="tr ${ isExpanded ? 'expanded' : 'collapsed' } array ${ nullClass } " title ="${ node . deprecated ? 'Deprecated' : '' } ">
322324 < div class ="td key ${ node . deprecated ? 'deprecated' : '' } " style ="min-width:${ minFieldColWidth } px ">
323325 ${ deprecatedIcon }
324326 ${ node . name ? html `< span class ="key-label " title ="${ readWriteTip } "> ${ node . name } ${ node . required ? html `< span style ="color:var(--red) "> *</ span > ` : '' } ${ readWriteBadge } :</ span > ` : '' }
325327 < span class ="open-bracket array "
326- > < span class ="open-bracket-expanded "> [</ span > < span class ="open-bracket-collapsed "> [...]</ span > </ span
328+ > ${ nullMarker } < span class ="open-bracket-expanded "> [</ span > < span class ="open-bracket-collapsed "> [...]</ span > </ span
327329 >
328330 </ div >
329331 < div class ="td key-descr m-markdown-small "> ${ descrExpander } ${ unsafeHTML ( sanitizeHTML ( marked ( node . description || '' ) ) ) } </ div >
@@ -337,8 +339,10 @@ export default class SchemaTree extends LitElement {
337339
338340 // 2. Object kind
339341 if ( node . kind === 'object' ) {
342+ const nullClass = node . nullable ? 'nullable' : '' ;
343+ const nullMarker = node . nullable ? 'null┃' : '' ;
340344 const openBracket = html `< span class ="open-bracket object "
341- > ${ node . nullable ? 'null┃' : '' } < span class ="open-bracket-expanded "> {</ span > < span class ="open-bracket-collapsed "> {...}</ span > </ span
345+ > ${ nullMarker } < span class ="open-bracket-expanded "> {</ span > < span class ="open-bracket-collapsed "> {...}</ span > </ span
342346 > ` ;
343347 const closeBracket = '}' ;
344348
@@ -349,7 +353,7 @@ export default class SchemaTree extends LitElement {
349353
350354 return html `
351355 < div
352- class ="tr ${ isExpanded ? 'expanded' : 'collapsed' } object ${ node . nullable ? 'nullable' : '' } "
356+ class ="tr ${ isExpanded ? 'expanded' : 'collapsed' } object ${ nullClass } "
353357 title ="${ node . deprecated ? 'Deprecated' : '' } "
354358 >
355359 < div class ="td key ${ node . deprecated ? 'deprecated' : '' } " style ="min-width:${ minFieldColWidth } px ">
0 commit comments