mirror of
https://github.com/Terncode/pixel.horse.git
synced 2026-09-24 21:55:52 +02:00
Remove unused node-ipc
This commit is contained in:
Generated
-15
@@ -50,7 +50,6 @@
|
||||
"@types/mongoose": "^5.5.15",
|
||||
"@types/morgan": "^1.7.37",
|
||||
"@types/node": "^12.7.2",
|
||||
"@types/node-ipc": "^9.1.1",
|
||||
"@types/passport": "^1.0.1",
|
||||
"@types/passport-discord": "^0.1.3",
|
||||
"@types/passport-local": "^1.0.33",
|
||||
@@ -126,7 +125,6 @@
|
||||
"mongoose": "^5.6.11",
|
||||
"morgan": "^1.9.1",
|
||||
"ngx-bootstrap": "^18.0.1",
|
||||
"node-ipc": "^9.1.1",
|
||||
"parallel-webpack": "^2.4.0",
|
||||
"passport": "^0.4.0",
|
||||
"passport-deviantart": "0.0.5",
|
||||
@@ -6374,19 +6372,6 @@
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node-ipc": {
|
||||
"version": "9.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node-ipc/-/node-ipc-9.1.1.tgz",
|
||||
"integrity": "sha512-0NoDCXvNJagYdg0SnXw7aDuxJyzy1cQevRVlCdTM4q0xAQ7Tg5VbQ9jpreKGOaLyql8r9T60hy/wA/QDIk1+Lg==",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node-ipc/node_modules/@types/node": {
|
||||
"version": "12.7.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.2.tgz",
|
||||
"integrity": "sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg=="
|
||||
},
|
||||
"node_modules/@types/oauth": {
|
||||
"version": "0.9.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/oauth/-/oauth-0.9.1.tgz",
|
||||
|
||||
@@ -92,7 +92,6 @@
|
||||
"@types/mongoose": "^5.5.15",
|
||||
"@types/morgan": "^1.7.37",
|
||||
"@types/node": "^12.7.2",
|
||||
"@types/node-ipc": "^9.1.1",
|
||||
"@types/passport": "^1.0.1",
|
||||
"@types/passport-discord": "^0.1.3",
|
||||
"@types/passport-local": "^1.0.33",
|
||||
@@ -168,7 +167,6 @@
|
||||
"mongoose": "^5.6.11",
|
||||
"morgan": "^1.9.1",
|
||||
"ngx-bootstrap": "^18.0.1",
|
||||
"node-ipc": "^9.1.1",
|
||||
"parallel-webpack": "^2.4.0",
|
||||
"passport": "^0.4.0",
|
||||
"passport-deviantart": "0.0.5",
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
import * as ipc from 'node-ipc';
|
||||
|
||||
export interface LoginServer {
|
||||
hello(message: string): Promise<void>;
|
||||
}
|
||||
|
||||
export interface GameServer {
|
||||
something(): Promise<string>;
|
||||
}
|
||||
|
||||
interface SocketState<TServer, TClient> {
|
||||
server: TServer;
|
||||
client: TClient;
|
||||
}
|
||||
|
||||
export function startIPCServer<TServer, TClient extends Object>(
|
||||
id: string, createServer: (client: TClient) => TServer
|
||||
) {
|
||||
ipc.config.id = id;
|
||||
ipc.config.retry = 500;
|
||||
ipc.config.silent = true;
|
||||
ipc.serve(() => {
|
||||
const sockets = new Map<any, SocketState<TServer, TClient>>();
|
||||
|
||||
ipc.server.on('connect', (socket) => {
|
||||
console.log('server:connect');
|
||||
const client: TClient = new Proxy<TClient>({} as any, {
|
||||
get: (_, key) => (...args: any[]) => {
|
||||
ipc.server.emit(socket, 'message', [key, args]);
|
||||
},
|
||||
});
|
||||
const server = createServer(client);
|
||||
sockets.set(socket, { server, client });
|
||||
});
|
||||
|
||||
ipc.server.on('message', (data, socket) => {
|
||||
console.log('server:message', data);
|
||||
const socketState = sockets.get(socket);
|
||||
|
||||
if (socketState) {
|
||||
(socketState.server as any)[data[0]](...data[1]);
|
||||
} else {
|
||||
console.error('missing server for socket');
|
||||
}
|
||||
});
|
||||
|
||||
ipc.server.on('error', (error) => {
|
||||
console.log('server:error', error);
|
||||
});
|
||||
|
||||
ipc.server.on('disconnect', (socket) => {
|
||||
console.log('server:disconnect');
|
||||
sockets.delete(socket);
|
||||
});
|
||||
|
||||
ipc.server.on('socket.disconnected', (socket, _destroyedSocketID) => {
|
||||
console.log('server:socket.disconnected');
|
||||
sockets.delete(socket);
|
||||
});
|
||||
});
|
||||
|
||||
ipc.server.start();
|
||||
}
|
||||
|
||||
export function startIPCClient<TServer extends Object, TClient>(
|
||||
serverId: string, clientId: string, createClient: (server: TServer) => TClient
|
||||
) {
|
||||
ipc.config.id = clientId;
|
||||
ipc.config.retry = 500;
|
||||
ipc.config.silent = true;
|
||||
ipc.connectTo(serverId, () => {
|
||||
let connected = false;
|
||||
const socket = ipc.of[serverId];
|
||||
const server: TServer = new Proxy<TServer>({} as any, {
|
||||
get: (_, key) => (...args: any[]) => {
|
||||
socket.emit('message', [key, args]);
|
||||
},
|
||||
});
|
||||
const client = createClient(server);
|
||||
|
||||
socket.on('connect', () => {
|
||||
connected = true;
|
||||
console.log('client:connect');
|
||||
});
|
||||
|
||||
socket.on('disconnect', () => {
|
||||
if (connected) {
|
||||
connected = false;
|
||||
console.log('client:disconnect');
|
||||
}
|
||||
});
|
||||
|
||||
socket.on('message', (data: any) => {
|
||||
console.log('client:message', data);
|
||||
(client as any)[data[0]](...data[1]);
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user