| 27 | private onEvent: OnClientEvent; |
| 28 | |
| 29 | constructor({ |
| 30 | network = Network.MAINNET, |
| 31 | token, |
| 32 | apiUrl, |
| 33 | connectOptions, |
| 34 | logLevel = LogLevel.INFO, |
| 35 | onError = (error) => this.error(error), |
| 36 | onEvent = () => true |
| 37 | }: ClientConfig) { |
| 38 | const endpoint = apiUrl || ENDPOINTS[network]; |
| 39 | const webTransportDefault = |
| 40 | typeof window !== 'undefined' ? window.WebSocket : undefined; |
| 41 | this.socket = new Socket(endpoint, { |
| 42 | params: { token }, |
| 43 | transport: webTransportDefault, |
| 44 | ...connectOptions |
| 45 | }); |
| 46 | |
| 47 | this.socket.onError(onError); |
| 48 | this.channels = new Map<string, Channel>(); |
| 49 | this.logLevel = logLevel; |
| 50 | this.onEvent = onEvent; |
| 51 | } |
| 52 | |
| 53 | private debug(message: unknown) { |
| 54 | if (this.logLevel <= LogLevel.DEBUG) { |