@@ -43,7 +43,7 @@ const measurePage = (
4343 let signature
4444
4545 while ( rowIdx < result . table . length ) {
46- if ( result . table . columns . table . data [ rowIdx ] !== currentTable ) {
46+ if ( result . table . columns ? .table ? .data ?. [ rowIdx ] !== currentTable ) {
4747 signature = Object . values ( result . table . columns )
4848 . map (
4949 c =>
@@ -67,7 +67,7 @@ const measurePage = (
6767 lastSignature = signature
6868 }
6969
70- currentTable = result . table . columns . table . data [ rowIdx ]
70+ currentTable = result . table . columns ? .table ? .data ?. [ rowIdx ]
7171
7272 continue
7373 }
@@ -110,26 +110,28 @@ const subsetResult = (
110110 } , { } )
111111
112112 const tables : SubsetTable [ ] = [ ]
113- let lastTable
113+ let lastTable = ''
114114
115115 // group by table id (series)
116116 for ( let ni = 0 ; ni < size ; ni ++ ) {
117117 if (
118- `y${ subset [ 'result' ] [ 0 ] . data [ ni ] } :t${ subset [ 'table' ] [ 0 ] . data [ ni ] } ` ===
118+ `y${ subset [ 'result' ] ?. [ 0 ] ? .data ?. [ ni ] } :t${ subset [ 'table' ] ?. [ 0 ] ? .data ?. [ ni ] } ` ===
119119 lastTable
120120 ) {
121121 continue
122122 }
123123
124- lastTable = `y${ subset [ 'result' ] [ 0 ] . data [ ni ] } :t${ subset [ 'table' ] [ 0 ] . data [ ni ] } `
124+ if ( subset [ 'result' ] ?. [ 0 ] ?. data ?. [ ni ] && subset [ 'table' ] ?. [ 0 ] ?. data ?. [ ni ] ) {
125+ lastTable = `y${ subset [ 'result' ] [ 0 ] . data [ ni ] } :t${ subset [ 'table' ] [ 0 ] . data [ ni ] } `
126+ }
125127
126128 if ( tables . length ) {
127129 tables [ tables . length - 1 ] . end = ni
128130 }
129131
130132 tables . push ( {
131- idx : subset [ 'table' ] [ 0 ] . data [ ni ] ,
132- yield : subset [ 'result' ] [ 0 ] . data [ ni ] ,
133+ idx : subset [ 'table' ] ?. [ 0 ] ? .data ?. [ ni ] ?? - 1 ,
134+ yield : subset [ 'result' ] ?. [ 0 ] ? .data ?. [ ni ] ?? '' ,
133135 cols : [ ] ,
134136 signature : '' ,
135137 start : ni ,
@@ -269,7 +271,7 @@ const PagedTable: FC<Props> = ({result, properties}) => {
269271 clearTimeout ( timeout )
270272 }
271273 }
272- } , [ ref ?. current ] )
274+ } , [ ] ) // eslint-disable-line react-hooks/exhaustive-deps
273275
274276 const size = useMemo ( ( ) => {
275277 return measurePage ( result , offset , height )
0 commit comments