Skip to content

Commit 004d160

Browse files
authored
TS: fix socket/transport types (versatica#790)
* TS: fix socket/transport types Fixes versatica#743. * Create Socket type definitions. * Fix ondisconnect definition for Socket (previously defined in WebsocketInterface). * Create missing definitions for UA connection events. * Update CHANGELOG
1 parent c92746b commit 004d160

File tree

5 files changed

+47
-41
lines changed

5 files changed

+47
-41
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
CHANGELOG
22
=========
33

4+
### NEXT RELEASE
5+
6+
* TS: fix socket/transport types (#790).
7+
8+
49
### 3.10.0
510

611
* Fix typescript typings (#648).

lib/Socket.d.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
export interface WeightedSocket {
2+
socket: Socket;
3+
weight: number
4+
}
5+
6+
export class Socket {
7+
get via_transport(): string;
8+
set via_transport(value: string);
9+
10+
get url(): string;
11+
12+
get sip_uri(): string;
13+
14+
connect(): void;
15+
16+
disconnect(): void;
17+
18+
send(message: string | ArrayBufferLike | Blob | ArrayBufferView): boolean;
19+
20+
isConnected(): boolean;
21+
22+
isConnecting(): boolean;
23+
24+
onconnect(): void;
25+
26+
ondisconnect(error: boolean, code?: number, reason?: string): void;
27+
28+
ondata<T>(event: T): void;
29+
}

lib/Transport.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Socket} from './WebSocketInterface'
1+
import {Socket} from './Socket'
22

33
export interface RecoveryOptions {
44
min_interval: number;

lib/UA.d.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {EventEmitter, Listener} from 'events'
22

3-
import {DisconnectEvent, Socket, WeightedSocket} from './WebSocketInterface'
3+
import {Socket, WeightedSocket} from './Socket'
44
import {AnswerOptions, Originator, RTCSession, RTCSessionEventMap, TerminateOptions} from './RTCSession'
55
import {IncomingRequest, IncomingResponse, OutgoingRequest} from './SIPMessage'
66
import {Message, SendMessageOptions} from './Message'
@@ -60,7 +60,7 @@ export interface OutgoingRTCSessionEvent {
6060

6161
export type RTCSessionEvent = IncomingRTCSessionEvent | OutgoingRTCSessionEvent;
6262

63-
export interface UAConnectingEvent {
63+
export interface ConnectingEvent {
6464
socket: Socket;
6565
attempts: number
6666
}
@@ -69,6 +69,13 @@ export interface ConnectedEvent {
6969
socket: Socket;
7070
}
7171

72+
export interface DisconnectEvent {
73+
socket: Socket;
74+
error: boolean;
75+
code?: number;
76+
reason?: string;
77+
}
78+
7279
export interface RegisteredEvent {
7380
response: IncomingResponse;
7481
}
@@ -100,7 +107,7 @@ export interface OutgoingOptionsEvent {
100107
request: OutgoingRequest;
101108
}
102109

103-
export type UAConnectingListener = (event: UAConnectingEvent) => void;
110+
export type ConnectingListener = (event: ConnectingEvent) => void;
104111
export type ConnectedListener = (event: ConnectedEvent) => void;
105112
export type DisconnectedListener = (event: DisconnectEvent) => void;
106113
export type RegisteredListener = (event: RegisteredEvent) => void;
@@ -118,7 +125,7 @@ export type OptionsListener = IncomingOptionsListener | OutgoingOptionsListener;
118125
export type SipEventListener = <T = any>(event: { event: T; request: IncomingRequest; }) => void
119126

120127
export interface UAEventMap {
121-
connecting: UAConnectingListener;
128+
connecting: ConnectingListener;
122129
connected: ConnectedListener;
123130
disconnected: DisconnectedListener;
124131
registered: RegisteredListener;

lib/WebSocketInterface.d.ts

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,4 @@
1-
export interface DisconnectEvent {
2-
socket: Socket;
3-
error: boolean;
4-
code?: number;
5-
reason?: string;
6-
}
7-
8-
export interface WeightedSocket {
9-
socket: Socket;
10-
weight: number
11-
}
12-
13-
export class Socket {
14-
get via_transport(): string;
15-
set via_transport(value: string);
16-
17-
get url(): string;
18-
19-
get sip_uri(): string;
20-
21-
connect(): void;
22-
23-
disconnect(): void;
24-
25-
send(message: string | ArrayBufferLike | Blob | ArrayBufferView): boolean;
26-
27-
isConnected(): boolean;
28-
29-
isConnecting(): boolean;
30-
31-
onconnect(): void;
32-
33-
ondisconnect(event: DisconnectEvent): void;
34-
35-
ondata<T>(event: T): void;
36-
}
1+
import { Socket } from './Socket';
372

383
export class WebSocketInterface extends Socket {
394
constructor(url: string)

0 commit comments

Comments
 (0)