kittenipc/example/ts/src/index.ts
2025-11-08 09:37:30 +03:00

31 lines
577 B
TypeScript

import {ChildIPC} from 'kitten-ipc';
import GoIpcApi from './remote.js';
/**
* @kittenipc api
*/
class TsIpcApi {
Div(a: number, b: number): number {
if (b === 0) {
throw new Error('zero division');
}
return a / b;
}
}
async function main() {
const localApi = new TsIpcApi();
const ipc = new ChildIPC(localApi);
const remoteApi = new GoIpcApi(ipc);
await ipc.start();
console.log(`remote call result = ${await remoteApi.Div(10, 2)}`);
await ipc.wait();
}
main().catch(e => {
console.trace(e);
});