@@ -10,7 +10,6 @@ import {
10
10
DEFAULT_MAX_BUFFER_SIZE ,
11
11
} from "./index" ;
12
12
import {
13
- ArrayPrimitive ,
14
13
isInteger ,
15
14
timestampToMicros ,
16
15
timestampToNanos ,
@@ -27,8 +26,8 @@ const DEFAULT_MAX_NAME_LENGTH = 127;
27
26
abstract class SenderBufferBase implements SenderBuffer {
28
27
private bufferSize : number ;
29
28
private readonly maxBufferSize : number ;
30
- private buffer : Buffer < ArrayBuffer > ;
31
- private position : number ;
29
+ protected buffer : Buffer < ArrayBuffer > ;
30
+ protected position : number ;
32
31
private endOfLastRow : number ;
33
32
34
33
private hasTable : boolean ;
@@ -398,43 +397,6 @@ abstract class SenderBufferBase implements SenderBuffer {
398
397
this . position = this . buffer . writeDoubleLE ( data , this . position ) ;
399
398
}
400
399
401
- protected writeArray (
402
- arr : unknown [ ] ,
403
- dimensions : number [ ] ,
404
- type : ArrayPrimitive ,
405
- ) {
406
- this . checkCapacity ( [ ] , 1 + dimensions . length * 4 ) ;
407
- this . writeByte ( dimensions . length ) ;
408
- for ( let i = 0 ; i < dimensions . length ; i ++ ) {
409
- this . writeInt ( dimensions [ i ] ) ;
410
- }
411
-
412
- this . checkCapacity ( [ ] , SenderBufferBase . arraySize ( dimensions , type ) ) ;
413
- this . writeArrayValues ( arr , dimensions ) ;
414
- }
415
-
416
- private writeArrayValues ( arr : unknown [ ] , dimensions : number [ ] ) {
417
- if ( Array . isArray ( arr [ 0 ] ) ) {
418
- for ( let i = 0 ; i < arr . length ; i ++ ) {
419
- this . writeArrayValues ( arr [ i ] as unknown [ ] , dimensions ) ;
420
- }
421
- } else {
422
- const type = typeof arr [ 0 ] ;
423
- switch ( type ) {
424
- case "number" :
425
- for ( let i = 0 ; i < arr . length ; i ++ ) {
426
- this . position = this . buffer . writeDoubleLE (
427
- arr [ i ] as number ,
428
- this . position ,
429
- ) ;
430
- }
431
- break ;
432
- default :
433
- throw new Error ( `Unsupported array type [type=${ type } ]` ) ;
434
- }
435
- }
436
- }
437
-
438
400
private writeEscaped ( data : string , quoted = false ) {
439
401
for ( const ch of data ) {
440
402
if ( ch > "\\" ) {
@@ -471,25 +433,6 @@ abstract class SenderBufferBase implements SenderBuffer {
471
433
}
472
434
}
473
435
}
474
-
475
- private static arraySize ( dimensions : number [ ] , type : ArrayPrimitive ) : number {
476
- let numOfElements = 1 ;
477
- for ( let i = 0 ; i < dimensions . length ; i ++ ) {
478
- numOfElements *= dimensions [ i ] ;
479
- }
480
-
481
- switch ( type ) {
482
- case "number" :
483
- return numOfElements * 8 ;
484
- case "boolean" :
485
- return numOfElements ;
486
- case "string" :
487
- // in case of string[] capacity check is done separately for each array element
488
- return 0 ;
489
- default :
490
- throw new Error ( `Unsupported array type [type=${ type } ]` ) ;
491
- }
492
- }
493
436
}
494
437
495
438
export { SenderBufferBase } ;
0 commit comments