UNPKG

1.87 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.range = exports.createServerAndClient = exports.createClient = exports.createServer = exports.ip = void 0;
4const net_1 = require("net");
5const constants_1 = require("../../constants");
6const json_socket_1 = require("../../helpers/json-socket");
7exports.ip = '127.0.0.1';
8function createServer(callback) {
9 const server = net_1.createServer();
10 server.listen();
11 server.on('listening', () => {
12 callback(null, server);
13 });
14 server.on(constants_1.ERROR_EVENT, (err) => {
15 callback(err);
16 });
17}
18exports.createServer = createServer;
19function createClient(server, callback) {
20 const clientSocket = new json_socket_1.JsonSocket(new net_1.Socket());
21 const address = server.address();
22 if (!address) {
23 throw new Error('server.address() returned null');
24 }
25 const port = address.port;
26 clientSocket.connect(port, exports.ip);
27 clientSocket.on(constants_1.ERROR_EVENT, (err) => {
28 callback(err);
29 });
30 server.once('connection', socket => {
31 const serverSocket = new json_socket_1.JsonSocket(socket);
32 callback(null, clientSocket, serverSocket);
33 });
34}
35exports.createClient = createClient;
36function createServerAndClient(callback) {
37 createServer((serverErr, server) => {
38 if (serverErr) {
39 return callback(serverErr);
40 }
41 createClient(server, (clientErr, clientSocket, serverSocket) => {
42 if (clientErr) {
43 return callback(clientErr);
44 }
45 callback(null, server, clientSocket, serverSocket);
46 });
47 });
48}
49exports.createServerAndClient = createServerAndClient;
50function range(start, end) {
51 const r = [];
52 for (let i = start; i <= end; i++) {
53 r.push(i);
54 }
55 return r;
56}
57exports.range = range;