@@ -11,38 +11,65 @@ const STATE = {
1111} ;
1212
1313export default class TcpSocket {
14+ /**
15+ * Initialices a TcpSocket.
16+ *
17+ * @param {Number } id
18+ * @param {import('react-native').NativeEventEmitter } eventEmitter
19+ */
1420 constructor ( id , eventEmitter ) {
1521 this . _id = id ;
1622 this . _eventEmitter = eventEmitter ;
1723 this . _state = STATE . DISCONNECTED ;
1824 }
1925
20- on ( event , callback ) {
26+ /**
27+ * Adds a listener to be invoked when events of the specified type are emitted by the `TcpSocket`.
28+ * An optional calling `context` may be provided.
29+ * The data arguments emitted will be passed to the listener callback.
30+ *
31+ * @param {string } event Name of the event to listen to
32+ * @param {function(object): void } callback Function to invoke when the specified event is emitted
33+ * @param {any } [context] Optional context object to use when invoking the listener
34+ * @returns {import('react-native').NativeEventSubscription }
35+ */
36+ on ( event , callback , context ) {
2137 switch ( event ) {
2238 case 'data' :
23- this . _eventEmitter . addListener ( 'data' , ( evt ) => {
24- if ( evt . id !== this . _id ) return ;
25- const bufferTest = Buffer . from ( evt . data , 'base64' ) ;
26- callback ( bufferTest ) ;
27- } ) ;
28- break ;
39+ return this . _eventEmitter . addListener (
40+ 'data' ,
41+ ( evt ) => {
42+ if ( evt . id !== this . _id ) return ;
43+ const bufferTest = Buffer . from ( evt . data , 'base64' ) ;
44+ callback ( bufferTest ) ;
45+ } ,
46+ context
47+ ) ;
2948 case 'error' :
30- this . _eventEmitter . addListener ( 'error' , ( evt ) => {
31- if ( evt . id !== this . _id ) return ;
32- callback ( evt . error ) ;
33- } ) ;
34- break ;
49+ return this . _eventEmitter . addListener (
50+ 'error' ,
51+ ( evt ) => {
52+ if ( evt . id !== this . _id ) return ;
53+ callback ( evt . error ) ;
54+ } ,
55+ context
56+ ) ;
3557 default :
36- this . _eventEmitter . addListener ( event , ( evt ) => {
37- if ( evt . id !== this . _id ) return ;
38- callback ( ) ;
39- } ) ;
40- break ;
58+ return this . _eventEmitter . addListener (
59+ event ,
60+ ( evt ) => {
61+ if ( evt . id !== this . _id ) return ;
62+ callback ( ) ;
63+ } ,
64+ context
65+ ) ;
4166 }
4267 }
4368
44- off ( event , callback ) {
45- this . _eventEmitter . removeListener ( event , callback ) ;
69+ off ( ) {
70+ console . warn (
71+ 'TCPSocket.off() is deprecated and produces no effect, please use the listener remove() method instead.'
72+ ) ;
4673 }
4774
4875 connect ( options , callback ) {
0 commit comments