28 lines
No EOL
465 B
TypeScript
28 lines
No EOL
465 B
TypeScript
"use client"
|
|
|
|
import { io, Socket } from "socket.io-client"
|
|
|
|
let socket: Socket | null = null
|
|
|
|
export const getSocket = (): Socket => {
|
|
if (!socket) {
|
|
socket = io(undefined, {
|
|
autoConnect: false,
|
|
})
|
|
}
|
|
return socket
|
|
}
|
|
|
|
export const connectSocket = (): Socket => {
|
|
const s = getSocket()
|
|
if (!s.connected) {
|
|
s.connect()
|
|
}
|
|
return s
|
|
}
|
|
|
|
export const disconnectSocket = (): void => {
|
|
if (socket?.connected) {
|
|
socket.disconnect()
|
|
}
|
|
} |