@@ -231,22 +231,26 @@ interface SocketReservedEvents {
231
231
handshake : ( data : HandshakeData ) => void ;
232
232
packet : ( packet : Packet ) => void ;
233
233
packetCreate : ( packet : Packet ) => void ;
234
- data : ( data ) => void ;
235
- message : ( data ) => void ;
234
+ data : ( data : RawData ) => void ;
235
+ message : ( data : RawData ) => void ;
236
236
drain : ( ) => void ;
237
237
flush : ( ) => void ;
238
238
heartbeat : ( ) => void ;
239
239
ping : ( ) => void ;
240
240
pong : ( ) => void ;
241
241
error : ( err : string | Error ) => void ;
242
- upgrading : ( transport ) => void ;
243
- upgrade : ( transport ) => void ;
242
+ upgrading : ( transport : Transport ) => void ;
243
+ upgrade : ( transport : Transport ) => void ;
244
244
upgradeError : ( err : Error ) => void ;
245
245
close : ( reason : string , description ?: CloseDetails | Error ) => void ;
246
246
}
247
247
248
248
type SocketState = "opening" | "open" | "closing" | "closed" ;
249
249
250
+ interface WriteOptions {
251
+ compress ?: boolean ;
252
+ }
253
+
250
254
export class Socket extends Emitter <
251
255
Record < never , never > ,
252
256
Record < never , never > ,
@@ -407,7 +411,7 @@ export class Socket extends Emitter<
407
411
* @return {Transport }
408
412
* @private
409
413
*/
410
- private createTransport ( name ) {
414
+ private createTransport ( name : string ) {
411
415
debug ( 'creating transport "%s"' , name ) ;
412
416
const query : any = Object . assign ( { } , this . opts . query ) ;
413
417
@@ -481,7 +485,7 @@ export class Socket extends Emitter<
481
485
*
482
486
* @private
483
487
*/
484
- private setTransport ( transport ) {
488
+ private setTransport ( transport : Transport ) {
485
489
debug ( "setting transport %s" , transport . name ) ;
486
490
487
491
if ( this . transport ) {
@@ -506,7 +510,7 @@ export class Socket extends Emitter<
506
510
* @param {String } name - transport name
507
511
* @private
508
512
*/
509
- private probe ( name ) {
513
+ private probe ( name : string ) {
510
514
debug ( 'probing transport "%s"' , name ) ;
511
515
let transport = this . createTransport ( name ) ;
512
516
let failed = false ;
@@ -654,7 +658,7 @@ export class Socket extends Emitter<
654
658
*
655
659
* @private
656
660
*/
657
- private onPacket ( packet ) {
661
+ private onPacket ( packet : Packet ) {
658
662
if (
659
663
"opening" === this . readyState ||
660
664
"open" === this . readyState ||
@@ -808,15 +812,23 @@ export class Socket extends Emitter<
808
812
*
809
813
* @param {String } msg - message.
810
814
* @param {Object } options.
811
- * @param {Function } callback function.
815
+ * @param {Function } fn - callback function.
812
816
* @return {Socket } for chaining.
813
817
*/
814
- public write ( msg : RawData , options ?, fn ?) {
818
+ public write ( msg : RawData , options ?: WriteOptions , fn ?: ( ) => void ) {
815
819
this . sendPacket ( "message" , msg , options , fn ) ;
816
820
return this ;
817
821
}
818
822
819
- public send ( msg : RawData , options ?, fn ?) {
823
+ /**
824
+ * Sends a message. Alias of {@link Socket#write}.
825
+ *
826
+ * @param {String } msg - message.
827
+ * @param {Object } options.
828
+ * @param {Function } fn - callback function.
829
+ * @return {Socket } for chaining.
830
+ */
831
+ public send ( msg : RawData , options ?: WriteOptions , fn ?: ( ) => void ) {
820
832
this . sendPacket ( "message" , msg , options , fn ) ;
821
833
return this ;
822
834
}
@@ -830,7 +842,12 @@ export class Socket extends Emitter<
830
842
* @param {Function } fn - callback function.
831
843
* @private
832
844
*/
833
- private sendPacket ( type : PacketType , data ?: RawData , options ?, fn ?) {
845
+ private sendPacket (
846
+ type : PacketType ,
847
+ data ?: RawData ,
848
+ options ?: WriteOptions ,
849
+ fn ?: ( ) => void
850
+ ) {
834
851
if ( "function" === typeof data ) {
835
852
fn = data ;
836
853
data = undefined ;
@@ -851,7 +868,7 @@ export class Socket extends Emitter<
851
868
const packet = {
852
869
type : type ,
853
870
data : data ,
854
- options : options ,
871
+ options : options as { compress : boolean } ,
855
872
} ;
856
873
this . emitReserved ( "packetCreate" , packet ) ;
857
874
this . writeBuffer . push ( packet ) ;
@@ -907,7 +924,7 @@ export class Socket extends Emitter<
907
924
*
908
925
* @private
909
926
*/
910
- private onError ( err ) {
927
+ private onError ( err : Error ) {
911
928
debug ( "socket error %j" , err ) ;
912
929
Socket . priorWebsocketSuccess = false ;
913
930
this . emitReserved ( "error" , err ) ;
@@ -970,11 +987,9 @@ export class Socket extends Emitter<
970
987
* @param {Array } upgrades - server upgrades
971
988
* @private
972
989
*/
973
- private filterUpgrades ( upgrades ) {
990
+ private filterUpgrades ( upgrades : string [ ] ) {
974
991
const filteredUpgrades = [ ] ;
975
- let i = 0 ;
976
- const j = upgrades . length ;
977
- for ( ; i < j ; i ++ ) {
992
+ for ( let i = 0 ; i < upgrades . length ; i ++ ) {
978
993
if ( ~ this . transports . indexOf ( upgrades [ i ] ) )
979
994
filteredUpgrades . push ( upgrades [ i ] ) ;
980
995
}
0 commit comments