/
githubmirror
/
nest
Обзор
Документация
Войти
/
githubmirror
/
nest
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
packages/microservices/test/json-socket/helpers.ts
82 строки
2 KB
Kamil Myśliwiec
build: use strict null checks part 4
26 ноя 2024, 16:03
Не верифицирован
26 ноя 2024, 16:03
5b220df
Код
Авторство
О чём код?
import { AddressInfo, createServer as netCreateServer, Server, Socket, } from 'net'; import { TcpEventsMap } from '../../events/tcp.events'; import { JsonSocket } from '../../helpers/json-socket'; export const ip = '127.0.0.1'; export function createServer(callback: (err?: any, server?: Server) => void) { const server = netCreateServer(); server.listen(); server.on('listening', () => { callback(null, server); }); server.on(TcpEventsMap.ERROR, (err: any) => { callback(err); }); } export function createClient( server: Server, callback: ( err?: any, clientSocket?: JsonSocket, serverSocket?: JsonSocket, ) => void, ) { const clientSocket = new JsonSocket(new Socket()); const address = server.address(); if (!address) { throw new Error('server.address() returned null'); } const port = (address as AddressInfo).port; clientSocket.connect(port, ip); clientSocket.on(TcpEventsMap.ERROR, (err: any) => { callback(err); }); server.once('connection', socket => { const serverSocket = new JsonSocket(socket); callback(null, clientSocket, serverSocket); }); } export function createServerAndClient( callback: ( err?: any, server?: Server, clientSocket?: JsonSocket, serverSocket?: JsonSocket, ) => void, ) { createServer((serverErr, server) => { if (serverErr) { return callback(serverErr); } createClient(server!, (clientErr, clientSocket, serverSocket) => { if (clientErr) { return callback(clientErr); } callback(null, server, clientSocket, serverSocket); }); }); } export function range(start: number, end: number) { const r = [] as number[]; for (let i = start; i <= end; i++) { r.push(i); } return r; }