@@ -578,7 +578,7 @@ export default createRule<Options, MessageIds>({
578
578
* @param offset The amount that the elements should be offset
579
579
*/
580
580
function addElementListIndent (
581
- elements : TSESTree . Node [ ] ,
581
+ elements : ( TSESTree . Node | null ) [ ] ,
582
582
startToken : TSESTree . Token ,
583
583
endToken : TSESTree . Token ,
584
584
offset : number | string ,
@@ -606,7 +606,8 @@ export default createRule<Options, MessageIds>({
606
606
offsets . setDesiredOffset ( endToken , startToken , 0 ) ;
607
607
608
608
// If the preference is "first" but there is no first element (e.g. sparse arrays w/ empty first slot), fall back to 1 level.
609
- if ( offset === 'first' && elements . length && ! elements [ 0 ] ) {
609
+ const firstElement = elements [ 0 ] ;
610
+ if ( offset === 'first' && elements . length && ! firstElement ) {
610
611
return ;
611
612
}
612
613
elements . forEach ( ( element , index ) => {
@@ -628,7 +629,7 @@ export default createRule<Options, MessageIds>({
628
629
tokenInfo . isFirstTokenOfLine ( getFirstToken ( element ) )
629
630
) {
630
631
offsets . matchOffsetOf (
631
- getFirstToken ( elements [ 0 ] ) ,
632
+ getFirstToken ( firstElement ! ) ,
632
633
getFirstToken ( element ) ,
633
634
) ;
634
635
} else {
@@ -640,6 +641,7 @@ export default createRule<Options, MessageIds>({
640
641
641
642
if (
642
643
previousElement &&
644
+ previousElementLastToken &&
643
645
previousElementLastToken . loc . end . line -
644
646
countTrailingLinebreaks ( previousElementLastToken . value ) >
645
647
startToken . loc . end . line
@@ -854,7 +856,7 @@ export default createRule<Options, MessageIds>({
854
856
) {
855
857
const openingBracket = sourceCode . getFirstToken ( node ) ! ;
856
858
const closingBracket = sourceCode . getTokenAfter (
857
- node . elements [ node . elements . length - 1 ] || openingBracket ,
859
+ node . elements [ node . elements . length - 1 ] ?? openingBracket ,
858
860
isClosingBracketToken ,
859
861
) ! ;
860
862
0 commit comments