be-components 3.6.7 → 3.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/Socket/index.js +45 -0
- package/lib/commonjs/Socket/index.js.map +1 -1
- package/lib/module/Socket/index.js +45 -0
- package/lib/module/Socket/index.js.map +1 -1
- package/lib/typescript/lib/commonjs/Socket/index.d.ts +2 -1
- package/lib/typescript/lib/commonjs/Socket/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/Socket/index.d.ts +2 -1
- package/lib/typescript/lib/module/Socket/index.d.ts.map +1 -1
- package/lib/typescript/src/Socket/index.d.ts +2 -1
- package/lib/typescript/src/Socket/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Socket/index.tsx +40 -4
|
@@ -14,6 +14,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
14
14
|
const SocketManager = ({
|
|
15
15
|
access_token,
|
|
16
16
|
distinct_id,
|
|
17
|
+
group_id,
|
|
17
18
|
onSocketEvent,
|
|
18
19
|
subscribed_events,
|
|
19
20
|
onConnect,
|
|
@@ -22,6 +23,8 @@ const SocketManager = ({
|
|
|
22
23
|
const [visible, setVisible] = (0, _react.useState)(true);
|
|
23
24
|
const [ws, setWs] = (0, _react.useState)();
|
|
24
25
|
const [connected, setConnected] = (0, _react.useState)(false);
|
|
26
|
+
const [authenticated, setAuthenticated] = (0, _react.useState)(false);
|
|
27
|
+
const [active_chat, setActiveChat] = (0, _react.useState)(undefined);
|
|
25
28
|
(0, _react.useEffect)(() => {
|
|
26
29
|
_index.SocketAPI.setEnvironment();
|
|
27
30
|
_reactNative.AppState.addEventListener('change', handleEventChange);
|
|
@@ -29,6 +32,20 @@ const SocketManager = ({
|
|
|
29
32
|
console.log('closed!!!');
|
|
30
33
|
};
|
|
31
34
|
}, []);
|
|
35
|
+
(0, _react.useEffect)(() => {
|
|
36
|
+
if (!authenticated) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (!access_token || !distinct_id) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (group_id) {
|
|
43
|
+
joinChat(access_token, distinct_id, group_id);
|
|
44
|
+
}
|
|
45
|
+
if (!group_id && active_chat) {
|
|
46
|
+
leaveChat(access_token, distinct_id);
|
|
47
|
+
}
|
|
48
|
+
}, [authenticated, group_id]);
|
|
32
49
|
(0, _react.useEffect)(() => {
|
|
33
50
|
if (visible) {
|
|
34
51
|
if (!ws || ws.readyState != 1) {
|
|
@@ -66,6 +83,7 @@ const SocketManager = ({
|
|
|
66
83
|
access_token,
|
|
67
84
|
device_id: distinct_id
|
|
68
85
|
}));
|
|
86
|
+
setAuthenticated(true);
|
|
69
87
|
}
|
|
70
88
|
};
|
|
71
89
|
new_ws.onmessage = body => {
|
|
@@ -90,10 +108,36 @@ const SocketManager = ({
|
|
|
90
108
|
sub.remove();
|
|
91
109
|
}
|
|
92
110
|
setConnected(false);
|
|
111
|
+
setAuthenticated(false);
|
|
112
|
+
setActiveChat(undefined);
|
|
93
113
|
onDisconnect();
|
|
94
114
|
};
|
|
95
115
|
setWs(new_ws);
|
|
96
116
|
};
|
|
117
|
+
const joinChat = (access_token, device_id, group_id) => {
|
|
118
|
+
if (!ws || ws.readyState !== 1) {
|
|
119
|
+
return;
|
|
120
|
+
} //Cannot set authenticate without a connected websocket
|
|
121
|
+
console.log('joining chat!');
|
|
122
|
+
ws.send(JSON.stringify({
|
|
123
|
+
type: 'JOIN_CHAT',
|
|
124
|
+
access_token,
|
|
125
|
+
device_id,
|
|
126
|
+
group_id
|
|
127
|
+
}));
|
|
128
|
+
setActiveChat(group_id);
|
|
129
|
+
};
|
|
130
|
+
const leaveChat = (access_token, device_id) => {
|
|
131
|
+
if (!active_chat) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
ws.send(JSON.stringify({
|
|
135
|
+
type: 'LEAVE_CHAT',
|
|
136
|
+
access_token,
|
|
137
|
+
device_id,
|
|
138
|
+
group_id: active_chat
|
|
139
|
+
}));
|
|
140
|
+
};
|
|
97
141
|
const socketAuthenticate = (access_token, device_id) => {
|
|
98
142
|
if (!ws || ws.readyState !== 1) {
|
|
99
143
|
return;
|
|
@@ -103,6 +147,7 @@ const SocketManager = ({
|
|
|
103
147
|
access_token,
|
|
104
148
|
device_id
|
|
105
149
|
}));
|
|
150
|
+
setAuthenticated(true);
|
|
106
151
|
};
|
|
107
152
|
if (ws && connected) {
|
|
108
153
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_index","require","_react","_interopRequireWildcard","_reactNative","_colors","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SocketManager","access_token","distinct_id","onSocketEvent","subscribed_events","onConnect","onDisconnect","visible","setVisible","useState","ws","setWs","connected","setConnected","useEffect","SocketAPI","setEnvironment","AppState","addEventListener","handleEventChange","console","log","readyState","connectSocket","socketAuthenticate","close","state","new_ws","socketConnect","sub","
|
|
1
|
+
{"version":3,"names":["_index","require","_react","_interopRequireWildcard","_reactNative","_colors","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SocketManager","access_token","distinct_id","group_id","onSocketEvent","subscribed_events","onConnect","onDisconnect","visible","setVisible","useState","ws","setWs","connected","setConnected","authenticated","setAuthenticated","active_chat","setActiveChat","undefined","useEffect","SocketAPI","setEnvironment","AppState","addEventListener","handleEventChange","console","log","joinChat","leaveChat","readyState","connectSocket","socketAuthenticate","close","state","new_ws","socketConnect","sub","onopen","send","JSON","stringify","type","data","Date","toTimeString","device_id","onmessage","body","message","parse","setTimeout","includes","onclose","remove","createElement","Fragment","ActivityIndicator","style","position","bottom","right","size","color","Colors","brand","midnight","_default","exports"],"sourceRoot":"../../../src","sources":["Socket/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ import Colors from '../constants/colors';
|
|
|
5
5
|
const SocketManager = ({
|
|
6
6
|
access_token,
|
|
7
7
|
distinct_id,
|
|
8
|
+
group_id,
|
|
8
9
|
onSocketEvent,
|
|
9
10
|
subscribed_events,
|
|
10
11
|
onConnect,
|
|
@@ -13,6 +14,8 @@ const SocketManager = ({
|
|
|
13
14
|
const [visible, setVisible] = useState(true);
|
|
14
15
|
const [ws, setWs] = useState();
|
|
15
16
|
const [connected, setConnected] = useState(false);
|
|
17
|
+
const [authenticated, setAuthenticated] = useState(false);
|
|
18
|
+
const [active_chat, setActiveChat] = useState(undefined);
|
|
16
19
|
useEffect(() => {
|
|
17
20
|
SocketAPI.setEnvironment();
|
|
18
21
|
AppState.addEventListener('change', handleEventChange);
|
|
@@ -20,6 +23,20 @@ const SocketManager = ({
|
|
|
20
23
|
console.log('closed!!!');
|
|
21
24
|
};
|
|
22
25
|
}, []);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (!authenticated) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (!access_token || !distinct_id) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (group_id) {
|
|
34
|
+
joinChat(access_token, distinct_id, group_id);
|
|
35
|
+
}
|
|
36
|
+
if (!group_id && active_chat) {
|
|
37
|
+
leaveChat(access_token, distinct_id);
|
|
38
|
+
}
|
|
39
|
+
}, [authenticated, group_id]);
|
|
23
40
|
useEffect(() => {
|
|
24
41
|
if (visible) {
|
|
25
42
|
if (!ws || ws.readyState != 1) {
|
|
@@ -57,6 +74,7 @@ const SocketManager = ({
|
|
|
57
74
|
access_token,
|
|
58
75
|
device_id: distinct_id
|
|
59
76
|
}));
|
|
77
|
+
setAuthenticated(true);
|
|
60
78
|
}
|
|
61
79
|
};
|
|
62
80
|
new_ws.onmessage = body => {
|
|
@@ -81,10 +99,36 @@ const SocketManager = ({
|
|
|
81
99
|
sub.remove();
|
|
82
100
|
}
|
|
83
101
|
setConnected(false);
|
|
102
|
+
setAuthenticated(false);
|
|
103
|
+
setActiveChat(undefined);
|
|
84
104
|
onDisconnect();
|
|
85
105
|
};
|
|
86
106
|
setWs(new_ws);
|
|
87
107
|
};
|
|
108
|
+
const joinChat = (access_token, device_id, group_id) => {
|
|
109
|
+
if (!ws || ws.readyState !== 1) {
|
|
110
|
+
return;
|
|
111
|
+
} //Cannot set authenticate without a connected websocket
|
|
112
|
+
console.log('joining chat!');
|
|
113
|
+
ws.send(JSON.stringify({
|
|
114
|
+
type: 'JOIN_CHAT',
|
|
115
|
+
access_token,
|
|
116
|
+
device_id,
|
|
117
|
+
group_id
|
|
118
|
+
}));
|
|
119
|
+
setActiveChat(group_id);
|
|
120
|
+
};
|
|
121
|
+
const leaveChat = (access_token, device_id) => {
|
|
122
|
+
if (!active_chat) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
ws.send(JSON.stringify({
|
|
126
|
+
type: 'LEAVE_CHAT',
|
|
127
|
+
access_token,
|
|
128
|
+
device_id,
|
|
129
|
+
group_id: active_chat
|
|
130
|
+
}));
|
|
131
|
+
};
|
|
88
132
|
const socketAuthenticate = (access_token, device_id) => {
|
|
89
133
|
if (!ws || ws.readyState !== 1) {
|
|
90
134
|
return;
|
|
@@ -94,6 +138,7 @@ const SocketManager = ({
|
|
|
94
138
|
access_token,
|
|
95
139
|
device_id
|
|
96
140
|
}));
|
|
141
|
+
setAuthenticated(true);
|
|
97
142
|
};
|
|
98
143
|
if (ws && connected) {
|
|
99
144
|
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SocketAPI","React","useEffect","useState","AppState","ActivityIndicator","Colors","SocketManager","access_token","distinct_id","onSocketEvent","subscribed_events","onConnect","onDisconnect","visible","setVisible","ws","setWs","connected","setConnected","setEnvironment","addEventListener","handleEventChange","console","log","readyState","connectSocket","socketAuthenticate","close","state","new_ws","socketConnect","sub","
|
|
1
|
+
{"version":3,"names":["SocketAPI","React","useEffect","useState","AppState","ActivityIndicator","Colors","SocketManager","access_token","distinct_id","group_id","onSocketEvent","subscribed_events","onConnect","onDisconnect","visible","setVisible","ws","setWs","connected","setConnected","authenticated","setAuthenticated","active_chat","setActiveChat","undefined","setEnvironment","addEventListener","handleEventChange","console","log","joinChat","leaveChat","readyState","connectSocket","socketAuthenticate","close","state","new_ws","socketConnect","sub","onopen","send","JSON","stringify","type","data","Date","toTimeString","device_id","onmessage","body","message","parse","setTimeout","includes","onclose","remove","createElement","Fragment","style","position","bottom","right","size","color","brand","midnight"],"sourceRoot":"../../../src","sources":["Socket/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export const __esModule: boolean;
|
|
2
2
|
export default SocketManager;
|
|
3
|
-
declare function SocketManager({ access_token, distinct_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }: {
|
|
3
|
+
declare function SocketManager({ access_token, distinct_id, group_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }: {
|
|
4
4
|
access_token: any;
|
|
5
5
|
distinct_id: any;
|
|
6
|
+
group_id: any;
|
|
6
7
|
onSocketEvent: any;
|
|
7
8
|
subscribed_events: any;
|
|
8
9
|
onConnect: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commonjs/Socket/index.js"],"names":[],"mappings":";;AAaA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commonjs/Socket/index.js"],"names":[],"mappings":";;AAaA;;;;;;;;QAsJC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export default SocketManager;
|
|
2
|
-
declare function SocketManager({ access_token, distinct_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }: {
|
|
2
|
+
declare function SocketManager({ access_token, distinct_id, group_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }: {
|
|
3
3
|
access_token: any;
|
|
4
4
|
distinct_id: any;
|
|
5
|
+
group_id: any;
|
|
5
6
|
onSocketEvent: any;
|
|
6
7
|
subscribed_events: any;
|
|
7
8
|
onConnect: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../module/Socket/index.js"],"names":[],"mappings":";AAIA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../module/Socket/index.js"],"names":[],"mappings":";AAIA;;;;;;;;;;sFAsJC;kBAzJ0C,OAAO;kCACN,cAAc"}
|
|
@@ -4,9 +4,10 @@ type SocketManagerProps = {
|
|
|
4
4
|
distinct_id?: string;
|
|
5
5
|
onConnect: () => void;
|
|
6
6
|
onDisconnect: () => void;
|
|
7
|
+
group_id?: string;
|
|
7
8
|
onSocketEvent: (event: any) => void;
|
|
8
9
|
subscribed_events: string[];
|
|
9
10
|
};
|
|
10
|
-
declare const SocketManager: ({ access_token, distinct_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }: SocketManagerProps) => React.JSX.Element;
|
|
11
|
+
declare const SocketManager: ({ access_token, distinct_id, group_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }: SocketManagerProps) => React.JSX.Element;
|
|
11
12
|
export default SocketManager;
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Socket/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAIlD,KAAK,kBAAkB,GAAG;IACtB,YAAY,CAAC,EAAC,MAAM,CAAC;IACrB,WAAW,CAAC,EAAC,MAAM,CAAC;IACpB,SAAS,EAAC,MAAM,IAAI,CAAC;IACrB,YAAY,EAAC,MAAM,IAAI,CAAC;IACxB,aAAa,EAAC,CAAC,KAAK,EAAC,GAAG,KAAK,IAAI,CAAC;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAC9B,CAAA;AAED,QAAA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Socket/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAIlD,KAAK,kBAAkB,GAAG;IACtB,YAAY,CAAC,EAAC,MAAM,CAAC;IACrB,WAAW,CAAC,EAAC,MAAM,CAAC;IACpB,SAAS,EAAC,MAAM,IAAI,CAAC;IACrB,YAAY,EAAC,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAC,MAAM,CAAC;IACjB,aAAa,EAAC,CAAC,KAAK,EAAC,GAAG,KAAK,IAAI,CAAC;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAC9B,CAAA;AAED,QAAA,MAAM,aAAa,uGAAuG,kBAAkB,sBAoH3I,CAAA;AAED,eAAe,aAAa,CAAA"}
|
package/package.json
CHANGED
package/src/Socket/index.tsx
CHANGED
|
@@ -8,14 +8,17 @@ type SocketManagerProps = {
|
|
|
8
8
|
distinct_id?:string,
|
|
9
9
|
onConnect:() => void,
|
|
10
10
|
onDisconnect:() => void,
|
|
11
|
+
group_id?:string,
|
|
11
12
|
onSocketEvent:(event:any) => void,
|
|
12
13
|
subscribed_events: string[]
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
const SocketManager = ({ access_token, distinct_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }:SocketManagerProps) => {
|
|
16
|
+
const SocketManager = ({ access_token, distinct_id, group_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }:SocketManagerProps) => {
|
|
16
17
|
const [ visible, setVisible ] = useState(true);
|
|
17
18
|
const [ ws, setWs ] = useState<any>();
|
|
18
19
|
const [ connected, setConnected ] = useState(false);
|
|
20
|
+
const [ authenticated, setAuthenticated ] = useState(false);
|
|
21
|
+
const [ active_chat, setActiveChat ] = useState<string|undefined>(undefined);
|
|
19
22
|
|
|
20
23
|
useEffect(() => {
|
|
21
24
|
SocketAPI.setEnvironment();
|
|
@@ -23,7 +26,14 @@ const SocketManager = ({ access_token, distinct_id, onSocketEvent, subscribed_ev
|
|
|
23
26
|
return () => {
|
|
24
27
|
console.log('closed!!!')
|
|
25
28
|
}
|
|
26
|
-
},[])
|
|
29
|
+
},[]);
|
|
30
|
+
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if(!authenticated){ return }
|
|
33
|
+
if(!access_token || !distinct_id){ return }
|
|
34
|
+
if(group_id){ joinChat(access_token, distinct_id, group_id) }
|
|
35
|
+
if(!group_id && active_chat){ leaveChat(access_token, distinct_id) }
|
|
36
|
+
},[authenticated, group_id])
|
|
27
37
|
|
|
28
38
|
useEffect(() => {
|
|
29
39
|
|
|
@@ -56,7 +66,8 @@ const SocketManager = ({ access_token, distinct_id, onSocketEvent, subscribed_ev
|
|
|
56
66
|
type: 'AUTHENTICATE',
|
|
57
67
|
access_token,
|
|
58
68
|
device_id: distinct_id
|
|
59
|
-
}))
|
|
69
|
+
}));
|
|
70
|
+
setAuthenticated(true);
|
|
60
71
|
}
|
|
61
72
|
}
|
|
62
73
|
|
|
@@ -74,12 +85,36 @@ const SocketManager = ({ access_token, distinct_id, onSocketEvent, subscribed_ev
|
|
|
74
85
|
new_ws.onclose = () => {
|
|
75
86
|
//setWs(undefined);
|
|
76
87
|
if(sub){ sub.remove() }
|
|
77
|
-
setConnected(false)
|
|
88
|
+
setConnected(false);
|
|
89
|
+
setAuthenticated(false);
|
|
90
|
+
setActiveChat(undefined);
|
|
78
91
|
onDisconnect();
|
|
79
92
|
}
|
|
80
93
|
setWs(new_ws);
|
|
81
94
|
}
|
|
82
95
|
|
|
96
|
+
const joinChat = (access_token:string, device_id:string, group_id:string) => {
|
|
97
|
+
if(!ws || ws.readyState !== 1){ return } //Cannot set authenticate without a connected websocket
|
|
98
|
+
console.log('joining chat!')
|
|
99
|
+
ws.send(JSON.stringify({
|
|
100
|
+
type: 'JOIN_CHAT',
|
|
101
|
+
access_token,
|
|
102
|
+
device_id,
|
|
103
|
+
group_id
|
|
104
|
+
}));
|
|
105
|
+
setActiveChat(group_id);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const leaveChat = (access_token:string, device_id: string) => {
|
|
109
|
+
if(!active_chat){ return }
|
|
110
|
+
ws.send(JSON.stringify({
|
|
111
|
+
type: 'LEAVE_CHAT',
|
|
112
|
+
access_token,
|
|
113
|
+
device_id,
|
|
114
|
+
group_id: active_chat
|
|
115
|
+
}))
|
|
116
|
+
}
|
|
117
|
+
|
|
83
118
|
const socketAuthenticate = (access_token:string, device_id:string) => {
|
|
84
119
|
if(!ws || ws.readyState !== 1){ return } //Cannot set authenticate without a connected websocket
|
|
85
120
|
ws.send(JSON.stringify({
|
|
@@ -87,6 +122,7 @@ const SocketManager = ({ access_token, distinct_id, onSocketEvent, subscribed_ev
|
|
|
87
122
|
access_token,
|
|
88
123
|
device_id
|
|
89
124
|
}))
|
|
125
|
+
setAuthenticated(true);
|
|
90
126
|
}
|
|
91
127
|
if(ws && connected){ return <></> }
|
|
92
128
|
return (
|